about summary refs log tree commit diff
path: root/pkgs
diff options
context:
space:
mode:
Diffstat (limited to 'pkgs')
-rw-r--r--pkgs/applications/altcoins/bitcoin-abc.nix4
-rw-r--r--pkgs/applications/altcoins/bitcoin.nix20
-rw-r--r--pkgs/applications/altcoins/default.nix6
-rw-r--r--pkgs/applications/audio/amarok/kf5.nix37
-rw-r--r--pkgs/applications/audio/audacity/default.nix14
-rw-r--r--pkgs/applications/audio/lmms/default.nix36
-rw-r--r--pkgs/applications/audio/musescore/darwin.nix16
-rw-r--r--pkgs/applications/audio/ncmpc/default.nix12
-rw-r--r--pkgs/applications/audio/qsynth/default.nix2
-rw-r--r--pkgs/applications/audio/quodlibet/default.nix82
-rw-r--r--pkgs/applications/audio/quodlibet/quodlibet-package-plugins.patch18
-rw-r--r--pkgs/applications/display-managers/lightdm/default.nix6
-rw-r--r--pkgs/applications/display-managers/slim/default.nix2
-rw-r--r--pkgs/applications/editors/android-studio/default.nix (renamed from pkgs/applications/editors/android-studio/packages.nix)7
-rw-r--r--pkgs/applications/editors/atom/beta.nix4
-rw-r--r--pkgs/applications/editors/atom/default.nix4
-rw-r--r--pkgs/applications/editors/eclipse/plugins.nix14
-rw-r--r--pkgs/applications/editors/emacs-modes/elpa-generated.nix38
-rw-r--r--pkgs/applications/editors/emacs-modes/ess-R-object-popup/default.nix22
-rw-r--r--pkgs/applications/editors/emacs-modes/filesets-plus/default.nix22
-rw-r--r--pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/header2/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/helm-words/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/hexrgb/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/lib-requires/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-generated.nix1655
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-packages.nix3
-rw-r--r--pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix381
-rw-r--r--pkgs/applications/editors/emacs-modes/org-generated.nix12
-rw-r--r--pkgs/applications/editors/emacs-modes/org-mac-link/default.nix31
-rw-r--r--pkgs/applications/editors/emacs-modes/perl-completion/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix6
-rw-r--r--pkgs/applications/editors/emacs-modes/railgun/default.nix22
-rw-r--r--pkgs/applications/editors/emacs-modes/redshank/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/stgit/default.nix25
-rw-r--r--pkgs/applications/editors/emacs-modes/thingatpt-plus/default.nix23
-rw-r--r--pkgs/applications/editors/emacs-modes/yaoddmuse/default.nix30
-rw-r--r--pkgs/applications/editors/emacs-modes/zeitgeist/default.nix25
-rw-r--r--pkgs/applications/editors/jetbrains/default.nix20
-rw-r--r--pkgs/applications/editors/jucipp/default.nix4
-rw-r--r--pkgs/applications/editors/nedit/default.nix2
-rw-r--r--pkgs/applications/editors/neovim/default.nix17
-rw-r--r--pkgs/applications/editors/neovim/neovim-remote.nix2
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock4
-rw-r--r--pkgs/applications/editors/neovim/ruby_provider/gemset.nix4
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix37
-rw-r--r--pkgs/applications/editors/rstudio/default.nix7
-rw-r--r--pkgs/applications/editors/sublime3/default.nix14
-rw-r--r--pkgs/applications/editors/textadept/default.nix2
-rw-r--r--pkgs/applications/editors/typora/default.nix15
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vscode/default.nix8
-rw-r--r--pkgs/applications/editors/zed/default.nix24
-rw-r--r--pkgs/applications/editors/zed/deps.json6
-rwxr-xr-xpkgs/applications/editors/zed/deps.sh7
-rw-r--r--pkgs/applications/editors/zed/node-packages.nix877
-rw-r--r--pkgs/applications/editors/zed/node.nix1839
-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/feh/default.nix4
-rw-r--r--pkgs/applications/graphics/gimp/plugins/default.nix14
-rw-r--r--pkgs/applications/graphics/k3d/default.nix2
-rw-r--r--pkgs/applications/graphics/krita/default.nix6
-rw-r--r--pkgs/applications/graphics/photoqt/default.nix5
-rw-r--r--pkgs/applications/graphics/photoqt/photoqt-1.5.1-qt-5.9.patch13
-rw-r--r--pkgs/applications/graphics/phototonic/default.nix2
-rw-r--r--pkgs/applications/graphics/xzgv/default.nix2
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/kdenlive.nix6
-rw-r--r--pkgs/applications/kde/srcs.nix2232
-rw-r--r--pkgs/applications/misc/alacritty/default.nix16
-rw-r--r--pkgs/applications/misc/albert/default.nix17
-rw-r--r--pkgs/applications/misc/calibre/default.nix4
-rw-r--r--pkgs/applications/misc/copyq/cmake-modules.patch12
-rw-r--r--pkgs/applications/misc/copyq/default.nix14
-rw-r--r--pkgs/applications/misc/dump1090/default.nix33
-rw-r--r--pkgs/applications/misc/ebook2cw/configfile.patch11
-rw-r--r--pkgs/applications/misc/ebook2cw/default.nix31
-rw-r--r--pkgs/applications/misc/electron-cash/default.nix18
-rw-r--r--pkgs/applications/misc/gosmore/default.nix2
-rw-r--r--pkgs/applications/misc/hubstaff/default.nix64
-rw-r--r--pkgs/applications/misc/jgmenu/default.nix40
-rw-r--r--pkgs/applications/misc/keepassx/community.nix2
-rw-r--r--pkgs/applications/misc/llpp/default.nix10
-rw-r--r--pkgs/applications/misc/lyx/default.nix5
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix52
-rw-r--r--pkgs/applications/misc/mediainfo-gui/default.nix6
-rw-r--r--pkgs/applications/misc/mediainfo/default.nix6
-rw-r--r--pkgs/applications/misc/monero/default.nix4
-rw-r--r--pkgs/applications/misc/mrxvt/default.nix2
-rw-r--r--pkgs/applications/misc/octoprint/default.nix8
-rw-r--r--pkgs/applications/misc/pgmanage/default.nix (renamed from pkgs/applications/misc/postage/default.nix)16
-rw-r--r--pkgs/applications/misc/qsyncthingtray/default.nix4
-rw-r--r--pkgs/applications/misc/qsyncthingtray/qsyncthingtray-0.5.8-qt-5.6.3.patch13
-rw-r--r--pkgs/applications/misc/quicksynergy/default.nix2
-rw-r--r--pkgs/applications/misc/sdcv/default.nix45
-rw-r--r--pkgs/applications/misc/sdcv/sdcv.cpp.patch12
-rw-r--r--pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin19
-rw-r--r--pkgs/applications/misc/sdcv/utils.hpp.patch10
-rw-r--r--pkgs/applications/misc/st/default.nix3
-rw-r--r--pkgs/applications/misc/subsurface/default.nix109
-rw-r--r--pkgs/applications/misc/synergy/default.nix2
-rw-r--r--pkgs/applications/misc/tilix/default.nix4
-rw-r--r--pkgs/applications/misc/tint2/default.nix4
-rw-r--r--pkgs/applications/misc/usync/default.nix34
-rw-r--r--pkgs/applications/misc/verbiste/default.nix6
-rw-r--r--pkgs/applications/misc/viking/default.nix2
-rw-r--r--pkgs/applications/misc/xfe/default.nix2
-rw-r--r--pkgs/applications/misc/yakuake/default.nix7
-rw-r--r--pkgs/applications/networking/browsers/arora/default.nix14
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix17
-rw-r--r--pkgs/applications/networking/browsers/chromium/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/gn_bootstrap_observer.patch11
-rw-r--r--pkgs/applications/networking/browsers/chromium/patches/include-math-for-round.patch34
-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.nix762
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix11
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix772
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix762
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix6
-rw-r--r--pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch14
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix16
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix11
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix10
-rw-r--r--pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix6
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix20
-rw-r--r--pkgs/applications/networking/browsers/palemoon/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/qutebrowser/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/surf/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/vimprobable2/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/mesos/default.nix2
-rw-r--r--pkgs/applications/networking/cluster/spark/default.nix6
-rw-r--r--pkgs/applications/networking/dropbox/default.nix30
-rw-r--r--pkgs/applications/networking/flexget/default.nix14
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/default.nix12
-rw-r--r--pkgs/applications/networking/gns3/gui.nix2
-rw-r--r--pkgs/applications/networking/gns3/server.nix45
-rw-r--r--pkgs/applications/networking/instant-messengers/baresip/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/hipchat/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/mcabber/default.nix1
-rw-r--r--pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/qtox/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/bare.nix55
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/default.nix87
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix26
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/hide-check-for-updates.patch35
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/isDev.patch14
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix43
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix17
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile13
-rw-r--r--pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix20
-rw-r--r--pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix67
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix88
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/utox/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/viber/default.nix4
-rw-r--r--pkgs/applications/networking/irc/quassel-webserver/default.nix43
-rw-r--r--pkgs/applications/networking/irc/quassel-webserver/quassel-webserver.nix2436
-rw-r--r--pkgs/applications/networking/irc/shout/default.nix49
-rw-r--r--pkgs/applications/networking/irc/shout/package.nix5049
-rw-r--r--pkgs/applications/networking/irc/weechat/default.nix172
-rw-r--r--pkgs/applications/networking/linssid/default.nix2
-rw-r--r--pkgs/applications/networking/mailreaders/mailnag/default.nix15
-rw-r--r--pkgs/applications/networking/mailreaders/neomutt/default.nix15
-rw-r--r--pkgs/applications/networking/msmtp/default.nix7
-rw-r--r--pkgs/applications/networking/netperf/default.nix10
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix5
-rw-r--r--pkgs/applications/networking/p2p/tixati/default.nix30
-rw-r--r--pkgs/applications/networking/pyload/beautifulsoup.nix20
-rw-r--r--pkgs/applications/networking/pyload/default.nix11
-rw-r--r--pkgs/applications/networking/syncthing/default.nix4
-rw-r--r--pkgs/applications/office/abiword/default.nix12
-rw-r--r--pkgs/applications/office/abiword/patches/fix-13791.patch161
-rw-r--r--pkgs/applications/office/calligra/2.nix1
-rw-r--r--pkgs/applications/office/fava/default.nix48
-rw-r--r--pkgs/applications/office/mendeley/default.nix6
-rw-r--r--pkgs/applications/office/paperwork/backend.nix39
-rw-r--r--pkgs/applications/office/paperwork/default.nix15
-rw-r--r--pkgs/applications/office/wordgrinder/default.nix47
-rw-r--r--pkgs/applications/office/wpsoffice/default.nix6
-rw-r--r--pkgs/applications/office/zotero/default.nix124
-rwxr-xr-xpkgs/applications/science/biology/vcftools/default.nix24
-rw-r--r--pkgs/applications/science/electronics/ngspice/default.nix2
-rw-r--r--pkgs/applications/science/electronics/pulseview/default.nix13
-rw-r--r--pkgs/applications/science/logic/cvc4/default.nix19
-rw-r--r--pkgs/applications/science/logic/glucose/default.nix10
-rw-r--r--pkgs/applications/science/logic/glucose/syrup.nix13
-rw-r--r--pkgs/applications/science/logic/potassco/clingo.nix24
-rw-r--r--pkgs/applications/science/logic/potassco/clingo.upstream6
-rw-r--r--pkgs/applications/science/logic/symbiyosys/default.nix6
-rw-r--r--pkgs/applications/science/logic/why3/default.nix6
-rw-r--r--pkgs/applications/science/logic/yices/default.nix26
-rw-r--r--pkgs/applications/science/logic/z3/default.nix6
-rw-r--r--pkgs/applications/science/machine-learning/sc2-headless/default.nix7
-rw-r--r--pkgs/applications/science/machine-learning/sc2-headless/maps.nix11
-rw-r--r--pkgs/applications/science/math/maxima/default.nix4
-rw-r--r--pkgs/applications/science/math/pari/default.nix4
-rw-r--r--pkgs/applications/science/math/pari/unstable.nix4
-rw-r--r--pkgs/applications/science/math/sage/default.nix173
-rw-r--r--pkgs/applications/science/math/sage/env.patch22
-rwxr-xr-xpkgs/applications/science/math/sage/fetch-mirrors.sh11
-rw-r--r--pkgs/applications/science/math/sage/spkg-giac.patch11
-rw-r--r--pkgs/applications/science/math/sage/spkg-git.patch14
-rw-r--r--pkgs/applications/science/math/sage/spkg-python.patch11
-rw-r--r--pkgs/applications/science/math/sage/spkg-python2.patch12
-rw-r--r--pkgs/applications/science/math/sage/spkg-python3.patch12
-rw-r--r--pkgs/applications/science/math/sage/spkg-singular.patch36
-rw-r--r--pkgs/applications/science/math/wxmaxima/default.nix44
-rw-r--r--pkgs/applications/science/medicine/aliza/default.nix4
-rw-r--r--pkgs/applications/science/misc/golly/default.nix27
-rw-r--r--pkgs/applications/science/spyder/default.nix34
-rw-r--r--pkgs/applications/version-management/cvs/CVE-2017-12836.patch29
-rw-r--r--pkgs/applications/version-management/cvs/default.nix1
-rw-r--r--pkgs/applications/version-management/git-and-tools/default.nix2
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-secret/default.nix36
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix3
-rw-r--r--pkgs/applications/version-management/gitaly/Gemfile4
-rw-r--r--pkgs/applications/version-management/gitaly/Gemfile.lock26
-rw-r--r--pkgs/applications/version-management/gitaly/default.nix4
-rw-r--r--pkgs/applications/version-management/gitaly/gemset.nix102
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab-shell/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch4
-rw-r--r--pkgs/applications/version-management/gitlab-workhorse/default.nix4
-rw-r--r--pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch4
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile17
-rw-r--r--pkgs/applications/version-management/gitlab/Gemfile.lock102
-rw-r--r--pkgs/applications/version-management/gitlab/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gemset.nix166
-rw-r--r--pkgs/applications/version-management/gitlab/nulladapter.patch6
-rw-r--r--pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch20
-rw-r--r--pkgs/applications/version-management/gource/default.nix2
-rw-r--r--pkgs/applications/version-management/smartgithg/default.nix4
-rw-r--r--pkgs/applications/version-management/tortoisehg/default.nix6
-rw-r--r--pkgs/applications/video/cinelerra/default.nix4
-rw-r--r--pkgs/applications/video/lightworks/default.nix87
-rw-r--r--pkgs/applications/video/lxdvdrip/default.nix2
-rw-r--r--pkgs/applications/video/mjpg-streamer/default.nix2
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/shotcut/default.nix4
-rw-r--r--pkgs/applications/video/streamlink/default.nix4
-rw-r--r--pkgs/applications/virtualization/OVMF/default.nix2
-rw-r--r--pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch14
-rw-r--r--pkgs/applications/virtualization/bochs/default.nix4
-rw-r--r--pkgs/applications/virtualization/lkl/default.nix6
-rw-r--r--pkgs/applications/virtualization/tini/default.nix9
-rw-r--r--pkgs/applications/virtualization/virtualbox/default.nix8
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/default.nix43
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch38
-rw-r--r--pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch12
-rw-r--r--pkgs/applications/virtualization/virtualbox/hardened.patch26
-rw-r--r--pkgs/applications/virtualization/virtualbox/qtx11extras.patch26
-rw-r--r--pkgs/applications/virtualization/vpcs/default.nix11
-rw-r--r--pkgs/applications/virtualization/vpcs/vpcs-0.8-glibc-2.26.patch14
-rw-r--r--pkgs/applications/window-managers/i3/lock-color.nix5
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix27
-rw-r--r--pkgs/applications/window-managers/sway/default.nix8
-rw-r--r--pkgs/applications/window-managers/wmii-hg/default.nix2
-rw-r--r--pkgs/build-support/cc-wrapper/cc-wrapper.sh2
-rw-r--r--pkgs/build-support/cc-wrapper/default.nix7
-rw-r--r--pkgs/build-support/cc-wrapper/gnat-wrapper.sh2
-rw-r--r--pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh2
-rw-r--r--pkgs/build-support/cc-wrapper/ld-wrapper.sh2
-rw-r--r--pkgs/build-support/fetchgit/private.nix33
-rw-r--r--pkgs/build-support/fetchipfs/builder.sh87
-rw-r--r--pkgs/build-support/fetchipfs/default.nix52
-rw-r--r--pkgs/build-support/fetchurl/default.nix4
-rw-r--r--pkgs/build-support/kernel/make-initrd.nix15
-rw-r--r--pkgs/data/documentation/stdman/default.nix8
-rw-r--r--pkgs/data/fonts/anonymous-pro/default.upstream6
-rw-r--r--pkgs/data/fonts/cm-unicode/default.upstream7
-rw-r--r--pkgs/data/fonts/libertinus/default.nix37
-rw-r--r--pkgs/data/fonts/source-sans-pro/default.nix2
-rw-r--r--pkgs/data/fonts/source-serif-pro/default.nix2
-rw-r--r--pkgs/data/fonts/unifont_upper/default.nix4
-rw-r--r--pkgs/data/fonts/vista-fonts-chs/default.nix36
-rw-r--r--pkgs/data/fonts/vista-fonts-chs/no-op.conf9
-rw-r--r--pkgs/data/icons/papirus-icon-theme/default.nix4
-rw-r--r--pkgs/data/misc/dns-root-data/default.nix4
-rw-r--r--pkgs/data/misc/hackage/default.nix38
-rw-r--r--pkgs/data/misc/hackage/partition-all-cabal-hashes.c190
-rw-r--r--pkgs/data/misc/iana-etc/default.nix7
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.nix63
-rw-r--r--pkgs/desktops/enlightenment/enlightenment.suid-exes.patch25
-rw-r--r--pkgs/desktops/gnome-3/apps/glade/default.nix22
-rw-r--r--pkgs/desktops/gnome-3/apps/gnome-photos/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/dconf/default.nix7
-rw-r--r--pkgs/desktops/gnome-3/core/folks/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix5
-rw-r--r--pkgs/desktops/gnome-3/core/grilo-plugins/default.nix8
-rw-r--r--pkgs/desktops/gnome-3/core/grilo/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgdata/default.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libgxps/default.nix19
-rw-r--r--pkgs/desktops/gnome-3/core/libpeas/src.nix4
-rw-r--r--pkgs/desktops/gnome-3/core/libzapojit/default.nix1
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/default.nix37
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/math.patch10
-rw-r--r--pkgs/desktops/gnome-3/core/mutter/x86.patch20
-rw-r--r--pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix10
-rw-r--r--pkgs/desktops/gnome-3/core/vte/fix_g_test_init_calls.patch26
-rw-r--r--pkgs/desktops/gnome-3/core/vte/fix_vteseq_n_lookup_declaration.patch13
-rw-r--r--pkgs/desktops/gnome-3/core/vte/ng.nix11
-rw-r--r--pkgs/desktops/gnome-3/core/vte/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/gitg/src.nix6
-rw-r--r--pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix10
-rw-r--r--pkgs/desktops/gnome-3/misc/libgit2-glib/src.nix10
-rw-r--r--pkgs/desktops/plasma-5/fetch.sh2
-rw-r--r--pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch152
-rw-r--r--pkgs/desktops/plasma-5/srcs.nix352
-rw-r--r--pkgs/desktops/xfce/core/thunar-build.nix4
-rw-r--r--pkgs/desktops/xfce/core/xfce4-panel.nix9
-rw-r--r--pkgs/desktops/xfce/core/xfce4-settings.nix37
-rw-r--r--pkgs/development/beam-modules/hex-packages.nix1331
-rw-r--r--pkgs/development/beam-modules/hex/default.nix4
-rw-r--r--pkgs/development/compilers/arachne-pnr/default.nix10
-rw-r--r--pkgs/development/compilers/avra/default.nix2
-rw-r--r--pkgs/development/compilers/ccl/default.nix10
-rw-r--r--pkgs/development/compilers/chez/default.nix6
-rw-r--r--pkgs/development/compilers/coreclr/default.nix9
-rw-r--r--pkgs/development/compilers/elm/packages/elm-format.nix43
-rw-r--r--pkgs/development/compilers/factor-lang/default.nix8
-rw-r--r--pkgs/development/compilers/fstar/default.nix2
-rw-r--r--pkgs/development/compilers/gcc/4.5/default.nix9
-rw-r--r--pkgs/development/compilers/gcc/4.8/default.nix14
-rw-r--r--pkgs/development/compilers/gcc/4.9/default.nix9
-rw-r--r--pkgs/development/compilers/gcc/5/default.nix13
-rw-r--r--pkgs/development/compilers/gcc/6/default.nix18
-rw-r--r--pkgs/development/compilers/gcc/7/default.nix13
-rw-r--r--pkgs/development/compilers/gcc/res_state-not-declared.patch13
-rw-r--r--pkgs/development/compilers/gcc/sigsegv-not-declared.patch13
-rw-r--r--pkgs/development/compilers/gcc/snapshot/default.nix15
-rw-r--r--pkgs/development/compilers/gcc/struct-sigaltstack-4.9.patch78
-rw-r--r--pkgs/development/compilers/gcc/struct-sigaltstack.patch87
-rw-r--r--pkgs/development/compilers/gcc/struct-ucontext-4.5.patch107
-rw-r--r--pkgs/development/compilers/gcc/struct-ucontext-4.8.patch177
-rw-r--r--pkgs/development/compilers/gcc/struct-ucontext-libjava.patch33
-rw-r--r--pkgs/development/compilers/gcc/struct-ucontext.patch190
-rw-r--r--pkgs/development/compilers/ghc/7.10.2.nix4
-rw-r--r--pkgs/development/compilers/ghc/7.10.3.nix4
-rw-r--r--pkgs/development/compilers/ghc/7.6.3.nix2
-rw-r--r--pkgs/development/compilers/ghc/8.0.2.nix4
-rw-r--r--pkgs/development/compilers/ghc/8.2.1.nix16
-rw-r--r--pkgs/development/compilers/ghc/8.2.2.nix119
-rw-r--r--pkgs/development/compilers/ghc/head.nix4
-rw-r--r--pkgs/development/compilers/ghcjs/stage2.nix6
-rw-r--r--pkgs/development/compilers/ghdl/default.nix2
-rw-r--r--pkgs/development/compilers/go/1.9.nix7
-rw-r--r--pkgs/development/compilers/go/go-1.9-skip-flaky-19608.patch12
-rw-r--r--pkgs/development/compilers/go/go-1.9-skip-flaky-20072.patch20
-rw-r--r--pkgs/development/compilers/gwt/2.4.0.nix7
-rw-r--r--pkgs/development/compilers/halvm/2.4.0.nix8
-rw-r--r--pkgs/development/compilers/hhvm/default.nix10
-rw-r--r--pkgs/development/compilers/julia/0.6.nix3
-rw-r--r--pkgs/development/compilers/kotlin/default.nix11
-rw-r--r--pkgs/development/compilers/llvm/3.4/llvm.nix17
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/default.nix6
-rw-r--r--pkgs/development/compilers/llvm/3.5/libc++/xlocale-glibc-2.26.patch17
-rw-r--r--pkgs/development/compilers/llvm/3.5/llvm.nix17
-rw-r--r--pkgs/development/compilers/llvm/3.7/libc++/default.nix2
-rw-r--r--pkgs/development/compilers/llvm/3.7/libc++/xlocale-glibc-2.26.patch17
-rw-r--r--pkgs/development/compilers/llvm/3.7/llvm.nix13
-rw-r--r--pkgs/development/compilers/llvm/3.8/libc++/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.8/llvm.nix13
-rw-r--r--pkgs/development/compilers/llvm/3.9/libc++/default.nix5
-rw-r--r--pkgs/development/compilers/llvm/3.9/libc++/xlocale-glibc-2.26.patch19
-rw-r--r--pkgs/development/compilers/llvm/3.9/llvm.nix14
-rw-r--r--pkgs/development/compilers/llvm/4/libc++/default.nix8
-rw-r--r--pkgs/development/compilers/llvm/4/libc++/xlocale-glibc-2.26.patch19
-rw-r--r--pkgs/development/compilers/llvm/4/llvm.nix14
-rw-r--r--pkgs/development/compilers/mkcl/default.nix39
-rw-r--r--pkgs/development/compilers/mono/4.8.nix7
-rw-r--r--pkgs/development/compilers/neko/default.nix3
-rw-r--r--pkgs/development/compilers/neko/xlocale-fix.patch59
-rw-r--r--pkgs/development/compilers/ocaml/4.06.nix9
-rw-r--r--pkgs/development/compilers/orc/default.nix6
-rw-r--r--pkgs/development/compilers/ponyc/pony-stable.nix4
-rw-r--r--pkgs/development/compilers/purescript/psc-package/default.nix4
-rw-r--r--pkgs/development/compilers/rust/binaryBuild.nix57
-rw-r--r--pkgs/development/compilers/rust/bootstrap.nix7
-rw-r--r--pkgs/development/compilers/rust/rust-src.nix11
-rw-r--r--pkgs/development/compilers/rust/rustc.nix7
-rw-r--r--pkgs/development/compilers/sbcl/1.2.0.nix84
-rw-r--r--pkgs/development/compilers/sbcl/1.3.12.nix104
-rw-r--r--pkgs/development/compilers/sbcl/default.nix17
-rw-r--r--pkgs/development/compilers/scala/dotty.nix46
-rw-r--r--pkgs/development/compilers/swift/default.nix4
-rw-r--r--pkgs/development/compilers/teyjus/default.nix4
-rw-r--r--pkgs/development/compilers/yosys/default.nix10
-rw-r--r--pkgs/development/coq-modules/CoLoR/default.nix12
-rw-r--r--pkgs/development/coq-modules/QuickChick/default.nix20
-rw-r--r--pkgs/development/coq-modules/bignums/default.nix38
-rw-r--r--pkgs/development/coq-modules/dpdgraph/default.nix7
-rw-r--r--pkgs/development/coq-modules/equations/default.nix45
-rw-r--r--pkgs/development/coq-modules/interval/default.nix5
-rw-r--r--pkgs/development/coq-modules/math-classes/default.nix29
-rw-r--r--pkgs/development/coq-modules/mathcomp/default.nix30
-rw-r--r--pkgs/development/coq-modules/metalib/default.nix53
-rw-r--r--pkgs/development/coq-modules/ssreflect/default.nix30
-rw-r--r--pkgs/development/go-modules/generic/default.nix9
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix18
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix6
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix.yaml134
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix3186
-rw-r--r--pkgs/development/haskell-modules/make-package-set.nix25
-rw-r--r--pkgs/development/idris-modules/default.nix9
-rw-r--r--pkgs/development/idris-modules/idris-wrapper.nix14
-rw-r--r--pkgs/development/interpreters/acl2/default.nix63
-rw-r--r--pkgs/development/interpreters/clisp/2.33.2.nix66
-rw-r--r--pkgs/development/interpreters/clisp/2.44.1.nix60
-rw-r--r--pkgs/development/interpreters/clisp/default.nix6
-rw-r--r--pkgs/development/interpreters/clisp/hg.nix7
-rw-r--r--pkgs/development/interpreters/clisp/remove-cfree-binding.patch12
-rw-r--r--pkgs/development/interpreters/elixir/1.5.nix4
-rw-r--r--pkgs/development/interpreters/erlang/R18.nix10
-rw-r--r--pkgs/development/interpreters/erlang/R20.nix4
-rw-r--r--pkgs/development/interpreters/joker/default.nix31
-rw-r--r--pkgs/development/interpreters/joker/deps.nix11
-rw-r--r--pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--pkgs/development/interpreters/php/default.nix27
-rw-r--r--pkgs/development/interpreters/python/cpython/2.7/default.nix2
-rw-r--r--pkgs/development/interpreters/python/mk-python-derivation.nix2
-rw-r--r--pkgs/development/interpreters/racket/default.nix2
-rw-r--r--pkgs/development/interpreters/spidermonkey/31.nix2
-rw-r--r--pkgs/development/interpreters/spidermonkey/38.nix2
-rw-r--r--pkgs/development/interpreters/spidermonkey/52.nix62
-rw-r--r--pkgs/development/java-modules/maven-hello/default.nix2
-rw-r--r--pkgs/development/libraries/SDL2/default.nix4
-rw-r--r--pkgs/development/libraries/SDL_gfx/default.nix3
-rw-r--r--pkgs/development/libraries/SDL_image/default.nix2
-rw-r--r--pkgs/development/libraries/SDL_mixer/default.nix4
-rw-r--r--pkgs/development/libraries/SDL_net/default.nix2
-rw-r--r--pkgs/development/libraries/SDL_ttf/default.nix2
-rw-r--r--pkgs/development/libraries/allegro/5.nix4
-rw-r--r--pkgs/development/libraries/appstream-glib/default.nix24
-rw-r--r--pkgs/development/libraries/atkmm/default.nix2
-rw-r--r--pkgs/development/libraries/audio/vamp/default.nix2
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix2
-rw-r--r--pkgs/development/libraries/botan/2.0.upstream4
-rw-r--r--pkgs/development/libraries/breakpad/default.nix28
-rw-r--r--pkgs/development/libraries/bullet/default.nix2
-rw-r--r--pkgs/development/libraries/clutter-gtk/default.nix4
-rw-r--r--pkgs/development/libraries/cmocka/default.nix21
-rw-r--r--pkgs/development/libraries/dbus/make-dbus-conf.nix1
-rw-r--r--pkgs/development/libraries/dirac/default.nix2
-rw-r--r--pkgs/development/libraries/dleyna-connector-dbus/default.nix24
-rw-r--r--pkgs/development/libraries/dleyna-core/0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch95
-rw-r--r--pkgs/development/libraries/dleyna-core/default.nix28
-rw-r--r--pkgs/development/libraries/dleyna-core/setup-hook.sh9
-rw-r--r--pkgs/development/libraries/dleyna-renderer/default.nix29
-rw-r--r--pkgs/development/libraries/dleyna-server/default.nix29
-rw-r--r--pkgs/development/libraries/dotconf/default.nix2
-rw-r--r--pkgs/development/libraries/expat/default.nix6
-rw-r--r--pkgs/development/libraries/folly/default.nix12
-rw-r--r--pkgs/development/libraries/freetds/default.nix39
-rw-r--r--pkgs/development/libraries/garmintools/default.nix4
-rw-r--r--pkgs/development/libraries/gdbm/default.nix2
-rw-r--r--pkgs/development/libraries/git2/0.25.nix34
-rw-r--r--pkgs/development/libraries/git2/default.nix45
-rw-r--r--pkgs/development/libraries/git2/disable-security.framework.patch58
-rw-r--r--pkgs/development/libraries/glib-networking/default.nix4
-rw-r--r--pkgs/development/libraries/glibc/2.25-49.patch.gzbin89721 -> 0 bytes
-rw-r--r--pkgs/development/libraries/glibc/2.26-75.patch.gzbin0 -> 289084 bytes
-rw-r--r--pkgs/development/libraries/glibc/common.nix17
-rw-r--r--pkgs/development/libraries/glibmm/default.nix6
-rw-r--r--pkgs/development/libraries/glog/default.nix10
-rw-r--r--pkgs/development/libraries/gnutls/generic.nix3
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix4
-rw-r--r--pkgs/development/libraries/gperftools/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix8
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/gnonlin/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/gstreamermm/default.nix7
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix2
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/validate/default.nix6
-rw-r--r--pkgs/development/libraries/gtdialog/default.nix8
-rw-r--r--pkgs/development/libraries/gtest/default.nix2
-rw-r--r--pkgs/development/libraries/gupnp-av/default.nix4
-rw-r--r--pkgs/development/libraries/gupnp-dlna/default.nix22
-rw-r--r--pkgs/development/libraries/gupnp/default.nix6
-rw-r--r--pkgs/development/libraries/gusb/default.nix16
-rw-r--r--pkgs/development/libraries/gvfs/default.nix14
-rw-r--r--pkgs/development/libraries/icu/base.nix5
-rw-r--r--pkgs/development/libraries/iniparser/default.nix27
-rw-r--r--pkgs/development/libraries/jasper/default.nix4
-rw-r--r--pkgs/development/libraries/java/junixsocket/default.nix4
-rw-r--r--pkgs/development/libraries/json-glib/default.nix26
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/ktexteditor.nix5
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix608
-rw-r--r--pkgs/development/libraries/lame/default.nix6
-rw-r--r--pkgs/development/libraries/leveldb/default.nix2
-rw-r--r--pkgs/development/libraries/libaal/default.nix4
-rw-r--r--pkgs/development/libraries/libaal/libaal-1.0.6-glibc-2.26.patch89
-rw-r--r--pkgs/development/libraries/libatomic_ops/default.upstream1
-rw-r--r--pkgs/development/libraries/libbsd/darwin.patch97
-rw-r--r--pkgs/development/libraries/libbsd/default.nix1
-rw-r--r--pkgs/development/libraries/libchamplain/default.nix4
-rw-r--r--pkgs/development/libraries/libcredis/default.nix4
-rw-r--r--pkgs/development/libraries/libctemplate/default.nix4
-rw-r--r--pkgs/development/libraries/libdivsufsort/default.nix6
-rw-r--r--pkgs/development/libraries/libdnet/default.nix6
-rw-r--r--pkgs/development/libraries/libevdev/default.nix4
-rw-r--r--pkgs/development/libraries/libexif/default.nix11
-rw-r--r--pkgs/development/libraries/libextractor/default.nix4
-rw-r--r--pkgs/development/libraries/libfaketime/default.nix12
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfreefare/default.nix6
-rw-r--r--pkgs/development/libraries/libgphoto2/default.upstream9
-rw-r--r--pkgs/development/libraries/libgtop/default.nix6
-rw-r--r--pkgs/development/libraries/libgudev/default.nix6
-rw-r--r--pkgs/development/libraries/libhangul/default.nix4
-rw-r--r--pkgs/development/libraries/libical/default.nix9
-rw-r--r--pkgs/development/libraries/libical/respect-env-tzdir.patch48
-rw-r--r--pkgs/development/libraries/libidn/default.nix2
-rw-r--r--pkgs/development/libraries/libinput/default.nix38
-rw-r--r--pkgs/development/libraries/libinput/udev-absolute-path.patch21
-rw-r--r--pkgs/development/libraries/libixp-hg/default.nix2
-rw-r--r--pkgs/development/libraries/libjpeg-turbo/default.nix2
-rw-r--r--pkgs/development/libraries/libkate/default.nix4
-rw-r--r--pkgs/development/libraries/liblo/default.nix2
-rw-r--r--pkgs/development/libraries/libmediainfo/default.nix6
-rw-r--r--pkgs/development/libraries/libmpack/default.nix13
-rw-r--r--pkgs/development/libraries/libmsgpack/1.4.nix12
-rw-r--r--pkgs/development/libraries/libmsgpack/default.nix10
-rw-r--r--pkgs/development/libraries/libmsgpack/generic.nix13
-rw-r--r--pkgs/development/libraries/libnfc/default.nix2
-rw-r--r--pkgs/development/libraries/libnsl/default.nix24
-rw-r--r--pkgs/development/libraries/libofa/default.nix4
-rw-r--r--pkgs/development/libraries/librsvg/default.nix6
-rw-r--r--pkgs/development/libraries/libsigsegv/2.5.nix23
-rw-r--r--pkgs/development/libraries/libstdc++5/default.nix2
-rw-r--r--pkgs/development/libraries/libstdc++5/struct-ucontext.patch61
-rw-r--r--pkgs/development/libraries/libtiff/default.nix2
-rw-r--r--pkgs/development/libraries/libtiger/default.nix12
-rw-r--r--pkgs/development/libraries/libtomcrypt/default.nix29
-rw-r--r--pkgs/development/libraries/libtommath/default.nix32
-rw-r--r--pkgs/development/libraries/libtorrent-rasterbar/generic.nix2
-rw-r--r--pkgs/development/libraries/libtoxcore/default.nix8
-rw-r--r--pkgs/development/libraries/libunistring/default.nix2
-rw-r--r--pkgs/development/libraries/libvisual/default.nix2
-rw-r--r--pkgs/development/libraries/libwacom/default.nix6
-rw-r--r--pkgs/development/libraries/libwnck/3.x.nix13
-rw-r--r--pkgs/development/libraries/libx86emu/default.nix24
-rw-r--r--pkgs/development/libraries/libxkbcommon/default.nix4
-rw-r--r--pkgs/development/libraries/libxls/default.nix2
-rw-r--r--pkgs/development/libraries/libxml2/default.nix2
-rw-r--r--pkgs/development/libraries/libzen/default.nix6
-rw-r--r--pkgs/development/libraries/libzip/default.nix4
-rw-r--r--pkgs/development/libraries/live555/default.nix7
-rw-r--r--pkgs/development/libraries/lzo/default.nix2
-rw-r--r--pkgs/development/libraries/marisa/default.nix2
-rw-r--r--pkgs/development/libraries/mdds/0.12.1.nix2
-rw-r--r--pkgs/development/libraries/mdds/0.7.1.nix4
-rw-r--r--pkgs/development/libraries/mesa/default.nix2
-rw-r--r--pkgs/development/libraries/mlt/default.nix15
-rw-r--r--pkgs/development/libraries/mlt/qt-5.nix18
-rw-r--r--pkgs/development/libraries/mp4v2/default.nix3
-rw-r--r--pkgs/development/libraries/npapi-sdk/default.nix2
-rw-r--r--pkgs/development/libraries/nspr/default.nix4
-rw-r--r--pkgs/development/libraries/nss/default.nix6
-rw-r--r--pkgs/development/libraries/ogrepaged/default.nix2
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix4
-rw-r--r--pkgs/development/libraries/opencascade/default.nix6
-rw-r--r--pkgs/development/libraries/portaudio/default.nix2
-rw-r--r--pkgs/development/libraries/protobufc/generic.nix2
-rw-r--r--pkgs/development/libraries/ptlib/default.nix2
-rw-r--r--pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch13
-rw-r--r--pkgs/development/libraries/qoauth/default.nix6
-rw-r--r--pkgs/development/libraries/qpdf/default.nix10
-rw-r--r--pkgs/development/libraries/qscintilla/default.nix12
-rw-r--r--pkgs/development/libraries/qt-5/5.6/default.nix127
-rw-r--r--pkgs/development/libraries/qt-5/5.6/fetch.sh4
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase.patch773
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths-darwin.patch384
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths.patch385
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/compose-search-path.patch16
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/decrypt-ssl-traffic.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/default.nix325
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-dbus.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-gl.patch17
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-libXcursor.patch17
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-openssl.patch26
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-resolv.patch26
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/library-paths.patch20
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/libressl.patch33
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/mkspecs-libgl.patch15
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/qpa-platform-plugin-path.patch43
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/series9
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/tzdir.patch40
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtbase/xdg-config-dirs.patch42
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtconnectivity.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch (renamed from pkgs/development/libraries/qt-5/5.9/qtdeclarative/import-paths.patch)10
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtdeclarative/default.nix12
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtdeclarative/import-paths.patch20
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtdeclarative/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtdoc.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtenginio.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtlocation.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtmultimedia.nix13
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtquickcontrols.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtquickcontrols2.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtscript.patch (renamed from pkgs/development/libraries/qt-5/5.6/qtscript/0001-glib-2.32.patch)12
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtscript/default.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtsensors.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtserialport.patch (renamed from pkgs/development/libraries/qt-5/5.9/qtserialport/qtserialport-dlopen-udev.patch)10
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtserialport/0001-dlopen-serialport-udev.patch28
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix12
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtserialport/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtsvg.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qttools.patch64
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qttools/cmake-paths.patch72
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qttools/default.nix12
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qttools/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qttranslations.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebchannel.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebengine-paxmark-mksnapshot.patch (renamed from pkgs/development/libraries/qt-5/5.6/qtwebengine/qtwebengine-paxmark-mksnapshot.patch)0
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebengine/chromium-clang-update-py.patch874
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix90
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit.patch (renamed from pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icu-59.patch)99
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/0001-dlopen-webkit-nsplugin.patch53
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/0002-dlopen-webkit-gtk.patch25
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/0003-dlopen-webkit-udev.patch31
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix40
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-dlopen-gtk.patch64
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-dlopen-udev.patch0
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icucore-darwin.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebkit/series4
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtwebsockets.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtx11extras.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/qtxmlpatterns.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.6/srcs.nix304
-rw-r--r--pkgs/development/libraries/qt-5/5.9/default.nix130
-rw-r--r--pkgs/development/libraries/qt-5/5.9/fetch.sh2
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase.patch1141
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/cmake-paths.patch359
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/compose-search-path.patch18
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/darwin-cf.patch36
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/darwin-series3
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/default.nix366
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gl.patch19
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gtkstyle.patch50
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-libXcursor.patch17
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-resolv.patch26
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/library-paths.patch20
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/libressl.patch33
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-common-mac.patch11
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-features-mac.patch292
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/qgtk-env.patch36
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/qnativesocketengine-type-pun.patch14
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/series9
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtbase/tzdir.patch39
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtcharts.nix10
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtconnectivity.nix10
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch33
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtdeclarative/default.nix20
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtdeclarative/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtgraphicaleffects.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtimageformats.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtlocation.nix13
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtquickcontrols2.nix10
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtscript.patch (renamed from pkgs/development/libraries/qt-5/5.9/qtscript/0001-glib-2.32.patch)12
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtscript/default.nix7
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtsensors.nix13
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtserialport.patch (renamed from pkgs/development/libraries/qt-5/5.6/qtserialport/qtserialport-dlopen-udev.patch)10
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtserialport/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtsvg.nix10
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qttools.patch71
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qttools/cmake-paths.patch88
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qttools/default.nix16
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qttools/series1
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwayland.nix13
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebchannel.nix11
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebengine-paxmark-mksnapshot.patch (renamed from pkgs/development/libraries/qt-5/5.9/qtwebengine/qtwebengine-paxmark-mksnapshot.patch)0
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebkit.patch77
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-gtk.patch64
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-udev.patch0
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-icucore-darwin.patch13
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebkit/series3
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtwebsockets.nix10
-rw-r--r--pkgs/development/libraries/qt-5/5.9/qtxmlpatterns.nix6
-rw-r--r--pkgs/development/libraries/qt-5/5.9/srcs.nix320
-rw-r--r--pkgs/development/libraries/qt-5/README.md81
-rw-r--r--pkgs/development/libraries/qt-5/hooks/fix-qt-builtin-paths.sh64
-rw-r--r--pkgs/development/libraries/qt-5/hooks/fix-qt-module-paths.sh43
-rw-r--r--pkgs/development/libraries/qt-5/hooks/fix-qt-static-libs.sh32
-rw-r--r--pkgs/development/libraries/qt-5/hooks/move-qt-dev-tools.sh34
-rw-r--r--pkgs/development/libraries/qt-5/hooks/qmake-hook.sh18
-rw-r--r--pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh87
-rw-r--r--pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh1
-rw-r--r--pkgs/development/libraries/qt-5/mkDerivation.nix29
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtbase.nix413
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtcharts.nix7
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtconnectivity.nix8
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtdeclarative.nix25
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtdoc.nix (renamed from pkgs/development/libraries/qt-5/5.9/qtdoc.nix)4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtgraphicaleffects.nix (renamed from pkgs/development/libraries/qt-5/5.6/qtgraphicaleffects.nix)5
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtimageformats.nix (renamed from pkgs/development/libraries/qt-5/5.6/qtimageformats.nix)4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtlocation.nix9
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtmacextras.nix (renamed from pkgs/development/libraries/qt-5/5.9/qtmacextras.nix)4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtmultimedia.nix (renamed from pkgs/development/libraries/qt-5/5.9/qtmultimedia.nix)8
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtquickcontrols.nix (renamed from pkgs/development/libraries/qt-5/5.9/qtquickcontrols.nix)4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtquickcontrols2.nix7
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtscript.nix6
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtsensors.nix7
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtserialport.nix (renamed from pkgs/development/libraries/qt-5/5.9/qtserialport/default.nix)5
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtsvg.nix7
-rw-r--r--pkgs/development/libraries/qt-5/modules/qttools.nix34
-rw-r--r--pkgs/development/libraries/qt-5/modules/qttranslations.nix (renamed from pkgs/development/libraries/qt-5/5.9/qttranslations.nix)4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwayland.nix (renamed from pkgs/development/libraries/qt-5/5.6/qtwayland.nix)5
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebchannel.nix8
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix (renamed from pkgs/development/libraries/qt-5/5.9/qtwebengine/default.nix)20
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix (renamed from pkgs/development/libraries/qt-5/5.9/qtwebkit/default.nix)15
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebsockets.nix7
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtx11extras.nix (renamed from pkgs/development/libraries/qt-5/5.9/qtx11extras.nix)4
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtxmlpatterns.nix7
-rw-r--r--pkgs/development/libraries/qt-5/qmake-hook.sh47
-rw-r--r--pkgs/development/libraries/qt-5/qtModule.nix59
-rw-r--r--pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh192
-rw-r--r--pkgs/development/libraries/qt-5/qtbase-setup-hook.sh155
-rw-r--r--pkgs/development/libraries/qt-5/qtsubmodule-setup-hook.sh2
-rw-r--r--pkgs/development/libraries/qtscriptgenerator/default.nix31
-rw-r--r--pkgs/development/libraries/qtstyleplugins/default.nix5
-rw-r--r--pkgs/development/libraries/sblim-sfcc/default.nix2
-rw-r--r--pkgs/development/libraries/skalibs/default.nix4
-rw-r--r--pkgs/development/libraries/snappy/default.nix4
-rw-r--r--pkgs/development/libraries/sparsehash/default.nix2
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix12
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix4
-rw-r--r--pkgs/development/libraries/stlport/default.nix2
-rw-r--r--pkgs/development/libraries/telepathy/glib/default.nix6
-rw-r--r--pkgs/development/libraries/ti-rpc/default.nix6
-rw-r--r--pkgs/development/libraries/vapoursynth/default.nix17
-rw-r--r--pkgs/development/libraries/vigra/default.nix2
-rw-r--r--pkgs/development/libraries/vrb/default.nix34
-rw-r--r--pkgs/development/libraries/vrb/removed_options.patch13
-rw-r--r--pkgs/development/libraries/vrb/unused-but-set-variable.patch19
-rw-r--r--pkgs/development/libraries/webkitgtk/2.18.nix4
-rw-r--r--pkgs/development/libraries/wlc/default.nix16
-rw-r--r--pkgs/development/libraries/wxwidgets/2.9/default.nix8
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/default.nix12
-rw-r--r--pkgs/development/libraries/xlslib/default.nix2
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix16
-rw-r--r--pkgs/development/libraries/zimg/default.nix7
-rw-r--r--pkgs/development/lisp-modules/asdf/default.nix8
-rw-r--r--pkgs/development/lisp-modules/clwrapper/default.nix1
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp2
-rw-r--r--pkgs/development/misc/loc/default.nix2
-rw-r--r--pkgs/development/node-packages/composition-v4.nix2
-rw-r--r--pkgs/development/node-packages/composition-v6.nix2
-rw-r--r--pkgs/development/node-packages/default-v6.nix2
-rw-r--r--pkgs/development/node-packages/node-env.nix52
-rw-r--r--pkgs/development/node-packages/node-packages-v4.nix3023
-rw-r--r--pkgs/development/node-packages/node-packages-v6.json6
-rw-r--r--pkgs/development/node-packages/node-packages-v6.nix13439
-rw-r--r--pkgs/development/ocaml-modules/angstrom/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix13
-rw-r--r--pkgs/development/ocaml-modules/bitstring/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/camomile/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/containers/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/expat/0.9.nix51
-rw-r--r--pkgs/development/ocaml-modules/expat/default.nix77
-rw-r--r--pkgs/development/ocaml-modules/fileutils/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/gen/default.nix11
-rw-r--r--pkgs/development/ocaml-modules/janestreet/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/nocrypto/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/num/default.nix29
-rw-r--r--pkgs/development/ocaml-modules/ocaml-gettext/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/ocamlfuse/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sqlexpr/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/sqlite3EZ/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/zed/default.nix4
-rw-r--r--pkgs/development/pharo/vm/share.nix2
-rw-r--r--pkgs/development/python-modules/APScheduler/default.nix2
-rw-r--r--pkgs/development/python-modules/Cython/default.nix4
-rw-r--r--pkgs/development/python-modules/absl-py/default.nix28
-rw-r--r--pkgs/development/python-modules/affinity/default.nix16
-rw-r--r--pkgs/development/python-modules/aiodns/default.nix2
-rw-r--r--pkgs/development/python-modules/aiohttp/default.nix4
-rw-r--r--pkgs/development/python-modules/alembic/default.nix2
-rw-r--r--pkgs/development/python-modules/apipkg/default.nix2
-rw-r--r--pkgs/development/python-modules/appdirs/default.nix2
-rw-r--r--pkgs/development/python-modules/asgi_ipc/default.nix6
-rw-r--r--pkgs/development/python-modules/asgi_redis/default.nix2
-rw-r--r--pkgs/development/python-modules/astroid/default.nix2
-rw-r--r--pkgs/development/python-modules/bcrypt/default.nix (renamed from pkgs/development/python-modules/bcrypt.nix)0
-rw-r--r--pkgs/development/python-modules/betamax-matchers/default.nix21
-rw-r--r--pkgs/development/python-modules/betamax-serializers/default.nix20
-rw-r--r--pkgs/development/python-modules/bitcoin-price-api/default.nix2
-rw-r--r--pkgs/development/python-modules/bkcharts/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore/default.nix44
-rw-r--r--pkgs/development/python-modules/configargparse/default.nix21
-rw-r--r--pkgs/development/python-modules/csscompressor/default.nix (renamed from pkgs/development/python-modules/csscompressor.nix)0
-rw-r--r--pkgs/development/python-modules/cycler/default.nix2
-rw-r--r--pkgs/development/python-modules/dask/default.nix2
-rw-r--r--pkgs/development/python-modules/dateutil/default.nix2
-rw-r--r--pkgs/development/python-modules/devpi-common/default.nix2
-rw-r--r--pkgs/development/python-modules/django/1_11.nix4
-rw-r--r--pkgs/development/python-modules/django_guardian/default.nix (renamed from pkgs/development/python-modules/django_guardian.nix)0
-rw-r--r--pkgs/development/python-modules/docker/default.nix (renamed from pkgs/development/python-modules/docker.nix)0
-rw-r--r--pkgs/development/python-modules/docker_compose/default.nix (renamed from pkgs/development/python-modules/docker_compose.nix)0
-rw-r--r--pkgs/development/python-modules/dogpile.cache/default.nix2
-rw-r--r--pkgs/development/python-modules/ds4drv/default.nix (renamed from pkgs/development/python-modules/ds4drv.nix)0
-rw-r--r--pkgs/development/python-modules/dulwich/default.nix (renamed from pkgs/development/python-modules/dulwich.nix)4
-rw-r--r--pkgs/development/python-modules/fastimport/default.nix22
-rw-r--r--pkgs/development/python-modules/faulthandler/default.nix19
-rw-r--r--pkgs/development/python-modules/fiona/default.nix4
-rw-r--r--pkgs/development/python-modules/flake8/default.nix2
-rw-r--r--pkgs/development/python-modules/flask-elastic/default.nix (renamed from pkgs/development/python-modules/flask-elastic.nix)0
-rw-r--r--pkgs/development/python-modules/flask-ldap-login/default.nix (renamed from pkgs/development/python-modules/flask-ldap-login.nix)0
-rw-r--r--pkgs/development/python-modules/flask-login/default.nix (renamed from pkgs/development/python-modules/flask-login.nix)0
-rw-r--r--pkgs/development/python-modules/flask-oauthlib/default.nix (renamed from pkgs/development/python-modules/flask-oauthlib.nix)0
-rw-r--r--pkgs/development/python-modules/flask-testing/default.nix (renamed from pkgs/development/python-modules/flask-testing.nix)0
-rw-r--r--pkgs/development/python-modules/flask-wtf/default.nix (renamed from pkgs/development/python-modules/flask-wtf.nix)0
-rw-r--r--pkgs/development/python-modules/folium/default.nix19
-rw-r--r--pkgs/development/python-modules/gflags/default.nix4
-rw-r--r--pkgs/development/python-modules/ghdiff/default.nix (renamed from pkgs/development/python-modules/ghdiff.nix)0
-rw-r--r--pkgs/development/python-modules/gst-python/default.nix6
-rw-r--r--pkgs/development/python-modules/guessit/2.0.nix2
-rw-r--r--pkgs/development/python-modules/guessit/default.nix2
-rw-r--r--pkgs/development/python-modules/gunicorn/default.nix (renamed from pkgs/development/python-modules/gunicorn.nix)2
-rw-r--r--pkgs/development/python-modules/h2/default.nix21
-rw-r--r--pkgs/development/python-modules/htmlmin/default.nix (renamed from pkgs/development/python-modules/htmlmin.nix)0
-rw-r--r--pkgs/development/python-modules/hyperframe/default.nix17
-rw-r--r--pkgs/development/python-modules/hypothesis/default.nix (renamed from pkgs/development/python-modules/hypothesis.nix)0
-rw-r--r--pkgs/development/python-modules/incremental/default.nix2
-rw-r--r--pkgs/development/python-modules/ipython/default.nix4
-rw-r--r--pkgs/development/python-modules/jabberbot/default.nix (renamed from pkgs/development/python-modules/jabberbot.nix)0
-rw-r--r--pkgs/development/python-modules/jug/default.nix4
-rw-r--r--pkgs/development/python-modules/kaitaistruct/default.nix18
-rw-r--r--pkgs/development/python-modules/keepkey/default.nix18
-rw-r--r--pkgs/development/python-modules/keras/default.nix4
-rw-r--r--pkgs/development/python-modules/ldap/default.nix (renamed from pkgs/development/python-modules/ldap.nix)0
-rw-r--r--pkgs/development/python-modules/ldap3/default.nix24
-rw-r--r--pkgs/development/python-modules/libagent/default.nix10
-rw-r--r--pkgs/development/python-modules/libnacl/default.nix4
-rw-r--r--pkgs/development/python-modules/markdown2/default.nix (renamed from pkgs/development/python-modules/markdown2.nix)0
-rw-r--r--pkgs/development/python-modules/meliae/default.nix8
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix30
-rw-r--r--pkgs/development/python-modules/mplleaflet/default.nix2
-rw-r--r--pkgs/development/python-modules/mpyq/default.nix22
-rw-r--r--pkgs/development/python-modules/multidict/default.nix4
-rw-r--r--pkgs/development/python-modules/multipledispatch/default.nix2
-rw-r--r--pkgs/development/python-modules/natsort/default.nix5
-rw-r--r--pkgs/development/python-modules/natsort/python-3.6.3-test-failures.patch37
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix2
-rw-r--r--pkgs/development/python-modules/netcdf4/default.nix4
-rw-r--r--pkgs/development/python-modules/nltk/default.nix (renamed from pkgs/development/python-modules/nltk.nix)0
-rw-r--r--pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--pkgs/development/python-modules/path.py/default.nix2
-rw-r--r--pkgs/development/python-modules/pelican-fix-tests-with-pygments-2.1.patch318
-rw-r--r--pkgs/development/python-modules/pep257/default.nix (renamed from pkgs/development/python-modules/pep257.nix)0
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/phpserialize/default.nix2
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix21
-rw-r--r--pkgs/development/python-modules/portpicker/default.nix22
-rw-r--r--pkgs/development/python-modules/praw/default.nix43
-rw-r--r--pkgs/development/python-modules/prawcore/default.nix38
-rw-r--r--pkgs/development/python-modules/protobuf/default.nix (renamed from pkgs/development/python-modules/protobuf.nix)0
-rw-r--r--pkgs/development/python-modules/py3exiv2/default.nix29
-rw-r--r--pkgs/development/python-modules/py3exiv2/setup.patch11
-rw-r--r--pkgs/development/python-modules/pyaes/default.nix (renamed from pkgs/development/python-modules/pyaes.nix)0
-rw-r--r--pkgs/development/python-modules/pyasn1-modules/default.nix22
-rw-r--r--pkgs/development/python-modules/pyasn1/default.nix19
-rw-r--r--pkgs/development/python-modules/pycassa/default.nix2
-rw-r--r--pkgs/development/python-modules/pyemd/default.nix2
-rw-r--r--pkgs/development/python-modules/pyfeed/default.nix23
-rw-r--r--pkgs/development/python-modules/pygit2/default.nix31
-rw-r--r--pkgs/development/python-modules/pylibacl/default.nix27
-rw-r--r--pkgs/development/python-modules/pyobjc/default.nix23
-rw-r--r--pkgs/development/python-modules/pyodbc/default.nix4
-rw-r--r--pkgs/development/python-modules/pypcap/default.nix10
-rw-r--r--pkgs/development/python-modules/pyproj/default.nix2
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix9
-rw-r--r--pkgs/development/python-modules/pyrax/default.nix (renamed from pkgs/development/python-modules/pyrax.nix)0
-rw-r--r--pkgs/development/python-modules/pysc2/default.nix64
-rw-r--r--pkgs/development/python-modules/pysc2/fix-setup-for-py3.patch64
-rw-r--r--pkgs/development/python-modules/pysc2/parameterize-runconfig-sc2path.patch18
-rw-r--r--pkgs/development/python-modules/pyspread/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-pep257/default.nix (renamed from pkgs/development/python-modules/pytest-pep257.nix)0
-rw-r--r--pkgs/development/python-modules/python-fuse/default.nix27
-rw-r--r--pkgs/development/python-modules/pyudev/default.nix (renamed from pkgs/development/python-modules/pyudev.nix)0
-rw-r--r--pkgs/development/python-modules/pywinrm/default.nix2
-rw-r--r--pkgs/development/python-modules/pyxattr/default.nix26
-rw-r--r--pkgs/development/python-modules/qtawesome/default.nix19
-rw-r--r--pkgs/development/python-modules/qtpy/default.nix25
-rw-r--r--pkgs/development/python-modules/rackspace-novaclient/default.nix (renamed from pkgs/development/python-modules/rackspace-novaclient.nix)0
-rw-r--r--pkgs/development/python-modules/reikna/default.nix2
-rw-r--r--pkgs/development/python-modules/reportlab/default.nix43
-rw-r--r--pkgs/development/python-modules/requests-oauthlib/default.nix (renamed from pkgs/development/python-modules/requests-oauthlib.nix)0
-rw-r--r--pkgs/development/python-modules/robotsuite/default.nix2
-rw-r--r--pkgs/development/python-modules/rope/default.nix18
-rw-r--r--pkgs/development/python-modules/s2clientprotocol/default.nix27
-rw-r--r--pkgs/development/python-modules/s2clientprotocol/pure-version.patch13
-rw-r--r--pkgs/development/python-modules/s3transfer/default.nix53
-rw-r--r--pkgs/development/python-modules/selenium/default.nix50
-rw-r--r--pkgs/development/python-modules/setuptools/default.nix2
-rw-r--r--pkgs/development/python-modules/shapely/default.nix4
-rw-r--r--pkgs/development/python-modules/six/default.nix27
-rw-r--r--pkgs/development/python-modules/sqlalchemy-0.7.10-test-failures.patch49
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix4
-rw-r--r--pkgs/development/python-modules/sybase/default.nix30
-rw-r--r--pkgs/development/python-modules/sybil/default.nix24
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix6
-rw-r--r--pkgs/development/python-modules/testfixtures/default.nix23
-rw-r--r--pkgs/development/python-modules/testtools/default.nix2
-rw-r--r--pkgs/development/python-modules/transaction/default.nix2
-rw-r--r--pkgs/development/python-modules/treq/default.nix2
-rw-r--r--pkgs/development/python-modules/trezor/default.nix4
-rw-r--r--pkgs/development/python-modules/unidecode/default.nix2
-rw-r--r--pkgs/development/python-modules/update_checker/default.nix22
-rw-r--r--pkgs/development/python-modules/urwid/default.nix15
-rw-r--r--pkgs/development/python-modules/yowsup/default.nix8
-rw-r--r--pkgs/development/python-modules/zconfig/default.nix2
-rw-r--r--pkgs/development/python-modules/zodb/default.nix2
-rw-r--r--pkgs/development/python-modules/zodbpickle/default.nix2
-rw-r--r--pkgs/development/python-modules/zope_testrunner/default.nix2
-rw-r--r--pkgs/development/r-modules/README.md17
-rw-r--r--pkgs/development/r-modules/default.nix1
-rw-r--r--pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb3
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/frama-c/default.nix4
-rw-r--r--pkgs/development/tools/analysis/kcov/default.nix14
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix14
-rw-r--r--pkgs/development/tools/analysis/splint/darwin.patch13
-rw-r--r--pkgs/development/tools/analysis/splint/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/default.nix15
-rw-r--r--pkgs/development/tools/build-managers/conan/default.nix43
-rw-r--r--pkgs/development/tools/build-managers/icmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/sbt-extras/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/scons/default.nix4
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix6
-rw-r--r--pkgs/development/tools/database/sqlitebrowser/default.nix27
-rw-r--r--pkgs/development/tools/geckodriver/default.nix25
-rw-r--r--pkgs/development/tools/git-series/default.nix2
-rw-r--r--pkgs/development/tools/godot/default.nix10
-rw-r--r--pkgs/development/tools/gotools/default.nix6
-rw-r--r--pkgs/development/tools/haskell/ihaskell/wrapper.nix23
-rw-r--r--pkgs/development/tools/icestorm/default.nix10
-rw-r--r--pkgs/development/tools/kafkacat/default.nix4
-rw-r--r--pkgs/development/tools/misc/bashdb/default.nix6
-rw-r--r--pkgs/development/tools/misc/d-feet/default.nix4
-rw-r--r--pkgs/development/tools/misc/dbench/default.nix5
-rw-r--r--pkgs/development/tools/misc/dbench/fix-missing-stdint.patch10
-rw-r--r--pkgs/development/tools/misc/gtkdialog/default.nix5
-rw-r--r--pkgs/development/tools/misc/hydra/default.nix6
-rw-r--r--pkgs/development/tools/misc/luarocks/default.nix8
-rw-r--r--pkgs/development/tools/misc/objconv/default.nix4
-rw-r--r--pkgs/development/tools/misc/stm32flash/default.nix4
-rw-r--r--pkgs/development/tools/misc/ycmd/default.nix6
-rw-r--r--pkgs/development/tools/misc/ycmd/dont-symlink-clang.patch39
-rw-r--r--pkgs/development/tools/ocaml/omake/default.nix4
-rw-r--r--pkgs/development/tools/parsing/flex/default.nix14
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix2
-rw-r--r--pkgs/development/tools/phantomjs2/default.nix4
-rw-r--r--pkgs/development/tools/profiling/heaptrack/default.nix6
-rw-r--r--pkgs/development/tools/profiling/systemtap/default.nix6
-rw-r--r--pkgs/development/tools/rtags/default.nix4
-rw-r--r--pkgs/development/tools/rust/racer/default.nix25
-rw-r--r--pkgs/development/tools/rust/racer/ignore-tests.patch22
-rw-r--r--pkgs/development/tools/rust/racer/rust-src.patch10
-rw-r--r--pkgs/development/tools/selenium/server/default.nix2
-rw-r--r--pkgs/development/tools/sqsh/default.nix39
-rw-r--r--pkgs/development/tools/vagrant/default.nix16
-rw-r--r--pkgs/development/tools/yarn/default.nix4
-rw-r--r--pkgs/development/web/nodejs/v8.nix4
-rw-r--r--pkgs/development/web/remarkjs/node-packages.nix2
-rw-r--r--pkgs/games/anki/beautifulsoup.nix20
-rw-r--r--pkgs/games/anki/default.nix62
-rw-r--r--pkgs/games/arx-libertatis/default.nix4
-rw-r--r--pkgs/games/braincurses/default.nix28
-rw-r--r--pkgs/games/brogue/default.nix2
-rw-r--r--pkgs/games/cataclysm-dda/git.nix67
-rw-r--r--pkgs/games/factorio/default.nix6
-rw-r--r--pkgs/games/freeciv/default.nix4
-rw-r--r--pkgs/games/gtetrinet/default.nix44
-rw-r--r--pkgs/games/openra/default.nix4
-rw-r--r--pkgs/games/openrct2/default.nix9
-rw-r--r--pkgs/games/sgt-puzzles/default.nix4
-rw-r--r--pkgs/games/steam/chrootenv.nix41
-rw-r--r--pkgs/games/steam/runtime.nix4
-rw-r--r--pkgs/games/torcs/default.nix11
-rw-r--r--pkgs/games/trackballs/default.nix4
-rw-r--r--pkgs/games/uqm/3dovideo.nix7
-rw-r--r--pkgs/games/uqm/default.nix43
-rw-r--r--pkgs/misc/drivers/foo2zjs/default.nix2
-rw-r--r--pkgs/misc/drivers/hplip/default.nix8
-rw-r--r--pkgs/misc/emulators/dosbox/default.nix17
-rw-r--r--pkgs/misc/emulators/snes9x-gtk/default.nix1
-rw-r--r--pkgs/misc/emulators/wine/winetricks.nix2
-rw-r--r--pkgs/misc/lilypond/default.nix2
-rw-r--r--pkgs/misc/mxt-app/default.nix2
-rw-r--r--pkgs/misc/screensavers/i3lock-pixeled/default.nix1
-rw-r--r--pkgs/misc/screensavers/xlockmore/default.nix2
-rw-r--r--pkgs/misc/screensavers/xscreensaver/default.nix4
-rw-r--r--pkgs/misc/themes/adapta/default.nix10
-rw-r--r--pkgs/misc/themes/materia-theme/default.nix4
-rw-r--r--pkgs/misc/vim-plugins/default.nix596
-rw-r--r--pkgs/misc/vim-plugins/vim-plugin-names1
-rw-r--r--pkgs/misc/vim-plugins/vim2nix/additional-nix-code/command-t7
-rw-r--r--pkgs/misc/vscode-extensions/cpptools/default.nix128
-rw-r--r--pkgs/misc/vscode-extensions/cpptools/vscode-cpptools-0-12-3-package-json.patch82
-rw-r--r--pkgs/misc/vscode-extensions/default.nix4
-rw-r--r--pkgs/misc/xosd/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-sdk/default.nix11
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix3
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix2
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix4
-rw-r--r--pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix5
-rw-r--r--pkgs/os-specific/darwin/cf-private/default.nix27
-rw-r--r--pkgs/os-specific/darwin/opencflite/default.nix2
-rw-r--r--pkgs/os-specific/darwin/osx-private-sdk/default.nix29
-rw-r--r--pkgs/os-specific/darwin/security-tool/default.nix2
-rw-r--r--pkgs/os-specific/linux/android-udev-rules/default.nix4
-rw-r--r--pkgs/os-specific/linux/bcc/default.nix6
-rw-r--r--pkgs/os-specific/linux/busybox/default.nix16
-rw-r--r--pkgs/os-specific/linux/checkpolicy/default.nix11
-rw-r--r--pkgs/os-specific/linux/devmem2/default.nix5
-rw-r--r--pkgs/os-specific/linux/drbd/default.nix2
-rw-r--r--pkgs/os-specific/linux/fbterm/default.nix5
-rw-r--r--pkgs/os-specific/linux/ffado/default.nix5
-rw-r--r--pkgs/os-specific/linux/ffado/glibc226.patch10
-rw-r--r--pkgs/os-specific/linux/firejail/default.nix8
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix47
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/zd1211/default.nix2
-rw-r--r--pkgs/os-specific/linux/ftop/default.nix4
-rw-r--r--pkgs/os-specific/linux/fuse/common.nix9
-rw-r--r--pkgs/os-specific/linux/fuse/default.nix4
-rw-r--r--pkgs/os-specific/linux/fuse/fuse3-install_man.patch8
-rw-r--r--pkgs/os-specific/linux/fuse/fuse3-no-udev.patch12
-rw-r--r--pkgs/os-specific/linux/i7z/default.nix4
-rw-r--r--pkgs/os-specific/linux/jfbview/default.nix8
-rw-r--r--pkgs/os-specific/linux/jfbview/mupdf-1.9.patch28
-rw-r--r--pkgs/os-specific/linux/jujuutils/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/common-config.nix5
-rw-r--r--pkgs/os-specific/linux/kernel/generic.nix1
-rw-r--r--pkgs/os-specific/linux/kernel/hardened-config.nix7
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.13.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-beagleboard.nix25
-rw-r--r--pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-mptcp.nix18
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-testing.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/manual-config.nix35
-rw-r--r--pkgs/os-specific/linux/kernel/patches.nix10
-rw-r--r--pkgs/os-specific/linux/kmscon/default.nix4
-rw-r--r--pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch25
-rw-r--r--pkgs/os-specific/linux/libnscd/default.nix14
-rw-r--r--pkgs/os-specific/linux/libselinux/default.nix3
-rw-r--r--pkgs/os-specific/linux/lvm2/default.nix2
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix6
-rw-r--r--pkgs/os-specific/linux/mingetty/default.nix2
-rw-r--r--pkgs/os-specific/linux/mstpd/default.nix2
-rw-r--r--pkgs/os-specific/linux/mwprocapture/default.nix3
-rw-r--r--pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch60
-rw-r--r--pkgs/os-specific/linux/ndiswrapper/default.nix2
-rw-r--r--pkgs/os-specific/linux/nfs-utils/default.nix2
-rw-r--r--pkgs/os-specific/linux/procps/watch.nix2
-rw-r--r--pkgs/os-specific/linux/rewritefs/default.nix8
-rw-r--r--pkgs/os-specific/linux/s6-linux-utils/default.nix4
-rw-r--r--pkgs/os-specific/linux/service-wrapper/default.nix25
-rwxr-xr-xpkgs/os-specific/linux/service-wrapper/service-wrapper.sh247
-rw-r--r--pkgs/os-specific/linux/spl/default.nix15
-rw-r--r--pkgs/os-specific/linux/tcp-wrappers/default.nix4
-rw-r--r--pkgs/os-specific/linux/trinity/default.nix15
-rw-r--r--pkgs/os-specific/linux/virtualbox/default.nix8
-rw-r--r--pkgs/os-specific/linux/virtualbox/fix_kbuild.patch85
-rw-r--r--pkgs/os-specific/linux/virtualbox/fix_kerndir.patch48
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/os-specific/linux/zfs/default.nix10
-rw-r--r--pkgs/servers/apache-kafka/default.nix34
-rw-r--r--pkgs/servers/asterisk/default.nix4
-rw-r--r--pkgs/servers/atlassian/confluence.nix4
-rw-r--r--pkgs/servers/atlassian/jira.nix4
-rw-r--r--pkgs/servers/clickhouse/default.nix8
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix23
-rw-r--r--pkgs/servers/dns/knot-resolver/default.nix5
-rw-r--r--pkgs/servers/dns/pdns-recursor/default.nix6
-rw-r--r--pkgs/servers/emby/default.nix4
-rw-r--r--pkgs/servers/gpm/default.nix5
-rw-r--r--pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch12
-rw-r--r--pkgs/servers/http/4store/default.nix15
-rw-r--r--pkgs/servers/http/apache-modules/mod_wsgi/default.nix2
-rw-r--r--pkgs/servers/http/hyp/default.nix19
-rw-r--r--pkgs/servers/kippo/default.nix10
-rw-r--r--pkgs/servers/mail/postfix/default.nix5
-rw-r--r--pkgs/servers/mail/rspamd/default.nix8
-rw-r--r--pkgs/servers/matrix-synapse/default.nix12
-rw-r--r--pkgs/servers/matterbridge/default.nix4
-rw-r--r--pkgs/servers/mattermost/default.nix39
-rw-r--r--pkgs/servers/monitoring/lcdproc/default.nix4
-rw-r--r--pkgs/servers/monitoring/mtail/default.nix26
-rw-r--r--pkgs/servers/monitoring/mtail/deps.nix56
-rw-r--r--pkgs/servers/monitoring/mtail/fix-gopath.patch13
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix4
-rw-r--r--pkgs/servers/monitoring/telegraf/deps-1.4.4.nix (renamed from pkgs/servers/monitoring/telegraf/deps-1.4.2.nix)13
-rw-r--r--pkgs/servers/monitoring/uchiwa/bower-packages.nix4
-rw-r--r--pkgs/servers/monitoring/uchiwa/src.nix4
-rwxr-xr-xpkgs/servers/monitoring/uchiwa/update.sh42
-rw-r--r--pkgs/servers/nosql/apache-jena/binary.nix4
-rw-r--r--pkgs/servers/nosql/apache-jena/fuseki-binary.nix4
-rw-r--r--pkgs/servers/nosql/influxdb/default.nix4
-rw-r--r--pkgs/servers/nosql/influxdb/deps-1.0.2.nix164
-rw-r--r--pkgs/servers/nosql/influxdb/deps-1.4.1.nix227
-rw-r--r--pkgs/servers/nosql/redis/default.nix10
-rw-r--r--pkgs/servers/openafs-client/default.nix10
-rw-r--r--pkgs/servers/plex/default.nix6
-rw-r--r--pkgs/servers/radicale/default.nix4
-rw-r--r--pkgs/servers/rpcbind/default.nix6
-rw-r--r--pkgs/servers/search/groonga/default.nix4
-rw-r--r--pkgs/servers/shellinabox/default.nix2
-rw-r--r--pkgs/servers/sonarr/default.nix4
-rw-r--r--pkgs/servers/sql/pgpool/default.nix8
-rw-r--r--pkgs/servers/sql/pgpool/pgpool-II-3.4.14-glibc-2.26.patch12
-rw-r--r--pkgs/servers/sql/postgresql/timescaledb/default.nix4
-rw-r--r--pkgs/servers/tt-rss/default.nix2
-rw-r--r--pkgs/servers/tvheadend/default.nix7
-rw-r--r--pkgs/servers/unifi/default.nix6
-rw-r--r--pkgs/servers/web-apps/selfoss/default.nix2
-rw-r--r--pkgs/shells/fish-foreign-env/default.nix2
-rw-r--r--pkgs/shells/fish-foreign-env/suppress-harmless-warnings.patch (renamed from pkgs/shells/fish-foreign-env/hide-path-warnings.patch)17
-rw-r--r--pkgs/shells/lambda-mod-zsh-theme/default.nix2
-rw-r--r--pkgs/shells/nix-bash-completions/default.nix26
-rw-r--r--pkgs/shells/nix-zsh-completions/default.nix8
-rw-r--r--pkgs/shells/zsh-autosuggestions/default.nix2
-rw-r--r--pkgs/shells/zsh-completions/default.nix4
-rw-r--r--pkgs/shells/zsh-syntax-highlighting/default.nix4
-rw-r--r--pkgs/stdenv/booter.nix25
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix4
-rw-r--r--pkgs/tools/X11/xbanish/default.nix9
-rw-r--r--pkgs/tools/X11/xosview2/default.nix41
-rw-r--r--pkgs/tools/X11/xpra/default.nix11
-rw-r--r--pkgs/tools/X11/xpra/gtk3.nix13
-rw-r--r--pkgs/tools/admin/aws_shell/default.nix42
-rw-r--r--pkgs/tools/admin/awscli/default.nix68
-rw-r--r--pkgs/tools/admin/bubblewrap/default.nix4
-rw-r--r--pkgs/tools/admin/certbot/default.nix4
-rw-r--r--pkgs/tools/admin/gixy/default.nix41
-rw-r--r--pkgs/tools/admin/google-cloud-sdk/default.nix23
-rw-r--r--pkgs/tools/admin/simp_le/default.nix4
-rw-r--r--pkgs/tools/archivers/sharutils/default.nix17
-rw-r--r--pkgs/tools/archivers/xarchiver/default.nix10
-rw-r--r--pkgs/tools/audio/abcm2ps/default.nix6
-rw-r--r--pkgs/tools/audio/mpdas/default.nix27
-rw-r--r--pkgs/tools/backup/borg/default.nix8
-rw-r--r--pkgs/tools/backup/partclone/default.nix4
-rw-r--r--pkgs/tools/backup/wal-g/default.nix16
-rw-r--r--pkgs/tools/cd-dvd/bchunk/CVE-2017-15953.patch25
-rw-r--r--pkgs/tools/cd-dvd/bchunk/CVE-2017-15955.patch33
-rw-r--r--pkgs/tools/cd-dvd/bchunk/default.nix7
-rw-r--r--pkgs/tools/cd-dvd/lsdvd/default.nix2
-rw-r--r--pkgs/tools/compression/lz4/default.nix2
-rw-r--r--pkgs/tools/compression/rzip/default.nix10
-rw-r--r--pkgs/tools/compression/zstd/default.nix4
-rw-r--r--pkgs/tools/filesystems/btrfs-progs/default.nix4
-rw-r--r--pkgs/tools/filesystems/disorderfs/default.nix8
-rw-r--r--pkgs/tools/filesystems/fatresize/default.nix2
-rw-r--r--pkgs/tools/filesystems/fuseiso/default.nix2
-rw-r--r--pkgs/tools/filesystems/genext2fs/default.nix6
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.upstream5
-rw-r--r--pkgs/tools/filesystems/mtpfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/netatalk/default.nix26
-rw-r--r--pkgs/tools/filesystems/netatalk/no-suid.patch11
-rw-r--r--pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch38
-rw-r--r--pkgs/tools/filesystems/nilfs-utils/default.nix4
-rw-r--r--pkgs/tools/filesystems/s3backer/default.nix2
-rw-r--r--pkgs/tools/filesystems/smbnetfs/default.nix2
-rw-r--r--pkgs/tools/filesystems/snapraid/default.nix2
-rw-r--r--pkgs/tools/filesystems/sshfs-fuse/default.nix5
-rw-r--r--pkgs/tools/graphics/cuneiform/default.nix4
-rw-r--r--pkgs/tools/graphics/gnuplot/default.nix4
-rw-r--r--pkgs/tools/graphics/logstalgia/default.nix2
-rw-r--r--pkgs/tools/graphics/lprof/default.nix2
-rw-r--r--pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix6
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix2
-rw-r--r--pkgs/tools/inputmethods/nabi/default.nix4
-rw-r--r--pkgs/tools/inputmethods/touchegg/default.nix4
-rw-r--r--pkgs/tools/inputmethods/uim/default.nix4
-rw-r--r--pkgs/tools/misc/bdf2psf/default.nix4
-rw-r--r--pkgs/tools/misc/bepasty/default.nix2
-rw-r--r--pkgs/tools/misc/bibutils/default.nix2
-rw-r--r--pkgs/tools/misc/colord/default.nix43
-rw-r--r--pkgs/tools/misc/colord/fix-build-paths.patch56
-rw-r--r--pkgs/tools/misc/ddcutil/default.nix4
-rw-r--r--pkgs/tools/misc/debootstrap/default.nix4
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix4
-rw-r--r--pkgs/tools/misc/ethtool/default.nix4
-rw-r--r--pkgs/tools/misc/execline/default.nix4
-rw-r--r--pkgs/tools/misc/fd/default.nix5
-rw-r--r--pkgs/tools/misc/fdupes/default.nix35
-rw-r--r--pkgs/tools/misc/fwup/default.nix4
-rw-r--r--pkgs/tools/misc/fzf/default.nix4
-rw-r--r--pkgs/tools/misc/hexd/default.nix25
-rw-r--r--pkgs/tools/misc/jdupes/default.nix32
-rw-r--r--pkgs/tools/misc/ncdu/default.nix2
-rw-r--r--pkgs/tools/misc/ostree/default.nix18
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/pixd/default.nix25
-rw-r--r--pkgs/tools/misc/qt5ct/default.nix4
-rw-r--r--pkgs/tools/misc/quota/default.nix2
-rw-r--r--pkgs/tools/misc/radeon-profile/default.nix8
-rw-r--r--pkgs/tools/misc/rkflashtool/default.nix2
-rw-r--r--pkgs/tools/misc/rlwrap/default.nix9
-rw-r--r--pkgs/tools/misc/rockbox-utility/default.nix7
-rw-r--r--pkgs/tools/misc/rrdtool/default.nix2
-rw-r--r--pkgs/tools/misc/s6-portable-utils/default.nix4
-rw-r--r--pkgs/tools/misc/time/default.nix13
-rw-r--r--pkgs/tools/misc/time/max-resident.patch16
-rw-r--r--pkgs/tools/misc/timidity/default.nix2
-rw-r--r--pkgs/tools/misc/tmuxp/default.nix4
-rw-r--r--pkgs/tools/misc/ttwatch/default.nix6
-rw-r--r--pkgs/tools/misc/vorbisgain/default.nix2
-rw-r--r--pkgs/tools/misc/wakatime/default.nix15
-rw-r--r--pkgs/tools/misc/youtube-dl/default.nix4
-rw-r--r--pkgs/tools/networking/airfield/default.nix75
-rw-r--r--pkgs/tools/networking/airfield/deps.json8
-rwxr-xr-xpkgs/tools/networking/airfield/deps.sh6
-rw-r--r--pkgs/tools/networking/airfield/node-packages.nix883
-rw-r--r--pkgs/tools/networking/airfield/node.nix16
-rw-r--r--pkgs/tools/networking/airfield/package.nix1495
-rw-r--r--pkgs/tools/networking/curl-unix-socket/default.nix4
-rw-r--r--pkgs/tools/networking/dirb/default.nix16
-rw-r--r--pkgs/tools/networking/fdm/default.nix64
-rw-r--r--pkgs/tools/networking/getmail/default.nix4
-rw-r--r--pkgs/tools/networking/gvpe/default.nix2
-rw-r--r--pkgs/tools/networking/gvpe/gvpe-3.0-glibc-2.26.patch18
-rw-r--r--pkgs/tools/networking/htpdate/default.nix2
-rw-r--r--pkgs/tools/networking/inadyn/default.nix37
-rw-r--r--pkgs/tools/networking/lftp/default.nix12
-rw-r--r--pkgs/tools/networking/libreswan/default.nix11
-rw-r--r--pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch36
-rw-r--r--pkgs/tools/networking/mitmproxy/default.nix74
-rw-r--r--pkgs/tools/networking/nat-traverse/default.nix37
-rw-r--r--pkgs/tools/networking/netsniff-ng/default.nix2
-rw-r--r--pkgs/tools/networking/netsniff-ng/glibc-2.26.patch24
-rw-r--r--pkgs/tools/networking/network-manager-applet/default.nix10
-rw-r--r--pkgs/tools/networking/network-manager/default.nix6
-rw-r--r--pkgs/tools/networking/openntpd/default.nix1
-rw-r--r--pkgs/tools/networking/openssh/default.nix12
-rw-r--r--pkgs/tools/networking/p2p/gtk-gnutella/default.nix4
-rw-r--r--pkgs/tools/networking/pdsh/default.nix15
-rw-r--r--pkgs/tools/networking/reaver-wps-t6x/default.nix19
-rw-r--r--pkgs/tools/networking/reaver-wps/default.nix2
-rw-r--r--pkgs/tools/networking/s6-dns/default.nix4
-rw-r--r--pkgs/tools/networking/s6-networking/default.nix4
-rw-r--r--pkgs/tools/networking/slimrat/default.nix5
-rw-r--r--pkgs/tools/networking/sshpass/default.nix2
-rw-r--r--pkgs/tools/networking/statsd/default.nix13
-rw-r--r--pkgs/tools/networking/statsd/node-packages.json6
-rw-r--r--pkgs/tools/networking/statsd/node-packages.nix284
-rw-r--r--pkgs/tools/networking/strongswan/default.nix2
-rw-r--r--pkgs/tools/networking/tcpflow/default.nix2
-rw-r--r--pkgs/tools/networking/udptunnel/default.nix6
-rw-r--r--pkgs/tools/networking/urlwatch/default.nix6
-rw-r--r--pkgs/tools/networking/wrk/default.nix2
-rw-r--r--pkgs/tools/package-management/nix/default.nix8
-rwxr-xr-xpkgs/tools/package-management/nixui/generate.sh2
-rw-r--r--pkgs/tools/package-management/nox/default.nix1
-rw-r--r--pkgs/tools/package-management/opkg/default.nix2
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix8
-rw-r--r--pkgs/tools/security/afl/default.nix8
-rw-r--r--pkgs/tools/security/afl/qemu-patches/qemu-2.3.0-glibc-2.26.patch121
-rw-r--r--pkgs/tools/security/afl/qemu.nix1
-rw-r--r--pkgs/tools/security/browserpass/default.nix6
-rw-r--r--pkgs/tools/security/browserpass/deps.nix30
-rw-r--r--pkgs/tools/security/chaps/default.nix2
-rw-r--r--pkgs/tools/security/doas/default.nix31
-rw-r--r--pkgs/tools/security/gnupg/22.nix4
-rw-r--r--pkgs/tools/security/masscan/default.nix14
-rw-r--r--pkgs/tools/security/mfcuk/default.nix4
-rw-r--r--pkgs/tools/security/mfoc/default.nix4
-rw-r--r--pkgs/tools/security/mpw/default.nix45
-rw-r--r--pkgs/tools/security/nsjail/default.nix14
-rw-r--r--pkgs/tools/security/omapd/default.nix4
-rw-r--r--pkgs/tools/security/opensc/default.nix4
-rw-r--r--pkgs/tools/security/pass/rofi-pass.nix4
-rw-r--r--pkgs/tools/security/pgpdump/default.nix6
-rw-r--r--pkgs/tools/security/qdigidoc/default.nix6
-rw-r--r--pkgs/tools/security/qdigidoc/glibc-2_26.patch221
-rw-r--r--pkgs/tools/security/radamsa/default.nix2
-rw-r--r--pkgs/tools/security/rng-tools/default.nix2
-rw-r--r--pkgs/tools/security/sshguard/default.nix9
-rw-r--r--pkgs/tools/security/tmin/default.nix24
-rw-r--r--pkgs/tools/security/tor/torsocks.nix2
-rw-r--r--pkgs/tools/security/yara/default.nix4
-rw-r--r--pkgs/tools/system/dd_rescue/default.nix4
-rw-r--r--pkgs/tools/system/hwinfo/default.nix25
-rw-r--r--pkgs/tools/system/ipmiutil/default.nix4
-rw-r--r--pkgs/tools/system/lr/default.nix14
-rw-r--r--pkgs/tools/system/procodile/Gemfile2
-rw-r--r--pkgs/tools/system/procodile/Gemfile.lock15
-rw-r--r--pkgs/tools/system/procodile/default.nix22
-rw-r--r--pkgs/tools/system/procodile/gemset.nix19
-rw-r--r--pkgs/tools/system/s6-rc/default.nix4
-rw-r--r--pkgs/tools/system/s6/default.nix4
-rw-r--r--pkgs/tools/system/smartmontools/default.nix4
-rw-r--r--pkgs/tools/system/vboot_reference/default.nix16
-rw-r--r--pkgs/tools/system/vboot_reference/dont_static_link.patch30
-rw-r--r--pkgs/tools/text/gawk/default.nix4
-rw-r--r--pkgs/tools/text/mawk/default.nix9
-rw-r--r--pkgs/tools/text/xml/jing-trang/default.nix8
-rw-r--r--pkgs/tools/text/xml/xml2/default.nix4
-rw-r--r--pkgs/tools/typesetting/pygmentex/default.nix12
-rwxr-xr-xpkgs/tools/virtualization/nixos-container/nixos-container.pl2
-rw-r--r--pkgs/top-level/aliases.nix2
-rw-r--r--pkgs/top-level/all-packages.nix365
-rw-r--r--pkgs/top-level/emacs-packages.nix48
-rw-r--r--pkgs/top-level/haskell-packages.nix11
-rw-r--r--pkgs/top-level/lua-packages.nix22
-rw-r--r--pkgs/top-level/node-packages-generated.nix53358
-rw-r--r--pkgs/top-level/node-packages.json192
-rw-r--r--pkgs/top-level/node-packages.nix102
-rw-r--r--pkgs/top-level/ocaml-packages.nix20
-rw-r--r--pkgs/top-level/perl-packages.nix202
-rw-r--r--pkgs/top-level/php-packages.nix6
-rw-r--r--pkgs/top-level/python-packages.nix1452
-rw-r--r--pkgs/top-level/splice.nix2
-rw-r--r--pkgs/top-level/stage.nix6
1342 files changed, 30272 insertions, 94887 deletions
diff --git a/pkgs/applications/altcoins/bitcoin-abc.nix b/pkgs/applications/altcoins/bitcoin-abc.nix
index a113aadcd628..011e3cd7c874 100644
--- a/pkgs/applications/altcoins/bitcoin-abc.nix
+++ b/pkgs/applications/altcoins/bitcoin-abc.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 stdenv.mkDerivation rec {
 
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-abc-" + version;
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchFromGitHub {
     owner = "bitcoin-ABC";
     repo = "bitcoin-abc";
     rev = "v${version}";
-    sha256 = "1fygn6cc99iasg5g5jyps5ps873hfnn4ln4hsmcwlwiqd591qxyv";
+    sha256 = "0wwcgvd8zgl5qh6z1sa3kdv1lr9cwwbs9j2gaad5mqr9sfwbbxdh";
   };
 
   patches = [ ./fix-bitcoin-qt-build.patch ];
diff --git a/pkgs/applications/altcoins/bitcoin.nix b/pkgs/applications/altcoins/bitcoin.nix
index 23c9ffe3a09c..63c45b3ba07f 100644
--- a/pkgs/applications/altcoins/bitcoin.nix
+++ b/pkgs/applications/altcoins/bitcoin.nix
@@ -1,25 +1,29 @@
-{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost
-, zlib, miniupnpc, qt4, utillinux, protobuf, qrencode, libevent
+{ stdenv, fetchurl, pkgconfig, autoreconfHook, openssl, db48, boost, zeromq
+, zlib, miniupnpc, qtbase ? null, qttools ? null, utillinux, protobuf, qrencode, libevent
 , withGui }:
 
 with stdenv.lib;
 stdenv.mkDerivation rec{
   name = "bitcoin" + (toString (optional (!withGui) "d")) + "-" + version;
-  version = "0.15.0.1";
+  version = "0.15.1";
 
   src = fetchurl {
-    url = "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz";
-    sha256 = "16si3skhm6jhw1pkniv2b9y1kkdhjmhj392palphir0qc1srwzmm";
+    urls = [ "https://bitcoincore.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
+             "https://bitcoin.org/bin/bitcoin-core-${version}/bitcoin-${version}.tar.gz"
+           ];
+    sha256 = "1d22fgwdcn343kd95lh389hj417zwbmnhi29cij8n7wc0nz2vpil";
   };
 
   nativeBuildInputs = [ pkgconfig autoreconfHook ];
-  buildInputs = [ openssl db48 boost zlib
+  buildInputs = [ openssl db48 boost zlib zeromq
                   miniupnpc protobuf libevent]
                   ++ optionals stdenv.isLinux [ utillinux ]
-                  ++ optionals withGui [ qt4 qrencode ];
+                  ++ optionals withGui [ qtbase qttools qrencode ];
 
   configureFlags = [ "--with-boost-libdir=${boost.out}/lib" ]
-                     ++ optionals withGui [ "--with-gui=qt4" ];
+                     ++ optionals withGui [ "--with-gui=qt5"
+                                            "--with-qt-bindir=${qtbase.dev}/bin:${qttools.dev}/bin"
+                                          ];
 
   meta = {
     description = "Peer-to-peer electronic cash system";
diff --git a/pkgs/applications/altcoins/default.nix b/pkgs/applications/altcoins/default.nix
index 1a21efc32322..bccb6a34e8e3 100644
--- a/pkgs/applications/altcoins/default.nix
+++ b/pkgs/applications/altcoins/default.nix
@@ -1,9 +1,9 @@
-{ callPackage, boost155, boost162, openssl_1_1_0, haskellPackages, darwin, libsForQt5 }:
+{ callPackage, boost155, boost162, openssl_1_1_0, haskellPackages, darwin, libsForQt5, miniupnpc_2 }:
 
 rec {
 
-  bitcoin  = callPackage ./bitcoin.nix { withGui = true; };
-  bitcoind = callPackage ./bitcoin.nix { withGui = false; };
+  bitcoin  = libsForQt5.callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = true; };
+  bitcoind = callPackage ./bitcoin.nix { miniupnpc = miniupnpc_2; withGui = false; };
 
   bitcoin-abc  = libsForQt5.callPackage ./bitcoin-abc.nix { withGui = true; };
   bitcoind-abc = callPackage ./bitcoin-abc.nix { withGui = false; };
diff --git a/pkgs/applications/audio/amarok/kf5.nix b/pkgs/applications/audio/amarok/kf5.nix
new file mode 100644
index 000000000000..a96aa3ed65d0
--- /dev/null
+++ b/pkgs/applications/audio/amarok/kf5.nix
@@ -0,0 +1,37 @@
+{ mkDerivation, fetchgit, lib
+, extra-cmake-modules, kdoctools
+, qca-qt5, qjson, qtscript, qtwebkit
+, kcmutils, kconfig, kdelibs4support, kdnssd, kinit, knewstuff, knotifyconfig, ktexteditor
+, phonon, plasma-framework, threadweaver
+, curl, ffmpeg, gdk_pixbuf, libaio, libmtp, loudmouth, lzo, lz4, mariadb, pcre, snappy, taglib, taglib_extras
+}:
+
+let
+  pname = "amarok";
+  version = "2.8.91-20170228";
+
+in mkDerivation {
+  name = "${pname}-${version}";
+
+  src = fetchgit {
+    url    = git://anongit.kde.org/amarok.git;
+    # go back to the KDE mirror when kf5 is merged into master
+    # url = "mirror://kde/stable/${pname}/${version}/src/${name}.tar.xz";
+    rev    = "323e2d5b43245c4c06e0b83385d37ef0d32920cb";
+    sha256 = "05w7kl6qfmkjz0y1bhgkkbmsqdll30bkjd6npkzvivrvp7dplmbh";
+  };
+
+  nativeBuildInputs = [ extra-cmake-modules kdoctools ];
+  propagatedBuildInputs = [
+    qca-qt5 qjson qtscript qtwebkit
+    kcmutils kconfig kdelibs4support kdnssd kinit knewstuff knotifyconfig ktexteditor
+    phonon plasma-framework threadweaver
+    curl ffmpeg gdk_pixbuf libaio libmtp loudmouth lz4 lzo mariadb pcre snappy taglib taglib_extras
+  ];
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ peterhoeg ];
+  };
+}
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 07385e2a8b85..4dbde82e0921 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, wxGTK30, pkgconfig, file, gettext, gtk2, glib, zlib, perl, intltool,
-  libogg, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame, fetchpatch,
+  libogg, libvorbis, libmad, libjack2, lv2, lilv, serd, sord, sratom, suil, alsaLib, libsndfile, soxr, flac, lame,
   expat, libid3tag, ffmpeg, soundtouch, /*, portaudio - given up fighting their portaudio.patch */
   autoconf, automake, libtool
   }:
@@ -7,21 +7,13 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  version = "2.1.3";
+  version = "2.2.0";
   name = "audacity-${version}";
 
   src = fetchurl {
     url = "https://github.com/audacity/audacity/archive/Audacity-${version}.tar.gz";
-    sha256 = "11mx7gb4dbqrgfp7hm0154x3m76ddnmhf2675q5zkxn7jc5qfc6b";
+    sha256 = "09xpr4bjnainz1xmc35v3qg3dadjr9wv8bmn1p4y91aqyihnhjry";
   };
-  patches = [
-    (fetchpatch {
-      name = "new-ffmpeg.patch";
-      url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk"
-        + "/audacity-ffmpeg.patch?h=packages/audacity&id=0c1e35798d4d70692";
-      sha256 = "19fr674mw844zmkp1476yigkcnmb6zyn78av64ccdwi3p68i00rf";
-    })
-  ];
 
   preConfigure = /* we prefer system-wide libs */ ''
     autoreconf -vi # use system libraries
diff --git a/pkgs/applications/audio/lmms/default.nix b/pkgs/applications/audio/lmms/default.nix
index dcefbb06436f..25d7f2ed015b 100644
--- a/pkgs/applications/audio/lmms/default.nix
+++ b/pkgs/applications/audio/lmms/default.nix
@@ -1,31 +1,47 @@
-{ stdenv, fetchFromGitHub, SDL, alsaLib, cmake, fftwSinglePrec, fluidsynth
-, fltk13, libjack2, libvorbis , libsamplerate, libsndfile, pkgconfig
-, libpulseaudio, qt4, freetype, libgig
-}:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, alsaLib ? null, fftwFloat, fltk13
+, fluidsynth ? null, lame ? null, libgig ? null, libjack2 ? null, libpulseaudio ? null
+, libsamplerate, libsoundio ? null, libsndfile, libvorbis ? null, portaudio ? null
+, qtbase, qttools, SDL ? null }:
 
 stdenv.mkDerivation rec {
   name = "lmms-${version}";
-  version = "1.1.90";
+  version = "1.2.0-rc4";
 
   src = fetchFromGitHub {
     owner = "LMMS";
     repo = "lmms";
     rev = "v${version}";
-    sha256 = "0njiarndwqamqiinr1wbwkzjn87yzr1z5k9cfwk0jdkbalgakkq3";
+    sha256 = "1n3py18zqbvfnkdiz4wc6z60xaajpkd3kn1wxmby5dmc4vccvjj5";
   };
 
+  nativeBuildInputs = [ cmake qttools pkgconfig ];
+
   buildInputs = [
-    SDL alsaLib cmake fftwSinglePrec fltk13 fluidsynth libjack2 libgig
-    libsamplerate libsndfile libvorbis pkgconfig libpulseaudio qt4
+    alsaLib
+    fftwFloat
+    fltk13
+    fluidsynth
+    lame
+    libgig
+    libjack2
+    libpulseaudio
+    libsamplerate
+    libsndfile
+    libsoundio
+    libvorbis
+    portaudio
+    qtbase
+    SDL # TODO: switch to SDL2 in the next version
   ];
 
+  cmakeFlags = [ "-DWANT_QT5=ON" ];
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    description = "Linux MultiMedia Studio";
+    description = "DAW similar to FL Studio (music production software)";
     homepage = https://lmms.io;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
-    maintainers = [ maintainers.goibhniu ];
+    maintainers = with maintainers; [ goibhniu yegortimoshenko ];
   };
 }
diff --git a/pkgs/applications/audio/musescore/darwin.nix b/pkgs/applications/audio/musescore/darwin.nix
index 160e84e10a1a..e14594ae3b2d 100644
--- a/pkgs/applications/audio/musescore/darwin.nix
+++ b/pkgs/applications/audio/musescore/darwin.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, undmg }:
+{ stdenv, lib, fetchurl, undmg }:
 
 let
-  major = "2";
-  minor = "0.3";
-  patch = "1";
-  appName = "MuseScore ${major}";
+  versionComponents = [ "2" "1" ];
+  appName = "MuseScore ${builtins.head versionComponents}";
 in
 
+with lib;
+
 stdenv.mkDerivation rec {
   name = "musescore-darwin-${version}";
-  version = "${major}.${minor}.${patch}";
+  version = "${concatStringsSep "." versionComponents}";
 
   src = fetchurl {
-    url =  "ftp://ftp.osuosl.org/pub/musescore/releases/MuseScore-${major}.${minor}/MuseScore-${version}.dmg";
-    sha256 = "0a9v2nc7sx2az7xpd9i7b84m7xk9zcydfpis5fj334r5yqds4rm1";
+    url =  "ftp://ftp.osuosl.org/pub/musescore/releases/MuseScore-${concatStringsSep "." (take 3 versionComponents)}/MuseScore-${version}.dmg";
+    sha256 = "19xkaxlkbrhvfip6n3iw6q7463ngr6y5gfisrpjqg2xl2igyl795";
   };
 
   buildInputs = [ undmg ];
diff --git a/pkgs/applications/audio/ncmpc/default.nix b/pkgs/applications/audio/ncmpc/default.nix
index ef0bb75b2ec0..09c718c63e92 100644
--- a/pkgs/applications/audio/ncmpc/default.nix
+++ b/pkgs/applications/audio/ncmpc/default.nix
@@ -1,11 +1,7 @@
 { stdenv, fetchFromGitHub, meson, ninja, pkgconfig, glib, ncurses
 , mpd_clientlib, gettext }:
 
-let
-  rpath = stdenv.lib.makeLibraryPath [
-    glib ncurses mpd_clientlib
-  ];
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "ncmpc-${version}";
   version = "0.28";
 
@@ -19,11 +15,7 @@ in stdenv.mkDerivation rec {
   buildInputs = [ glib ncurses mpd_clientlib ];
   nativeBuildInputs = [ meson ninja pkgconfig gettext ];
 
-  postFixup = ''
-    for elf in "$out"/bin/*; do
-      patchelf --set-rpath '${rpath}':"$out/lib" "$elf"
-    done
-  '';
+  NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
   meta = with stdenv.lib; {
     description = "Curses-based interface for MPD (music player daemon)";
diff --git a/pkgs/applications/audio/qsynth/default.nix b/pkgs/applications/audio/qsynth/default.nix
index 77c0ba9b2d45..49d9e80be117 100644
--- a/pkgs/applications/audio/qsynth/default.nix
+++ b/pkgs/applications/audio/qsynth/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation  rec {
 
   meta = with stdenv.lib; {
     description = "Fluidsynth GUI";
-    homepage = http://sourceforge.net/projects/qsynth;
+    homepage = https://sourceforge.net/projects/qsynth;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.goibhniu ];
diff --git a/pkgs/applications/audio/quodlibet/default.nix b/pkgs/applications/audio/quodlibet/default.nix
index 2e6d61b693de..fd328669846f 100644
--- a/pkgs/applications/audio/quodlibet/default.nix
+++ b/pkgs/applications/audio/quodlibet/default.nix
@@ -1,64 +1,44 @@
-{ stdenv, fetchurl, python2Packages, intltool
-, gst-python, withGstPlugins ? false, gst-plugins-base ? null
-, gst-plugins-good ? null, gst-plugins-ugly ? null, gst-plugins-bad ? null }:
-
-assert withGstPlugins -> gst-plugins-base != null
-                         || gst-plugins-good != null
-                         || gst-plugins-ugly != null
-                         || gst-plugins-bad != null;
-
-let
-  version = "2.6.3";
-  inherit (python2Packages) buildPythonApplication python mutagen pygtk pygobject2 dbus-python;
-in buildPythonApplication {
-  # call the package quodlibet and just quodlibet
-  name = "quodlibet${stdenv.lib.optionalString (!withGstPlugins) "-without-gst-plugins"}-${version}";
+{ stdenv, fetchurl, python2Packages, wrapGAppsHook, gettext, intltool, libsoup, gnome3,
+  tag ? "",
+  gst_all_1, withGstPlugins ? true,
+  xineBackend ? false, xineLib,
+  withDbusPython ? false, withPyInotify ? false, withMusicBrainzNgs ? false, withPahoMqtt ? false,
+  webkitgtk ? null,
+  keybinder3 ? null, gtksourceview ? null, libmodplug ? null, kakasi ? null, libappindicator-gtk3 ? null }:
+
+let optionals = stdenv.lib.optionals; in
+python2Packages.buildPythonApplication rec {
+  name = "quodlibet${tag}-${version}";
+  version = "3.9.1";
 
   # XXX, tests fail
   doCheck = false;
 
-  srcs = [
-    (fetchurl {
-      url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-${version}.tar.gz";
-      sha256 = "0ilasi4b0ay8r6v6ba209wsm80fq2nmzigzc5kvphrk71jwypx6z";
-     })
-    (fetchurl {
-      url = "https://bitbucket.org/lazka/quodlibet-files/raw/default/releases/quodlibet-plugins-${version}.tar.gz";
-      sha256 = "1rv08rhdjad8sjhplqsspcf4vkazgkxyshsqmbfbrrk5kvv57ybc";
-     })
-  ];
-
-  preConfigure = ''
-    # TODO: for now don't a apply gdist overrides, will be needed for shipping icons, gtk, etc
-    sed -i /distclass/d setup.py
-  '';
-
-  sourceRoot = "quodlibet-${version}";
-
-  postUnpack = ''
-    # the patch searches for plugins in directory ../plugins
-    # so link the appropriate directory there
-    ln -sf quodlibet-plugins-${version} plugins
-  '';
+  src = fetchurl {
+    url = "https://github.com/quodlibet/quodlibet/releases/download/release-${version}/quodlibet-${version}.tar.gz";
+    sha256 = "d2b42df5d439213973dc97149fddc779a6c90cec389c24baf1c0bdcc39ffe591";
+  };
 
-  patches = [ ./quodlibet-package-plugins.patch ];
+  nativeBuildInputs = [ wrapGAppsHook gettext intltool ];
+  # ++ (with python2Packages; [ pytest pyflakes pycodestyle polib ]); # test deps
 
-  buildInputs = stdenv.lib.optionals withGstPlugins [
-    gst-plugins-base gst-plugins-good gst-plugins-ugly gst-plugins-bad
-  ];
+  buildInputs = [ gnome3.defaultIconTheme libsoup webkitgtk keybinder3 gtksourceview libmodplug libappindicator-gtk3 kakasi ]
+    ++ (if xineBackend then [ xineLib ] else with gst_all_1;
+    [ gstreamer gst-plugins-base ] ++ optionals withGstPlugins [ gst-plugins-good gst-plugins-ugly gst-plugins-bad ]);
 
-  propagatedBuildInputs = [
-    mutagen pygtk pygobject2 dbus-python gst-python intltool
-  ];
+  propagatedBuildInputs = with python2Packages;
+    [ pygobject3 pycairo mutagen pygtk gst-python feedparser faulthandler futures ]
+      ++ optionals withDbusPython [ dbus-python ]
+      ++ optionals withPyInotify [ pyinotify ]
+      ++ optionals withMusicBrainzNgs [ musicbrainzngs ]
+      ++ optionals stdenv.isDarwin [ pyobjc ]
+      ++ optionals withPahoMqtt [ paho-mqtt ];
 
-  postInstall = stdenv.lib.optionalString withGstPlugins ''
-    # Wrap quodlibet so it finds the GStreamer plug-ins
-    wrapProgram "$out/bin/quodlibet" --prefix \
-      GST_PLUGIN_SYSTEM_PATH ":" "$GST_PLUGIN_SYSTEM_PATH"                                                     \
-  '';
+  makeWrapperArgs = optionals (kakasi != null) [ "--prefix PATH : ${kakasi}/bin" ];
 
   meta = {
     description = "GTK+-based audio player written in Python, using the Mutagen tagging library";
+    license = stdenv.lib.licenses.gpl2;
 
     longDescription = ''
       Quod Libet is a GTK+-based audio player written in Python, using
@@ -74,7 +54,7 @@ in buildPythonApplication {
       & internet radio, and all major audio formats.
     '';
 
-    maintainers = [ stdenv.lib.maintainers.coroa ];
+    maintainers = with stdenv.lib.maintainers; [ coroa sauyon ];
     homepage = https://quodlibet.readthedocs.io/en/latest/;
   };
 }
diff --git a/pkgs/applications/audio/quodlibet/quodlibet-package-plugins.patch b/pkgs/applications/audio/quodlibet/quodlibet-package-plugins.patch
deleted file mode 100644
index d518f857cf10..000000000000
--- a/pkgs/applications/audio/quodlibet/quodlibet-package-plugins.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff -Naur quodlibet-2.5.orig/setup.py quodlibet-2.5.new/setup.py
---- quodlibet-2.5.orig/setup.py	2012-12-19 08:47:41.000000000 +0000
-+++ quodlibet-2.5.new/setup.py	2013-04-22 19:27:07.152631051 +0000
-@@ -337,5 +338,14 @@
-                 }
-             }
-         })
-+    else:
-+        from os.path import join
-+
-+        data_files = []
-+        for type in ["playorder", "songsmenu", "editing", "events", "gstreamer"]:
-+            data_files.append((join('quodlibet', 'plugins', type),
-+                               glob.glob(join('..', 'plugins', type, '*.py'))))
-+        setup_kwargs.update({ 'data_files': data_files });
-+
-     setup(**setup_kwargs)
- 
diff --git a/pkgs/applications/display-managers/lightdm/default.nix b/pkgs/applications/display-managers/lightdm/default.nix
index 452cb38f126a..e82d4c69def6 100644
--- a/pkgs/applications/display-managers/lightdm/default.nix
+++ b/pkgs/applications/display-managers/lightdm/default.nix
@@ -7,15 +7,15 @@
 with stdenv.lib;
 
 let
-  ver_branch = "1.22";
-  version = "1.22.0";
+  ver_branch = "1.24";
+  version = "1.24.0";
 in
 stdenv.mkDerivation rec {
   name = "lightdm-${version}";
 
   src = fetchurl {
     url = "${meta.homepage}/${ver_branch}/${version}/+download/${name}.tar.xz";
-    sha256 = "0a5bvfl2h7r873al6q7c819h0kg564k9fh51rl6489z6lyvazfg4";
+    sha256 = "18j33bm54i8k7ncxcs69zqi4105s62n58jrydqn3ikrb71s9nl6d";
   };
 
   nativeBuildInputs = [ pkgconfig intltool ];
diff --git a/pkgs/applications/display-managers/slim/default.nix b/pkgs/applications/display-managers/slim/default.nix
index c75a8976b3fa..5d06c2221b34 100644
--- a/pkgs/applications/display-managers/slim/default.nix
+++ b/pkgs/applications/display-managers/slim/default.nix
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
   NIX_CFLAGS_LINK = "-lXmu";
 
   meta = {
-    homepage = http://sourceforge.net/projects/slim.berlios/; # berlios shut down; I found no replacement yet
+    homepage = https://sourceforge.net/projects/slim.berlios/; # berlios shut down; I found no replacement yet
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/android-studio/packages.nix b/pkgs/applications/editors/android-studio/default.nix
index 6f8440f7b1fe..57e3c58525e0 100644
--- a/pkgs/applications/editors/android-studio/packages.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -27,14 +27,13 @@ in rec {
 
   preview = mkStudio {
     pname = "android-studio-preview";
-    version = "3.1.0.0"; # "Android Studio 3.1 Canary 1"
-    build = "171.4415322";
-    sha256Hash = "08xgwv6mg2zxys9dqjfz66h60g640ni3snyb89ij0fkmd28rbxgj";
+    version = "3.1.0.2"; # "Android Studio 3.1 Canary 3"
+    build = "171.4435470";
+    sha256Hash = "1yqzxmzqxvhq9q9k07yfchh2al0wdy0j5k5fmjv4zbw20panx10h";
 
     meta = stable.meta // {
       description = "The Official IDE for Android (preview version)";
       homepage = https://developer.android.com/studio/preview/index.html;
-      maintainers = with stdenv.lib.maintainers; [ primeos ];
     };
   };
 }
diff --git a/pkgs/applications/editors/atom/beta.nix b/pkgs/applications/editors/atom/beta.nix
index 391d098625c5..bc39d3466765 100644
--- a/pkgs/applications/editors/atom/beta.nix
+++ b/pkgs/applications/editors/atom/beta.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "atom-beta-${version}";
-  version = "1.22.0-beta1";
+  version = "1.23.0-beta0";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "0qggj0j0cnkzqwgvzw2fb1z10rvvx9jh0ymhdy1aca18hms44p3d";
+    sha256 = "1vfc8jin07kivdmyw88vbzinbjsb6py9n2ggpvy4cccagnvxwj2y";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/atom/default.nix b/pkgs/applications/editors/atom/default.nix
index 6ab881f22753..f5763ea787f3 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.21.2";
+  version = "1.22.0";
 
   src = fetchurl {
     url = "https://github.com/atom/atom/releases/download/v${version}/atom-amd64.deb";
-    sha256 = "0snhhp8rjmk750snyzkqzwvi7f915pbc6qpa3vf0f57syf47m7vl";
+    sha256 = "1jxw0m1hfaisf1f875wr28f0mr3h0wjml6pjhfxbybvcblpnd27k";
     name = "${name}.deb";
   };
 
diff --git a/pkgs/applications/editors/eclipse/plugins.nix b/pkgs/applications/editors/eclipse/plugins.nix
index 0aeaee2155a7..8d96a79b3c3d 100644
--- a/pkgs/applications/editors/eclipse/plugins.nix
+++ b/pkgs/applications/editors/eclipse/plugins.nix
@@ -24,9 +24,7 @@ rec {
     buildEclipsePluginBase (attrs // {
       srcs = [ srcFeature srcPlugin ];
 
-      phases = [ "installPhase" ];
-
-      installPhase = ''
+      buildCommand = ''
         dropinDir="$out/eclipse/dropins/${name}"
 
         mkdir -p $dropinDir/features
@@ -35,7 +33,6 @@ rec {
         mkdir -p $dropinDir/plugins
         cp -v ${srcPlugin} $dropinDir/plugins/${name}.jar
       '';
-
     });
 
   # Helper for the case where the build directory has the layout of an
@@ -44,7 +41,8 @@ rec {
   # directories will be installed.
   buildEclipseUpdateSite = { name, ... } @ attrs:
     buildEclipsePluginBase (attrs // {
-      phases = [ "unpackPhase" "installPhase" ];
+      dontBuild = true;
+      doCheck = false;
 
       installPhase = ''
         dropinDir="$out/eclipse/dropins/${name}"
@@ -152,16 +150,16 @@ rec {
 
   bytecode-outline = buildEclipsePlugin rec {
     name = "bytecode-outline-${version}";
-    version = "2.4.3";
+    version = "2.5.0.201711011753-5a57fdf";
 
     srcFeature = fetchurl {
       url = "http://andrei.gmxhome.de/eclipse/features/de.loskutov.BytecodeOutline.feature_${version}.jar";
-      sha256 = "0imhwp73gxy1y5d5gpjgd05ywn0xg3vqc5980wcx3fd51g4ifc67";
+      sha256 = "0yciqhcq0n5i326mwy57r4ywmkz2c2jky7r4pcmznmhvks3z65ps";
     };
 
     srcPlugin = fetchurl {
       url = "http://dl.bintray.com/iloveeclipse/plugins/de.loskutov.BytecodeOutline_${version}.jar";
-      sha256 = "0230i88mvvxhn11m9c5mv3494zhh1xkxyfyva9qahck0wbqwpzkw";
+      sha256 = "1vmsqv32jfl7anvdkw0vir342miv5sr9df7vd1w44lf1yf97vxlw";
     };
 
     meta = with stdenv.lib; {
diff --git a/pkgs/applications/editors/emacs-modes/elpa-generated.nix b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
index f0c4ca87aa23..0267d3cba8a8 100644
--- a/pkgs/applications/editors/emacs-modes/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/elpa-generated.nix
@@ -700,10 +700,10 @@
     ebdb = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib, seq }:
     elpaBuild {
         pname = "ebdb";
-        version = "0.4.1";
+        version = "0.4.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/ebdb-0.4.1.tar";
-          sha256 = "0gv1q1xkhjab0l77c92znn6x0dfdbnj6hc48axmrx6a7zwbm3g2r";
+          url = "https://elpa.gnu.org/packages/ebdb-0.4.2.tar";
+          sha256 = "1j9hgxa6csj3iz5vrl22xvhl9lxhig0n1cixgzhs1sb3z3nn2li6";
         };
         packageRequires = [ cl-lib emacs seq ];
         meta = {
@@ -1356,6 +1356,20 @@
           license = lib.licenses.free;
         };
       }) {};
+    mines = callPackage ({ cl-lib ? null, elpaBuild, emacs, fetchurl, lib }:
+    elpaBuild {
+        pname = "mines";
+        version = "1.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/mines-1.2.tar";
+          sha256 = "1xwnw2hyk1qz98mdnckk0i05li0gzygq12kkmrlidxnk7ngbq9vw";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/mines.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     minibuffer-line = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "minibuffer-line";
         version = "0.1";
@@ -1464,10 +1478,10 @@
       }) {};
     nlinum = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "nlinum";
-        version = "1.8";
+        version = "1.8.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/nlinum-1.8.el";
-          sha256 = "0bb1c8a68fzv59q2ri7ppbx8cm7sa8n4hxxvxv73db2dcgwrgwga";
+          url = "https://elpa.gnu.org/packages/nlinum-1.8.1.el";
+          sha256 = "0fx560yfjy6nqgs1d3fiv0h46i8q3r592clsia7nihkriah7rlwf";
         };
         packageRequires = [];
         meta = {
@@ -1556,10 +1570,10 @@
       }) {};
     org = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org";
-        version = "20171030";
+        version = "20171113";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/org-20171030.tar";
-          sha256 = "1lszws6b5s4r7w871cyigs433dflf6w0y33fj6rzrq8240d5092i";
+          url = "https://elpa.gnu.org/packages/org-20171113.tar";
+          sha256 = "0yynbzxbsjv0z12ydjgz81ysbg2irq37d9pzar8wspdjij15dypb";
         };
         packageRequires = [];
         meta = {
@@ -2319,10 +2333,10 @@
       }) {};
     xclip = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "xclip";
-        version = "1.3";
+        version = "1.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/xclip-1.3.el";
-          sha256 = "1zlqr4sp8588sjga5c9b4prnsbpv3lr2wv8sih2p0s5qmjghc947";
+          url = "https://elpa.gnu.org/packages/xclip-1.4.el";
+          sha256 = "12rw790wzj10jcsqf292hc7qx18ybyay8jqji4shmrv16igrzl6p";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/ess-R-object-popup/default.nix b/pkgs/applications/editors/emacs-modes/ess-R-object-popup/default.nix
new file mode 100644
index 000000000000..077e72f55764
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/ess-R-object-popup/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+  name = "ess-R-object-popup-20130302";
+
+  src = fetchgit {
+    url = "https://github.com/myuhe/ess-R-object-popup.el.git";
+    rev = "7e1f601bfba72de0fda44d9c82f96028ecbb9948";
+    sha256 = "0q8pbaa6wahli6fh0kng5zmnypsxi1fr2bzs2mfk3h8vf4nikpv0";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp *.el *.elc $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    description = "Popup descriptions of R objects";
+    homepage = https://github.com/myuhe/ess-R-object-popup.el;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/filesets-plus/default.nix b/pkgs/applications/editors/emacs-modes/filesets-plus/default.nix
new file mode 100644
index 000000000000..9a07b5573255
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/filesets-plus/default.nix
@@ -0,0 +1,22 @@
+{ fetchurl, lib, stdenv, melpaBuild }:
+
+melpaBuild {
+  pname = "filesets-plus";
+  version = "20170222.55";
+
+  src = fetchurl {
+    url = "https://www.emacswiki.org/emacs/download/filesets%2b.el";
+    sha256 = "0iajkgh0n3pbrwwxx9rmrrwz8dw2m7jsp4mggnhq7zsb20ighs00";
+    name = "filesets+.el";
+  };
+
+  recipeFile = fetchurl {
+    url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/filesets-plus+";
+    sha256 = "1wn99cb53ykds87lg9mrlfpalrmjj177nwskrnp9wglyqs65lk4g";
+    name = "filesets-plus";
+  };
+
+  meta = {
+    homepage = "https://melpa.org/#/filesets+";
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix b/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix
new file mode 100644
index 000000000000..7b7004b72f30
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/font-lock-plus/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, lib, stdenv, melpaBuild }:
+
+melpaBuild {
+  pname = "font-lock-plus";
+  version = "20170222.1755";
+
+  src = fetchurl {
+    url = "https://www.emacswiki.org/emacs/download/font-lock+.el";
+    sha256 = "0iajkgh0n3pbrwwxx9rmrrwz8dw2m7jsp4mggnhq7zsb20ighs30";
+    name = "font-lock+.el";
+  };
+
+  recipeFile = fetchurl {
+    url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/font-lock+";
+    sha256 = "1wn99cb53ykds87lg9mrlfpalrmjj177nwskrnp9wglyqs65lk4g";
+    name = "font-lock-plus";
+  };
+
+  meta = {
+    homepage = "https://melpa.org/#/font-lock+";
+    license = lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/header2/default.nix b/pkgs/applications/editors/emacs-modes/header2/default.nix
new file mode 100644
index 000000000000..fb2bfbe77112
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/header2/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, lib, stdenv, melpaBuild }:
+
+melpaBuild {
+  pname = "header2";
+  version = "20170223.1949";
+
+  src = fetchurl {
+    url = "https://www.emacswiki.org/emacs/download/header2.el";
+    sha256 = "0cv74cfihr13jrgyqbj4x0na659djfyrhflxni6jdbgbysi4zf6k";
+    name = "header2.el";
+  };
+
+  recipeFile = fetchurl {
+    url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/header2";
+    sha256 = "1dg25krx3wxma2l5vb2ji7rpfp17qbrl62jyjpa52cjfsvyp6v06";
+    name = "header2";
+  };
+
+  meta = {
+    homepage = "https://melpa.org/#/header2";
+    license = lib.licenses.gpl3;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/helm-words/default.nix b/pkgs/applications/editors/emacs-modes/helm-words/default.nix
new file mode 100644
index 000000000000..b28d0ae24a34
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/helm-words/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+  name = "helm-words-20150413";
+
+  src = fetchgit {
+    url = "https://github.com/pronobis/helm-words.git";
+    rev = "637aa3a7e9cfd34e0127472c5b1f993a4da26185";
+    sha256 = "19l8vysjygscr1nsddjz2yv0fjhbsswfq40rdny8zsmaa6qhpj35";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp *.el *.elc $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    description = "Emacs major mode for jade and stylus";
+    homepage = https://github.com/brianc/helm-words;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/hexrgb/default.nix b/pkgs/applications/editors/emacs-modes/hexrgb/default.nix
new file mode 100644
index 000000000000..2781898c0da6
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/hexrgb/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, lib, stdenv, melpaBuild }:
+
+melpaBuild {
+  pname = "hexrgb";
+  version = "20170304.1017";
+
+  src = fetchurl {
+    url = "https://www.emacswiki.org/emacs/download/hexrgb.el";
+    sha256 = "1aj1fsc3wr8174xs45j2wc2mm6f8v6zs40xn0r4qisdw0plmsbsy";
+    name = "hexrgb.el";
+  };
+
+  recipeFile = fetchurl {
+    url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/hexrgb";
+    sha256 = "0mzqslrrf7sc262syj3ja7b7rnbg80dwf2p9bzxdrzx6b8vvsx06";
+    name = "hexrgb";
+  };
+
+  meta = {
+    homepage = "https://melpa.org/#/hexrgb";
+    license = lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/lib-requires/default.nix b/pkgs/applications/editors/emacs-modes/lib-requires/default.nix
new file mode 100644
index 000000000000..6c5b208eda38
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/lib-requires/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, lib, stdenv, melpaBuild }:
+
+melpaBuild {
+  pname = "lib-requires";
+  version = "20170307.757";
+
+  src = fetchurl {
+    url = "https://www.emacswiki.org/emacs/download/lib-requires.el";
+    sha256 = "04lrkdjrhsgg7vgvw1mkr9a5m9xlyvjvnj2aj6w453bgmnp1mbvv";
+    name = "lib-requires.el";
+  };
+
+  recipeFile = fetchurl {
+    url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/lib-requires";
+    sha256 = "1g22jh56z8rnq0h80wj10gs38yig1rk9xmk3kmhmm5mm6b14iwdx";
+    name = "lib-requires";
+  };
+
+  meta = {
+    homepage = "https://melpa.org/#/lib-requires";
+    license = lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/melpa-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
index 3db74fa9d4f4..2fcdf08aac42 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-generated.nix
@@ -89,8 +89,8 @@
         src = fetchFromGitHub {
           owner = "plexus";
           repo = "a.el";
-          rev = "3af0122abac723f0d3dc21ee50eeb81afa26d361";
-          sha256 = "0grwpy4ssmn2m8aihfkxb7ifl7ql2hgicw16wzl0crpy5fndh1mp";
+          rev = "d50b953cb0a7402107cdd6275cff9d31d09835a3";
+          sha256 = "0pzkbg6vmbpvyxq8y593v6bmaflafxfkfv0qryjb0wwds1mmdmfz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a226f1d81cd1ae81b91c1102fbe40aac2eddcaa8/recipes/a";
@@ -740,8 +740,8 @@
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "317ad1d023db6b2fe67444a2c075e656c35f5094";
-          sha256 = "1wyf93faq6z6wgcs3lxc6gv75bmxchg6kd98dza61zdyc0rj60wa";
+          rev = "217fc49cc8ededd96ab8b7f656ef80fb905c3f4a";
+          sha256 = "0dg494qivcb8y87hzkby4qi1cr4pn7fl079yjwrwq54qpwq60jgw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php";
@@ -757,12 +757,12 @@
     ac-php-core = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, php-mode, popup, s, xcscope }:
     melpaBuild {
         pname = "ac-php-core";
-        version = "20171022.808";
+        version = "20171112.1900";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "317ad1d023db6b2fe67444a2c075e656c35f5094";
-          sha256 = "1wyf93faq6z6wgcs3lxc6gv75bmxchg6kd98dza61zdyc0rj60wa";
+          rev = "217fc49cc8ededd96ab8b7f656ef80fb905c3f4a";
+          sha256 = "0dg494qivcb8y87hzkby4qi1cr4pn7fl079yjwrwq54qpwq60jgw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/ac-php-core";
@@ -803,8 +803,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
-          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
+          rev = "dadd74f015f89317ff77424be30a9accadeeb4a4";
+          sha256 = "1ylasq4byd2vhaliq34cs86873z7v5w6yzhm4zc457fazsmb8s25";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
@@ -1009,12 +1009,12 @@
     ace-link = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-link";
-        version = "20170925.723";
+        version = "20171109.1250";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "ace-link";
-          rev = "eee81e6f75b078a207a547e0e8cff8c3d4f0b07c";
-          sha256 = "03p8cdakbx5pz9f8s01chd0bzmgsz50zi433k6gh0vw553y8vcmi";
+          rev = "3bc7a61a9d7923bb71066906e17cb8a0db415c24";
+          sha256 = "0dalspw44ra9ik7f1lflmck76ar0v6qig700qczlml52lr9vf045";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68032f40c0ce4170a22db535be4bfa7099f61f85/recipes/ace-link";
@@ -1076,8 +1076,8 @@
         src = fetchFromGitHub {
           owner = "mrkkrp";
           repo = "ace-popup-menu";
-          rev = "15ee28a9dcf025f30626313ebd376c0586013c8e";
-          sha256 = "187j3ixxrxkbja8xy7xgxpsx0ngwmn55gw0rnvlpj2pyz8vl192q";
+          rev = "eae1b0ea1a56cc1da2543e95570867a1a026669d";
+          sha256 = "1w1q0r104v9fngzi3q8l6gwzb0c9gdq2jmbjb372j7969py73ywc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/53742e2242101c4b3b3901f5c74e24facf62c7d6/recipes/ace-popup-menu";
@@ -1093,12 +1093,12 @@
     ace-window = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-window";
-        version = "20170801.1334";
+        version = "20171109.1032";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "ace-window";
-          rev = "6aaf1e634414e7485b47ff94aac6c34588f2a371";
-          sha256 = "1dmb4q1xgf5mk4riihk2mmn7k182y9j1amcr8m2dmdw0hrgvsfcd";
+          rev = "c875ffbe64f9193eff00ff779b7e1ae0195a4316";
+          sha256 = "0pmiia3ydw632685lm834pps9hvibnkbrpaf08ny3c5yi9qyd08p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42fe131d3c2ea498e4df30ba539a6b91c00f5b07/recipes/ace-window";
@@ -1201,8 +1201,8 @@
         src = fetchFromGitHub {
           owner = "codesuki";
           repo = "add-node-modules-path";
-          rev = "eb09f4743af210a8e27f21889b4e0fef33208e4a";
-          sha256 = "064gzcyx6nkq9wdrf6sd64fs8biwfrn25qj9vv7gznlrl5rg31x9";
+          rev = "d9266c0e2707a3cd3ecddbbc1e378b9eb56e06c0";
+          sha256 = "1s03q9yrn64f5p1f2d941rd18m5kwa1776n9adr8rk3mq96v7cdp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/63e99d8fc0678d7b1831cae8940e9e6547780861/recipes/add-node-modules-path";
@@ -1218,12 +1218,12 @@
     addressbook-bookmark = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "addressbook-bookmark";
-        version = "20170424.808";
+        version = "20171107.2234";
         src = fetchFromGitHub {
           owner = "thierryvolpiatto";
           repo = "addressbook-bookmark";
-          rev = "2c2051aa4f9309931a0aa22e97e1e9ce16d9d99d";
-          sha256 = "1mic3v5rgg57zrsclvp1zq0bz34rcnp93vjv9lpbfj42ql72m36v";
+          rev = "4f560af8397a46772e4b39f74f44a9ec9309a224";
+          sha256 = "166iih6fzfizb1yxfhwzh9w9c3wi2xb25qjgialp5rwxlwdwy9dr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a497aec6e27efa627068542cae5a16c01c3c6d3c/recipes/addressbook-bookmark";
@@ -1405,12 +1405,12 @@
     ahungry-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ahungry-theme";
-        version = "20171029.2107";
+        version = "20171103.2238";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "color-theme-ahungry";
-          rev = "6b078bf41f59ea0158b01742cae428ed61c4bc35";
-          sha256 = "0c61wsvb82r2ygiyk3na559y0jhba266igampa43g4qdphkjzfqy";
+          rev = "9ec7fca8002b213c7eee1168258e36a683190d18";
+          sha256 = "01gjmyxb0m6i321md77wscqrhy30gyhrk4fjcx7mg2z9hzxvzljb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/520295978fd7de3f4266dd69cc30d0b4fdf09db0/recipes/ahungry-theme";
@@ -1489,12 +1489,12 @@
     alda-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "alda-mode";
-        version = "20171030.1008";
+        version = "20171103.1548";
         src = fetchFromGitHub {
           owner = "jgkamat";
           repo = "alda-mode";
-          rev = "3a08f8349a1ebe8e0ae8622f5bf6ed93491dd785";
-          sha256 = "1lrgxawhsaziwvvs16n0339xn0m1333028q0gj3md23bpgrjqa5p";
+          rev = "ea0d3a25ca2b45d08c510ad55b3d8a5374b2ec43";
+          sha256 = "18rfn6608sxwv8r0kdrzhag58kf1822xmy7h9gw1ci7mfpq2i1ns";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2612c494a2b6bd43ffbbaef88ce9ee6327779158/recipes/alda-mode";
@@ -1661,8 +1661,8 @@
         src = fetchFromGitHub {
           owner = "asok";
           repo = "all-the-icons-ivy";
-          rev = "73b1bd545c683903b4123df1ac3f59ff80de89c3";
-          sha256 = "1lh8i4dh0mvdjlkfnk0ann14y056ydcm5q9k5b143j8i9yxh2awy";
+          rev = "5357bccddfd30580d5859f3794248efb86a8a054";
+          sha256 = "1n6c7vglxkib4irjjafiwdz6cifbb20229n2fpnxkv57hmdarivr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9496e6bb6f03f35444fb204860bc50e5e1b36214/recipes/all-the-icons-ivy";
@@ -1918,12 +1918,12 @@
     annotate = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "annotate";
-        version = "20170227.23";
+        version = "20171110.2336";
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "annotate.el";
-          rev = "f08923762fb851edb292ba4d3ebb07bea025f83d";
-          sha256 = "11v8claymx40ix5zwzrklzc6g71nmzxhdhdzwfdh2b57fwmfvv95";
+          rev = "dedbd9e5d5286f1ca8ad73e489d408a20f06156c";
+          sha256 = "12s5jc1i78x90s34ijljd75v1z6sisfrpix852gcisb9lpibbpz7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3aae88b8e3b080501195d291012deab31aaf35f7/recipes/annotate";
@@ -3050,12 +3050,12 @@
     auth-password-store = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, password-store, seq }:
     melpaBuild {
         pname = "auth-password-store";
-        version = "20171026.537";
+        version = "20171109.1045";
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "auth-password-store";
-          rev = "79e297e9f2c2bccb545994ddda356f958889b4ac";
-          sha256 = "11nc3hicp8n21rmj00svzh0kfhyb92w37ipk6nkl1fd3jk1xzr7d";
+          rev = "72f7b8827e3ce73a8e418e5c219b50856f48ac26";
+          sha256 = "19rfaxcarikf5jwwyyzqpcrhphrr71nqs9cw0w3zjrp7z0cbzxsf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0f4d2a28373ba93da5b280ebf40c5a3fa758ea11/recipes/auth-password-store";
@@ -3911,12 +3911,12 @@
     avy = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "avy";
-        version = "20171014.20";
+        version = "20171111.921";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "avy";
-          rev = "36f768d9e320d300b81799e0fcc097cb89aad780";
-          sha256 = "05jx71v5shdynia21wkrc1012r0wajdn0km1rclpyvf3ck34rh8q";
+          rev = "91032912146f16c09987d8d35083f09809d6afaa";
+          sha256 = "15v05r8hnk2adywfsfkxglbankllq880d4rqw0z7yf30k9l2533k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/77fac7a702d4086fb860514e377037acedc60412/recipes/avy";
@@ -4034,6 +4034,26 @@
           license = lib.licenses.free;
         };
       }) {};
+    axiom-environment = callPackage ({ emacs, fetchgit, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "axiom-environment";
+        version = "20171111.1152";
+        src = fetchgit {
+          url = "https://bitbucket.org/pdo/axiom-environment.git";
+          rev = "b4f0fa9cd013e107d2af8e2ebedff8a7f40be7b5";
+          sha256 = "0p2mg2824mw8l1zrfq5va1mnxg0ib5f960306vvsm6b3pi1w5kv0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9f07feb8686c76c330f282320b9f653dc16cadd5/recipes/axiom-environment";
+          sha256 = "0lr2kdm6jr25mi6s6mpahb8r56d3800r7jgljjdiz4ab36zqvgz3";
+          name = "axiom-environment";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/axiom-environment";
+          license = lib.licenses.free;
+        };
+      }) {};
     babel = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "babel";
@@ -4212,12 +4232,12 @@
     base16-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "base16-theme";
-        version = "20171025.1545";
+        version = "20171111.1245";
         src = fetchFromGitHub {
           owner = "belak";
           repo = "base16-emacs";
-          rev = "1578c6cd8f76a664bda7fc9b2515ee8106552cb2";
-          sha256 = "0wp2vfk7hpvagdiad9g4wj5992f1fv4v77x387v1sz5w1zn195aj";
+          rev = "cb75b17eeab07a79147fc3e600170e6c35c4b18d";
+          sha256 = "0igwdq41y5bd2jd7x3rmaxjqrjfyxwp5xyl5zx8rp0gql8jbn6qb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30862f6be74882cfb57fb031f7318d3fd15551e3/recipes/base16-theme";
@@ -5973,12 +5993,12 @@
     build-status = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "build-status";
-        version = "20171031.611";
+        version = "20171111.1147";
         src = fetchFromGitHub {
           owner = "sshaw";
           repo = "build-status";
-          rev = "c29a0146c5d0be274f5e17921e01698f572c23a1";
-          sha256 = "03f0h7sp0sr9kjyhvcx7i34lvc26f5x8nikfidihgzhrqpprv2b6";
+          rev = "ef44185d9dd748ea578d68398f3f729a8adb45b5";
+          sha256 = "00zcmmdccgzb5cp1nd9kjpiqs3zd9rh0z7aj9kmwsffaq339g55n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/23bbe012f313cf0cf4c45a66eb0bee9361ced564/recipes/build-status";
@@ -6565,8 +6585,8 @@
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "ocaml";
-          rev = "65252925f597008101cdb68b6dd119227106f0e2";
-          sha256 = "0627mksg7hmmz1hzalyrklsnwpz2k3jzl41dyllk5b7xpap5s9q5";
+          rev = "c5fe6932b2151d0e4426072b4df3510318bc4edc";
+          sha256 = "1zd6rpp9275xh3bpr8rgj8mm70dxf30xhhj5h7vw2nj194d54lv6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml";
@@ -6670,8 +6690,8 @@
         src = fetchFromGitHub {
           owner = "cask";
           repo = "cask";
-          rev = "bf52c3ecb1356657cae12fe3229c0827181c1ed9";
-          sha256 = "0g4vnvbfvr9c2rjf0fbbvzw1ipvwgsp11sn0rjrpx5cwszghvy0w";
+          rev = "eea660b78c05d70159067f5be8cd3bddb55df4c5";
+          sha256 = "0i4f964nqyd260cgy9s9jnpyzwmpmypznwmpvnkijd9pl34yfl04";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b86c666ee9b0620390a250dddd42b17cbec2409f/recipes/cask";
@@ -7026,8 +7046,8 @@
         src = fetchFromGitHub {
           owner = "cfengine";
           repo = "core";
-          rev = "b0979047d55db2aefda4adc40cd266c693a57b70";
-          sha256 = "15giw6kacnj1fa3w794gnaqjpywrdrz96rgq1igsygj1rjacrgi7";
+          rev = "8f9876fca85df61451ec6ce08b39c3e9a3f3da42";
+          sha256 = "0blh871a4gwn547bkbx1sdy9znys11d6mja7dqkvnk9vci0nlh5s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c737839aeda583e61257ad40157e24df7f918b0f/recipes/cfengine-code-style";
@@ -7908,8 +7928,8 @@
         src = fetchFromGitHub {
           owner = "emacsorphanage";
           repo = "clang-format";
-          rev = "6e6114fac0e4e600f1ffed7b2ce978f7adb001cd";
-          sha256 = "07zabj31bgckppkqgg5if515093k0lx2xyf3adh90ymmssvvgary";
+          rev = "7e22204dc5afe0859fb8853ff47942574541eaff";
+          sha256 = "148wkr770ch6czn8s8mypbq6r0vnqqi026kqxshvzsql79i9l687";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30de78c9cf83de30093a5647976eeaf552d4b2cb/recipes/clang-format";
@@ -8027,22 +8047,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
+    cliphist = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "cliphist";
-        version = "20170821.1858";
+        version = "20171112.2138";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "cliphist";
-          rev = "2aceea0e16e2f18b8b51161423ef1c0f655c7c8d";
-          sha256 = "13vhm7dsqbaslml3a2hd3s39c7q494p5w2xznhdxvh8ig6w102lc";
+          rev = "e454254f8bd9dbaea28e95c786d7297a2d4e920a";
+          sha256 = "1lxsy78kmrrb82y7nlaaaq2qsly7f3wa8jw1bagjax4rwvld0vim";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist";
           sha256 = "0mg6pznijba3kvp3r57pi54v6mgih2vfwj2kg6qmcy1abrc0xq29";
           name = "cliphist";
         };
-        packageRequires = [ popup ];
+        packageRequires = [ emacs ivy ];
         meta = {
           homepage = "https://melpa.org/#/cliphist";
           license = lib.licenses.free;
@@ -8294,12 +8314,12 @@
     clojure-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clojure-mode";
-        version = "20171031.357";
+        version = "20171103.1150";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "061431d86f05a5a25d2e00fc5f317b22cb9d8a79";
-          sha256 = "09cv517p42nrzj435b1ma8lfl1k4izdv1dj1q9hi5y61q1q1zhp9";
+          rev = "118c19700c904ae6a45fb409ca795bb93ff8dbd8";
+          sha256 = "0kdk94ffrw27fz8ycka7a24hj3p3w09rhq3ppga7dwgsxqjfjb5l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode";
@@ -8315,12 +8335,12 @@
     clojure-mode-extra-font-locking = callPackage ({ clojure-mode, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "clojure-mode-extra-font-locking";
-        version = "20170303.2310";
+        version = "20171102.1020";
         src = fetchFromGitHub {
           owner = "clojure-emacs";
           repo = "clojure-mode";
-          rev = "061431d86f05a5a25d2e00fc5f317b22cb9d8a79";
-          sha256 = "09cv517p42nrzj435b1ma8lfl1k4izdv1dj1q9hi5y61q1q1zhp9";
+          rev = "118c19700c904ae6a45fb409ca795bb93ff8dbd8";
+          sha256 = "0kdk94ffrw27fz8ycka7a24hj3p3w09rhq3ppga7dwgsxqjfjb5l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5e3cd2e6ee52692dc7b2a04245137130a9f521c7/recipes/clojure-mode-extra-font-locking";
@@ -8550,8 +8570,8 @@
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "a57bad6c3d0dbc885bb71dfe465d09a380c35960";
-          sha256 = "1igyb96zbdr94sxry8irffhmhcz1wi0d4a65cf98j4vvnxz36b9w";
+          rev = "67c981fdc25e01ae52daa67c447a03fd05b40634";
+          sha256 = "0yri0jg6k66w1qi7vi2f2ij3rfiibs0nzpqdm7gapf3q7nabyrg8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -9008,12 +9028,12 @@
     color-theme-sanityinc-tomorrow = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "color-theme-sanityinc-tomorrow";
-        version = "20171030.1358";
+        version = "20171106.634";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "color-theme-sanityinc-tomorrow";
-          rev = "e7f5d175916df20c411713e49be8b58aac36f7ed";
-          sha256 = "11n5ly2n8l4b7xph81w57av42zv43fk2vc6b6mjhxvvn86l97ma7";
+          rev = "a07c940b5e73ed67ff1e13f584065af7b577ec00";
+          sha256 = "101h8nmj8r7zjhb8592fzv0mrh20q35llrjcip4q1q6k6ns8lj2w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/color-theme-sanityinc-tomorrow";
@@ -9306,8 +9326,8 @@
         src = fetchFromGitHub {
           owner = "company-mode";
           repo = "company-mode";
-          rev = "66e43a3a3388c3af3dd851ba0a1f48dcb6efb1ae";
-          sha256 = "0wm1qrwmhzs3vphk6hbi288rvc66gznis5kfj25d86ilq4fvawsf";
+          rev = "75b4daa545d55ecbf15a973ce5f63903d11ca7cf";
+          sha256 = "0vbg3n2wm76xh522srzmj5w6hnqcpf67s6dzpi8l9c0bj2mgf9pi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/96e7b4184497d0d0db532947f2801398b72432e4/recipes/company";
@@ -9412,15 +9432,35 @@
           license = lib.licenses.free;
         };
       }) {};
+    company-axiom = callPackage ({ axiom-environment, company, emacs, fetchgit, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "company-axiom";
+        version = "20171024.1310";
+        src = fetchgit {
+          url = "https://bitbucket.org/pdo/axiom-environment.git";
+          rev = "b4f0fa9cd013e107d2af8e2ebedff8a7f40be7b5";
+          sha256 = "0p2mg2824mw8l1zrfq5va1mnxg0ib5f960306vvsm6b3pi1w5kv0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9f07feb8686c76c330f282320b9f653dc16cadd5/recipes/company-axiom";
+          sha256 = "1qjy2idyfwa1a4z1v05ky26dzq8hs6aaszq4bifd7vymasvnamml";
+          name = "company-axiom";
+        };
+        packageRequires = [ axiom-environment company emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/company-axiom";
+          license = lib.licenses.free;
+        };
+      }) {};
     company-bibtex = callPackage ({ cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib }:
     melpaBuild {
         pname = "company-bibtex";
-        version = "20170125.2135";
+        version = "20171104.2344";
         src = fetchFromGitHub {
           owner = "gbgar";
           repo = "company-bibtex";
-          rev = "2cea36c24c35c1e9fafce7526781f119a48b5e82";
-          sha256 = "0l4xnqhk3a4szwcfyw90naxasbca8nrnjhnaqiw8zyixhakdbhxz";
+          rev = "225c6f5c0c070c94c8cdbbd452ea548cd94d76f4";
+          sha256 = "0bv2jcmyirdxm158w2766l3q7kh7h71l9milwc9fl8qfz7wb5l80";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-bibtex";
@@ -9863,12 +9903,12 @@
     company-lean = callPackage ({ company, dash, dash-functional, emacs, f, fetchFromGitHub, fetchurl, lean-mode, lib, melpaBuild, s }:
     melpaBuild {
         pname = "company-lean";
-        version = "20170920.708";
+        version = "20171102.754";
         src = fetchFromGitHub {
           owner = "leanprover";
           repo = "lean-mode";
-          rev = "2f73061c886bae07bc51e4d9eb545ed8027c0442";
-          sha256 = "17bqx7bkfzv4w7cf0l139xwg1shns680rq74hrqgicammb453kz7";
+          rev = "c0af876c967fc969d67c467bc6767210d19c5d87";
+          sha256 = "04qzck156wb2bvrb8adbn7rx2v0bsjcirlbx4ajajjsqy858ayn9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42f4d6438c8aeb94ebc1782f2f5e2abd17f0ffde/recipes/company-lean";
@@ -9884,12 +9924,12 @@
     company-lsp = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild, s }:
     melpaBuild {
         pname = "company-lsp";
-        version = "20171031.1844";
+        version = "20171113.105";
         src = fetchFromGitHub {
           owner = "tigersoldier";
           repo = "company-lsp";
-          rev = "5fc50b6ad5c4ee71625bddf348646be44e69f396";
-          sha256 = "1gkabm9iaimv4s7v723aflvxa7z902py46m5mz0szpdcrrh36495";
+          rev = "f3b4a206ccb73ae95425e9d700c521402fcaaec1";
+          sha256 = "12xdshkin0xp6sycmdjcr5alscs16xaibnnxyijzlymdvapn1k3s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5125f53307c1af3d9ccf2bae3c25e7d23dfe1932/recipes/company-lsp";
@@ -9905,12 +9945,12 @@
     company-lua = callPackage ({ company, f, fetchFromGitHub, fetchurl, lib, lua-mode, melpaBuild, s }:
     melpaBuild {
         pname = "company-lua";
-        version = "20161227.1139";
+        version = "20171108.1506";
         src = fetchFromGitHub {
           owner = "ptrv";
           repo = "company-lua";
-          rev = "6a542ba16d7fa47865879b5a99dedd121a84a880";
-          sha256 = "10wy9s29sbzaz61p62vda6cqwjk6rpa6ia8zm4n3d6xvpv2wqa70";
+          rev = "29f6819de4d691e5fd0b62893a9f4fbc1c6fcb52";
+          sha256 = "0ny2dcc7c585p7v3j6q0rpkbj1qmf2ismy8a5020jpr585xvz0hh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c8191ab2aaa72041be46091e363d216cf1b73fde/recipes/company-lua";
@@ -10010,12 +10050,12 @@
     company-php = callPackage ({ ac-php-core, cl-lib ? null, company, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "company-php";
-        version = "20170314.2141";
+        version = "20171111.757";
         src = fetchFromGitHub {
           owner = "xcwen";
           repo = "ac-php";
-          rev = "317ad1d023db6b2fe67444a2c075e656c35f5094";
-          sha256 = "1wyf93faq6z6wgcs3lxc6gv75bmxchg6kd98dza61zdyc0rj60wa";
+          rev = "217fc49cc8ededd96ab8b7f656ef80fb905c3f4a";
+          sha256 = "0dg494qivcb8y87hzkby4qi1cr4pn7fl079yjwrwq54qpwq60jgw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ac283f1b65c3ba6278e9d3236e5a19734e42b123/recipes/company-php";
@@ -10167,8 +10207,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
-          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
+          rev = "dadd74f015f89317ff77424be30a9accadeeb4a4";
+          sha256 = "1ylasq4byd2vhaliq34cs86873z7v5w6yzhm4zc457fazsmb8s25";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
@@ -10310,12 +10350,12 @@
     company-web = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, web-completion-data }:
     melpaBuild {
         pname = "company-web";
-        version = "20160502.658";
+        version = "20171111.1049";
         src = fetchFromGitHub {
           owner = "osv";
           repo = "company-web";
-          rev = "2915da21c6327c7eaa0d03e237163228c9681224";
-          sha256 = "0pjxahrhvz7l45whqlgm6n4mvqqxc8zs1dv33p3b498hyb83f52j";
+          rev = "935c65de0411ebbcb4f2223f31e756e093eaae07";
+          sha256 = "0kw0fc1lg7qd23fx26y9m543sql32n1dlvr4rg7bmq6im7dwz4hy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-web";
@@ -10356,8 +10396,8 @@
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "d951afd8c1c2f25a5cbeef3acfcec5f72acfd6e4";
-          sha256 = "0k6z82a3xkk71lbnw3sxqmr8ixafglivmsb5y35q1jichzz6hail";
+          rev = "e8a6c2bb6cdc18645e2ebc6a8ede8f0c306f013d";
+          sha256 = "0gijzvc6krz1228siysk4za3pwfgfmwh04b8zjc57qkccngibnf9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-ycmd";
@@ -10436,12 +10476,12 @@
     conda = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }:
     melpaBuild {
         pname = "conda";
-        version = "20171028.617";
+        version = "20171109.903";
         src = fetchFromGitHub {
           owner = "necaris";
           repo = "conda.el";
-          rev = "526be691824f4a32299f560a883913697bc4d847";
-          sha256 = "1jix3md6b02fypjm4y05av7acjkqryd1vqqz9wgxyinydlagrvh7";
+          rev = "64b804c33f2667e8232689770a9f2e332c2dd0ab";
+          sha256 = "1w1p1m2d0mwi3frkah5cnphyqsix7fp1li8glhlwf923cg48cxfq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda";
@@ -10793,12 +10833,12 @@
     counsel = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "counsel";
-        version = "20171031.1234";
+        version = "20171101.1121";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "96663b77945ab21e4e1b0aab690fc2e926f01f9c";
-          sha256 = "0r691dzs77zdkvjzb787kjg8zvvba8gdj2da9zjb14m4nyjmg9d9";
+          rev = "5009b8149a86949f9e6d7546479e998be2e14337";
+          sha256 = "181bhxq2xscd9h1s0aix5lkp7gzg041q713157hrv200p2fnzb6d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c50f32b8d603db0d70e77907e36862cd66b811/recipes/counsel";
@@ -10856,12 +10896,12 @@
     counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-etags";
-        version = "20171026.435";
+        version = "20171112.1500";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "counsel-etags";
-          rev = "19757e5d79a7a504760a1e7a7095779b48ec995f";
-          sha256 = "1qacqjl1x01r3ss1a9qwy0651gamnkp59nzl9i6krnrdfksc6gjz";
+          rev = "be0a14afc4b79202513b74ede8c26e41a5612f09";
+          sha256 = "1lpaxrlfn5a4hp56mzw59j2zbc3klv1vhw338ly4pp55y79ibg1y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
@@ -10919,12 +10959,12 @@
     counsel-projectile = callPackage ({ counsel, fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "counsel-projectile";
-        version = "20171001.641";
+        version = "20171107.1456";
         src = fetchFromGitHub {
           owner = "ericdanan";
           repo = "counsel-projectile";
-          rev = "88a16cb75301ae95f21a71e8838a49590d011e73";
-          sha256 = "155yvmyyg99znxnb3viagmd3hmii44fww68g857l7msw4q9ki1gy";
+          rev = "5ec2118cbb3a6c047638ce305e50b1cd11ef3c03";
+          sha256 = "1zbcpin6s4hbbdcmdka55mnngadlisyzn342kak0hzk2s7j6r6r8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/389f16f886a385b02f466540f042a16eea8ba792/recipes/counsel-projectile";
@@ -11591,12 +11631,12 @@
     cubicaltt = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cubicaltt";
-        version = "20170912.317";
+        version = "20171108.602";
         src = fetchFromGitHub {
           owner = "mortberg";
           repo = "cubicaltt";
-          rev = "0cdd084498c3f5de53a26ae756e4a9f33625fa1f";
-          sha256 = "1zgdc4lm6dyh57fim52ynxx0jfs9hsdgbj739firblmin6cdvm32";
+          rev = "c3612560fa30cecc86902daf097c8dd77b9b0b7d";
+          sha256 = "1jkg27wgbvgb7bynzrsncr17k9w888mhk36fzkpxdnj0skm6v6lf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1be42b49c206fc4f0df6fb50fed80b3d9b76710b/recipes/cubicaltt";
@@ -11847,8 +11887,8 @@
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "ed44d37a80ef91ccb059a8ae056439a889eb6973";
-          sha256 = "08hk3lah5mx3aii4d6d4xb7dbz1d0m2ch0c2hf13pw2d7irqvfzp";
+          rev = "65ba9eec9adbabc385d88882b7d5fbd2b6292cc7";
+          sha256 = "1n2krw36gkikmkbql5am7irx4gismfx2qgiz7lm29mj3kvhqcg64";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -11990,12 +12030,12 @@
     danneskjold-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "danneskjold-theme";
-        version = "20171101.339";
+        version = "20171113.528";
         src = fetchFromGitHub {
           owner = "rails-to-cosmos";
           repo = "danneskjold-theme";
-          rev = "8d36d6dcddf36f89f06a3f848e69edbda28435eb";
-          sha256 = "1hsfqkf3xfql3h4dprrrzrpp5fansv8ckfii5dnx55a6gl6y3sdi";
+          rev = "27862b655ed04a6b6d1e0ba1a5b8c29e957fb7c7";
+          sha256 = "152v2lfpp5asa2dyarig0x3mfy7q91ydkp600qgqbq7xc295r77a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/557244a3b60c7cd3ca964ff843aa1e9d5a1e32ec/recipes/danneskjold-theme";
@@ -12011,12 +12051,12 @@
     dante = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, haskell-mode, lib, melpaBuild, s }:
     melpaBuild {
         pname = "dante";
-        version = "20171021.1009";
+        version = "20171106.545";
         src = fetchFromGitHub {
           owner = "jyp";
           repo = "dante";
-          rev = "cdea9409920ed8e4739af39b9a6f4e6dd8e8c50f";
-          sha256 = "1ncbrq38ivybqlwm57aqcqjhz8bs99i9aa28012v1s6l5qbnxgks";
+          rev = "5d4b2a09d5681408225bb5b9189d37e8b3e95079";
+          sha256 = "1m7k73m7qw0aqxx29c8y5liai93csmmhg749k6g0danqzy5dzn81";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5afa8226077cbda4b76f52734cf8e0b745ab88e8/recipes/dante";
@@ -12053,12 +12093,12 @@
     darcula-theme = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darcula-theme";
-        version = "20171016.149";
+        version = "20171104.425";
         src = fetchFromGitLab {
           owner = "fommil";
           repo = "emacs-darcula-theme";
-          rev = "25f179b9fb72c1b95a3907aa4b4a44f8d261e45a";
-          sha256 = "0x1amh0ycjvk218d6cyqizkak47b6r1wczakbfkvnbr0khgkgmr7";
+          rev = "2ecd466ffa7a3157b9ddcd7545b6fb8ad308c976";
+          sha256 = "1h5lssnc1am54hkprnp61bsj5fnm8j556q2gbhljfjgrdwnqv8ky";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/23c8f10205187babb17e3abc3dc40eb1938e6640/recipes/darcula-theme";
@@ -12620,12 +12660,12 @@
     dedukti-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dedukti-mode";
-        version = "20170225.722";
+        version = "20171103.512";
         src = fetchFromGitHub {
           owner = "rafoo";
           repo = "dedukti-mode";
-          rev = "49d7a83d3e966e0913e3969000701d4159dfab2f";
-          sha256 = "0ryibbpq4qpj35lnczy1q4ldja782dzza5b48b7vy8a3x77yv07p";
+          rev = "d7c3505a1046187de3c3aeb144455078d514594e";
+          sha256 = "1842wikq24c8rg0ac84vb1qby9ng1nssxswyyni4kq85lng5lcrp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/767a685fbe8ae86177e90a17dac3815d41d74df4/recipes/dedukti-mode";
@@ -13232,8 +13272,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "26bf9b86e67883de3813518b2356f466dc2bb727";
-          sha256 = "0vkpf5w3bklgvz9v0fy1icdq6rf9w19399d0kphsb1a1vql575y1";
+          rev = "7fbaaa2de73bd571de8eee86205f779340b13c69";
+          sha256 = "0jzp7d49q1ndsd6yfs1kx49ksid9v96s4qaqhfnzfdwyw7rf4m1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-avfs";
@@ -13249,12 +13289,12 @@
     dired-collapse = callPackage ({ dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-collapse";
-        version = "20171026.159";
+        version = "20171107.47";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "26bf9b86e67883de3813518b2356f466dc2bb727";
-          sha256 = "0vkpf5w3bklgvz9v0fy1icdq6rf9w19399d0kphsb1a1vql575y1";
+          rev = "7fbaaa2de73bd571de8eee86205f779340b13c69";
+          sha256 = "0jzp7d49q1ndsd6yfs1kx49ksid9v96s4qaqhfnzfdwyw7rf4m1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6aab23df1451682ff18d9ad02c35cb7ec612bc38/recipes/dired-collapse";
@@ -13379,8 +13419,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "26bf9b86e67883de3813518b2356f466dc2bb727";
-          sha256 = "0vkpf5w3bklgvz9v0fy1icdq6rf9w19399d0kphsb1a1vql575y1";
+          rev = "7fbaaa2de73bd571de8eee86205f779340b13c69";
+          sha256 = "0jzp7d49q1ndsd6yfs1kx49ksid9v96s4qaqhfnzfdwyw7rf4m1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-filter";
@@ -13400,8 +13440,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "26bf9b86e67883de3813518b2356f466dc2bb727";
-          sha256 = "0vkpf5w3bklgvz9v0fy1icdq6rf9w19399d0kphsb1a1vql575y1";
+          rev = "7fbaaa2de73bd571de8eee86205f779340b13c69";
+          sha256 = "0jzp7d49q1ndsd6yfs1kx49ksid9v96s4qaqhfnzfdwyw7rf4m1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-hacks-utils";
@@ -13526,8 +13566,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "26bf9b86e67883de3813518b2356f466dc2bb727";
-          sha256 = "0vkpf5w3bklgvz9v0fy1icdq6rf9w19399d0kphsb1a1vql575y1";
+          rev = "7fbaaa2de73bd571de8eee86205f779340b13c69";
+          sha256 = "0jzp7d49q1ndsd6yfs1kx49ksid9v96s4qaqhfnzfdwyw7rf4m1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8994330f90a925df17ae425ccdc87865df8e19cd/recipes/dired-narrow";
@@ -13547,8 +13587,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "26bf9b86e67883de3813518b2356f466dc2bb727";
-          sha256 = "0vkpf5w3bklgvz9v0fy1icdq6rf9w19399d0kphsb1a1vql575y1";
+          rev = "7fbaaa2de73bd571de8eee86205f779340b13c69";
+          sha256 = "0jzp7d49q1ndsd6yfs1kx49ksid9v96s4qaqhfnzfdwyw7rf4m1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-open";
@@ -13589,8 +13629,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "26bf9b86e67883de3813518b2356f466dc2bb727";
-          sha256 = "0vkpf5w3bklgvz9v0fy1icdq6rf9w19399d0kphsb1a1vql575y1";
+          rev = "7fbaaa2de73bd571de8eee86205f779340b13c69";
+          sha256 = "0jzp7d49q1ndsd6yfs1kx49ksid9v96s4qaqhfnzfdwyw7rf4m1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/568e524b7bdf91b31655bdbb30fe9481d7a0ffbf/recipes/dired-rainbow";
@@ -13610,8 +13650,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "26bf9b86e67883de3813518b2356f466dc2bb727";
-          sha256 = "0vkpf5w3bklgvz9v0fy1icdq6rf9w19399d0kphsb1a1vql575y1";
+          rev = "7fbaaa2de73bd571de8eee86205f779340b13c69";
+          sha256 = "0jzp7d49q1ndsd6yfs1kx49ksid9v96s4qaqhfnzfdwyw7rf4m1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c03f6f8c779c8784f52adb20b266404cb537113a/recipes/dired-ranger";
@@ -13627,12 +13667,12 @@
     dired-sidebar = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dired-sidebar";
-        version = "20170904.2004";
+        version = "20171111.1540";
         src = fetchFromGitHub {
           owner = "jojojames";
           repo = "dired-sidebar";
-          rev = "35e43797f037fc298b6478817d51be3ceff5b568";
-          sha256 = "1rizajqh96im8ygbfzrhn0ysh3r9qlk7njgn2rayk6a5krj6gn16";
+          rev = "8ccf915061d2fc460b198a102142013044ba4a90";
+          sha256 = "1ha1djw2wdxj8y735hjqc9nwm50z4vlh8d6r810r66789gvn7fkp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30e15c8361b01195f198197e704828fbcac0e8d6/recipes/dired-sidebar";
@@ -13673,8 +13713,8 @@
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "dired-hacks";
-          rev = "26bf9b86e67883de3813518b2356f466dc2bb727";
-          sha256 = "0vkpf5w3bklgvz9v0fy1icdq6rf9w19399d0kphsb1a1vql575y1";
+          rev = "7fbaaa2de73bd571de8eee86205f779340b13c69";
+          sha256 = "0jzp7d49q1ndsd6yfs1kx49ksid9v96s4qaqhfnzfdwyw7rf4m1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d6a947ac9476f10b95a3c153ec784d2a8330dd4c/recipes/dired-subtree";
@@ -14534,22 +14574,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    dockerfile-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    dockerfile-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "dockerfile-mode";
-        version = "20170418.1024";
+        version = "20171105.435";
         src = fetchFromGitHub {
           owner = "spotify";
           repo = "dockerfile-mode";
-          rev = "3c6bc90360a2df53caad1721ee4c8285e2e22369";
-          sha256 = "166hfzfb45f11jfhx78w6h23cyj9wr1nrwrxxqs2m5cry407gj3k";
+          rev = "69bfba7acc6bda0d0a5834c3774fffc145337a63";
+          sha256 = "09s13cpldrw19m1n6dh17x85nm5kx1km4f5pmzryll23a3qwcm0x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1406f5a24115d29e3b140c360a51b977a369e4f9/recipes/dockerfile-mode";
           sha256 = "1dxvzn35a9qd3x8pjvrvb2g71yf84404g6vz81y0p353rf2zknpa";
           name = "dockerfile-mode";
         };
-        packageRequires = [];
+        packageRequires = [ emacs s ];
         meta = {
           homepage = "https://melpa.org/#/dockerfile-mode";
           license = lib.licenses.free;
@@ -14642,12 +14682,12 @@
     doom-themes = callPackage ({ all-the-icons, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "doom-themes";
-        version = "20171017.1649";
+        version = "20171109.1437";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-doom-themes";
-          rev = "d91f72b83ec22f1620372574582e163f921e6796";
-          sha256 = "1ykl835k0s5nkb6343yk4gyk7hdx4l96jnfa84vdq74x2asidfs1";
+          rev = "00329ccd8d9fd1bbf31f043288bb087baffed7d0";
+          sha256 = "0pdqpcmc6xlvmf03gx5wvfw8q05c5f3kyi53j7z2mc83kp7gq6zz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c5084bc2c3fe378af6ff39d65e40649c6359b7b5/recipes/doom-themes";
@@ -15104,12 +15144,12 @@
     dumb-diff = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "dumb-diff";
-        version = "20170924.2036";
+        version = "20171106.1659";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-diff";
-          rev = "205ea5fda371f296fd876e362c12a5b64c4724d9";
-          sha256 = "0gxrrhlhp1g679c1ygj8m0jy4pag55b957vyxm9845z4vx93wj1x";
+          rev = "a89162a41be228f587f6d778ce2a350ee0b61792";
+          sha256 = "1wznlaphsdh6bz5zppwabnmbsymz09b6aqadwr8b3l1r841s4y9v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf7fa0b4235247d82569ed078f92774f10afa45c/recipes/dumb-diff";
@@ -15125,12 +15165,12 @@
     dumb-jump = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, s }:
     melpaBuild {
         pname = "dumb-jump";
-        version = "20171013.2105";
+        version = "20171105.1624";
         src = fetchFromGitHub {
           owner = "jacktasia";
           repo = "dumb-jump";
-          rev = "e1140c3c27c0e434ecaaf748aa77f63e2289df41";
-          sha256 = "19r77cya0bi1isv46l26k3n6vnqxf0jclx6w75jbbiirivpy9nr1";
+          rev = "ce4eaa49b629140806a8808712356a5a09c2abad";
+          sha256 = "1bjpqghfp1jprhaciqjm11n6bdy5wzph625p2v0xcd59pr8jsj6p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/dumb-jump";
@@ -15502,12 +15542,12 @@
     eacl = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "eacl";
-        version = "20171028.258";
+        version = "20171109.40";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "eacl";
-          rev = "94b0eb062899db25f2ef0e535bc6ecace4b5c4e8";
-          sha256 = "042va8ysvnyr7vgwrhd970ly65q1fczk04n6vd9zqxn02cqvk2yh";
+          rev = "0ee57b495036b6c1b54d668e84be373f8a1c8d9a";
+          sha256 = "1fizb09g0dc9rzlj34n26vi12h3gk4mn96iyrsa60in5c9yn9f04";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8223bec7eed97f0bad300af9caa4c8207322d39a/recipes/eacl";
@@ -15691,12 +15731,12 @@
     ebib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, parsebib, seq }:
     melpaBuild {
         pname = "ebib";
-        version = "20170711.1234";
+        version = "20171110.1";
         src = fetchFromGitHub {
           owner = "joostkremers";
           repo = "ebib";
-          rev = "9e5f3377a5e9c6956300de3872c89cd902c2cfc6";
-          sha256 = "0rklwdz3d2b065yhhiz7bhyfb3fsg9rcqi6d4rhk7wb8w849vf20";
+          rev = "ab9596e03b749785919857f9785dc37c3c5dfc4e";
+          sha256 = "0xn1dna7bwk5m144z53lpv0fxh5mg42gk8a7mgfz9d6yj890k33w";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4e39cd8e8b4f61c04fa967def6a653bb22f45f5b/recipes/ebib";
@@ -15775,12 +15815,12 @@
     ecukes = callPackage ({ ansi, commander, dash, espuds, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ecukes";
-        version = "20170922.656";
+        version = "20171110.627";
         src = fetchFromGitHub {
           owner = "ecukes";
           repo = "ecukes";
-          rev = "e16dcb430cf05a28065ad26eab2b32e2f7af8705";
-          sha256 = "1x085idsgcfzagqm6jqqhgqzy1xqjkq40zl2q7a20v013n3rkbd8";
+          rev = "c8092db08be5337ff3f3dd2857bfa94e360945d2";
+          sha256 = "1dkinyigacb4yxqikd9za4inbh7yz7pl8bhrpihrxzabxirmvw55";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14cf66e6929db2a0f377612e786aaed9eb12b799/recipes/ecukes";
@@ -16115,8 +16155,8 @@
         src = fetchFromGitHub {
           owner = "stsquad";
           repo = "emacs_chrome";
-          rev = "462c57be72b3a8652f705bde0d3b7cd2f79644fa";
-          sha256 = "0s4s90sbk82yp08my8jdmn4kn5cx8xc9cf02asrq4b4jvljynwvj";
+          rev = "3ba9de868cb8ed37d8a0982fb99cf023d76b3c90";
+          sha256 = "0jknhdg33f1vgcfflp4bmvbnbh12h9vxnbyyf9dnibcln56nhar5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d98d69008b5ca8b92fa7a6045b9d1af86f269386/recipes/edit-server";
@@ -16153,12 +16193,12 @@
     editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig";
-        version = "20171005.2129";
+        version = "20171107.301";
         src = fetchFromGitHub {
           owner = "editorconfig";
           repo = "editorconfig-emacs";
-          rev = "99bb6882d8ac708a066a9977cc4fa23f86c6b8f6";
-          sha256 = "0372s9xp8gjz6y0ix095r9gy8718jw1vkjszd12kz6vnxn4z4rmi";
+          rev = "2ec90f13ad98481c5324eea4877de7a80d814d86";
+          sha256 = "160f7ciy8yp75gja3abm4rjy61wmk2b7b0k032qimiawkvg57bx2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
@@ -16354,8 +16394,8 @@
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "94d964066ed7cecaea2b31eda7703396032ea4ed";
-          sha256 = "0ln5dzbrbxzhlr797hphd5dmbrhh76cdfbm1fvgl3bi1fw59g8pq";
+          rev = "61df217004a753cbbd046319f9d2617b88f574bf";
+          sha256 = "12scqa9s413vvpfkvxyly1v9d3y6bq7b18bdd599q7nd786d1vvj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -16432,12 +16472,12 @@
     ein = callPackage ({ auto-complete, cl-generic, dash, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, request, request-deferred, s, skewer-mode, websocket }:
     melpaBuild {
         pname = "ein";
-        version = "20171024.1043";
+        version = "20171107.1314";
         src = fetchFromGitHub {
           owner = "millejoh";
           repo = "emacs-ipython-notebook";
-          rev = "eaded1e01378c61be8bc454d111e8cc4951a0b5b";
-          sha256 = "0m0dkzr44bmgc5sxzgsp290hvsylvyrsnmfk6ki44qkvp4qg0bxr";
+          rev = "f63451ca038d6e6c68cfc511836a37d697d0d459";
+          sha256 = "05ch2nll2359klq0picm51hkl82chv39npc6jdlc6y7mvvjicqvp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/215e163755fe391ce1f049622e7b9bf9a8aea95a/recipes/ein";
@@ -16643,8 +16683,8 @@
         src = fetchFromGitHub {
           owner = "raxod502";
           repo = "el-patch";
-          rev = "32f7a12c2eaacd60d48ed5e5482121154a507fb8";
-          sha256 = "0m1v3gjds2j16kpy05zipdh30fbsb2zrgjny156kgjjxy6fnrnki";
+          rev = "a5999539e42fb41d2b31f09022b9efe27ae76684";
+          sha256 = "0qbf851ab8h0zjqr9kvnlwcg6magsldlr835vks576g9cz62zp49";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2f4f57e0edbae35597aa4a7744d22d2f971d5de5/recipes/el-patch";
@@ -16975,12 +17015,12 @@
     elfeed = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "elfeed";
-        version = "20171001.1900";
+        version = "20171103.737";
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "23cbeb803a312fd0e3801ef240e4322bf9965656";
-          sha256 = "0vi0vbd2k4frj6ij2v8imx57vikgcp47gwk11w4qh4k0na4cjbfs";
+          rev = "312b3bf4ca542dd84e3cc502c5297498d4c1f7ef";
+          sha256 = "0633gvyk1xh5624g0lp3sriqmrzdhb8dbc6xvmnwqrcqdb3yrigv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/407ae027fcec444622c2a822074b95996df9e6af/recipes/elfeed";
@@ -17024,12 +17064,12 @@
     elfeed-org = callPackage ({ cl-lib ? null, dash, elfeed, fetchFromGitHub, fetchurl, lib, melpaBuild, org, s }:
     melpaBuild {
         pname = "elfeed-org";
-        version = "20170423.128";
+        version = "20171113.356";
         src = fetchFromGitHub {
           owner = "remyhonig";
           repo = "elfeed-org";
-          rev = "a54649f0fd83fd536213f58ee4268c67a799293a";
-          sha256 = "05vqvkyyqbj4a886c9x53z7yv8hapmgm9c1ccfibpw0clyf0dixp";
+          rev = "1a2bacc160d4e164f012ebf23f3ecccac85df18f";
+          sha256 = "0g8hhcfg2rahq6mry4aqqggkc7s26q8is9akzrxwi7dlbhc1ljd4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/elfeed-org";
@@ -17049,8 +17089,8 @@
         src = fetchFromGitHub {
           owner = "skeeto";
           repo = "elfeed";
-          rev = "23cbeb803a312fd0e3801ef240e4322bf9965656";
-          sha256 = "0vi0vbd2k4frj6ij2v8imx57vikgcp47gwk11w4qh4k0na4cjbfs";
+          rev = "312b3bf4ca542dd84e3cc502c5297498d4c1f7ef";
+          sha256 = "0633gvyk1xh5624g0lp3sriqmrzdhb8dbc6xvmnwqrcqdb3yrigv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/62459d16ee44d5fcf170c0ebc981ca2c7d4672f2/recipes/elfeed-web";
@@ -17273,22 +17313,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    elm-mode = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, s }:
+    elm-mode = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, s, seq }:
     melpaBuild {
         pname = "elm-mode";
-        version = "20171028.2337";
+        version = "20171111.2331";
         src = fetchFromGitHub {
           owner = "jcollard";
           repo = "elm-mode";
-          rev = "6fa343ada4a74850840e21bbe787c14fe5a67155";
-          sha256 = "18yk029k12zd8xwgj4k0741lbxzl9djik0srvb5jn6bcbcp6hb9g";
+          rev = "527c269543f203cfaf87f406369137424f791a5a";
+          sha256 = "0az7x05ds98ccr4lp6n4zqmhd9bkqxlzh7g9k1va8l9mq862fy8r";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5d1a4d786b137f61ed3a1dd4ec236d0db120e571/recipes/elm-mode";
           sha256 = "1gw9szkyr1spcx7qijddhxlm36h0hmfd53b4yzp1336yx44mlnd1";
           name = "elm-mode";
         };
-        packageRequires = [ emacs f let-alist s ];
+        packageRequires = [ dash emacs f let-alist s seq ];
         meta = {
           homepage = "https://melpa.org/#/elm-mode";
           license = lib.licenses.free;
@@ -17507,12 +17547,12 @@
     elpy = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, find-file-in-project, highlight-indentation, lib, melpaBuild, pyvenv, s, yasnippet }:
     melpaBuild {
         pname = "elpy";
-        version = "20171029.955";
+        version = "20171110.657";
         src = fetchFromGitHub {
           owner = "jorgenschaefer";
           repo = "elpy";
-          rev = "434f6799e103fcce7d896b3281eb59e15a760783";
-          sha256 = "1mpxzyssvp6n1y17xqxmmpymvljz7g6j60whn9mdp3njn0ijyn5k";
+          rev = "6c10424da59909e9b7f7e6bd345522fc4c011b2d";
+          sha256 = "0cwz6xgrd827798gq46l08wsc3l1kh8bh5zp3vdik3cqdcqk7lxz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1d8fcd8745bb15402c9f3b6f4573ea151415237a/recipes/elpy";
@@ -18103,11 +18143,11 @@
     emms = callPackage ({ cl-lib ? null, fetchgit, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emms";
-        version = "20171020.1349";
+        version = "20171105.502";
         src = fetchgit {
           url = "https://git.savannah.gnu.org/git/emms.git";
-          rev = "88fecd0234da595843ce6be4d3f9f2b755ff612d";
-          sha256 = "0ycm2lggljhzrb10r3c322c7bb580gk125x9nvpvjrvsp74p8im0";
+          rev = "11954d51e976a83635971fc000a163b0e7056134";
+          sha256 = "1dfyc0f6wfvw90lw135mf6vx5yqx7nwbi5b3a3c6dzsm060dzsqx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/caaa21f235c4864f6008fb454d0a970a2fd22a86/recipes/emms";
@@ -18207,12 +18247,12 @@
     emms-player-mpv-jp-radios = callPackage ({ cl-lib ? null, emacs, emms, emms-player-simple-mpv, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "emms-player-mpv-jp-radios";
-        version = "20171002.723";
+        version = "20171102.811";
         src = fetchFromGitHub {
           owner = "momomo5717";
           repo = "emms-player-mpv-jp-radios";
-          rev = "dcf79a7570ff4031373991f9fc838ddc5f598006";
-          sha256 = "0mq6k6qgqv08k421wjk69ma8m7m29yfmwh2bsphxj1pa2h1y6h2n";
+          rev = "57924973b9e7a3b059b6dd40decb194abc596875";
+          sha256 = "0q1sfb2rgzpvxbpq0d3zl03bc8abyzq2d5pvy8z0ighwbhabkrrs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/09ba6da5057061f055d4a3212d167f9666618d4f/recipes/emms-player-mpv-jp-radios";
@@ -18513,12 +18553,12 @@
     enh-ruby-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "enh-ruby-mode";
-        version = "20170822.1647";
+        version = "20171101.1638";
         src = fetchFromGitHub {
           owner = "zenspider";
           repo = "enhanced-ruby-mode";
-          rev = "cc8e64baf7f7bcef2db5b7353ddda9d9733a11cc";
-          sha256 = "1bps5ld798av9nqkjsv7mnj8blnyp30dh809q0fk9qnwylpj74yy";
+          rev = "9467cd7fc8b6bb3caf644b223e3046fc32013ccb";
+          sha256 = "0spsgfkka6sld8ac3m2biydyp8xj84vxa0w7apqvhhmfk3klbbhf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd1ac1ce69b77b11f34c4175611a852e7ec0806c/recipes/enh-ruby-mode";
@@ -18937,6 +18977,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    erc-scrolltoplace = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, switch-buffer-functions }:
+    melpaBuild {
+        pname = "erc-scrolltoplace";
+        version = "20171104.1346";
+        src = fetchFromGitHub {
+          owner = "jgkamat";
+          repo = "erc-scrolltoplace";
+          rev = "7539654e4a72edcc5bba07a101961e5bf0a9d449";
+          sha256 = "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e8ba300957fc00f5e53cf63dfa1e37a27b0d6d60/recipes/erc-scrolltoplace";
+          sha256 = "1cr5nxdk854zcb1w0xvmi4mg45lxv011gap4i96nvdpd4qxmcxph";
+          name = "erc-scrolltoplace";
+        };
+        packageRequires = [ emacs switch-buffer-functions ];
+        meta = {
+          homepage = "https://melpa.org/#/erc-scrolltoplace";
+          license = lib.licenses.free;
+        };
+      }) {};
     erc-social-graph = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erc-social-graph";
@@ -19238,8 +19299,8 @@
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "a51424af47f879e776b9344be813a03d2a4bcb5b";
-          sha256 = "18cyr3pmzwab6zqijl3c6h772wzkl1qh44j87p16hcn42sip9jz1";
+          rev = "19245b1ac7bf881319950adb973ff2ce24fea23e";
+          sha256 = "1av39vwqbd3j7gbm9371sqczds20d0iybqbc1w9hxlr860mig3nn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -19359,12 +19420,12 @@
     ert-runner = callPackage ({ ansi, commander, dash, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s, shut-up }:
     melpaBuild {
         pname = "ert-runner";
-        version = "20170816.1112";
+        version = "20171111.451";
         src = fetchFromGitHub {
           owner = "rejeep";
           repo = "ert-runner.el";
-          rev = "edc21c0d473a16f0130e43962052db2123bb584b";
-          sha256 = "0ihvdcys73l16z180602k6nw9hyirn874li6fd9dp81zqmd9his4";
+          rev = "80ff435058f0e9815d0ac8c7a53143c474e00db3";
+          sha256 = "1mgbrfgdvby25aaw3l9d0h4b7h5zap6s1m1vlxmmv20fhxza7wbc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0a1acc68f296e80b6ed99a1783e9f67be54ffac9/recipes/ert-runner";
@@ -19783,8 +19844,8 @@
         src = fetchFromGitHub {
           owner = "ecukes";
           repo = "espuds";
-          rev = "444285cde99860b50b4c9a2e1c6a25e4db8d9adf";
-          sha256 = "0nwgh9nrr85n6ix60r6z58rw2078wkzkqqfszq2sr7wmad6kxspx";
+          rev = "78fc53feaf77a98d63894cd410faee2a18107b00";
+          sha256 = "04479z1397vaz48bxx3f1xdvxnq1p01gg1y5f3hcbswjl8j3ahmr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14cf66e6929db2a0f377612e786aaed9eb12b799/recipes/espuds";
@@ -19842,12 +19903,12 @@
     ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "ess";
-        version = "20171030.820";
+        version = "20171112.1151";
         src = fetchFromGitHub {
           owner = "emacs-ess";
           repo = "ESS";
-          rev = "da48f2fff367191796b976100c72277bdfb504d2";
-          sha256 = "000rxx14fw1n4k3i6lsvy0bc249pdyx9m1pnpv3x02n0wvmfdq62";
+          rev = "a218dec600c25687a81419e42b555141911504c6";
+          sha256 = "0wl90xiifn83clm25ya953pa91734h0sav1426y5czrmswzw7mj1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
@@ -20073,12 +20134,12 @@
     eval-in-repl = callPackage ({ ace-window, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, paredit }:
     melpaBuild {
         pname = "eval-in-repl";
-        version = "20170730.1445";
+        version = "20171112.1854";
         src = fetchFromGitHub {
           owner = "kaz-yos";
           repo = "eval-in-repl";
-          rev = "7e2b42570b449b2a3c2922f3036a027d1e393a60";
-          sha256 = "0x97flv356kd7j6wbhacz0lmsrdd9as87b0n6nliq5n0y30my8dy";
+          rev = "5f8da66b7bc697e3b86abbe0a4e103f82ce4d038";
+          sha256 = "0nh8hshh4fvyax11sffk1gjs4cicm46chcdgzdfkpr26icg6ka5h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0bee5fb7a7874dd20babd1de7f216c5bda3e0115/recipes/eval-in-repl";
@@ -20178,12 +20239,12 @@
     evil = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, goto-chg, lib, melpaBuild, undo-tree }:
     melpaBuild {
         pname = "evil";
-        version = "20171031.22";
+        version = "20171112.519";
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil";
-          rev = "3735da896e6fc2672ee06c68e77d11befb99c9c1";
-          sha256 = "01p450ap0dvnnv83cbmasb7avz6jv6xycjg4hczf8485xzq0nmcr";
+          rev = "5337d2b3d2f739b4b5b4a73bc0e66363be6b71f9";
+          sha256 = "1hdpkqz8nnzap0d7dnv8nkj66mj1y4w00ibzari500sg9xb4gc49";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/440482c0edac8ee8bd4fe22f6bc5c1607f34c7ad/recipes/evil";
@@ -20535,12 +20596,12 @@
     evil-goggles = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-goggles";
-        version = "20171016.740";
+        version = "20171103.2328";
         src = fetchFromGitHub {
           owner = "edkolev";
           repo = "evil-goggles";
-          rev = "4777cd784953f5e38d76edf458e050605de45bcc";
-          sha256 = "1mmkgpmb69c908yx9k7rgs4zvm1cf554bkqiqppkc92ml9gipfk2";
+          rev = "75d124851fd31bb7014036e969300a0259128557";
+          sha256 = "0184y95d52nbldpn3khxk6f3dlh36v0mjsvhhgg557gwhg5psasi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/811b1261705b4c525e165fa9ee23ae191727a623/recipes/evil-goggles";
@@ -20766,12 +20827,12 @@
     evil-matchit = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-matchit";
-        version = "20170727.1741";
+        version = "20171101.2202";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-matchit";
-          rev = "dbaae2b7537aadb2e44a8915745ee190768b4b2a";
-          sha256 = "1y386wjz23kqfqbbgrwg4fnv2ma21dzk5ppnqd0y5245v388q69n";
+          rev = "fb5807c0965f3689b9e37f5e5b0fce022938bb43";
+          sha256 = "02yz4m9nzn0dql279xbgaxbrwhn6xxb30kf0pyjqyxg2njzfihid";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/aeab4a998bffbc784e8fb23927d348540baf9951/recipes/evil-matchit";
@@ -20871,12 +20932,12 @@
     evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "20170905.653";
+        version = "20171106.1510";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "92bee71aa6fbb36299a4e69e710da786f3694637";
-          sha256 = "1sxwiar17jvqj7plf7jdpwx9kymabr0dsfl7mbkcxpzvrfdlmp12";
+          rev = "6a05c86bdf668fa2bb8a9daf76f3d7b241d7ba3d";
+          sha256 = "0nbgrg1d8g2v7lfdwnd26wm1n4qpwci4a0x3qawngcjkyj9df4q5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@@ -20931,22 +20992,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    evil-org = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
+    evil-org = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-org";
-        version = "20170917.1447";
+        version = "20171107.1159";
         src = fetchFromGitHub {
           owner = "Somelauw";
           repo = "evil-org-mode";
-          rev = "52bbb105a6a7fa9ead68c56746740b4343ecd6e9";
-          sha256 = "1k0akcqbr67lsrj5gkpr9b3nhrf53zd3ksv4sfrapn9xhv13brbi";
+          rev = "e38cf914de6627fed6405004555e0c04fcf39906";
+          sha256 = "1nzbwvhq9k554x6i7qjy4y9s9r4h6lwcmc7na6ic14ybmxv60dl3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1768558ed0a0249421437b66fe45018dd768e637/recipes/evil-org";
           sha256 = "18glpsnpxap4dvnvkl59h9pnwlp20libsfbbkmvrbzsvbdyspg6z";
           name = "evil-org";
         };
-        packageRequires = [ emacs evil org ];
+        packageRequires = [ emacs evil ];
         meta = {
           homepage = "https://melpa.org/#/evil-org";
           license = lib.licenses.free;
@@ -21081,12 +21142,12 @@
     evil-smartparens = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, smartparens }:
     melpaBuild {
         pname = "evil-smartparens";
-        version = "20171101.13";
+        version = "20171103.941";
         src = fetchFromGitHub {
           owner = "expez";
           repo = "evil-smartparens";
-          rev = "3a9c2bf24db73c9443d3e2e65ca662df85653f36";
-          sha256 = "05g6j5z63gmvi2j9h6iax3dklqk61ds28yq84mkiihp58swwmfpw";
+          rev = "9fe4eed1c6327197afe6c13bb0771e18908aff00";
+          sha256 = "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/850898fbfc8e0aeb779e8feae56476d989110e79/recipes/evil-smartparens";
@@ -21232,8 +21293,8 @@
         src = fetchFromGitHub {
           owner = "emacs-evil";
           repo = "evil";
-          rev = "3735da896e6fc2672ee06c68e77d11befb99c9c1";
-          sha256 = "01p450ap0dvnnv83cbmasb7avz6jv6xycjg4hczf8485xzq0nmcr";
+          rev = "5337d2b3d2f739b4b5b4a73bc0e66363be6b71f9";
+          sha256 = "1hdpkqz8nnzap0d7dnv8nkj66mj1y4w00ibzari500sg9xb4gc49";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87da8c50f9167ad9c3844b23becb6904f809611d/recipes/evil-test-helpers";
@@ -21542,12 +21603,12 @@
     exotica-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "exotica-theme";
-        version = "20171031.426";
+        version = "20171113.128";
         src = fetchFromGitHub {
           owner = "jbharat";
           repo = "exotica-theme";
-          rev = "478dddaae45a8e2373bf2b868aeece64f1288d91";
-          sha256 = "17646sa3pgmlzg2s4yic82hkq1bdiqh1spgp5x2lhqh4643fi62s";
+          rev = "5d7657029c89ee38b95223e9c2b887387f915e89";
+          sha256 = "0whb82q8jwda3l7zhdljcgzs0qsx3q5b2q0qqm8mg9dvmi9mlyrx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9182f92dd62e2f1775a76699a6c8f9c3e71e9030/recipes/exotica-theme";
@@ -21802,12 +21863,12 @@
     f = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "f";
-        version = "20170404.1039";
+        version = "20171107.1248";
         src = fetchFromGitHub {
           owner = "rejeep";
           repo = "f.el";
-          rev = "fabdbd4a4a8caf8684f0fa656f457a03c5dfa4de";
-          sha256 = "1983ymny8329d826kfm5f88na1lym991xnz8wjz4nd1ah52c323x";
+          rev = "3623a4577c89740cfad8d961f3201d3222c79ff6";
+          sha256 = "0vwczzrck2gmjb16ais1bvcl307kfvzrfp27wnrmqnznjhnpwj59";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/f";
@@ -22615,6 +22676,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    fish-completion = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "fish-completion";
+        version = "20171104.1509";
+        src = fetchFromGitHub {
+          owner = "Ambrevar";
+          repo = "emacs-fish-completion";
+          rev = "547fe4f61b8e311e5db17be9f6d277d08523beba";
+          sha256 = "0qkq23fad7apm2q1xn3b7agkkv3pvcwv012kvma568zk4jcfw3zg";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/832bae268cd08d7ebfd4b7a8d0570af8549cdbd6/recipes/fish-completion";
+          sha256 = "1lq613b0zb4shlzx5s3br4d16295czx3bfymqcnriyspsfjvakar";
+          name = "fish-completion";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/fish-completion";
+          license = lib.licenses.free;
+        };
+      }) {};
     fish-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "fish-mode";
@@ -22877,12 +22959,12 @@
     flex-compile = callPackage ({ buffer-manage, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flex-compile";
-        version = "20171031.2349";
+        version = "20171107.1257";
         src = fetchFromGitHub {
           owner = "plandes";
           repo = "flex-compile";
-          rev = "031f4612a07dc0ddb03424a2f986ea18e7064fe7";
-          sha256 = "1vwvhaxhpmpcyrmzdfbwxsxif3fx40548gks3y4n0nhprji7wjmg";
+          rev = "82e217aaab34dfd1faf7d03c82eca49706190232";
+          sha256 = "1zp0gki61g487x6bypxlkbjzi972y80pzmhqdisl6qx9yrmk60vy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/259caeebc317e81ab9d532a371ea85656c2b1619/recipes/flex-compile";
@@ -23086,12 +23168,12 @@
     flycheck = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild, pkg-info, seq }:
     melpaBuild {
         pname = "flycheck";
-        version = "20171026.610";
+        version = "20171109.216";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck";
-          rev = "0d982b2860927a03e4cdf663750bd3b4c128918a";
-          sha256 = "0azjq7d3whlqwp0svj04drk1gxd1hm99d95lkqwj9pbag5hip3ly";
+          rev = "d309432efb0a4646ab6ef55759c0e9d07d70a8f2";
+          sha256 = "0y0ds64ij4idm27wm5k2c505m8l7azw8w6r2q8ipshpapnpmdhlj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/649f9c3576e81409ae396606798035173cc6669f/recipes/flycheck";
@@ -23464,12 +23546,12 @@
     flycheck-dedukti = callPackage ({ dedukti-mode, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-dedukti";
-        version = "20170407.258";
+        version = "20171103.512";
         src = fetchFromGitHub {
           owner = "rafoo";
           repo = "flycheck-dedukti";
-          rev = "ea34af5e677fbf18a40935b531abb1d9aae59f6b";
-          sha256 = "03flfn7caxa8jpp6v3mn1mvs8lf4khcl8nsgd1nb93k7wp9x6l5s";
+          rev = "3dbff5646355f39d57a3ec514f560a6b0082a1cd";
+          sha256 = "1ffpxnwl3wx244n44mbw81g00nhnykd0lnid29f4aw1av7w6nw8l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/732832e88a65a8866fa3872ff5f29eb8a26438f2/recipes/flycheck-dedukti";
@@ -23716,12 +23798,12 @@
     flycheck-haskell = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, flycheck, haskell-mode, let-alist, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "flycheck-haskell";
-        version = "20171022.958";
+        version = "20171107.1420";
         src = fetchFromGitHub {
           owner = "flycheck";
           repo = "flycheck-haskell";
-          rev = "ab2e4f9b5ce4665a9b00c3e16dc8ecce30c99d01";
-          sha256 = "1508rd39zkvlwcakw708lpsahmkiq4pzagjd6j8zas0xn1gb6789";
+          rev = "ff21330a5a7db4e42d6ccf4410ef4a3231e5f19a";
+          sha256 = "0vdm6bmvqvf5s7cvadkl0l88cza429xcy21icv55ii5iw1k4hywf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6ca601613788ae830655e148a222625035195f55/recipes/flycheck-haskell";
@@ -24220,12 +24302,12 @@
     flycheck-pycheckers = callPackage ({ fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "flycheck-pycheckers";
-        version = "20171011.2136";
+        version = "20171110.48";
         src = fetchFromGitHub {
           owner = "msherry";
           repo = "flycheck-pycheckers";
-          rev = "0cc2d60ae31f7e2b4e5898091f0a9ba7bafdc854";
-          sha256 = "09a5x83qw5znxdrvrq71r0sgi77qjz901dhhwgzcfgf986si4rhp";
+          rev = "6f7c6d7db4d3209897c4b15511bfaed4562ac5e4";
+          sha256 = "0mg2165zsrkn8w7anjyrfgkr66ynhm1fv43f5p8wg6g0afss9763";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/af36dca316b318d25d65c9e842f15f736e19ea63/recipes/flycheck-pycheckers";
@@ -24287,8 +24369,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
-          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
+          rev = "dadd74f015f89317ff77424be30a9accadeeb4a4";
+          sha256 = "1ylasq4byd2vhaliq34cs86873z7v5w6yzhm4zc457fazsmb8s25";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
@@ -24518,8 +24600,8 @@
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "d951afd8c1c2f25a5cbeef3acfcec5f72acfd6e4";
-          sha256 = "0k6z82a3xkk71lbnw3sxqmr8ixafglivmsb5y35q1jichzz6hail";
+          rev = "e8a6c2bb6cdc18645e2ebc6a8ede8f0c306f013d";
+          sha256 = "0gijzvc6krz1228siysk4za3pwfgfmwh04b8zjc57qkccngibnf9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/flycheck-ycmd";
@@ -25610,8 +25692,8 @@
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "elisp";
-          rev = "b3d8b45c76134e2248448d719c840776e41b747a";
-          sha256 = "0fy0b04mf3brx86xjnidkwg4zs4nh123nc6pgrl4mp6d6552vv98";
+          rev = "02829f582d03c149d0aace9a0bdf2bd405b2e4a2";
+          sha256 = "0rvwhvmv9b6ma6jf5gbmmy9ahrsli4qflc8z2n2whl743rbcfpk6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a7ea18a56370348715dec91f75adc162c800dd10/recipes/forecast";
@@ -25799,8 +25881,8 @@
         src = fetchFromGitHub {
           owner = "rnkn";
           repo = "fountain-mode";
-          rev = "be10ce90ede2d76b67abb5eff9c09294fe189f1e";
-          sha256 = "17zipwazcqqbbsb7p9j2jcid2m0knlah56vbw71yxqb3qbpq7fcz";
+          rev = "34402a27430f8297d157ac3fba3adb09bd3e0d7f";
+          sha256 = "0ci46n4gy5dprz8998xf8dybi5182wv3h65wb2g4h2zhi1n5053i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/913386ac8d5049d37154da3ab32bde408a226511/recipes/fountain-mode";
@@ -26055,12 +26137,12 @@
     fstar-mode = callPackage ({ company, company-quickhelp, dash, emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, quick-peek, yasnippet }:
     melpaBuild {
         pname = "fstar-mode";
-        version = "20171018.847";
+        version = "20171105.1108";
         src = fetchFromGitHub {
           owner = "FStarLang";
           repo = "fstar-mode.el";
-          rev = "98647eb56be24e27cf6abd210dac8c6299cd977f";
-          sha256 = "1dhk9h7gf0hc8w9sdcgk89cbcjlxf4w7hn235rxd6iz7m4n28jzz";
+          rev = "742e427068b5a8568f257585db3fc89c2c6c620e";
+          sha256 = "1id41sw15cvazrh7rfb3b840n2ff42qspfr7pm1sfb3v0g7cq6i6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c58ace42342c3d3ff5a56d86a16206f2ecb45f77/recipes/fstar-mode";
@@ -26214,8 +26296,8 @@
         src = fetchFromGitHub {
           owner = "HIPERFIT";
           repo = "futhark";
-          rev = "bfb9c4a565ac655322efe5c7bb1f77d255762846";
-          sha256 = "141q924pacsxxfsy3yngyh7a9saipjszpm529s0d4hqqws2glxvz";
+          rev = "50fcb5d6885cf9b38a3d242cf5d4f869af74d2ef";
+          sha256 = "02nhv4a02v0xgv8y4qxgh1q55mjplz8mj7c34292iz02mbxmzbyj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0607f01aad7e77d53595ad8db95d32acfd29b148/recipes/futhark-mode";
@@ -26502,12 +26584,12 @@
     geiser = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "geiser";
-        version = "20171010.1610";
+        version = "20171102.1825";
         src = fetchFromGitHub {
           owner = "jaor";
           repo = "geiser";
-          rev = "c266950549a7a0841bf21e092fba632a1e061187";
-          sha256 = "14axzczgnsvmwl32qvpw9p53iknwrya8jbqzhc4d2s4p9vrghk1z";
+          rev = "da22a526c1f683a90bb60840d05a6bb5f3a74ffe";
+          sha256 = "101v0hfsdzksc3pr6vds7ypwmrpxvslmwmskwm9i94sxs39j067c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b0fe32d24cedd5307b4cccfb08a7095d81d639a0/recipes/geiser";
@@ -26523,12 +26605,12 @@
     general = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "general";
-        version = "20171031.1345";
+        version = "20171106.818";
         src = fetchFromGitHub {
           owner = "noctuid";
           repo = "general.el";
-          rev = "6828a859af771df5ec1bf50b67f0fcc7261b5a11";
-          sha256 = "13sm85dybjhnqqgkshc4n4m3vm6pd949ppxyb5li7f0znhq6l3ai";
+          rev = "4b75854316d3db0cd143dcf874a56f90a252f506";
+          sha256 = "0g8fq1ny2c1gjshr8wckgdg0qp4lg1m6430cr5zxazhqf1m59qcp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d86383b443622d78f6d8ff7b8ac74c8d72879d26/recipes/general";
@@ -27031,8 +27113,8 @@
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "5c08d09cdaad506ca94616c59f39982f43f4c12f";
-          sha256 = "053ff7gr56chbfg3n6ysn5q13db2rjr5s7nkplkv72hzla381dys";
+          rev = "1c69e9e9107ac9c881c763f69d11a3686d201a74";
+          sha256 = "1qi32vplmjwnqpcrxgvf1qgzrkbgqi3wgngixwl67dm8xv7di799";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/git-commit";
@@ -27045,22 +27127,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    git-commit-insert-issue = callPackage ({ bitbucket, fetchFromGitLab, fetchurl, github-issues, gitlab, helm, lib, melpaBuild, projectile, s }:
+    git-commit-insert-issue = callPackage ({ bitbucket, fetchFromGitLab, fetchurl, github-issues, gitlab, lib, melpaBuild, projectile, s }:
     melpaBuild {
         pname = "git-commit-insert-issue";
-        version = "20170502.1027";
+        version = "20171102.1141";
         src = fetchFromGitLab {
           owner = "emacs-stuff";
           repo = "git-commit-insert-issue";
-          rev = "8d2448959073646d652687355efec6ba7b1e1af8";
-          sha256 = "1ix2hbs3dfvjlpldpnb06j9al13zss6gmgl6l09dq2ic4warbag7";
+          rev = "f986923b04b587206ce7ee8e0c456768600e8be7";
+          sha256 = "1gffjf6byasisa9jdcv9n4n5zqalvzfsxv7z75zl0g3ph7wc7bbm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/git-commit-insert-issue";
           sha256 = "0xhlchr7dbm0hp4cjba3x1fdf7lnfc97id327i2fqgkdc4yn9fax";
           name = "git-commit-insert-issue";
         };
-        packageRequires = [ bitbucket github-issues gitlab helm projectile s ];
+        packageRequires = [ bitbucket github-issues gitlab projectile s ];
         meta = {
           homepage = "https://melpa.org/#/git-commit-insert-issue";
           license = lib.licenses.free;
@@ -27447,12 +27529,12 @@
     github-modern-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "github-modern-theme";
-        version = "20170628.2332";
+        version = "20171109.451";
         src = fetchFromGitHub {
           owner = "philiparvidsson";
           repo = "GitHub-Modern-Theme-For-Emacs";
-          rev = "1890ab87ca8a046b3fc7b54220647d9ef43a6780";
-          sha256 = "00jw2qf4x943sib0j6grcmm3lfr0ac23wa3vnzjzc509v4l7jzwp";
+          rev = "a7e7b8e5e9c122138e79e837caf9b7299e748d44";
+          sha256 = "0agfy3wiznb2ksfa00g7066mb0vps4g74mj6nl9wkvx847dzg34h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5506d93bd8cf59cd281091b377c1bb9a4243666/recipes/github-modern-theme";
@@ -28627,8 +28709,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "styleguide";
-          rev = "ec88ff999b47a5adcd1b09cc8b49c793af337964";
-          sha256 = "0bmbia1h85d8nsl2gk6wfi0fxij0d8ha56f2h9kk2swv3w5yg1d7";
+          rev = "664829b970331224a697b1e766fafee729d773ee";
+          sha256 = "12qvhjak3bjm7c164capr9k5wwjfxlbv0hzrp1w85c4n2japjxik";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/google-c-style";
@@ -28896,12 +28978,12 @@
     govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
     melpaBuild {
         pname = "govc";
-        version = "20170919.645";
+        version = "20171108.1429";
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "b227a2582a9e5175fc778fc6a03b98aa14534927";
-          sha256 = "0ss8jqczipl557c9pipkpvz3h9x6lhzma15s799zw7jwyza6802y";
+          rev = "46c79c93aa37681c9cdb8bcda3f56f707dde4fb7";
+          sha256 = "1x3ipkl1v66351xpx87j16f08x079a8q8abzi22bf6fl77ypsalf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -29136,22 +29218,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    graphql-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    graphql-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "graphql-mode";
-        version = "20170625.652";
+        version = "20171102.1606";
         src = fetchFromGitHub {
           owner = "davazp";
           repo = "graphql-mode";
-          rev = "3c25bf5cbd5ba4c60dca9c96286412eb765de7c9";
-          sha256 = "09y7w6nipg1f59xrdpzmjiynyvjzkyhkmrpc5mbvz1lavkplh6rd";
+          rev = "1f3bd34b18a41dbda75a0baee38aa0f0f1fffb7a";
+          sha256 = "16cqncjyai3kak9p108c85d8jp0n83jpfijkwjv8nx2s5wyw57dx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3850073e6706d4d8151bc6ab12963a19deae8be9/recipes/graphql-mode";
           sha256 = "074dc8fgbrikb5inv837n9bpmz1ami7aaxsqcci1f94x3iw8i74i";
           name = "graphql-mode";
         };
-        packageRequires = [ emacs ];
+        packageRequires = [ emacs request ];
         meta = {
           homepage = "https://melpa.org/#/graphql-mode";
           license = lib.licenses.free;
@@ -29160,12 +29242,12 @@
     graphviz-dot-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "graphviz-dot-mode";
-        version = "20151127.621";
+        version = "20171103.127";
         src = fetchFromGitHub {
           owner = "ppareit";
           repo = "graphviz-dot-mode";
-          rev = "fdaabbcc95d9156e3dadc84f81a4750c5b692580";
-          sha256 = "1s1qh5r0xp6hs0rl5yz5mkmjhpg04bh449c7vgjbb1pjsl1dl714";
+          rev = "c456a2b65c734089e6c44e87209a5a432a741b1a";
+          sha256 = "0j1r2rspaakw37b0mx7pwpvdsvixq9sw3xjbww5piihzpdxz58z1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6e2f1e66b33fd95142be4622c996911e38d56281/recipes/graphviz-dot-mode";
@@ -29472,12 +29554,12 @@
     gruvbox-theme = callPackage ({ autothemer, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "gruvbox-theme";
-        version = "20170923.2008";
+        version = "20171113.157";
         src = fetchFromGitHub {
           owner = "Greduan";
           repo = "emacs-theme-gruvbox";
-          rev = "4241935d9cc786d0b4a3a445830c395f2a9eeb90";
-          sha256 = "1x624xc2756pmb4h5ayls8r16zy33d9vxr0as4jm6q682h2swir6";
+          rev = "26d15c090be64aca07b14cc0cf69d78736973288";
+          sha256 = "15pq889d3wvbz3fhf5cw3bida49qd3zl2riz3j0ia91pfb275zwm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2bd48c87919f64ced9f3add4860751bb34cb5ecb/recipes/gruvbox-theme";
@@ -29619,12 +29701,12 @@
     guix = callPackage ({ bui, dash, emacs, fetchFromGitHub, fetchurl, geiser, lib, magit-popup, melpaBuild }:
     melpaBuild {
         pname = "guix";
-        version = "20171031.1241";
+        version = "20171106.1127";
         src = fetchFromGitHub {
           owner = "alezost";
           repo = "guix.el";
-          rev = "b11ddb65044468a1d1d7091ee9636aab7b13afed";
-          sha256 = "0jhmc2s1xbr5dnmckszx8j0i3kfj7n868xw1d6sqplm7i0r0wm8s";
+          rev = "e9e9e0212005cb4c8d8772891df127312de56ccf";
+          sha256 = "1m4lsmnjjd37y9g4a09snmjiq5nqnwf22ppxhx41jn63abga9jna";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b3d8c73e8a946b8265487a0825d615d80aa3337d/recipes/guix";
@@ -30394,12 +30476,12 @@
     helm = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "helm";
-        version = "20171030.2225";
+        version = "20171106.429";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "fe92240663f6b2314e79558f6eabbab955a797e3";
-          sha256 = "1ip2a9fh3k14s87h8zhw6flybkskcx6vrayyzj5929g97mr26a5k";
+          rev = "42a03cc1f4da09b3a513c4175c913314856122e2";
+          sha256 = "1nqj1syqv75y7hk2s8c650abxzq8cvp4dpnbmjjiwxranwsfz6zq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7e8bccffdf69479892d76b9336a4bec3f35e919d/recipes/helm";
@@ -31024,12 +31106,12 @@
     helm-core = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-core";
-        version = "20171029.2252";
+        version = "20171103.2225";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm";
-          rev = "fe92240663f6b2314e79558f6eabbab955a797e3";
-          sha256 = "1ip2a9fh3k14s87h8zhw6flybkskcx6vrayyzj5929g97mr26a5k";
+          rev = "42a03cc1f4da09b3a513c4175c913314856122e2";
+          sha256 = "1nqj1syqv75y7hk2s8c650abxzq8cvp4dpnbmjjiwxranwsfz6zq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7/recipes/helm-core";
@@ -31084,6 +31166,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-ctest = callPackage ({ dash, fetchFromGitHub, fetchurl, helm-core, lib, melpaBuild, s }:
+    melpaBuild {
+        pname = "helm-ctest";
+        version = "20171101.934";
+        src = fetchFromGitHub {
+          owner = "danlamanna";
+          repo = "helm-ctest";
+          rev = "6de962e355e12a69e4aeaf6484f497e28b2e8a68";
+          sha256 = "0nd1ij7iqf02hni4d77mndbxi8w27vawjd9b3d7fia22vdsha040";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1cc85ff5554df10fc2066eec4d90de3b25536923/recipes/helm-ctest";
+          sha256 = "1mphc9fsclbw19p5i1xf52qg6ljljbajvbcsl95hisrnvhg89vpm";
+          name = "helm-ctest";
+        };
+        packageRequires = [ dash helm-core s ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-ctest";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-dash = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-dash";
@@ -31339,12 +31442,12 @@
     helm-ext = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-ext";
-        version = "20170914.1348";
+        version = "20171101.1231";
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "helm-ext";
-          rev = "c2de41c4694ed606b321bcf83493dee93ad5635a";
-          sha256 = "0bnnzf7pwg0qyx8hafgx6ckcc7n3pvf5j1qbipkzgnqmfqfli0n7";
+          rev = "c8ac56918b200239b3f73a4e6a031deecc2c5646";
+          sha256 = "08c6n4zr6s3h7y0kk6g51xqs6hs29hkfmn55jfjw6hpimbk3vi1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1ee74cb0aa3445bc9ae4226c2043ee4de3ac6cd3/recipes/helm-ext";
@@ -31528,12 +31631,12 @@
     helm-fuzzy-find = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-fuzzy-find";
-        version = "20150613.349";
+        version = "20171105.2000";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "helm-fuzzy-find";
-          rev = "daf24bc236dafa4f4be45f1621e11dbc9f304b64";
-          sha256 = "1yxnmxq6ppfgwxrk5ryc5xfn82kjf4j65j14hy077gphr0q61q6a";
+          rev = "de2abbf7ca13609587325bacd4a1ed4376b5c927";
+          sha256 = "1dacvnkqqiax02c627z9qi61iyqgr0j3qqmjp29h0v494czvrdbs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/34f76bb377ed31aa42663858c407cc5476e6fe1f/recipes/helm-fuzzy-find";
@@ -32071,6 +32174,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    helm-js-codemod = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm-core, js-codemod, lib, melpaBuild }:
+    melpaBuild {
+        pname = "helm-js-codemod";
+        version = "20171106.244";
+        src = fetchFromGitHub {
+          owner = "torgeir";
+          repo = "helm-js-codemod.el";
+          rev = "18503d94e64418e8ea5c5854f197ae9f3009cdbf";
+          sha256 = "0d5fsvfa017gda0jryjdvva1q04nry6grc1433gvgrqqp6vxayxc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/dd005bfb170df2f0c992043130a5e9588dcf4d77/recipes/helm-js-codemod";
+          sha256 = "1m07xh97fjyah8di363yalg9f5g5rfr3k5mbjql3n67lfwgxrz94";
+          name = "helm-js-codemod";
+        };
+        packageRequires = [ emacs helm-core js-codemod ];
+        meta = {
+          homepage = "https://melpa.org/#/helm-js-codemod";
+          license = lib.licenses.free;
+        };
+      }) {};
     helm-jstack = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-jstack";
@@ -32137,12 +32261,12 @@
     helm-lean = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, helm, lean-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-lean";
-        version = "20170919.934";
+        version = "20171102.754";
         src = fetchFromGitHub {
           owner = "leanprover";
           repo = "lean-mode";
-          rev = "2f73061c886bae07bc51e4d9eb545ed8027c0442";
-          sha256 = "17bqx7bkfzv4w7cf0l139xwg1shns680rq74hrqgicammb453kz7";
+          rev = "c0af876c967fc969d67c467bc6767210d19c5d87";
+          sha256 = "04qzck156wb2bvrb8adbn7rx2v0bsjcirlbx4ajajjsqy858ayn9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42f4d6438c8aeb94ebc1782f2f5e2abd17f0ffde/recipes/helm-lean";
@@ -32242,12 +32366,12 @@
     helm-make = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "helm-make";
-        version = "20171004.1018";
+        version = "20171103.1155";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "helm-make";
-          rev = "786104ac0c3cf4fe5b53f841eb9fe10bda2e4031";
-          sha256 = "0qdfk0p2j8jah7m0ngy2mm7775cn779m3a84yll86wqc74g331qs";
+          rev = "feae8df22bc4b20705ea08ac9adfc2b43bb348d0";
+          sha256 = "1y2v77mmd1bfkkz51cnk1l0dg3lvvxc39wlamnm7wjns66dbvlam";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0f25f066c60d4caff1fbf885bc944cac47515ec8/recipes/helm-make";
@@ -32939,8 +33063,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
-          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
+          rev = "dadd74f015f89317ff77424be30a9accadeeb4a4";
+          sha256 = "1ylasq4byd2vhaliq34cs86873z7v5w6yzhm4zc457fazsmb8s25";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
@@ -33292,12 +33416,12 @@
     helm-w3m = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild, w3m }:
     melpaBuild {
         pname = "helm-w3m";
-        version = "20170918.1017";
+        version = "20171102.216";
         src = fetchFromGitHub {
           owner = "emacs-helm";
           repo = "helm-w3m";
-          rev = "158f52abaa216cd64fc2c85f07722eceef508cec";
-          sha256 = "1kvvgrfjpifrph1fgn4jvrhsrq8qq9z3w0ag9wjx5lb595svn4vh";
+          rev = "8345b7e60702911f54eb6571e429c0d31878957d";
+          sha256 = "05izdvs8hwkkmz6hvlm2b5p5jmha39nsnnzzhnli70jrbqj013cq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f683fc9c7990e9ecb8a94808a7d03eb90c5569b1/recipes/helm-w3m";
@@ -33418,12 +33542,12 @@
     helpful = callPackage ({ dash, elisp-refs, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "helpful";
-        version = "20171016.1437";
+        version = "20171112.1321";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "helpful";
-          rev = "3e08b24e9eabbb17535d39b087895c04cbcd5c1f";
-          sha256 = "17i4q307rdpgpw76m6brf6vis1znfwfqzhfcb181zgf2gam620hb";
+          rev = "a703e0837756871ed333a9a40c00a625e5d61387";
+          sha256 = "02672bd8ka3nrkcd0d7nfz90sin0qfavdz5yhghh5rijirg8jm0f";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/889d34b654de13bd413d46071a5ff191cbf3d157/recipes/helpful";
@@ -34093,8 +34217,8 @@
         src = fetchFromGitHub {
           owner = "chrisdone";
           repo = "hindent";
-          rev = "578d1256e466eb8bf40fd7e441172eb12e878637";
-          sha256 = "02dvnlg3r9pfk18664d5paqc90ll6a4sc05a9w2phafmi9kypwgr";
+          rev = "889e1655c6eb170e0d30c3c1173f7fba87041736";
+          sha256 = "012h82m1x2iva2mh3q0rr5s3y8hm1kmnybngnaakzphhshdph32p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dbae71a47446095f768be35e689025aed57f462f/recipes/hindent";
@@ -34383,12 +34507,12 @@
     hledger-mode = callPackage ({ async, emacs, fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "hledger-mode";
-        version = "20171031.1157";
+        version = "20171101.1139";
         src = fetchFromGitHub {
           owner = "narendraj9";
           repo = "hledger-mode";
-          rev = "7caae71ba87b592e08fb4caaaa1da8e9af80ec62";
-          sha256 = "17b5hg7fkm8fj2v477ir9z87kn7q07v75akga414k29xlfzmvdw3";
+          rev = "70f4d9c44077eea13bdcb5688475e0c90578e085";
+          sha256 = "0j4pk2qr93pxgg8smzhxmlpk9b0rv9w20n1dz5lw42641xx8frnf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/hledger-mode";
@@ -34633,12 +34757,12 @@
     ht = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ht";
-        version = "20171024.1200";
+        version = "20171112.1405";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "ht.el";
-          rev = "a741bac82797d25ec0542764df7443e9e7241033";
-          sha256 = "1m1v31bfaw2g3jymcxsl2bi1z37pj0sfhmldljk8m9zgjll56g6c";
+          rev = "ce65ce5d535cc86698ad6012f60fb56d7d80d8db";
+          sha256 = "07yd5fqh5y3bbr6capc3x562kl4ia39d55qvz521yxdnzmwsdpq7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c7589bca1c1dfcc0fe76779f6847fda946ab981/recipes/ht";
@@ -35135,12 +35259,12 @@
     ibuffer-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile }:
     melpaBuild {
         pname = "ibuffer-projectile";
-        version = "20170721.1823";
+        version = "20171103.2004";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "ibuffer-projectile";
-          rev = "431e29d6cf12fc333fc8dc16ceeba54b9416a4aa";
-          sha256 = "1z5a4ygqmp4yjyfpcqlb846vsxvv5s2awhd3r63whw1hs9h6qqah";
+          rev = "6f03040a93d116b73f9fd3d6b52102b57bfaf597";
+          sha256 = "0jmb4s4n8yxyavvvd4msr58708jlha7jd8hm5djl91fgf87r3ys3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/363a6a888945f2c8b02f5715539439ba744d737d/recipes/ibuffer-projectile";
@@ -35198,12 +35322,12 @@
     ibuffer-vc = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ibuffer-vc";
-        version = "20161103.2358";
+        version = "20171106.2341";
         src = fetchFromGitHub {
           owner = "purcell";
           repo = "ibuffer-vc";
-          rev = "e504f9233a9a15834562b6646883b6bf81986674";
-          sha256 = "04a9y4kgbzw5s34rl3xidv21h35vs2rsy061vjsppglggyp1jpl5";
+          rev = "83d60aefd21e2aa20c7217d224f38a40bb75e63b";
+          sha256 = "06jk5ccsfivh6bf6ppkli6cni39rvmm9asack1056f9q6jq6l8p1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/ibuffer-vc";
@@ -35870,12 +35994,12 @@
     iflipb = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "iflipb";
-        version = "20170527.839";
+        version = "20171102.1336";
         src = fetchFromGitHub {
           owner = "jrosdahl";
           repo = "iflipb";
-          rev = "e19229473be70e55c56a26ccc26c4e11e8be6389";
-          sha256 = "1ybnxl6zgzhxrwsqf54hz235xhz3rmxy7w459salb7rr2s1fqvlz";
+          rev = "3a1ec69ffe7802794fe46baeecbf11846cbdc3ed";
+          sha256 = "1wamzkmndmghvsw8ffbqmllp4nd7yxamym7m62pz22blyh1sj97m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fad6fc8bc3c0be0d5789a0d7626ebc3f298b4318/recipes/iflipb";
@@ -36284,15 +36408,36 @@
           license = lib.licenses.free;
         };
       }) {};
+    indent-info = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "indent-info";
+        version = "20171105.153";
+        src = fetchFromGitHub {
+          owner = "terlar";
+          repo = "indent-info.el";
+          rev = "2340739dee51e6c45f04053881a2d8c4452fb5ba";
+          sha256 = "0afhx8j7nrkjirq7xr3bcrjm5wcs24slkb6yzi6cw09080s5hlxc";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/1274c0d871c51e358b3de577372dae8e3a04ead0/recipes/indent-info";
+          sha256 = "0fa6p5fvyxib1iz025kqak7navb11jlfxw5x2jr47180vv9a1373";
+          name = "indent-info";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/indent-info";
+          license = lib.licenses.free;
+        };
+      }) {};
     indent-tools = callPackage ({ fetchFromGitLab, fetchurl, hydra, lib, melpaBuild, s, yafolding }:
     melpaBuild {
         pname = "indent-tools";
-        version = "20170907.715";
+        version = "20171103.750";
         src = fetchFromGitLab {
           owner = "emacs-stuff";
           repo = "indent-tools";
-          rev = "5605fee418287bf13d2e132fa7f90a6b7ec08584";
-          sha256 = "0ps3n6m3il7gj1v04fq1a0fmw8wz32jcxrf2ig6qvxyx0q12672k";
+          rev = "6e8e9a8cf9efe4a8624e52f45cb5faa5fe8ec996";
+          sha256 = "1hh4r4axnbmi12hk2d3pynvq3nldgbik8jf73v5ddmv06kqlsxya";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/indent-tools";
@@ -36329,12 +36474,12 @@
     indium = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }:
     melpaBuild {
         pname = "indium";
-        version = "20171027.914";
+        version = "20171106.916";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "Indium";
-          rev = "f7b46c9dd39dfc7ffefb52e35b0795450d3ea96f";
-          sha256 = "0qba8c4qr8v0881lc2pnw6lddspzkdj7hsapf6x0vk1mwqmnww4x";
+          rev = "c15f5a2b4a48fd53b446e0fa291bdb8323b80c27";
+          sha256 = "07fzsjmbbq4nx2w23pbb0z88iqmclm156yd87nxsdivndmzvsgw2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium";
@@ -36623,12 +36768,12 @@
     inkpot-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "inkpot-theme";
-        version = "20170709.1858";
+        version = "20171106.640";
         src = fetchFromGitHub {
           owner = "ideasman42";
           repo = "emacs-inkpot-theme";
-          rev = "7b2f19ebd01535f77da407e28ca970c2ce442493";
-          sha256 = "1d2vi919fz6kdya5gafhy9wwmlzid88j9klcbslzh8bjmamnbxcx";
+          rev = "046d0bb361500e14c718b00930d31c73890929cb";
+          sha256 = "02qlqh6fvk8cgf8mrl9m4bmaar45i5kpsjngkqqpl3kgxvycbsk8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/dd3e02aaf8865d8038b9c590c8545e7a1b21d620/recipes/inkpot-theme";
@@ -37126,12 +37271,12 @@
     irony = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "irony";
-        version = "20171018.1550";
+        version = "20171110.1151";
         src = fetchFromGitHub {
           owner = "Sarcasm";
           repo = "irony-mode";
-          rev = "78b06aa2df5251adaabb6c749febc1f1bd2ad605";
-          sha256 = "0nhjrnlmss535jbshjjd30vydbr8py21vkx4p294w6d8vg2rssf8";
+          rev = "1d865c71fefeab952a2f61184d7f77371706954a";
+          sha256 = "0xkl9wm63dxwb1s3sd3skbzvsdhva6gfbfz27m7z1j5zdc94x64x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d2b6a8d57b192325dcd30fddc9ff8dd1516ad680/recipes/irony";
@@ -37294,12 +37439,12 @@
     itail = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "itail";
-        version = "20170823.1629";
+        version = "20171112.4";
         src = fetchFromGitHub {
           owner = "re5et";
           repo = "itail";
-          rev = "606a5e93f53a36cad958e191a9698dd74683a773";
-          sha256 = "1ddy3q36hhhzjkr4lcaw0brk28ssyllava0yx2xn5kxbfs0lhdfb";
+          rev = "6e43c20da03be3b9c6ece93b7dc3495975ec1888";
+          sha256 = "044nzxh1hq41faxw3lix0wy78vfz304pjcaa5a11dqfz7q3gx5cv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6b810bf1deeb79064144d8b684fab336686018ef/recipes/itail";
@@ -37336,12 +37481,12 @@
     iter2 = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "iter2";
-        version = "20171031.755";
+        version = "20171111.1104";
         src = fetchFromGitHub {
           owner = "doublep";
           repo = "iter2";
-          rev = "a0e41b2f55d50c08c59ffcc6e83a977c141bcc55";
-          sha256 = "0ccr9qjhc35wi07yckd9y26synihhsg8zwkxgqyzkx7avxkqfyhn";
+          rev = "ac1b4f10203d8093ae9f897039be97fd5ec65969";
+          sha256 = "098bsm5wc7nqk06awak2ar4nwd3xpqsdc9pb2n0px20ql6lxh4bh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d94316660051ee0ba0c12e380e6203986440368f/recipes/iter2";
@@ -37420,12 +37565,12 @@
     ivy = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy";
-        version = "20171031.716";
+        version = "20171106.1142";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "96663b77945ab21e4e1b0aab690fc2e926f01f9c";
-          sha256 = "0r691dzs77zdkvjzb787kjg8zvvba8gdj2da9zjb14m4nyjmg9d9";
+          rev = "5009b8149a86949f9e6d7546479e998be2e14337";
+          sha256 = "181bhxq2xscd9h1s0aix5lkp7gzg041q713157hrv200p2fnzb6d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy";
@@ -37550,8 +37695,8 @@
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "96663b77945ab21e4e1b0aab690fc2e926f01f9c";
-          sha256 = "0r691dzs77zdkvjzb787kjg8zvvba8gdj2da9zjb14m4nyjmg9d9";
+          rev = "5009b8149a86949f9e6d7546479e998be2e14337";
+          sha256 = "181bhxq2xscd9h1s0aix5lkp7gzg041q713157hrv200p2fnzb6d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06c24112a5e17c423a4d92607356b25eb90a9a7b/recipes/ivy-hydra";
@@ -37651,12 +37796,12 @@
     ivy-rich = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "ivy-rich";
-        version = "20170716.1924";
+        version = "20171106.2334";
         src = fetchFromGitHub {
           owner = "yevgnen";
           repo = "ivy-rich";
-          rev = "84964443f9a3ded1676190e9e0f91dac4557cc21";
-          sha256 = "1gsf3klcrmabalfywxv5pffpbgw9nw90plc5xxq6a01f7b46rp7c";
+          rev = "565ea4128741f68727df9d54dee40c9a89b63885";
+          sha256 = "1mqg406gs8blzsay5jmdvr894l5iy4z4q2rmv5f89fvanmnl9d0h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0fc297f4949e8040d1b0b3271c9a70c64887b960/recipes/ivy-rich";
@@ -37676,8 +37821,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
-          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
+          rev = "dadd74f015f89317ff77424be30a9accadeeb4a4";
+          sha256 = "1ylasq4byd2vhaliq34cs86873z7v5w6yzhm4zc457fazsmb8s25";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
@@ -37735,12 +37880,12 @@
     ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }:
     melpaBuild {
         pname = "ivy-youtube";
-        version = "20170822.659";
+        version = "20171112.732";
         src = fetchFromGitHub {
           owner = "squiter";
           repo = "ivy-youtube";
-          rev = "9a9d584124bd9905b5a8a7e29cdafa3224770c9d";
-          sha256 = "0fircdxhfb9s6qmzic2hizhlwfkszw3was83nw09zf0zhab3vllh";
+          rev = "23e1089d4c4fc32db20df14ba10078aabf117e87";
+          sha256 = "0m70vxjj49kf8bzni2qchgzgx808z1fcfh02cflkhjcb77dkq8d6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ivy-youtube";
@@ -37798,12 +37943,12 @@
     j-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "j-mode";
-        version = "20171017.1813";
+        version = "20171103.845";
         src = fetchFromGitHub {
           owner = "zellio";
           repo = "j-mode";
-          rev = "96154937120028f24ee4933904ce4240c87f387e";
-          sha256 = "0mni4wk9kn1iq9vyl7v7akjsb566sgm2vwwsc4sk2mf4x7g9m2rs";
+          rev = "6f7f598eaa1a32ccf06b707631f2d539a2315fba";
+          sha256 = "1qldmcawi94pxv62zb2qgr27kr8lwhsql6wi67g0f5dlihpzc8dq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/410134ab2145adad3648b1024bfe4f6801df82c9/recipes/j-mode";
@@ -38174,12 +38319,12 @@
     jbeans-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jbeans-theme";
-        version = "20171011.927";
+        version = "20171108.1431";
         src = fetchFromGitHub {
           owner = "synic";
           repo = "jbeans-emacs";
-          rev = "d3cd21b794ba94680f0f3aa574b5029a749430e6";
-          sha256 = "1c3qb3f4dapvfwwrnbgx5sim515pr2i5lvmnid780wphymwjslsc";
+          rev = "9a5095d65de8355c88b102831b81a525d507612a";
+          sha256 = "0fm7sl6i5i65y82qsg2s7bdarc6r28qbyffdl43c55bjzxs4xk19";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6dd4bd78795ec7509d8744fec1e80426ce0557ec/recipes/jbeans-theme";
@@ -38384,12 +38529,12 @@
     jetbrains = callPackage ({ cl-lib ? null, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "jetbrains";
-        version = "20171027.2055";
+        version = "20171107.847";
         src = fetchFromGitHub {
           owner = "emacs-php";
           repo = "jetbrains.el";
-          rev = "38e136079f3f2ddbe0e8b7dec01cf6b515e897d8";
-          sha256 = "1ji64qip5raf0lbv7fv36rd4fwa33zn0xi7sa0zrgf0kcsr0qasb";
+          rev = "8d0851793d0658cc39bca455dc14c89f78ab8335";
+          sha256 = "1k3zb3c5h8bqa7yxl3by4vxlzabh3wl5sz6ynpi01pmqf75qxa4s";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/00dd4626e261d9831fc62d866d50b7257ee418c4/recipes/jetbrains";
@@ -38619,8 +38764,8 @@
         src = fetchFromGitHub {
           owner = "ybiquitous";
           repo = "js-auto-format-mode";
-          rev = "68c6c51320f124d84145643dda59619966bb29f4";
-          sha256 = "04slx5ipcf1lj9fvx537yfyvqmg324pfji02w5iafqnyvyhdjy9p";
+          rev = "5ba81cd7cdd09d41a8e9c9d53d370497bf64edbd";
+          sha256 = "113ppyfvly6i03j8kmyd3i6218v0r2f449wk3zbx9vf2d6plzc8v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d3be16771b5b5fde639da3ee97890620354ee7a/recipes/js-auto-format-mode";
@@ -38636,12 +38781,12 @@
     js-codemod = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js-codemod";
-        version = "20171017.1411";
+        version = "20171104.454";
         src = fetchFromGitHub {
           owner = "torgeir";
           repo = "js-codemod.el";
-          rev = "cf0d0a47588cad640e4397f306fd17d2166a8f04";
-          sha256 = "04im9cs7hbs2bzx5ynibwgbypy91vvrz3jjy72hzfaamdglw7w8r";
+          rev = "014e56c846487d1eeaf8a91dd503b9d96eb1510a";
+          sha256 = "0s07ypjlqsx2pgq89wmr69w9p7ybc62abqp53kzf5gmdl6fdzgxq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/81670a2467fa846a3f0e6c81e870e8ae140dd54e/recipes/js-codemod";
@@ -38783,12 +38928,12 @@
     js2-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "js2-mode";
-        version = "20171014.1229";
+        version = "20171107.333";
         src = fetchFromGitHub {
           owner = "mooz";
           repo = "js2-mode";
-          rev = "dd295e838d3878188b1797b82a86867e3e56d22c";
-          sha256 = "04axxxhy1jbn21bzsxwlirsv9mnzbrwcxbql28vzvw6572vkrb9x";
+          rev = "eba9797444b7549c1ed210f8fa59903917df151c";
+          sha256 = "0jk2jxmh96sgpb01fpa2xp9z70a52cpi8arxcbvyrkfs7ccrx2cs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/js2-mode";
@@ -38804,12 +38949,12 @@
     js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }:
     melpaBuild {
         pname = "js2-refactor";
-        version = "20171013.258";
+        version = "20171109.921";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "js2-refactor.el";
-          rev = "b9829059745fbedfeb8c48646056fb27ce23a33a";
-          sha256 = "1jwkly6srxx21ff6xnkvr7qqrlpsvis8i89v0z7vfz5f05yryscj";
+          rev = "35db9111d49536f41e005560e8e90fd93836e8e4";
+          sha256 = "059ib04l6ycar7bz515x3nkxbgvr781isba632fvz0a87vdcbqsm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor";
@@ -39117,12 +39262,12 @@
     julia-repl = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "julia-repl";
-        version = "20171018.443";
+        version = "20171101.424";
         src = fetchFromGitHub {
           owner = "tpapp";
           repo = "julia-repl";
-          rev = "b20cadb67d65e52ecb57bbb07369215d01c956e0";
-          sha256 = "048jf00lmyrsr815kk8h5y5hdvpmbd6zvchq8x5vyziqd2vpsdc3";
+          rev = "ec1ea3296acea3721ac0f371c6b955135d75bb1d";
+          sha256 = "0xvm7filzmjmg88if1yjsyifkkji4bkm073x79w05sph35c8d8a2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9a2a494969a9caf2f4513b12504379c9685047dc/recipes/julia-repl";
@@ -39472,12 +39617,12 @@
     kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-themes";
-        version = "20171101.316";
+        version = "20171113.209";
         src = fetchFromGitHub {
           owner = "ogdenwebb";
           repo = "emacs-kaolin-themes";
-          rev = "85d11341944ff91e7949306c588f237ebf8adc5e";
-          sha256 = "1cqmg3hksqb3vi2m77ysacx8znp6b94vqcxw7lm4psrdwb3ris8g";
+          rev = "08e13adfab07c9cf7b0df313c77eac8fb393b284";
+          sha256 = "0wijf5493wmp219ypbvhp0c4q76igrxijzdalbgkyp2gf8xvq6b4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
@@ -39980,8 +40125,8 @@
         src = fetchFromGitHub {
           owner = "kivy";
           repo = "kivy";
-          rev = "be946b5e33cc1fc734a29ba46ca734391803fbcd";
-          sha256 = "1ngpwjhilpg974xx4z8fiz6c2ycpdr6xbky1d3d24563hjp1a5kr";
+          rev = "b242c7053e2a1dd7d963fcacd6a428143f09f5a6";
+          sha256 = "06gzspzqxiqsfpa0zyhrgizcxghn6al73dhj5vn5j219cmpiyy7a";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/688e2a114073958c413e56e1d117d48db9d16fb8/recipes/kivy-mode";
@@ -40731,12 +40876,12 @@
     lean-mode = callPackage ({ dash, dash-functional, emacs, f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s }:
     melpaBuild {
         pname = "lean-mode";
-        version = "20170920.755";
+        version = "20171102.754";
         src = fetchFromGitHub {
           owner = "leanprover";
           repo = "lean-mode";
-          rev = "2f73061c886bae07bc51e4d9eb545ed8027c0442";
-          sha256 = "17bqx7bkfzv4w7cf0l139xwg1shns680rq74hrqgicammb453kz7";
+          rev = "c0af876c967fc969d67c467bc6767210d19c5d87";
+          sha256 = "04qzck156wb2bvrb8adbn7rx2v0bsjcirlbx4ajajjsqy858ayn9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/42f4d6438c8aeb94ebc1782f2f5e2abd17f0ffde/recipes/lean-mode";
@@ -41327,12 +41472,12 @@
     lispy = callPackage ({ ace-window, emacs, fetchFromGitHub, fetchurl, hydra, iedit, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "lispy";
-        version = "20171017.1052";
+        version = "20171112.44";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "lispy";
-          rev = "d70db0d6cfae3c030167389828219b9c9ac88248";
-          sha256 = "1jrcrlnn0k814wqw2dyzjhcc7q4k95pp7apcmfzv7zk5jwf5p0xk";
+          rev = "1d3684a2ff211d81b080bab2cfcffc6dfc911dfb";
+          sha256 = "1dcqr6zcfk48yna99kp2zzkm29n2ilwg1bkrjwp7i7pid3zz41i2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e23c062ff32d7aeae486c01e29c56a74727dcf1d/recipes/lispy";
@@ -41642,12 +41787,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "20171029.1522";
+        version = "20171109.2007";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "2ecd23457ac26f30f7218a5506142ca71dc602be";
-          sha256 = "17d6p7i2yi3iawc2k8w4fkx5lwnr0x5kax73cgwapv6ghmr9yy42";
+          rev = "f5da8df21ae2aa704ddca4473b6f9400ba12d30c";
+          sha256 = "1w0xc0bc5jl0q9yi9jhvy4xgdyrz9l402v9qv8mmrp2iqf5cdblm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -41750,8 +41895,8 @@
         version = "20150910.644";
         src = fetchgit {
           url = "https://llvm.org/git/llvm";
-          rev = "26acced737715cfcbf29f6708f900b4bb8a6d5e8";
-          sha256 = "189c90wax1zyzk017j4brq2i25smkmpkb05wzakywkf0rgswxwqh";
+          rev = "377a566dcea87ba5b29ce196a677aaac7b738d64";
+          sha256 = "0g3v6z3s471wiqszshy9xl0lzyyn1vi304a3awkh8d7lyx9qw10m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e2a0e4698d4e71ec28656594f6a83504a823490/recipes/llvm-mode";
@@ -42182,6 +42327,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    lsp-hack = callPackage ({ fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
+    melpaBuild {
+        pname = "lsp-hack";
+        version = "20171108.1813";
+        src = fetchFromGitHub {
+          owner = "jra3";
+          repo = "lsp-hack";
+          rev = "a69bd0340039570d55fdea326a1086b958647ea1";
+          sha256 = "19rsjyklhd2lgll4204l5rzqbv4jvsh1yd3mcv5g4p3s3xpfp9is";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/a70d8442c653554d28dc87425913424ab42ab5c8/recipes/lsp-hack";
+          sha256 = "1xfvk4hqs748b9dm8dirb2mdpnhq9mybgsbcj258yydr57d9zijs";
+          name = "lsp-hack";
+        };
+        packageRequires = [ lsp-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/lsp-hack";
+          license = lib.licenses.free;
+        };
+      }) {};
     lsp-haskell = callPackage ({ fetchFromGitHub, fetchurl, haskell-mode, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-haskell";
@@ -42269,12 +42435,12 @@
     lsp-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild }:
     melpaBuild {
         pname = "lsp-mode";
-        version = "20171029.148";
+        version = "20171111.1203";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-mode";
-          rev = "b221b2acce8936114649cdbdf0ce1d584487ef91";
-          sha256 = "0ndbhy1035ji31ffhc6hxybwm59kzmlp9hg1zjhfww4d0sym9hz9";
+          rev = "27b78dfbf117035f4b276f716e16dfb37d5fb7d4";
+          sha256 = "0l37ss2mp4byxs3h2wln3kg4w094mbc0cjf838cj5z57y8ar141z";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1a7b69312e688211089a23b75910c05efb507e35/recipes/lsp-mode";
@@ -42290,12 +42456,12 @@
     lsp-ocaml = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
     melpaBuild {
         pname = "lsp-ocaml";
-        version = "20171022.308";
+        version = "20171111.1352";
         src = fetchFromGitHub {
           owner = "emacs-lsp";
           repo = "lsp-ocaml";
-          rev = "3683281bcb56fbe778fadb23e4363a411b6f9e73";
-          sha256 = "102cfv52hicmpbczs1z3cfz8d03p2hwzdkp3n0ljx1asnk4l1b8x";
+          rev = "1aef50ceb2794a2f2234fb0f13410b7f1e3b5c16";
+          sha256 = "0naxdkc0y45wjqbvb61vgiyrajyf5clg1wypf7g3ljny7791xz3l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7be2d7a7af3d744c531e5e018d791bf2566df428/recipes/lsp-ocaml";
@@ -42668,12 +42834,12 @@
     magit = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, git-commit, lib, magit-popup, melpaBuild, with-editor }:
     melpaBuild {
         pname = "magit";
-        version = "20171031.1141";
+        version = "20171112.348";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "5c08d09cdaad506ca94616c59f39982f43f4c12f";
-          sha256 = "053ff7gr56chbfg3n6ysn5q13db2rjr5s7nkplkv72hzla381dys";
+          rev = "1c69e9e9107ac9c881c763f69d11a3686d201a74";
+          sha256 = "1qi32vplmjwnqpcrxgvf1qgzrkbgqi3wgngixwl67dm8xv7di799";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68bb049b7c4424345f5c1aea82e950a5e47e9e47/recipes/magit";
@@ -42885,12 +43051,12 @@
     magit-popup = callPackage ({ async, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "magit-popup";
-        version = "20171023.926";
+        version = "20171109.1438";
         src = fetchFromGitHub {
           owner = "magit";
           repo = "magit";
-          rev = "5c08d09cdaad506ca94616c59f39982f43f4c12f";
-          sha256 = "053ff7gr56chbfg3n6ysn5q13db2rjr5s7nkplkv72hzla381dys";
+          rev = "1c69e9e9107ac9c881c763f69d11a3686d201a74";
+          sha256 = "1qi32vplmjwnqpcrxgvf1qgzrkbgqi3wgngixwl67dm8xv7di799";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cec5af50ae7634cc566adfbfdf0f95c3e2951c0c/recipes/magit-popup";
@@ -43008,22 +43174,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub-plus, lib, magit, melpaBuild, s }:
+    magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub-plus, git-commit, lib, magit, markdown-mode, melpaBuild, s }:
     melpaBuild {
         pname = "magithub";
-        version = "20171029.1959";
+        version = "20171111.623";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "magithub";
-          rev = "2fcd5eebf3e052234950b3b07e43d26ce632a794";
-          sha256 = "0k5bxxfj60vr58g7rnj562ls8ijb0ia66fdiqpyffi5sf0wan13i";
+          rev = "098209b84a1204d7014aa061294e223a40030248";
+          sha256 = "0jlclxyahcl0dl1yl83a34kr0xlfzdyplkabjzz1p29xj94ivw9y";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/magithub";
           sha256 = "11par5rncsa866gazdw98d4902rvyjnnwbiwpndlyh06ak0lryab";
           name = "magithub";
         };
-        packageRequires = [ emacs ghub-plus magit s ];
+        packageRequires = [ emacs ghub-plus git-commit magit markdown-mode s ];
         meta = {
           homepage = "https://melpa.org/#/magithub";
           license = lib.licenses.free;
@@ -43544,12 +43710,12 @@
     markdown-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "markdown-mode";
-        version = "20171031.1725";
+        version = "20171112.1835";
         src = fetchFromGitHub {
           owner = "jrblevin";
           repo = "markdown-mode";
-          rev = "7a62259a22ccbf59b0132d077348ee489edf5d1e";
-          sha256 = "137xkm76k6faak478hmnr6yrhymbfln0xs0ninzp4iy57kxyx9d9";
+          rev = "e3e7069e340ba18965d4b58d913efd3ea6e3ab38";
+          sha256 = "123ixjar4zk6hsjclz5rgm82gz5a1v0jwbb3x0l17gnbbkmcvym7";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/74610ec93d4478e835f8b3b446279efc0c71d644/recipes/markdown-mode";
@@ -44578,12 +44744,12 @@
     mingus = callPackage ({ fetchFromGitHub, fetchurl, lib, libmpdee, melpaBuild }:
     melpaBuild {
         pname = "mingus";
-        version = "20161001.150";
+        version = "20171112.115";
         src = fetchFromGitHub {
           owner = "pft";
           repo = "mingus";
-          rev = "519c42b3dd138211c8a025e00826ba196c29facf";
-          sha256 = "01p7j729gzn0sh0361qyz2gkfdz33mvb6xs5d5vj67pc2l7clxdh";
+          rev = "9ebe7a2a0fee1f0e39fffc5c67a260bc596fb27e";
+          sha256 = "15c7l9sbmxmxcwihq54mfwh0n8lx89zkwy6yaydpgd7a1knqka5p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6699927f1ded5c97f2ce1861f8e54a5453264cca/recipes/mingus";
@@ -45834,6 +46000,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    mu4e-jump-to-list = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "mu4e-jump-to-list";
+        version = "20171104.1248";
+        src = fetchFromGitHub {
+          owner = "wavexx";
+          repo = "mu4e-jump-to-list.el";
+          rev = "2aa995ddedc7634292b459a3ea2718eea39695cf";
+          sha256 = "0l4fnnmdb5xf99klviabyqkh3ywkwvphhf8darj42ygrhbs086pd";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/ca51179f5584c0eac626da7cda896b247d33fcae/recipes/mu4e-jump-to-list";
+          sha256 = "1k4ic476f6xzh6f1a9jaqy0248zz2q4xjygdvrsyrp1sxjbrwxvm";
+          name = "mu4e-jump-to-list";
+        };
+        packageRequires = [ cl-lib emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/mu4e-jump-to-list";
+          license = lib.licenses.free;
+        };
+      }) {};
     mu4e-maildirs-extension = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "mu4e-maildirs-extension";
@@ -46403,12 +46590,12 @@
     nameframe = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nameframe";
-        version = "20160927.2103";
+        version = "20171106.1656";
         src = fetchFromGitHub {
           owner = "john2x";
           repo = "nameframe";
-          rev = "d14186e99fa800d293e8e3072ba26f383c6624c6";
-          sha256 = "0aibzwp39lxafag0vpa36xp8md7nhvgibj1nklzhga2d9nq9l4km";
+          rev = "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8";
+          sha256 = "1ivklkz3j722wg038bh3hmycp9j64zjrig49vl42mkj6d3ggwilg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd314150b3f8ce529a2ae39a71e03bebedfdc6b9/recipes/nameframe";
@@ -46428,8 +46615,8 @@
         src = fetchFromGitHub {
           owner = "john2x";
           repo = "nameframe";
-          rev = "d14186e99fa800d293e8e3072ba26f383c6624c6";
-          sha256 = "0aibzwp39lxafag0vpa36xp8md7nhvgibj1nklzhga2d9nq9l4km";
+          rev = "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8";
+          sha256 = "1ivklkz3j722wg038bh3hmycp9j64zjrig49vl42mkj6d3ggwilg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2543af5579d37a3eb52e6fea41da315f5590331e/recipes/nameframe-perspective";
@@ -46449,8 +46636,8 @@
         src = fetchFromGitHub {
           owner = "john2x";
           repo = "nameframe";
-          rev = "d14186e99fa800d293e8e3072ba26f383c6624c6";
-          sha256 = "0aibzwp39lxafag0vpa36xp8md7nhvgibj1nklzhga2d9nq9l4km";
+          rev = "aafb8c5c5fbe0510e2f5d5b6b6b5dd0b73abe5d8";
+          sha256 = "1ivklkz3j722wg038bh3hmycp9j64zjrig49vl42mkj6d3ggwilg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bc17af8ff1694120d12a0cdbfccec78834810acd/recipes/nameframe-projectile";
@@ -47137,12 +47324,12 @@
     nimbus-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nimbus-theme";
-        version = "20171026.504";
+        version = "20171110.1011";
         src = fetchFromGitHub {
           owner = "m-cat";
           repo = "nimbus-theme";
-          rev = "e78561a828e50b5bd0984723d9040620367180c8";
-          sha256 = "04cbr0a3kvk79lyrriblm4q7y00j0banwl7a4r9li4iq92rgcivh";
+          rev = "d10740a6b9e787e7d56dc1d58b11b768cc4f79bc";
+          sha256 = "1h5myqvlrniylgcrpxrsih7qkmjhh8y74ysda89p0r7ky61977r8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fc0e6b456b76e2379c64a86ad844362c58146dc6/recipes/nimbus-theme";
@@ -47557,8 +47744,8 @@
         version = "20170927.415";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "1b91884296f7e423f2e190ccf7f590ccb3028fdd";
-          sha256 = "0f78b9nw7ccpkkf192ka40d5021gbj114capjlkf4d79qr8m91yh";
+          rev = "cf08295c503a2cefc4c51c5398f3fc1159521ff1";
+          sha256 = "1vc49c5n5jdkhvy436avklcvpw6nhdk9kw9gybd6izjbrcjgy62c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -47595,12 +47782,12 @@
     nov = callPackage ({ dash, emacs, esxml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "nov";
-        version = "20170924.512";
+        version = "20171104.1641";
         src = fetchFromGitHub {
           owner = "wasamasa";
           repo = "nov.el";
-          rev = "19ab463864f137b43704b4f34173349c88e84d8e";
-          sha256 = "00f5hhw157nwdwy26yn6l3z2hgk6xxvx5xl0hasskj1l9rg0zgh2";
+          rev = "7d14b6a2aa649e2213348883893a24a6a6083cb9";
+          sha256 = "0l8b4847rig76d974akpkbb43i7pnhx75wmlgczqscmripspdxyb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cf543955ba2d5d0074fa2a5ba176f9415f6e006d/recipes/nov";
@@ -47637,12 +47824,12 @@
     npm-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "npm-mode";
-        version = "20160706.1129";
+        version = "20171103.1135";
         src = fetchFromGitHub {
           owner = "mojochao";
           repo = "npm-mode";
-          rev = "63a5c306f6e8d53f043471eb8ea734f00ca998c4";
-          sha256 = "1ph680i24sga02r2w2r2rial4mi0czv0abz2jif3pypzxz3h1f15";
+          rev = "91b8a5ad9301a368e1ce051e625450d7fe3884a4";
+          sha256 = "1zzx9956mfrh91d84dpl4ij9b62iza4mflr9qjlh69b8allajngn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/22dd6b2f8a94f56a61f4b70bd7e44b1bcf96eb18/recipes/npm-mode";
@@ -47721,12 +47908,12 @@
     nu-mode = callPackage ({ ace-window, avy, fetchFromGitHub, fetchurl, lib, melpaBuild, transpose-frame, undo-tree, which-key }:
     melpaBuild {
         pname = "nu-mode";
-        version = "20171028.1443";
+        version = "20171112.1324";
         src = fetchFromGitHub {
           owner = "pyluyten";
           repo = "emacs-nu";
-          rev = "683e2648a5b669e91138eec606f2e86f9f54ccd3";
-          sha256 = "0mf8cj729ag7c0z1155ziaqx9s119nwxg9231rb8i8qx17vdci2b";
+          rev = "110f6382ca8f4a1742aa42bc1caf8eb7841b49d2";
+          sha256 = "03znxrmqya446qqjp8c7fr6dx6gkx9v6v984hdp1jbki5i9i2h8j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/230d5f8fdd965a24b8ff3cc94acf378d04815fca/recipes/nu-mode";
@@ -48004,8 +48191,8 @@
         src = fetchFromGitHub {
           owner = "astahlman";
           repo = "ob-async";
-          rev = "f0bfe88d6032e9ae8f4953e2569aeca5431a3e3d";
-          sha256 = "0ak23m2i24ix9443236zdvp3f3j27dis5k6pivic3whmb618g3v8";
+          rev = "fce7355a7982089c11e264ca29ab320a7e792dd1";
+          sha256 = "03lgi83ym0509q1y4ar7s0d7yi80m85m1sb1rsmsv5awbsw2cym8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ob-async";
@@ -48018,6 +48205,26 @@
           license = lib.licenses.free;
         };
       }) {};
+    ob-axiom = callPackage ({ axiom-environment, emacs, fetchgit, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "ob-axiom";
+        version = "20171103.1548";
+        src = fetchgit {
+          url = "https://bitbucket.org/pdo/axiom-environment.git";
+          rev = "b4f0fa9cd013e107d2af8e2ebedff8a7f40be7b5";
+          sha256 = "0p2mg2824mw8l1zrfq5va1mnxg0ib5f960306vvsm6b3pi1w5kv0";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/9f07feb8686c76c330f282320b9f653dc16cadd5/recipes/ob-axiom";
+          sha256 = "0ks0q4ych3770gqds7kmccvx27fay7gfygi3a9n7c01p4snfai8l";
+          name = "ob-axiom";
+        };
+        packageRequires = [ axiom-environment emacs ];
+        meta = {
+          homepage = "https://melpa.org/#/ob-axiom";
+          license = lib.licenses.free;
+        };
+      }) {};
     ob-blockdiag = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ob-blockdiag";
@@ -48336,12 +48543,12 @@
     ob-ipython = callPackage ({ dash, dash-functional, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ob-ipython";
-        version = "20171021.839";
+        version = "20171111.740";
         src = fetchFromGitHub {
           owner = "gregsexton";
           repo = "ob-ipython";
-          rev = "c93d26342c28d1ba01ab46406f7f277128d85e6d";
-          sha256 = "08p7sm40s0sb4cplh92krp18jkjm62m5wsivcpzyln7ambb9ml3y";
+          rev = "0cd6f75657df904637fbef7b540344ef5c559c3f";
+          sha256 = "1rmlc6xnj6nh39rscz9963k5wlppiysibby32r314lxk6n03gj0l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/557c36e86844c211f2d2ee097ce51ee9db92ea8b/recipes/ob-ipython";
@@ -49089,22 +49296,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    olivetti = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    olivetti = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "olivetti";
-        version = "20171017.210";
+        version = "20171102.1906";
         src = fetchFromGitHub {
           owner = "rnkn";
           repo = "olivetti";
-          rev = "4c8b62f54ec4151cf8b48a7e1f904d3b4a7d73d6";
-          sha256 = "06hyn8mmi7ikgwpyds17z35rjwxrlwjkvv1dmjcp4jirnqbp9lmk";
+          rev = "cd2fdca25935a47a5d3b0417a206f886579f8c45";
+          sha256 = "0cm630yvsdib868xl9x1ng3i64dcyzvq8pzhhaz99b7zc7wfayvh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/697334ca3cdb9630572ae267811bd5c2a67d2a95/recipes/olivetti";
           sha256 = "0fkvw2y8r4ww2ar9505xls44j0rcrxc884p5srf1q47011v69mhd";
           name = "olivetti";
         };
-        packageRequires = [];
+        packageRequires = [ emacs ];
         meta = {
           homepage = "https://melpa.org/#/olivetti";
           license = lib.licenses.free;
@@ -49243,8 +49450,8 @@
         src = fetchFromGitHub {
           owner = "dotemacs";
           repo = "omniref.el";
-          rev = "cc18a41e9717bae439d66c945788e3e19b4624ad";
-          sha256 = "0d6kjggi2p937ydpvw3fr2cxy5vj46dmfqbkb7a9jdhnzxadnwh5";
+          rev = "3ab7a8b10f611f8e9e7922e7e2b42d1c73e93594";
+          sha256 = "03x150c60fsw65n22ajpvjnb2w9jisds9xbxl2pwgcmvfdnxmhw9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/163d77d2b0d7759f3747239089d8761a7db13a9e/recipes/omniref";
@@ -49260,12 +49467,12 @@
     omnisharp = callPackage ({ auto-complete, cl-lib ? null, csharp-mode, dash, emacs, f, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, popup, s, shut-up }:
     melpaBuild {
         pname = "omnisharp";
-        version = "20171030.2201";
+        version = "20171105.912";
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "906e29a702237f039f24c215fdb561a728a3df1b";
-          sha256 = "1l1rzl7y5j2wmlgx7ivivwvwvbn4h7pg5s7yqsk65n9kb59ha8s8";
+          rev = "ad4a19c60f7dc3d52a5b11febdcc9b78930a1e7d";
+          sha256 = "0jc2ap9l0cc636kssld1bqalbriib57sw1rzz45s8r19jqa8w5gm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
@@ -50109,12 +50316,12 @@
     org-download = callPackage ({ async, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-download";
-        version = "20170924.2309";
+        version = "20171107.1115";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "org-download";
-          rev = "14261c2619be224fc4c499624abc2cba3663e7f5";
-          sha256 = "0d8lcg9gnzf5bpn1z83i5nni444mzy6mlqggadsrdav9bdf8cfy2";
+          rev = "c75095778c02e70fc7efa2aac5c77936b56d04db";
+          sha256 = "0c38npgy17v93yw4zixvwyx89mpy4j86rk7911bjwivn8xp3vjk2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/edab283bc9ca736499207518b4c9f5e71e822bd9/recipes/org-download";
@@ -50277,12 +50484,12 @@
     org-evil = callPackage ({ dash, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, monitor, org }:
     melpaBuild {
         pname = "org-evil";
-        version = "20171004.255";
+        version = "20171102.556";
         src = fetchFromGitHub {
           owner = "GuiltyDolphin";
           repo = "org-evil";
-          rev = "aae5688c15cef9f2f6105d395dab36b163d5af34";
-          sha256 = "01ablfw0prcb4bwsaa6fbqc80xz539a48psvnmddz98c8yjhb9g7";
+          rev = "90a82ec72fb688ef98d1343c02dc3c6da9e4bbee";
+          sha256 = "0fl9m1bgcmvxpdmb05lbna9snfrd8gbrn16c2w72b3asxx7acq94";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/17a4772d409aa5dbda5fb84d86c237fd2653c70b/recipes/org-evil";
@@ -50423,12 +50630,12 @@
     org-jira = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "org-jira";
-        version = "20171017.2015";
+        version = "20171105.2011";
         src = fetchFromGitHub {
           owner = "ahungry";
           repo = "org-jira";
-          rev = "ff048833113bac1ee67284826a6c3a4cd70793b4";
-          sha256 = "071z37sv6fw1dggi2ckphb1srzvanwnmy0xbsa3b2pfpv4yvvdhm";
+          rev = "acad51a1efbdab58975aebe7cb69bdd6556bc44f";
+          sha256 = "1y183bsjdxlfi22xd7kd1w5xa3qnmgf7063083f977sf5z9afsyy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/730a585e5c9216a2428a134c09abcc20bc7c631d/recipes/org-jira";
@@ -50444,12 +50651,12 @@
     org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-journal";
-        version = "20170928.231";
+        version = "20171113.53";
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "org-journal";
-          rev = "06402de02461338503bf034ceca44c3a5a898778";
-          sha256 = "1myrxs1s51vpv3a47fbprsh4b17ylglxqv2nak5i1g2834plhpgv";
+          rev = "44a52a20a154d5c1a78684ef720972c4fe36b64a";
+          sha256 = "0c4jwh53mgy4qpv7aiwbsbvjjhchyfjb0ca5ny5875ljvkq59qz6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
@@ -50528,12 +50735,12 @@
     org-mime = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-mime";
-        version = "20171014.141";
+        version = "20171105.1440";
         src = fetchFromGitHub {
           owner = "org-mime";
           repo = "org-mime";
-          rev = "db707a73379fb3b21ae6e24c6230bfd3dde7ef45";
-          sha256 = "1sy5d1nnhvkan877bx2pbc16n7sy2jn5cpdsca06mrxb1m3mxzbd";
+          rev = "64a3f56651369b2a8b0a601abea1cf1216db2ded";
+          sha256 = "0jvknbiilik3dwkz1kpjf7ac1fqkdh74pljzpyxxyg3slqha0d50";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/521678fa13884dae69c2b4b7a2af718b2eea4b28/recipes/org-mime";
@@ -50549,12 +50756,12 @@
     org-mind-map = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "org-mind-map";
-        version = "20171012.1834";
+        version = "20171109.1238";
         src = fetchFromGitHub {
           owner = "theodorewiles";
           repo = "org-mind-map";
-          rev = "cd5dbe2bded1294de1bdc881e53d691244e5c921";
-          sha256 = "0x7nbgcsf0nhda4m7qrxdaa0sffkndfd59nrr09vcxap84rfwacm";
+          rev = "9d6e262bedd94daf9de269f4d56de277275677cb";
+          sha256 = "0jgkkgq7g64zckrmjib0hvz0qy3ynz5vz13qbmlpf096l3bb65wn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3c8683ee547a6a99f8d258561c3ae157b1f427f2/recipes/org-mind-map";
@@ -50808,12 +51015,12 @@
     org-pomodoro = callPackage ({ alert, cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-pomodoro";
-        version = "20161119.226";
+        version = "20171108.1314";
         src = fetchFromGitHub {
           owner = "lolownia";
           repo = "org-pomodoro";
-          rev = "4b1d650b8d0b607a616a8c792da428334fe635f7";
-          sha256 = "0z613daq1r4l0bfn9h8h69dcpczhnsgc653v0753jahmcj0hrqx6";
+          rev = "3deed1c26dcbda4d5231b9085ddf68e302b0f9dc";
+          sha256 = "0mpcqqrz8mrqn1gbvffyw5d0qgpg3cpljxqk028s9snj4vy6xpz5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e54e77c5619b56e9b488b3fe8761188b6b3b4198/recipes/org-pomodoro";
@@ -51186,8 +51393,8 @@
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "org-super-agenda";
-          rev = "00b0dbbc48b99e89f6e76e6a6b000f2f5716c40e";
-          sha256 = "126v1zc5cm1sbm56z2h8v5lvlbjsnccgf80x7zm3970q0rdf0qh4";
+          rev = "d06bfb021bee575ce750b36ee9bfc2d8fc8fd635";
+          sha256 = "1lh4ggpc948cs7i4h3hxj4qq4msr9wqi97h6skflvgvs5ihlgq41";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fd27b2df7594a867529de4b84c8107f82dabe2e9/recipes/org-super-agenda";
@@ -51438,8 +51645,8 @@
         src = fetchFromGitHub {
           owner = "org-trello";
           repo = "org-trello";
-          rev = "32dd866e830836a72a3b96b96e0d00d044d0eaf7";
-          sha256 = "0m5hyhb6211hdmyp1bq6f3fklfgw3957knd96bfdafj727vdnlzm";
+          rev = "d7885038d7e160a64f561f8abc942206d582faa6";
+          sha256 = "091hznr9pznm26p5vm0kav69qkji6hihf6bil0a314d8k0kaj5bc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/188ed8dc1ce2704838f7a2883c41243598150a46/recipes/org-trello";
@@ -52220,12 +52427,12 @@
     outshine = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild, outorg }:
     melpaBuild {
         pname = "outshine";
-        version = "20171005.955";
+        version = "20171108.441";
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "outshine";
-          rev = "75389b7104692f4f6a97dc72020d145f03affd25";
-          sha256 = "0j99wx48xq5vpla69yj5w255n3acbgc4bbig4kmbvayr2871ls7n";
+          rev = "5f1a6b70231d2811c522e4e5e8c89ff461b311d6";
+          sha256 = "1l9v1dfhgg7il11ifbhvcvrg3acfjk9sdxlc3lja1k54d7dp60jv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8edf78a0ecd2ff8e6e066b80751a31e11a068c3f/recipes/outshine";
@@ -52304,12 +52511,12 @@
     ox-asciidoc = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-asciidoc";
-        version = "20170622.346";
+        version = "20171111.354";
         src = fetchFromGitHub {
           owner = "yashi";
           repo = "org-asciidoc";
-          rev = "83cc8afad239bf386832e1da49fa273ab5a3e466";
-          sha256 = "0slv4mp9vlazzd4c503zvqx66dxl6qwr9qrdi1grmshq0vnfxlyb";
+          rev = "e75d9565dd07dc59d11fa92d392ab47cecb3c902";
+          sha256 = "1irv8k8l99kk5qqgapj1bfg9ppnd4fkkagm96mgxf0bxax0pblhn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3b268064f09ae5c3d15064b7d197c7af767fb278/recipes/ox-asciidoc";
@@ -52367,12 +52574,12 @@
     ox-epub = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-epub";
-        version = "20171020.1659";
+        version = "20171105.0";
         src = fetchFromGitHub {
           owner = "ofosos";
           repo = "ox-epub";
-          rev = "a93d1833533c3589dbba62dcdfd13f99881e0fad";
-          sha256 = "1iqdsp70h98qwfah91w9rj9j29952zkr6q261mrfy4c43jvghvln";
+          rev = "31ed40ad3f0b3166cb3e772f8689b12d7f2cfe1b";
+          sha256 = "1p9pdm3mhwf5ldl0g4c8kf8iqwzqg0f88qd0nmw33mm8mvikvv1h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c3ac31dfef00e83fa6b716ea006f35afb5dc6cd5/recipes/ox-epub";
@@ -52430,12 +52637,12 @@
     ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-hugo";
-        version = "20171029.1929";
+        version = "20171111.2310";
         src = fetchFromGitHub {
           owner = "kaushalmodi";
           repo = "ox-hugo";
-          rev = "caa3aa99c6bef6d0dcaa4713a7934c7d410a5641";
-          sha256 = "0vadb0d7wgz37cdzhgciv0b0fd6wc4gwdz0ppdhk1s9y3hkcbkw6";
+          rev = "f770883072e80c619204e586218b6543cda5e24b";
+          sha256 = "1az3ivzs5x6d49kqc1l6d2g3ypp3x2rc5dq5ys5bw6mcl26ykq0k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
@@ -52598,12 +52805,12 @@
     ox-pandoc = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, ht, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-pandoc";
-        version = "20170829.1658";
+        version = "20171107.341";
         src = fetchFromGitHub {
           owner = "kawabata";
           repo = "ox-pandoc";
-          rev = "63a1e2b39049a95f6ad7f599561bcfea45086bc2";
-          sha256 = "0iw5imsf7qllkrh39p4pwp6ibwx08nfydfrzwc7bvck0qgzrs7fv";
+          rev = "55861adfceeae436deeae8402f545b771ad3484b";
+          sha256 = "1pvijswwx3a4bb1z32kk9x70ba07zr2wjr913ri8gp81kj84zb0x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca17de8cdd53bb32a9d3faaeb38f19f92b18ee38/recipes/ox-pandoc";
@@ -53253,8 +53460,8 @@
         src = fetchFromGitHub {
           owner = "cadadr";
           repo = "elisp";
-          rev = "b3d8b45c76134e2248448d719c840776e41b747a";
-          sha256 = "0fy0b04mf3brx86xjnidkwg4zs4nh123nc6pgrl4mp6d6552vv98";
+          rev = "02829f582d03c149d0aace9a0bdf2bd405b2e4a2";
+          sha256 = "0rvwhvmv9b6ma6jf5gbmmy9ahrsli4qflc8z2n2whl743rbcfpk6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a7ea18a56370348715dec91f75adc162c800dd10/recipes/paper-theme";
@@ -53793,12 +54000,12 @@
     pastery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "pastery";
-        version = "20170206.1934";
+        version = "20171112.851";
         src = fetchFromGitHub {
           owner = "diasbruno";
           repo = "pastery.el";
-          rev = "3f60a2660613c09be5a0b6e299828b44ee3c8732";
-          sha256 = "1dzbkiy2qjdq4isrpiwj25qj069nhydzngg6avyh2c2qmxkibjsr";
+          rev = "245779100e7d1c1a10b67fe7b9055343d3a8229c";
+          sha256 = "1wn53ncs0nivmdqlryvidqkksky8w4ymmfsqm1ha62jkxcwqf26h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6058218450071db0af9a5b8ce8ec09a735c4ab66/recipes/pastery";
@@ -54024,12 +54231,12 @@
     pcmpl-pip = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pcmpl-pip";
-        version = "20141024.148";
+        version = "20171109.1932";
         src = fetchFromGitHub {
           owner = "hiddenlotus";
           repo = "pcmpl-pip";
-          rev = "b775bef9fa3ae9fb8015409554ecdd165c4bc325";
-          sha256 = "14pz15by9gp0307bcdv9h90mcr35ya89wbn3y13n7k0z5r45gn58";
+          rev = "50345753df4420f1ca4d1b8cb56b0f8d29d2969c";
+          sha256 = "0svl0xxh3amc52kj73m3mi732gm3907l2gk7i91iy0ynp6v3f0rz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/pcmpl-pip";
@@ -54904,12 +55111,12 @@
     php-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "php-mode";
-        version = "20171018.1236";
+        version = "20171107.826";
         src = fetchFromGitHub {
           owner = "ejmr";
           repo = "php-mode";
-          rev = "0e87a708fb0cf7bb5ad88baf08bd60e061e8b63c";
-          sha256 = "13676hca2mdfawc61g3hp1m56wv45i37g8gxhjb3mvjyjrb10rkv";
+          rev = "1e9ec6411e6ad3c85225e724215c28b01232fe18";
+          sha256 = "0c8gdy6hc03c9al91j1py6xg0c6qzbhkcyzn4423lnkakv33iiwp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7cdbc35fee67b87b87ec72aa00e6dca77aef17c4/recipes/php-mode";
@@ -55261,12 +55468,12 @@
     pip-requirements = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "pip-requirements";
-        version = "20160930.2032";
+        version = "20171109.1439";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "pip-requirements.el";
-          rev = "babe44af1132fb05748c7ee098a4226b9e31eb76";
-          sha256 = "0x9kqqi36pvh04x6ng20wz9c47s7pndfawyw0j7yp9i0sgqbc1bh";
+          rev = "d6d0437794e5de205a5fb03e0ff0a4a1b9e04eea";
+          sha256 = "01j33xlrh8zflzib7gngjhkgg8fvyx2yz57clxzbjkd4377f22c2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5eaf6987f92070ccc33d3e28c6bb2b96f72ba1aa/recipes/pip-requirements";
@@ -55716,22 +55923,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    pocket-lib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, kv, lib, melpaBuild, request }:
+    pocket-lib = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, kv, lib, melpaBuild, request, s }:
     melpaBuild {
         pname = "pocket-lib";
-        version = "20171026.1610";
+        version = "20171108.421";
         src = fetchFromGitHub {
           owner = "alphapapa";
           repo = "pocket-lib.el";
-          rev = "52d4c3d9ca500acbf0a4cac4abfacc0641007abe";
-          sha256 = "1c59xzh2acrfmld0fg78h3kyzhgfcfcbk7nmvb584jr2qppkszgy";
+          rev = "c860dc2f67398d837de2be17e85894a1303e7b49";
+          sha256 = "1cpwzpicqad3xn7714z9z2v26i3zyqldm78xnnkac3dwar29zjvb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/71f17ce28f4fc8c2c100848be8aec15526ef8697/recipes/pocket-lib";
           sha256 = "0v619blifmvm36dr773wjf35fjji4dj3pyck9nkz0m8zmpz0fg78";
           name = "pocket-lib";
         };
-        packageRequires = [ dash emacs kv request ];
+        packageRequires = [ dash emacs kv request s ];
         meta = {
           homepage = "https://melpa.org/#/pocket-lib";
           license = lib.licenses.free;
@@ -56694,12 +56901,12 @@
     prodigy = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "prodigy";
-        version = "20170816.1114";
+        version = "20171107.1159";
         src = fetchFromGitHub {
           owner = "rejeep";
           repo = "prodigy.el";
-          rev = "94d4d2870b86af1185e6395dabf15b3695846f38";
-          sha256 = "017xw1havxq9v6vxwvarmvxwk41jsrjik1mak5habmpfpwv78k01";
+          rev = "9c6c494ffdabd3125980c98824bc3af800176624";
+          sha256 = "0dy185gdkxscm3lwxcgaw6ad636wcha7kwi3zfmxkjm9zd90jfd1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/prodigy";
@@ -56861,12 +57068,12 @@
     project-shells = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "project-shells";
-        version = "20170312.1912";
+        version = "20171107.51";
         src = fetchFromGitHub {
           owner = "hying-caritas";
           repo = "project-shells";
-          rev = "1baec678ff04c2970591a2cb477c00b0182d6db1";
-          sha256 = "05x0i3zyqgx72r9mzs98anzwdy7l1v2p5m6k4sffp1fcsp78b80v";
+          rev = "d9401de750e444697c2eb9de1ff79f2a2eba4af8";
+          sha256 = "1x16l0gijirmj667s8l87nizsiww2wzjka9ydl4yxzchl7a486cp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/becf54de5ae9582d7c76382dff16d40b04b1a464/recipes/project-shells";
@@ -56882,12 +57089,12 @@
     projectile = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, pkg-info }:
     melpaBuild {
         pname = "projectile";
-        version = "20171031.456";
+        version = "20171109.240";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "projectile";
-          rev = "7892f642ce7ab6ee816e5926ae02ea2014dac2a8";
-          sha256 = "17vclk40435qv2g0fjgyc0fndjghd2x20i43zvcff45yjqmyhw88";
+          rev = "7dccd879f62c6a8386734ff6ffe57d73c435b332";
+          sha256 = "1fw8fqhnid3psfz7maq3l229icwlxrjypxc4p4fmdqgvsnhr01ds";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/ca7bf43ef8893bf04e9658390e306ef69e80a156/recipes/projectile";
@@ -56987,12 +57194,12 @@
     projectile-rails = callPackage ({ emacs, f, fetchFromGitHub, fetchurl, inf-ruby, inflections, lib, melpaBuild, projectile, rake }:
     melpaBuild {
         pname = "projectile-rails";
-        version = "20170901.47";
+        version = "20171103.1004";
         src = fetchFromGitHub {
           owner = "asok";
           repo = "projectile-rails";
-          rev = "31c9f90d472e07cb8e49fa8992b187b67c9c9a71";
-          sha256 = "0j38zbprkga3iq5wb77zvfa5r3sj3sqv8qh0ab62wm68qy60d6g3";
+          rev = "ff5f63df4e1403f5ab1286f1099a072a5f6694d9";
+          sha256 = "0qxnpz0nmh3rxrqmw93abmxjf0fnhl0nyalywa8crhzfrd7qff79";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b16532bb8d08f7385bca4b83ab4e030d7b453524/recipes/projectile-rails";
@@ -57327,8 +57534,8 @@
         src = fetchFromGitHub {
           owner = "google";
           repo = "protobuf";
-          rev = "cbe250591fca9d2e776776be065a72c5550a5556";
-          sha256 = "0g8zp8ws7i9v3a719dvwkva0f9rap5s6jdpw2j8cj1kp94bvk9fl";
+          rev = "8cf53f8dfca43b0347efcc1052033c96aa3f626c";
+          sha256 = "1as1bj77zffc103wyw75wnng61z7bnnmbl9ds8glnq383gzqd99n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b4e7f5f641251e17add561991d3bcf1fde23467b/recipes/protobuf-mode";
@@ -57414,22 +57621,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    psession = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    psession = callPackage ({ async, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "psession";
-        version = "20170110.228";
+        version = "20171107.2313";
         src = fetchFromGitHub {
           owner = "thierryvolpiatto";
           repo = "psession";
-          rev = "3488f7777486aa6c85ebc04d011860163d3cf0fc";
-          sha256 = "0v9pg9ywwdqmahmmhg4gwzmibznlbmiyz4hf90brb59ns013jb53";
+          rev = "d087644db226e2c66481d3c248e26afa9e4eb670";
+          sha256 = "1hb8cs8kkqpd96fb5dc8fysgg29fvay0ky83n9nawwzq516396ag";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/669342d2b3e6cb622f196571d776a98ec8f3b1d3/recipes/psession";
           sha256 = "18va6kvpia5an74vkzccs72z02vg4vq9mjzr5ih7xbcqxna7yv3a";
           name = "psession";
         };
-        packageRequires = [ cl-lib emacs ];
+        packageRequires = [ async cl-lib emacs ];
         meta = {
           homepage = "https://melpa.org/#/psession";
           license = lib.licenses.free;
@@ -58196,8 +58403,8 @@
         src = fetchFromGitHub {
           owner = "PyCQA";
           repo = "pylint";
-          rev = "dd78aedcf0f499188ad8232f2193ba62c791d33e";
-          sha256 = "0hqxh294hg9y8nz4i8p2mipg65d6p6wfy9kqlfx9zy5cm19dn7fm";
+          rev = "7f6bae953ad2515b5849b90a9b7b3a64f52ea3c6";
+          sha256 = "0iz3f94kghda379sspv4k8s23ykhwc70q877j12l5msq1b858gcv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a073c91d6f4d31b82f6bfee785044c4e3ae96d3f/recipes/pylint";
@@ -58339,12 +58546,12 @@
     python-mode = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-mode";
-        version = "20171031.431";
+        version = "20171113.324";
         src = fetchFromGitLab {
           owner = "python-mode-devs";
           repo = "python-mode";
-          rev = "06e1db1bb2f4d2da994387f2cbb1cfc6e5db242b";
-          sha256 = "019j22hmc1f1izc61l8hnasvs4vj9sb9pl9w3v63ck086h89jda1";
+          rev = "7c4683ff12e32844f53bb31db2b3feab56cd7164";
+          sha256 = "0abxip189gyhqkchwsbnylrcgxn1py9fyvrxjvrkfr24qr9m30qq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82861e1ab114451af5e1106d53195afd3605448a/recipes/python-mode";
@@ -58381,12 +58588,12 @@
     python-test = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "python-test";
-        version = "20170711.1155";
+        version = "20171112.2137";
         src = fetchFromGitHub {
           owner = "emacs-pe";
           repo = "python-test.el";
-          rev = "196efba6dae286e0719bc5993ee23e01db9a0912";
-          sha256 = "00hbwy0cnv2v1djncijmbsdxddd48p4g0mfr4nn83203243hvbn0";
+          rev = "f00b9de14647b15b6f36ceee77d7e9e08dd074a4";
+          sha256 = "1ba3r79afd5za36g09imp546bbvx2v9j58hl1bhjahx992wywrch";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0ea68b3aa9c057e81a3e90a359a38ac16cb26c2f/recipes/python-test";
@@ -58822,12 +59029,12 @@
     racket-mode = callPackage ({ emacs, faceup, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "racket-mode";
-        version = "20170913.534";
+        version = "20171110.1153";
         src = fetchFromGitHub {
           owner = "greghendershott";
           repo = "racket-mode";
-          rev = "33877b1bb24faea68842e0396bd5718b84e47451";
-          sha256 = "0681mzwx08zwbh8qg3s26jw1jn4fw2ljp1akxqkhy08sxhafqvb1";
+          rev = "b4eb09a794ba31dbe545553a54a0f232ec30e082";
+          sha256 = "1wwdzal764v9fy6n05y8swsmv92nn5d15d1qxd0pjp3sqhkrsivk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7ad88d92cf02e718c9318d197dd458a2ecfc0f46/recipes/racket-mode";
@@ -59777,8 +59984,8 @@
         src = fetchFromGitHub {
           owner = "RedPRL";
           repo = "sml-redprl";
-          rev = "b01bf5db718395eead17b679ed10c6b876117034";
-          sha256 = "0vnfjh0h0z9w28fb1sjncsjcc8f7h1ll0svm203cb5vw6v9d8nrs";
+          rev = "6688fa7e190d5512b2bfc4ac70e6ba2f3bcc6462";
+          sha256 = "0vj4mbndpawvm5sm7b0pvbi5nnd1vsvzk2qk3h9ln7i04lilsxmd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/06e7371d703ffdc5b6ea555f2ed289e57e71e377/recipes/redprl";
@@ -60973,8 +61180,8 @@
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
-          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
+          rev = "dadd74f015f89317ff77424be30a9accadeeb4a4";
+          sha256 = "1ylasq4byd2vhaliq34cs86873z7v5w6yzhm4zc457fazsmb8s25";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@@ -61347,12 +61554,12 @@
     rust-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rust-mode";
-        version = "20171013.258";
+        version = "20171106.510";
         src = fetchFromGitHub {
           owner = "rust-lang";
           repo = "rust-mode";
-          rev = "b8e49089713714a9f3f815b399df569a0e507e73";
-          sha256 = "0ny5prsm70incv30g5310bknbpix0415dn16hhf55rhjhwg39dns";
+          rev = "04e3078ffc5f4b95e0a62960e36866d4bf1a9537";
+          sha256 = "1gj3wyb0bdz7a80bysji241pw47gy20k5f1jif3m2j186ki6f2s5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8f6e5d990d699d571dccbdeb13327b33389bb113/recipes/rust-mode";
@@ -61431,12 +61638,12 @@
     s = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "s";
-        version = "20171101.219";
+        version = "20171102.227";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "s.el";
-          rev = "71f2902fc7875b3df9ee089c85904a4e8a00d438";
-          sha256 = "0k6ny3ca4iwvhmzpdfs5v44l19djwpx8x7a1kfjgdafdh2x6d7ds";
+          rev = "5e9a6857d42015c67681616aa3519f599f97b8d8";
+          sha256 = "00g7nvcbf1291npid30pih72209l5hv2fpv6s6m5i1vg94z081fg";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/s";
@@ -61515,12 +61722,12 @@
     sage-shell-mode = callPackage ({ cl-lib ? null, deferred, emacs, fetchFromGitHub, fetchurl, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "sage-shell-mode";
-        version = "20170823.1809";
+        version = "20171103.333";
         src = fetchFromGitHub {
           owner = "sagemath";
           repo = "sage-shell-mode";
-          rev = "5ba8a40c38c71c813a9d6dc79036f71a7a47e013";
-          sha256 = "04f11yp1rc5zi31hn9imz1z4nli2i5pzllx8niiibff82kw8dvip";
+          rev = "75b84fdba1e0f4511e518b7e56c816f1ace49024";
+          sha256 = "1mysq81xnwarcqvwda17n90fy25mp57gvijrccnxw91ni2wncyl4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/eb875c50c2f97919fd0027869c5d9970e1eaf373/recipes/sage-shell-mode";
@@ -61620,12 +61827,12 @@
     sauron = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sauron";
-        version = "20160501.1045";
+        version = "20171105.247";
         src = fetchFromGitHub {
           owner = "djcb";
           repo = "sauron";
-          rev = "3847b4be16ec3ba9675a230dab5adf029174b3cf";
-          sha256 = "169mbr83zlawjnn2p9yzx7rrg33bb78gb1i7lklagn73ca2pr0b5";
+          rev = "50f09bfc6f5bf79e72a1223e345ee720b507e56a";
+          sha256 = "1k80vzgky4fcakxs3h0yb7g3zpn4382p8zz730kk1ibfd7i56a68";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9d30dcc4715422133e1bb00ad7a8e25b060387e4/recipes/sauron";
@@ -61746,12 +61953,12 @@
     sbt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sbt-mode";
-        version = "20170820.924";
+        version = "20171111.1558";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-sbt-mode";
-          rev = "bdf31a1ffe637d1445b149804d5f5cc29333a1bd";
-          sha256 = "0ygp0c2hy4zp5x0ghplxf2fhrf16cn37sk2zf6i43zqz6gydzq8a";
+          rev = "84c3d178a1f2c580f620fd8f03a05ac6413086a3";
+          sha256 = "1ndxylb2jbnfrrsbbs5vcxygrqd3ssf3az01nh694hv6lkcidw5k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode";
@@ -61771,8 +61978,8 @@
         src = fetchFromGitHub {
           owner = "openscad";
           repo = "openscad";
-          rev = "11ef66e8aa8d97f0ed8786c46daa091b1d812867";
-          sha256 = "1p0xhsvpxk6sbw4fwq5yhnz8kgf5m7g5q3vxpx8qn7bsd3z0sg31";
+          rev = "7cb1e939b78c9f489d0c79812fe6c2a582113cfa";
+          sha256 = "0mjdkc468w58x398ysgchshhv600px95sz7i8yfrjrhpdfn4yg5l";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2d27782b9ac8474fbd4f51535351207c9c84984c/recipes/scad-mode";
@@ -61976,12 +62183,12 @@
     scpaste = callPackage ({ fetchFromGitHub, fetchurl, htmlize, lib, melpaBuild }:
     melpaBuild {
         pname = "scpaste";
-        version = "20171031.1337";
+        version = "20171101.922";
         src = fetchFromGitHub {
           owner = "technomancy";
           repo = "scpaste";
-          rev = "68445166750a46c86dd7f2ffdca14d3c50e431de";
-          sha256 = "0q8cka12gx11wpjz1jk24kn5m1nlqa1xnadlxflhz2x5p9fkscvq";
+          rev = "10559d6b0feb34dc60f039a237052adcca77b5d9";
+          sha256 = "10z8jpi6f3mhq8ymxcv1lc291sqr2kzvgwx8mlmck0bmlys12pqc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9007fb32097bc63731c3615dae9342fcef2558a2/recipes/scpaste";
@@ -62773,12 +62980,12 @@
     shader-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shader-mode";
-        version = "20170130.623";
+        version = "20171108.916";
         src = fetchFromGitHub {
           owner = "midnightSuyama";
           repo = "shader-mode";
-          rev = "76539359418d3d3cd4d2714a189b1bb777c2c15c";
-          sha256 = "0mq2073cwmxlvn222dzjpi3hhskfm5f39g60zf6xx1q3l0n4hhwd";
+          rev = "29118fc483bd6ad3fa42cb80867fae9dbd613fff";
+          sha256 = "1hybqwaicdy99wp8chaxjxyhqd8fwqvq1fh7w49wdy83lwr5g3a0";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4396f3c10a38f91d5f98684efbeb02812e479209/recipes/shader-mode";
@@ -63256,12 +63463,12 @@
     shr-tag-pre-highlight = callPackage ({ emacs, fetchFromGitHub, fetchurl, language-detection, lib, melpaBuild }:
     melpaBuild {
         pname = "shr-tag-pre-highlight";
-        version = "20170820.2127";
+        version = "20171113.114";
         src = fetchFromGitHub {
           owner = "xuchunyang";
           repo = "shr-tag-pre-highlight.el";
-          rev = "63eb0b2a4c1caf1004bac8e002ff8b7477871e36";
-          sha256 = "14b398k7rd0c2ymvg8wyq65fhggkm0camgvqr7j6ia2y0kairxba";
+          rev = "6182f43a36b0f82ba6edcf6e423b5f69a46a814e";
+          sha256 = "0916bpzi6sw5gyn5xgi9czf35zrvl04w10wz6fvz0lc57giihil1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7be3c139bee02e8bd9a9830026cbfdd17629ac4d/recipes/shr-tag-pre-highlight";
@@ -63340,12 +63547,12 @@
     shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shx";
-        version = "20171004.1113";
+        version = "20171108.910";
         src = fetchFromGitHub {
           owner = "riscy";
           repo = "shx-for-emacs";
-          rev = "e53d798ba4a4c07a3ee1c194840c937b18c02087";
-          sha256 = "0sig9gpa2wn23skwny9jpvwxax0gbwp143anvgkc5gm87iw2jgrd";
+          rev = "aa2fda2419b6e2540f1e6eb3789b6a247c319050";
+          sha256 = "1imnpbc1wkx8gwac1v3ailycjxs4yxwhbhifgn20jib85nn8s66i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
@@ -63907,12 +64114,12 @@
     slime = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, macrostep, melpaBuild }:
     melpaBuild {
         pname = "slime";
-        version = "20170929.1441";
+        version = "20171106.1331";
         src = fetchFromGitHub {
           owner = "slime";
           repo = "slime";
-          rev = "c5fa94f86b61f3a14a7348b4fa001a0e1c62cef2";
-          sha256 = "0y9n40knm1r3z0kx0xd5yda5191m5s2ibsxb2sa23qp1yj2qs6xm";
+          rev = "55fc578ed829b95a63c31cec242bd86a6e0be39e";
+          sha256 = "1bgmk0kr0y15lm2cmkmzw529r2k98j4c3n8v1k4rsxw1rj8961n3";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14c60acbfde13d5e9256cea83d4d0d33e037d4b9/recipes/slime";
@@ -64075,12 +64282,12 @@
     sly = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sly";
-        version = "20171011.809";
+        version = "20171111.1604";
         src = fetchFromGitHub {
           owner = "capitaomorte";
           repo = "sly";
-          rev = "687942cb08525bb10abef0d0fdfb57dd69e988b8";
-          sha256 = "1hzc6cpndzc9lb82g6k8g65spnw09impgnfj6lfm9v25pbyg8y2m";
+          rev = "83c88318bca48b1269924cd5c76b9777ecf84f11";
+          sha256 = "0s6y54mi4p336cmky9kvfhwrwfkhvl8awy73knf27zfhclhjfh7c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/79e7213183df892c5058a766b5805a1854bfbaec/recipes/sly";
@@ -64243,12 +64450,12 @@
     smart-compile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smart-compile";
-        version = "20170827.1050";
+        version = "20171104.2333";
         src = fetchFromGitHub {
           owner = "zenitani";
           repo = "elisp";
-          rev = "64258b424e471c749a3399d32aa35b39dfb05222";
-          sha256 = "08hk3kdz2mkp6lmx1fvgax862ibw99yji12c12n23ksjv1qz261z";
+          rev = "2a0c9b33bd97461d100e24df0103d4e5526a30d6";
+          sha256 = "1h0d1rbaprxrwgwi8pq2q93xf9j8q8qy7p42iyywav9ilc6sak6p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/93562afd7b62d7535b8010179ba6ac7e8e6280d0/recipes/smart-compile";
@@ -64578,12 +64785,12 @@
     smartparens = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "smartparens";
-        version = "20171101.244";
+        version = "20171112.902";
         src = fetchFromGitHub {
           owner = "Fuco1";
           repo = "smartparens";
-          rev = "9682ba930374a4d62b444950b008d2bca1cffba1";
-          sha256 = "1nsi3x9zizbxx95ka5cgl5rnsw5iz92acjcv6b4id0acaysq6mdm";
+          rev = "7a8dff4c6f0eb433c3f2bb92b04b5aac5d06d416";
+          sha256 = "11gbswaisi5qn07s5acxazasdmsn1qb3wrz011cn06md6swg5i6x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bd98f85461ef7134502d4f2aa8ce1bc764f3bda3/recipes/smartparens";
@@ -65124,12 +65331,12 @@
     solaire-mode = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solaire-mode";
-        version = "20170823.422";
+        version = "20171109.1215";
         src = fetchFromGitHub {
           owner = "hlissner";
           repo = "emacs-solaire-mode";
-          rev = "c8da9d228003b88ea31f80e7223608b119d41848";
-          sha256 = "0v0vzxzfxh3pqq9hs52bkgyny3vwzas2qpk5pbpzim3zg3lia35r";
+          rev = "ce91b8709124738abb4a1612d4801e16f1d0faec";
+          sha256 = "1aval7m02m05w9is496za6kasp071jkwj29n1jsyixjzsfpbkrzi";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/52c69070eef3003eb53e1436c538779c74670ce6/recipes/solaire-mode";
@@ -65145,12 +65352,12 @@
     solarized-theme = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "solarized-theme";
-        version = "20170924.1440";
+        version = "20171103.52";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "solarized-emacs";
-          rev = "a2595627a793c57fa904ac210a6ca07fe1fef656";
-          sha256 = "1q65mrarmqxsvc27flr6wy6v3yrmpw5i6hax95hh6y50zx3hfsd1";
+          rev = "d06bf199f0e590708452ba32009d069dafa3d347";
+          sha256 = "0zpwf8gf72i74rnmr0ywaynyasj5a8bxqag1kj70pigb4jxdwwyn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cae2ac3513e371a256be0f1a7468e38e686c2487/recipes/solarized-theme";
@@ -65488,12 +65695,12 @@
     spaceline = callPackage ({ cl-lib ? null, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, powerline, s }:
     melpaBuild {
         pname = "spaceline";
-        version = "20171016.157";
+        version = "20171111.334";
         src = fetchFromGitHub {
           owner = "TheBB";
           repo = "spaceline";
-          rev = "251d92ef77ed4daa798e3300e5c671052870827e";
-          sha256 = "13mnsvlncrzsh2q8xhx5ippvhlrk9sgsrbpcihk0m90d2bxj53qy";
+          rev = "ca20430271f80d46892d62cb7624b4dee6cafe72";
+          sha256 = "1a9my43y64y4k7bizvxc0pdr7194vcf167jdiyyl577wxq1z640p";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/46e4c876aeeb0bb0d0e81dcbb8363a5db9c3ff61/recipes/spaceline";
@@ -65530,12 +65737,12 @@
     spacemacs-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "spacemacs-theme";
-        version = "20171020.531";
+        version = "20171102.1009";
         src = fetchFromGitHub {
           owner = "nashamri";
           repo = "spacemacs-theme";
-          rev = "0a5a745c209daafc0e60b8db92993802a9c05fb8";
-          sha256 = "1wnf0jwdavkpv3xz2mni7n29qfp60i28530hmaimlk8mnhb2x94k";
+          rev = "ce45974252536af726e67515271186f92d47e3cc";
+          sha256 = "16gkphggpkach7w1s4qx08i2p53g1w9ps0r0i8a0qfk6rv0myvgh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c8ac39214856c1598beca0bd609e011b562346f/recipes/spacemacs-theme";
@@ -66201,12 +66408,12 @@
     ssh-config-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-config-mode";
-        version = "20170803.1039";
+        version = "20171109.1549";
         src = fetchFromGitHub {
           owner = "jhgorrell";
           repo = "ssh-config-mode-el";
-          rev = "c6dc66b6678605f0df8eb61778b10ae21eb7caf5";
-          sha256 = "05pdz6117m78zfvxi9mskw8svx4bs5k3bpv9nk9mzg9n0zw8algy";
+          rev = "7824d5f8baf2c97856f5bc7b1ef88befbb1978f3";
+          sha256 = "1jqb6d83saliq11q9zkq0ndgpxgyfqjk41srwwnpg66nq031zdxq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/750b16ee631b4c2014f2ebf767609bab4b8ee421/recipes/ssh-config-mode";
@@ -66432,12 +66639,12 @@
     steam = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "steam";
-        version = "20171008.1327";
+        version = "20171108.1613";
         src = fetchFromGitHub {
           owner = "Kungsgeten";
           repo = "steam.el";
-          rev = "476da75cce7def2f3323e4a112a500728178e71e";
-          sha256 = "1d23m611p001i846ypv9mz78hqn4wmjnh6cwa2yif9h6m44g1dsf";
+          rev = "d6ca2a828b0824da51978397e198bf91c51ce793";
+          sha256 = "16cxws1b3iwm9aqbiip298zsjm6gwjihpvkia4p0zvzynwhflw8q";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/25a45eb6297168cd0ce4c4db5574362addad5c69/recipes/steam";
@@ -66955,12 +67162,12 @@
     sunburn-theme = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sunburn-theme";
-        version = "20171021.1407";
+        version = "20171101.1126";
         src = fetchFromGitHub {
           owner = "mvarela";
           repo = "Sunburn-Theme";
-          rev = "566280a981097b89b19c4bba921f568c77212db6";
-          sha256 = "08a3js02zxqgxrk4afr2n39jf34pnv9mwiykysbhf560blq8gha2";
+          rev = "c57190f87e2e6c5ef6c7fbfd40964eb8f11b32ca";
+          sha256 = "1b2d0iky9w8f0sww4wish55j2s2j1y2v4bjf3lk0yg2ysbspy3vq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/bfd68b90234222dbf5907a29d506b6c4e61a372b/recipes/sunburn-theme";
@@ -67270,12 +67477,12 @@
     swiper = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "swiper";
-        version = "20170926.937";
+        version = "20171107.1041";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "swiper";
-          rev = "96663b77945ab21e4e1b0aab690fc2e926f01f9c";
-          sha256 = "0r691dzs77zdkvjzb787kjg8zvvba8gdj2da9zjb14m4nyjmg9d9";
+          rev = "5009b8149a86949f9e6d7546479e998be2e14337";
+          sha256 = "181bhxq2xscd9h1s0aix5lkp7gzg041q713157hrv200p2fnzb6d";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e64cad81615ef3ec34fab1f438b0c55134833c97/recipes/swiper";
@@ -67417,12 +67624,12 @@
     symbol-overlay = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "symbol-overlay";
-        version = "20171031.658";
+        version = "20171103.2306";
         src = fetchFromGitHub {
           owner = "wolray";
           repo = "symbol-overlay";
-          rev = "6076319f57a7e8dbf2fe11250def5a3fa3c0c854";
-          sha256 = "11ny21rbczmkc7ni3kfw94dyc70bxwzn35f9gryxn1ppw48c7zsx";
+          rev = "305ef1d283923d2b0f1cd751f57f71754ab714e6";
+          sha256 = "0j5542283mmdl30syk0k5p6ybb0w3xlnamjrrafdaj618v3anvgv";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c2a468ebe1a3e5a35ef40c59a62befbf8960bd7b/recipes/symbol-overlay";
@@ -68171,12 +68378,12 @@
     telephone-line = callPackage ({ cl-generic, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, seq }:
     melpaBuild {
         pname = "telephone-line";
-        version = "20170831.1215";
+        version = "20171109.1616";
         src = fetchFromGitHub {
           owner = "dbordak";
           repo = "telephone-line";
-          rev = "c17c71ae18ad54b8c3d1eddbe78ed82816d06186";
-          sha256 = "1f5mlxjmyliz0ahcj6c3cypssrcp2ybhqpswzsqp5vqp75bc7ysz";
+          rev = "b3eaf4b8254bb1031f85ce7ac73ffdc856059d9a";
+          sha256 = "1g2gpfqxs3mxwskrkdszab02mxfmwfli0h0yw8b5izb4g2a4gkiz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/9c998b70365fb0a210c3b9639db84034c7d45097/recipes/telephone-line";
@@ -68910,8 +69117,8 @@
         src = fetchFromGitHub {
           owner = "apache";
           repo = "thrift";
-          rev = "a533ea1615e9df935e77b99440cf264c6b417e3e";
-          sha256 = "0nx6amk2jawd5nqkz54sx1x29a8nkpa7h9b4qgn0j7j5sdvfyrxr";
+          rev = "95d5fb3a1e38125b9eabcbe9cda1a6c7bbe3e93d";
+          sha256 = "0xz5s63d5v8xmm4z99pg6cf37s28h2s7264r7rykkpggyd57i0sl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/857ab7e3a5c290265d88ebacb9685b3faee586e5/recipes/thrift";
@@ -68948,12 +69155,12 @@
     tickscript-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tickscript-mode";
-        version = "20171101.108";
+        version = "20171106.1731";
         src = fetchFromGitHub {
           owner = "msherry";
           repo = "tickscript-mode";
-          rev = "45ce0b4f8f18ffa00a4fd2ab3823118f69b94653";
-          sha256 = "0w6gh6nb81c5jp4px6xx5d3wmwgkh6irzwgk42g0mkhjifzm83ip";
+          rev = "40d6c9dc574503fc8525f0bdaee160ae30ba31bf";
+          sha256 = "0hmak9g9cfna6jwhjj82r7n22jwrabb7dadwlpw0ccqf1ccmka9n";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c60ee1839f728c5041bde1fe4fa62c4d41c746ef/recipes/tickscript-mode";
@@ -68969,12 +69176,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "20171009.1142";
+        version = "20171111.1922";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "d4a86487475b08adcbc1974c3362ce247d65a381";
-          sha256 = "1f0l8s50ihhl4w00q5f101g9bfn9zssh4ippbchfdz4ialisyk2y";
+          rev = "e7ffcdcf9f68205d1498137e84a731c7ffb86263";
+          sha256 = "0lym5jb2fxv4zjhik4q5miazrsi96pljl6fw5jjh0i9p8xs0yp4x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -69625,15 +69832,15 @@
           license = lib.licenses.free;
         };
       }) {};
-    traad = callPackage ({ deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, request, request-deferred, virtualenvwrapper }:
+    traad = callPackage ({ dash, deferred, fetchFromGitHub, fetchurl, lib, melpaBuild, popup, request, request-deferred, virtualenvwrapper }:
     melpaBuild {
         pname = "traad";
-        version = "20171010.2353";
+        version = "20171112.1435";
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-traad";
-          rev = "5ee7a4411fa39601ff59873f1e129fdb64df4e97";
-          sha256 = "0h9hx5jpi0clmrj7sf0srisdp9h5zgakwrs7cyqs3hmw7z4ds5r2";
+          rev = "843556bfa573d7e8837651b6e9765483cfdd321f";
+          sha256 = "0q99wb6nz8752z1m8gikqln6jrjk01pcp0cnm96kxj3qwfy9ifcx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/2b3eb31c077fcaff94b74b757c1ce17650333943/recipes/traad";
@@ -69641,6 +69848,7 @@
           name = "traad";
         };
         packageRequires = [
+          dash
           deferred
           popup
           request
@@ -69865,12 +70073,12 @@
     treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, pfuture, s }:
     melpaBuild {
         pname = "treemacs";
-        version = "20171101.340";
+        version = "20171112.422";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "444f0517a875dbb5b832f3c3270f0ea2a39bc258";
-          sha256 = "0k5rfdck8895s2906f4b213kn1icnrd49217gbm9llzqhskl8hdq";
+          rev = "fd5c893ce920082b4fcfc764feecc47096500ae2";
+          sha256 = "10g1kvx7rlfczbq2jlkh6dljkm5g1n3f0j9p0qwk36vwaw80a5s9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/486f21e99856a77f470d246f3c71cd32d2e61ad6/recipes/treemacs";
@@ -69890,8 +70098,8 @@
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "444f0517a875dbb5b832f3c3270f0ea2a39bc258";
-          sha256 = "0k5rfdck8895s2906f4b213kn1icnrd49217gbm9llzqhskl8hdq";
+          rev = "fd5c893ce920082b4fcfc764feecc47096500ae2";
+          sha256 = "10g1kvx7rlfczbq2jlkh6dljkm5g1n3f0j9p0qwk36vwaw80a5s9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs-evil";
@@ -69911,8 +70119,8 @@
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "444f0517a875dbb5b832f3c3270f0ea2a39bc258";
-          sha256 = "0k5rfdck8895s2906f4b213kn1icnrd49217gbm9llzqhskl8hdq";
+          rev = "fd5c893ce920082b4fcfc764feecc47096500ae2";
+          sha256 = "10g1kvx7rlfczbq2jlkh6dljkm5g1n3f0j9p0qwk36vwaw80a5s9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b694918c94e6311745776d451aa2519924beef2d/recipes/treemacs-projectile";
@@ -70033,12 +70241,12 @@
     ts-comint = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ts-comint";
-        version = "20161006.1034";
+        version = "20171105.2247";
         src = fetchFromGitHub {
           owner = "josteink";
           repo = "ts-comint";
-          rev = "53e0326149d74ac13850f052dcdae4a070d63480";
-          sha256 = "0jrl161lkjdk9appn42g8nybj7sdrpvr0h7c48kj4vvsfmlmrikp";
+          rev = "8817dc7b3a6eb78c3cad42e5677c2113274a1963";
+          sha256 = "17cw9710ib80d626vv6bx6vdjdin78h6pja1lsr4r6mz8c5ihwxj";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/84e7004395083b66fce7ff4676af818bc798058a/recipes/ts-comint";
@@ -70115,12 +70323,12 @@
     tuareg = callPackage ({ caml, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "tuareg";
-        version = "20171101.231";
+        version = "20171109.1615";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "tuareg";
-          rev = "359d0e7a4f75dee8f57557b7cc133ae3a65f78a5";
-          sha256 = "0v8wzifrc99y4dzl1wdkil1df76d5ijl2pasx5qdig69mpf5gj1w";
+          rev = "15bda87571bc597ef4853b4ad270946c7a4e8102";
+          sha256 = "1qmripm9kyrmpqfd61vzh5ijyrs3dcxqwmxwg1m3f2a53dgnq00k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
@@ -70388,12 +70596,12 @@
     typescript-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "typescript-mode";
-        version = "20171022.1029";
+        version = "20171109.727";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "typescript.el";
-          rev = "56a1ea861f80979d376716629abfce45a8e5e2c7";
-          sha256 = "1lbfia8n2zwg9j8f9y1shjg88zmgr3cz03dk3277yrvh9djs8kcx";
+          rev = "5b0487aae890e7e9f7105a679deecc50428e912d";
+          sha256 = "08qx9g40aws9s9cpmayc6r3bjrvx8sy32vfy0rz3jkpjyqc6485x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d3f534a1e2cee4ad2e32e32802c5080207417b3d/recipes/typescript-mode";
@@ -70944,12 +71152,12 @@
     unify-opening = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "unify-opening";
-        version = "20171011.201";
+        version = "20171108.33";
         src = fetchFromGitHub {
           owner = "DamienCassou";
           repo = "unify-opening";
-          rev = "fbe53b56e9629143a73c5da9e7797579508e0fbf";
-          sha256 = "0hr65nrywa9yijqymw902q02adyczbwzam2ahv8m2wzay5pcwg8a";
+          rev = "0599ff999293f31b7208343db6d85faddf722117";
+          sha256 = "0k7czn1mfav6xbyngymq4x3gh0qahyvvfhw2j61irfydckiyyfwf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/0a2faab13744262ef4d12750f70b300b3afd2835/recipes/unify-opening";
@@ -71179,8 +71387,8 @@
         src = fetchFromGitHub {
           owner = "diml";
           repo = "utop";
-          rev = "5ca193128c10f6af877c174ec0a9029782f0ef50";
-          sha256 = "1m8ccx4hnncwd5hhi46ghprk9cdljw0qlyy4ya05fgvxl7yz8b4s";
+          rev = "599fa4ff640d731927415a44679e5b07d9553acd";
+          sha256 = "030wmzi51hya4180m411afy8i2vkq63r630cms3apdqd2bkjjjqs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
@@ -71448,12 +71656,12 @@
     vc-msg = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
     melpaBuild {
         pname = "vc-msg";
-        version = "20170725.7";
+        version = "20171106.1747";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "vc-msg";
-          rev = "6f1b788a58d2b64ac0c4648039ecd40b3989a489";
-          sha256 = "1xay9h16vr9pm1csfaqy71m9rsphh77r2rmk1sxpdasr5aa00vq1";
+          rev = "9d40d94c0a73f46047e2f6d40be795638e5c3ebc";
+          sha256 = "1fgkaa93hyszgp2r98rzr7c84f83q1kb9vr9xmj8g9sqak4y1dsr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/59ad4e80b49c78decd7b5794565313f65550384e/recipes/vc-msg";
@@ -71700,12 +71908,12 @@
     vhdl-tools = callPackage ({ emacs, fetchFromGitHub, fetchurl, ggtags, helm, lib, melpaBuild, outshine }:
     melpaBuild {
         pname = "vhdl-tools";
-        version = "20171025.514";
+        version = "20171111.930";
         src = fetchFromGitHub {
           owner = "csantosb";
           repo = "vhdl-tools";
-          rev = "b6d07ba21e9073a0e008831bfb82fbddbd0b5e90";
-          sha256 = "1ypj9saprjaxx60fxjl9ab2lb4x9s8szkh3mj23iininx1bxp4wm";
+          rev = "6bbcbdfbff7154517178290371b0182a176c09b5";
+          sha256 = "16k2h8n85ldfjb4zh7f202q370zs0rmmjhgf2jr4xfrvbdmgr8pa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/69fe2f8fb98ac1af1d3185f62ae1c89e646cfebf/recipes/vhdl-tools";
@@ -72308,11 +72516,11 @@
     wand = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "wand";
-        version = "20171031.1103";
+        version = "20171103.513";
         src = fetchFromGitHub {
           owner = "cmpitg";
           repo = "wand";
-          rev = "3d0b459c4ae7e0240cb16bd9bd0a0a0dc39d8f99";
+          rev = "83c0c723dae7d8a37e67a9d9f2d00e005b5486ca";
           sha256 = "0wc1gmaz02bfbapwrmmc5r7rcfwqlfr52x3jqk6bhxpiav141yq4";
         };
         recipeFile = fetchurl {
@@ -72581,12 +72789,12 @@
     web-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "web-mode";
-        version = "20171017.1214";
+        version = "20171112.1324";
         src = fetchFromGitHub {
           owner = "fxbois";
           repo = "web-mode";
-          rev = "4754211f44e9fe1389e4378553ad538460282225";
-          sha256 = "0c1p8srr1zacpp697rwy83rjz51yhgff9w1sb4cv9wi5yzfsic56";
+          rev = "39896c2a4ce8eda0f211afab14b1686bdc5ed1e9";
+          sha256 = "05jx0sqnyl1qy0h9x4p60l236qlhw5cqywzcgfbymdg28d034k3m";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6f0565555eaa356141422c5175d6cca4e9eb5c00/recipes/web-mode";
@@ -73379,12 +73587,12 @@
     window-purpose = callPackage ({ cl-lib ? null, emacs, fetchFromGitHub, fetchurl, imenu-list, let-alist, lib, melpaBuild }:
     melpaBuild {
         pname = "window-purpose";
-        version = "20171018.821";
+        version = "20171107.659";
         src = fetchFromGitHub {
           owner = "bmag";
           repo = "emacs-purpose";
-          rev = "2b8059256a90caf578ca5ba62205ca7f0d67a740";
-          sha256 = "1pv5sjsvm3xmhfbf0j2581ifp7yykgzhd8bml9cav242r1m2dnh7";
+          rev = "2655bbe3399f00d3297ded58f92e7be22876148a";
+          sha256 = "1yn9ha7qly4fw70ifdlvvi2hm3c6svkpy9q9nqxgzbg8j51gqzql";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5813120ab674f6db7d0a486433d8faa6cfec1727/recipes/window-purpose";
@@ -73529,8 +73737,8 @@
         version = "20160419.1232";
         src = fetchhg {
           url = "https://bitbucket.com/ArneBab/wisp";
-          rev = "7633b2a5133f";
-          sha256 = "0j6j9wkmq95dhx5cr3z2gpx5mvsqsgissp2060ij252ijc3l9k4a";
+          rev = "e80659fcc896";
+          sha256 = "01cmwv6xafk19gg6ixgiw9szmhmqk19i2jha5yafaa93pwgnc40v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
@@ -73732,6 +73940,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    wordsmith-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "wordsmith-mode";
+        version = "20171025.730";
+        src = fetchFromGitHub {
+          owner = "istib";
+          repo = "wordsmith-mode";
+          rev = "589a97412138145bea70e0450eeddeb7f138d538";
+          sha256 = "1zm4grysjpynibldvic75awhcmmnjmlkkvslw8bvirmi58qwvwzj";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3b5fda506e5b388cd6824d433b89032ed46858dc/recipes/wordsmith-mode";
+          sha256 = "0s6b6dfqn31jdcgs2mlmvwgpr5a4zs4xi8m002ly11c6sn035xb1";
+          name = "wordsmith-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/wordsmith-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     worf = callPackage ({ ace-link, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, swiper, zoutline }:
     melpaBuild {
         pname = "worf";
@@ -74155,12 +74384,12 @@
     xah-fly-keys = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-fly-keys";
-        version = "20171026.422";
+        version = "20171101.1546";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "xah-fly-keys";
-          rev = "6130b10b0f133344d5e6afa7c083d400c8e780ca";
-          sha256 = "08shy433x5papxdbr6q2xsccpg1h0vym9vv6zcaz8vzqw33kr0w7";
+          rev = "c007dee9faeae7b4ef1cfd21c97952768f520f8e";
+          sha256 = "1vkfff3w09h3gbwz9wqlrab29558ms03x5cgzzdxs0mjaq40pvnz";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-fly-keys";
@@ -74197,12 +74426,12 @@
     xah-lookup = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "xah-lookup";
-        version = "20170821.405";
+        version = "20171108.241";
         src = fetchFromGitHub {
           owner = "xahlee";
           repo = "lookup-word-on-internet";
-          rev = "cd5d622140e78e01d0ab32fcb43edc49f4e7fbb5";
-          sha256 = "1i952mm0mxiaphnwimlr28swrk8b0k6rwx90f4s5s8idcp6wvp4y";
+          rev = "3029d8ec04e841c57b7482c244a1733eb4c77cb5";
+          sha256 = "0ygkl663cqs25kicfnpy06j3sm6jjpagvv90wx3llspjy9adcxvx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/05eed39bae37cc8359d2cc678052cbbcc946e379/recipes/xah-lookup";
@@ -74831,8 +75060,8 @@
         src = fetchFromGitHub {
           owner = "drdv";
           repo = "yahtzee";
-          rev = "5263fb8883d37d79a4ed34dd3216a8947d2ae4a0";
-          sha256 = "1qv8p3zpxkkp0ncq3cs8sq2bj4jrxs4s5jfc5hbs905a9z8bsnq9";
+          rev = "45987672d51ea2aac0131a11f3c6bacf103a4e10";
+          sha256 = "0rri0cwxkydw19psaqkiad14pgp5v9h5605y2whqf9d6siyh3mjb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/200169fdabce0ae3a2ecb6f4f3255c15ec3ed094/recipes/yahtzee";
@@ -75121,12 +75350,12 @@
     yasnippet-snippets = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, yasnippet }:
     melpaBuild {
         pname = "yasnippet-snippets";
-        version = "20171031.617";
+        version = "20171106.447";
         src = fetchFromGitHub {
           owner = "AndreaCrotti";
           repo = "yasnippet-snippets";
-          rev = "120d35010a29d028634a1e4c6ec9d00c1bea5515";
-          sha256 = "1bd89d9d1m6647kpdsczj6c28r3zkjpqjj7p4qndcrwc9h37r4dv";
+          rev = "6b6dcd9eca4d6d3e982bbc241b51cd6562ef600e";
+          sha256 = "07zblniw1rc24zyaw1xbam46yz8cac4wl6qf6l1ynkbpj5k0x1g5";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/25b8d4efe2e7833eb95dfdf33aa3ecc34af7a687/recipes/yasnippet-snippets";
@@ -75224,12 +75453,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 = "20171027.1412";
+        version = "20171111.854";
         src = fetchFromGitHub {
           owner = "abingham";
           repo = "emacs-ycmd";
-          rev = "d951afd8c1c2f25a5cbeef3acfcec5f72acfd6e4";
-          sha256 = "0k6z82a3xkk71lbnw3sxqmr8ixafglivmsb5y35q1jichzz6hail";
+          rev = "e8a6c2bb6cdc18645e2ebc6a8ede8f0c306f013d";
+          sha256 = "0gijzvc6krz1228siysk4za3pwfgfmwh04b8zjc57qkccngibnf9";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4b25378540c64d0214797348579671bf2b8cc696/recipes/ycmd";
@@ -75423,12 +75652,12 @@
     zenburn-theme = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zenburn-theme";
-        version = "20171010.543";
+        version = "20171109.926";
         src = fetchFromGitHub {
           owner = "bbatsov";
           repo = "zenburn-emacs";
-          rev = "a26323ca3029d653f658b8236ae9528d242c885b";
-          sha256 = "0gx6yl3bl3z7rgl4m1np8bx8b53ywbni4wi2bhc716f4b96q658x";
+          rev = "613f4c69513c7ffe7cb00a6c477cd5e8e6378d40";
+          sha256 = "03n3ixkzfva5r2a7qdkl0b9254q56f9fh202lrkcgg135ynhkrhc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/091dcc3775ec2137cb61d66df4e72aca4900897a/recipes/zenburn-theme";
@@ -75716,12 +75945,12 @@
     zoom = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zoom";
-        version = "20171030.529";
+        version = "20171110.715";
         src = fetchFromGitHub {
           owner = "cyrus-and";
           repo = "zoom";
-          rev = "d92ea444df6f6bb6cae92242f3269582d1b8ab40";
-          sha256 = "08riz3dd19c1dixm3c6j5dkkwjpgcib05pxq611w8z0mgsn0hsc5";
+          rev = "d4f417b24fe022b6512a1a0ffebf898044393250";
+          sha256 = "0qksgg0c4z5c293avc87q2hgwnvr550rycwgnvrp574n3qmvqjmd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe094c99756ad29eda9bc51f31bb70c4ddc4131/recipes/zoom";
diff --git a/pkgs/applications/editors/emacs-modes/melpa-packages.nix b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
index 60cbf486777b..a13093d964e8 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-packages.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-packages.nix
@@ -51,9 +51,6 @@ self:
       cmake-mode = markBroken (dontConfigure super.cmake-mode);
 
       # upstream issue: missing file header
-      cn-outline = markBroken super.cn-outline;
-
-      # upstream issue: missing file header
       connection = markBroken super.connection;
 
       # upstream issue: missing file header
diff --git a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
index 51b9facd111d..7836f12ed912 100644
--- a/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
+++ b/pkgs/applications/editors/emacs-modes/melpa-stable-generated.nix
@@ -611,12 +611,12 @@
     ac-rtags = callPackage ({ auto-complete, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "ac-rtags";
-        version = "2.14";
+        version = "2.15";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "15ef9a8bab847773d6e247005be929422fc9c285";
-          sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
+          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
+          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ac-rtags";
@@ -779,12 +779,12 @@
     ace-link = callPackage ({ avy, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ace-link";
-        version = "0.4.0";
+        version = "0.5.0";
         src = fetchFromGitHub {
           owner = "abo-abo";
           repo = "ace-link";
-          rev = "5bf301e2c74960246427d3e48889a49f9f8ec6ba";
-          sha256 = "1mrlwkls80blispg5hdgnif42rck3iqhcm1f3khq14nm09yqwdk9";
+          rev = "7b9bc8d916b60a501c32b63ce81f315486ad44e9";
+          sha256 = "147dz79vg4ym5wg3d544bw2khdb2j3hr73rw4qfm64wf0q2dj0vk";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/68032f40c0ce4170a22db535be4bfa7099f61f85/recipes/ace-link";
@@ -3691,12 +3691,12 @@
     caml = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "caml";
-        version = "4.6.0pre1";
+        version = "4.6.0";
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "ocaml";
-          rev = "500625015d40f716e19278209faaa44216dcff58";
-          sha256 = "1s10wirx080yl0gd2n09lw5kj8yy1mbiipmcr8gpfyc8dq7kfjna";
+          rev = "0d68080b95016f747b7cb63dd36ccdd42d40016e";
+          sha256 = "1dxg82xqjx4yh4sg2dy48ybn4czv9yq0q3zpr29sxp1grvwvrg2b";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d5a3263cdcc229b11a3e96edbf632d56f32c47aa/recipes/caml";
@@ -4379,22 +4379,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    cliphist = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, popup }:
+    cliphist = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "cliphist";
-        version = "0.5.4";
+        version = "0.5.5";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "cliphist";
-          rev = "2aceea0e16e2f18b8b51161423ef1c0f655c7c8d";
-          sha256 = "13vhm7dsqbaslml3a2hd3s39c7q494p5w2xznhdxvh8ig6w102lc";
+          rev = "e454254f8bd9dbaea28e95c786d7297a2d4e920a";
+          sha256 = "1lxsy78kmrrb82y7nlaaaq2qsly7f3wa8jw1bagjax4rwvld0vim";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/82d86dae4ad8efc8ef342883c164c56e43079171/recipes/cliphist";
           sha256 = "0mg6pznijba3kvp3r57pi54v6mgih2vfwj2kg6qmcy1abrc0xq29";
           name = "cliphist";
         };
-        packageRequires = [ popup ];
+        packageRequires = [ emacs ivy ];
         meta = {
           homepage = "https://melpa.org/#/cliphist";
           license = lib.licenses.free;
@@ -4688,12 +4688,12 @@
     cmake-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cmake-mode";
-        version = "3.10.0pre4";
+        version = "3.10.0pre5";
         src = fetchFromGitHub {
           owner = "Kitware";
           repo = "CMake";
-          rev = "45da558742bad36be518e8d95dee0d0ec3793a64";
-          sha256 = "0qq7dhwcl290ymza5imc16cg3f9crxym1q6b4i7w9fax8x2vlc1m";
+          rev = "78f5d571e4b07cc71d44c78ff36a335693298ccb";
+          sha256 = "1wrbpcfmvhmamxbv7iar6w29i7axzi1im99xd4vrhy4fc1rkk566";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/598723893ae4bc2e60f527a072efe6ed9d4e2488/recipes/cmake-mode";
@@ -5471,12 +5471,12 @@
     company-rtags = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "company-rtags";
-        version = "2.14";
+        version = "2.15";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "15ef9a8bab847773d6e247005be929422fc9c285";
-          sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
+          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
+          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/company-rtags";
@@ -5597,12 +5597,12 @@
     company-web = callPackage ({ cl-lib ? null, company, dash, fetchFromGitHub, fetchurl, lib, melpaBuild, web-completion-data }:
     melpaBuild {
         pname = "company-web";
-        version = "0.9";
+        version = "2.0";
         src = fetchFromGitHub {
           owner = "osv";
           repo = "company-web";
-          rev = "ffb6b969813041d2d90680a7696a9e0208eaed61";
-          sha256 = "0b0k75rg43h48dbcqiid947nspqiqxkiqcmvph9aqpxlfr67bz5r";
+          rev = "935c65de0411ebbcb4f2223f31e756e093eaae07";
+          sha256 = "0kw0fc1lg7qd23fx26y9m543sql32n1dlvr4rg7bmq6im7dwz4hy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/company-web";
@@ -5702,12 +5702,12 @@
     conda = callPackage ({ dash, emacs, f, fetchFromGitHub, fetchurl, lib, melpaBuild, pythonic, s }:
     melpaBuild {
         pname = "conda";
-        version = "0.0.8";
+        version = "0.0.9";
         src = fetchFromGitHub {
           owner = "necaris";
           repo = "conda.el";
-          rev = "526be691824f4a32299f560a883913697bc4d847";
-          sha256 = "1jix3md6b02fypjm4y05av7acjkqryd1vqqz9wgxyinydlagrvh7";
+          rev = "64b804c33f2667e8232689770a9f2e332c2dd0ab";
+          sha256 = "1w1p1m2d0mwi3frkah5cnphyqsix7fp1li8glhlwf923cg48cxfq";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/fcf762e34837975f5440a1d81a7f09699778123e/recipes/conda";
@@ -5975,12 +5975,12 @@
     counsel-etags = callPackage ({ counsel, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "counsel-etags";
-        version = "1.2.0";
+        version = "1.3.3";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "counsel-etags";
-          rev = "5d7b51ce7806bbe7e1f75077b4dde2ac17a53c5d";
-          sha256 = "0v3b3gs4jy8cqkvchnakwpws3a0igiklchb9q3754lnmk8784dn8";
+          rev = "ad70ab89861d17b648a798c234153269eacf90b5";
+          sha256 = "0jzk5sdh6kax1gvrdrldvqlbgbsx8p938qnzn1mpkd2nmjga3v3c";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/87528349a3ab305bfe98f30c5404913272817a38/recipes/counsel-etags";
@@ -6437,12 +6437,12 @@
     cython-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "cython-mode";
-        version = "0.27.2";
+        version = "0.27.3";
         src = fetchFromGitHub {
           owner = "cython";
           repo = "cython";
-          rev = "41b4a28d7c7c505d58502c9cf69bde2e33091de0";
-          sha256 = "04k534xyr8816821y0lf2dq24bzvb40v99ijdwgy5qhv4rjxbr18";
+          rev = "8ad16fc871be075f889d5e7c2892db3e4c8ce978";
+          sha256 = "144mqqyaid6w9qx38m88snd3c8qm2k1a73vs21h9cmnp19gigfby";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/be9bfabe3f79153cb859efc7c3051db244a63879/recipes/cython-mode";
@@ -6521,12 +6521,12 @@
     darcula-theme = callPackage ({ fetchFromGitLab, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "darcula-theme";
-        version = "1.7";
+        version = "2.0";
         src = fetchFromGitLab {
           owner = "fommil";
           repo = "emacs-darcula-theme";
-          rev = "25f179b9fb72c1b95a3907aa4b4a44f8d261e45a";
-          sha256 = "0x1amh0ycjvk218d6cyqizkak47b6r1wczakbfkvnbr0khgkgmr7";
+          rev = "2ecd466ffa7a3157b9ddcd7545b6fb8ad308c976";
+          sha256 = "1h5lssnc1am54hkprnp61bsj5fnm8j556q2gbhljfjgrdwnqv8ky";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/23c8f10205187babb17e3abc3dc40eb1938e6640/recipes/darcula-theme";
@@ -8123,12 +8123,12 @@
     eacl = callPackage ({ emacs, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild }:
     melpaBuild {
         pname = "eacl";
-        version = "1.0.2";
+        version = "1.0.3";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "eacl";
-          rev = "c7a8d705295dc51cc306cb4c2d8773e24c4c74f4";
-          sha256 = "1f3liqrw55v9wnf7g475iabx4pf7gbg2x82mqrf22hhkvxzi2b2b";
+          rev = "ef58d13fbff4b5c49f934cfb9e3fd6ee219ef4b2";
+          sha256 = "0xxxzdr6iddxwx8z4lfay4n9r1ry8571lj2gadz5ycff6f6bxmhb";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8223bec7eed97f0bad300af9caa4c8207322d39a/recipes/eacl";
@@ -8312,12 +8312,12 @@
     ecukes = callPackage ({ ansi, commander, dash, espuds, f, fetchFromGitHub, fetchurl, lib, melpaBuild, s }:
     melpaBuild {
         pname = "ecukes";
-        version = "0.6.15";
+        version = "0.6.16";
         src = fetchFromGitHub {
           owner = "ecukes";
           repo = "ecukes";
-          rev = "2bba6266a3fff772cd54a6cd1b1aee2c36872aa5";
-          sha256 = "1r5hlcspznvfm111l1z0r4isd582qj64sa8cqk6hyi3y1hyp1xxs";
+          rev = "c8092db08be5337ff3f3dd2857bfa94e360945d2";
+          sha256 = "1dkinyigacb4yxqikd9za4inbh7yz7pl8bhrpihrxzabxirmvw55";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/14cf66e6929db2a0f377612e786aaed9eb12b799/recipes/ecukes";
@@ -8501,12 +8501,12 @@
     editorconfig = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "editorconfig";
-        version = "0.7.10";
+        version = "0.7.11";
         src = fetchFromGitHub {
           owner = "editorconfig";
           repo = "editorconfig-emacs";
-          rev = "1543835ce00412c3cd34a61497af5f68ead250a6";
-          sha256 = "1c516972gx1rvlixdl6mgknx6vx1m4hbzbz3x43pzlg0mn31yn01";
+          rev = "2ec90f13ad98481c5324eea4877de7a80d814d86";
+          sha256 = "160f7ciy8yp75gja3abm4rjy61wmk2b7b0k032qimiawkvg57bx2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/50d4f2ed288ef38153a7eab44c036e4f075b51d0/recipes/editorconfig";
@@ -8627,12 +8627,12 @@
     egison-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "egison-mode";
-        version = "3.6.4";
+        version = "3.7.0";
         src = fetchFromGitHub {
           owner = "egisatoshi";
           repo = "egison3";
-          rev = "62c99118f32dd23a088e2d9c0d6b7b755206cac6";
-          sha256 = "1f0s9pvns4gq6xzp4vp74xxxbmzp06vdv0jgh0x1xy0mfklgll8x";
+          rev = "accb84375895946f0d0bed3917e0193074bd4131";
+          sha256 = "0adxbjbmph186amkyhyl9syypfawarxmyk80zz4c0b6bgxy15rc1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/f543dd136e2af6c36b12073ea75b3c4d4bc79769/recipes/egison-mode";
@@ -9785,12 +9785,12 @@
     enh-ruby-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "enh-ruby-mode";
-        version = "20170417";
+        version = "20171101";
         src = fetchFromGitHub {
           owner = "zenspider";
           repo = "enhanced-ruby-mode";
-          rev = "2e483fe316ff993c80eafcf4ce4defd87d97776d";
-          sha256 = "1xzhgmbc9iplxmqm7gc4hqk6nfdhqcrxz8g9kkf5ww3dx1czhiv7";
+          rev = "9467cd7fc8b6bb3caf644b223e3046fc32013ccb";
+          sha256 = "0spsgfkka6sld8ac3m2biydyp8xj84vxa0w7apqvhhmfk3klbbhf";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/cd1ac1ce69b77b11f34c4175611a852e7ec0806c/recipes/enh-ruby-mode";
@@ -10041,6 +10041,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    erc-scrolltoplace = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, switch-buffer-functions }:
+    melpaBuild {
+        pname = "erc-scrolltoplace";
+        version = "0.1.0";
+        src = fetchFromGitHub {
+          owner = "jgkamat";
+          repo = "erc-scrolltoplace";
+          rev = "7539654e4a72edcc5bba07a101961e5bf0a9d449";
+          sha256 = "11zpqwh1mlfifbgnvhc63bvnhg340jgxssm3m43hr1sxsyb52lh6";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/e8ba300957fc00f5e53cf63dfa1e37a27b0d6d60/recipes/erc-scrolltoplace";
+          sha256 = "1cr5nxdk854zcb1w0xvmi4mg45lxv011gap4i96nvdpd4qxmcxph";
+          name = "erc-scrolltoplace";
+        };
+        packageRequires = [ emacs switch-buffer-functions ];
+        meta = {
+          homepage = "https://melpa.org/#/erc-scrolltoplace";
+          license = lib.licenses.free;
+        };
+      }) {};
     erc-twitch = callPackage ({ erc ? null, fetchFromGitHub, fetchurl, json ? null, lib, melpaBuild }:
     melpaBuild {
         pname = "erc-twitch";
@@ -10149,12 +10170,12 @@
     erlang = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "erlang";
-        version = "20.1.3";
+        version = "20.1.5";
         src = fetchFromGitHub {
           owner = "erlang";
           repo = "otp";
-          rev = "a98379d0519c28f9bc9b673ed2c09fb1ad52456e";
-          sha256 = "1672yqqh7ql88c6ifv555wvqrj8nyn5a2nph43n2nc43h7hhz17c";
+          rev = "84f29ab803e8f36ef058a47f4c2b224f4dd58220";
+          sha256 = "02y02m5cv29nr6icih7f5772657swnwan279scgcw02wm9lnm0vh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d9cd526f43981e0826af59cdc4bb702f644781d9/recipes/erlang";
@@ -10547,12 +10568,12 @@
     ess = callPackage ({ fetchFromGitHub, fetchurl, julia-mode, lib, melpaBuild }:
     melpaBuild {
         pname = "ess";
-        version = "16.10";
+        version = "17.11";
         src = fetchFromGitHub {
           owner = "emacs-ess";
           repo = "ESS";
-          rev = "abacd7538e1bbfdd6ef2b5f11d4f5f4cc74782ee";
-          sha256 = "0fbprkjb9cjkjyc1yxn9b1znc4w1im9akl4f9ma2ddgl8fzmi7p7";
+          rev = "a218dec600c25687a81419e42b555141911504c6";
+          sha256 = "0wl90xiifn83clm25ya953pa91734h0sav1426y5czrmswzw7mj1";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/12997b9e2407d782b3d2fcd2843f7c8b22442c0a/recipes/ess";
@@ -11051,12 +11072,12 @@
     evil-nerd-commenter = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "evil-nerd-commenter";
-        version = "3.1.1";
+        version = "3.1.2";
         src = fetchFromGitHub {
           owner = "redguardtoo";
           repo = "evil-nerd-commenter";
-          rev = "92bee71aa6fbb36299a4e69e710da786f3694637";
-          sha256 = "1sxwiar17jvqj7plf7jdpwx9kymabr0dsfl7mbkcxpzvrfdlmp12";
+          rev = "76fd0c5692e9852a2d6fc6c0ce0e782792c28ddd";
+          sha256 = "1bydqdk52q8777m234jxp03y2zz23204r1fyq39ks9h9bpglc561";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a3e1ff69e7cc95a5b5d628524ad836833f4ee736/recipes/evil-nerd-commenter";
@@ -11195,22 +11216,22 @@
           license = lib.licenses.free;
         };
       }) {};
-    evil-smartparens = callPackage ({ cl-lib ? null, emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, smartparens }:
+    evil-smartparens = callPackage ({ emacs, evil, fetchFromGitHub, fetchurl, lib, melpaBuild, smartparens }:
     melpaBuild {
         pname = "evil-smartparens";
-        version = "0.3.0";
+        version = "0.4.0";
         src = fetchFromGitHub {
           owner = "expez";
           repo = "evil-smartparens";
-          rev = "12521212b8e4a02cbec733882bb89c6fac37301f";
-          sha256 = "0j2m3rsszivyjhv8bjid5fdqaf1vwp8rf55b27y4vc2489wrw415";
+          rev = "9fe4eed1c6327197afe6c13bb0771e18908aff00";
+          sha256 = "1di4qz5fbrlwbg16c2j0m7y8zqfxw027qd7zqmc3rwk9znbhg7wl";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/850898fbfc8e0aeb779e8feae56476d989110e79/recipes/evil-smartparens";
           sha256 = "1viwrd6gfqmwhlil80pk68dikn3cjf9ddsy0z781z3qfx0j35qza";
           name = "evil-smartparens";
         };
-        packageRequires = [ cl-lib emacs evil smartparens ];
+        packageRequires = [ emacs evil smartparens ];
         meta = {
           homepage = "https://melpa.org/#/evil-smartparens";
           license = lib.licenses.free;
@@ -12211,12 +12232,12 @@
     flex-compile = callPackage ({ buffer-manage, dash, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "flex-compile";
-        version = "0.1";
+        version = "0.2";
         src = fetchFromGitHub {
           owner = "plandes";
           repo = "flex-compile";
-          rev = "4ca317883404a14c1b4920d7b3e6f0bffb04a8f2";
-          sha256 = "08ax91bdf4dwky8zp0cwmk53wqyqs893j7q1jah5cimnhgi82ksz";
+          rev = "82e217aaab34dfd1faf7d03c82eca49706190232";
+          sha256 = "1zp0gki61g487x6bypxlkbjzi972y80pzmhqdisl6qx9yrmk60vy";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/259caeebc317e81ab9d532a371ea85656c2b1619/recipes/flex-compile";
@@ -12862,12 +12883,12 @@
     flycheck-rtags = callPackage ({ emacs, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "flycheck-rtags";
-        version = "2.14";
+        version = "2.15";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "15ef9a8bab847773d6e247005be929422fc9c285";
-          sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
+          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
+          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/flycheck-rtags";
@@ -15663,12 +15684,12 @@
     govc = callPackage ({ dash, emacs, fetchFromGitHub, fetchurl, json-mode, lib, magit-popup, melpaBuild, s }:
     melpaBuild {
         pname = "govc";
-        version = "0.15.0";
+        version = "0.16.0";
         src = fetchFromGitHub {
           owner = "vmware";
           repo = "govmomi";
-          rev = "b63044e5f833781eb7b305bc035392480ee06a82";
-          sha256 = "1p0xnhcm7kx4g9wvy18nnij2wfirp0fccv24jz6v1i9bc64n7zka";
+          rev = "7d879bac14d09f2f2a45a0477c1e45fbf52240f5";
+          sha256 = "09fllx7l2hsjrv1jl7g06xngjy0xwn5n5zng6x8dspgsl6kblyqp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/92d6391318021c63b06fe39b0ca38f667bb45ae9/recipes/govc";
@@ -17141,12 +17162,12 @@
     helm-ext = callPackage ({ emacs, fetchFromGitHub, fetchurl, helm, lib, melpaBuild }:
     melpaBuild {
         pname = "helm-ext";
-        version = "0.1.1";
+        version = "0.1.2";
         src = fetchFromGitHub {
           owner = "cute-jumper";
           repo = "helm-ext";
-          rev = "115a3ca9a466fa84c1874ac6175fdf2256c3765c";
-          sha256 = "19bcrgj531par1ayhgwxvzz28fyd7dx5flslxf1vl4qawhn173fz";
+          rev = "c8ac56918b200239b3f73a4e6a031deecc2c5646";
+          sha256 = "08c6n4zr6s3h7y0kk6g51xqs6hs29hkfmn55jfjw6hpimbk3vi1j";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1ee74cb0aa3445bc9ae4226c2043ee4de3ac6cd3/recipes/helm-ext";
@@ -17960,12 +17981,12 @@
     helm-rtags = callPackage ({ fetchFromGitHub, fetchurl, helm, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "helm-rtags";
-        version = "2.14";
+        version = "2.15";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "15ef9a8bab847773d6e247005be929422fc9c285";
-          sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
+          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
+          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/helm-rtags";
@@ -18737,12 +18758,12 @@
     ht = callPackage ({ dash, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ht";
-        version = "2.1";
+        version = "2.2";
         src = fetchFromGitHub {
           owner = "Wilfred";
           repo = "ht.el";
-          rev = "0c0019ba2dfeaacdfe6be6d7f681e5e11dc8fa67";
-          sha256 = "0yrxygyzl4cqnp7m57jwp26544q72w8qf6xshmh9q3y93ix4h4aw";
+          rev = "a23a72342fda1eb3cc8d792f86efabe45eb0d1fd";
+          sha256 = "1p3qa7g0wa0wbviv2f8bda39cjys3naayk5xjm3nxxmqsyy8papx";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6c7589bca1c1dfcc0fe76779f6847fda946ab981/recipes/ht";
@@ -19661,12 +19682,12 @@
     indium = callPackage ({ company, emacs, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, seq, websocket }:
     melpaBuild {
         pname = "indium";
-        version = "1.0";
+        version = "1.1.0";
         src = fetchFromGitHub {
           owner = "NicolasPetton";
           repo = "Indium";
-          rev = "db3b727c9deedcf9afa13e07cd25734cbf7305a2";
-          sha256 = "1cm6zm8d7rywvlhzf1vpblqb1kgn6c7bwk9q2mjz7f5gdcsx1jp5";
+          rev = "c15f5a2b4a48fd53b446e0fa291bdb8323b80c27";
+          sha256 = "07fzsjmbbq4nx2w23pbb0z88iqmclm156yd87nxsdivndmzvsgw2";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/4292058cc6e31cabc0de575134427bce7fcef541/recipes/indium";
@@ -20101,12 +20122,12 @@
     iter2 = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "iter2";
-        version = "0.9.4";
+        version = "0.9.5";
         src = fetchFromGitHub {
           owner = "doublep";
           repo = "iter2";
-          rev = "a0e41b2f55d50c08c59ffcc6e83a977c141bcc55";
-          sha256 = "0ccr9qjhc35wi07yckd9y26synihhsg8zwkxgqyzkx7avxkqfyhn";
+          rev = "ac1b4f10203d8093ae9f897039be97fd5ec65969";
+          sha256 = "098bsm5wc7nqk06awak2ar4nwd3xpqsdc9pb2n0px20ql6lxh4bh";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/d94316660051ee0ba0c12e380e6203986440368f/recipes/iter2";
@@ -20290,12 +20311,12 @@
     ivy-rtags = callPackage ({ fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, rtags }:
     melpaBuild {
         pname = "ivy-rtags";
-        version = "2.14";
+        version = "2.15";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "15ef9a8bab847773d6e247005be929422fc9c285";
-          sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
+          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
+          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/ivy-rtags";
@@ -20311,12 +20332,12 @@
     ivy-youtube = callPackage ({ cl-lib ? null, fetchFromGitHub, fetchurl, ivy, lib, melpaBuild, request }:
     melpaBuild {
         pname = "ivy-youtube";
-        version = "0.3.1";
+        version = "0.3.2";
         src = fetchFromGitHub {
           owner = "squiter";
           repo = "ivy-youtube";
-          rev = "9a9d584124bd9905b5a8a7e29cdafa3224770c9d";
-          sha256 = "0fircdxhfb9s6qmzic2hizhlwfkszw3was83nw09zf0zhab3vllh";
+          rev = "23e1089d4c4fc32db20df14ba10078aabf117e87";
+          sha256 = "0m70vxjj49kf8bzni2qchgzgx808z1fcfh02cflkhjcb77dkq8d6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ivy-youtube";
@@ -20771,12 +20792,12 @@
     js2-refactor = callPackage ({ dash, fetchFromGitHub, fetchurl, js2-mode, lib, melpaBuild, multiple-cursors, s, yasnippet }:
     melpaBuild {
         pname = "js2-refactor";
-        version = "0.8.0";
+        version = "0.9.0";
         src = fetchFromGitHub {
           owner = "magnars";
           repo = "js2-refactor.el";
-          rev = "bd73f03fc5f0d1ca1dce29e28bb43f78af483a38";
-          sha256 = "1q2c61bhbr6b4a1wgqsbwxywymsxy7h3wc9fkcy3ryip3xd88b7b";
+          rev = "089c7800e3e7b0a89ee2392037ac07851bcee298";
+          sha256 = "1iwblf5i7k1i1ax9pjv7n8zv9q157krirdn0gwcib6dwza2i30jp";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/8935264dfea9bacc89fef312215624d1ad9fc437/recipes/js2-refactor";
@@ -21107,12 +21128,12 @@
     kaolin-themes = callPackage ({ autothemer, cl-lib ? null, emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "kaolin-themes";
-        version = "1.0";
+        version = "1.0.5";
         src = fetchFromGitHub {
           owner = "ogdenwebb";
           repo = "emacs-kaolin-themes";
-          rev = "720762a42ad4cb4b325f78a9d41af380b8783501";
-          sha256 = "104prgkjqnnv1bqgpcl0di1q9sqkfnj4ibqvrk6ls32hw75shvdh";
+          rev = "08e13adfab07c9cf7b0df313c77eac8fb393b284";
+          sha256 = "0wijf5493wmp219ypbvhp0c4q76igrxijzdalbgkyp2gf8xvq6b4";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/043a4e3bd5301ef8f4df2cbda0b3f4111eb399e4/recipes/kaolin-themes";
@@ -22101,12 +22122,12 @@
     live-py-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "live-py-mode";
-        version = "2.18.1";
+        version = "2.19.0";
         src = fetchFromGitHub {
           owner = "donkirkby";
           repo = "live-py-plugin";
-          rev = "145d21d65b5469e682ef464ae8f4e0e3d8c0f04b";
-          sha256 = "1h188cprka13bd1prfj1w86m5z8c1nfaz4dw18g88jf6b0gyazhz";
+          rev = "f5da8df21ae2aa704ddca4473b6f9400ba12d30c";
+          sha256 = "1w0xc0bc5jl0q9yi9jhvy4xgdyrz9l402v9qv8mmrp2iqf5cdblm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/c7615237e80b46b5c50cb51a3ed5b07d92566fb7/recipes/live-py-mode";
@@ -22328,6 +22349,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    lsp-ocaml = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, lsp-mode, melpaBuild }:
+    melpaBuild {
+        pname = "lsp-ocaml";
+        version = "0.1.0";
+        src = fetchFromGitHub {
+          owner = "emacs-lsp";
+          repo = "lsp-ocaml";
+          rev = "e826f82929b8a388a90600d3570cf66c020f0b91";
+          sha256 = "1mb912ffw8w5dggxaijz700j2yhzq69fil81gki3r66n077nacmr";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/7be2d7a7af3d744c531e5e018d791bf2566df428/recipes/lsp-ocaml";
+          sha256 = "17334qcgqrz4jd5npizyq20fmxy07z2p3pq98s5np2kc4h9ara33";
+          name = "lsp-ocaml";
+        };
+        packageRequires = [ emacs lsp-mode ];
+        meta = {
+          homepage = "https://melpa.org/#/lsp-ocaml";
+          license = lib.licenses.free;
+        };
+      }) {};
     lua-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "lua-mode";
@@ -22758,12 +22800,12 @@
     magithub = callPackage ({ emacs, fetchFromGitHub, fetchurl, ghub-plus, lib, magit, melpaBuild, s }:
     melpaBuild {
         pname = "magithub";
-        version = "0.1.3";
+        version = "0.1.4";
         src = fetchFromGitHub {
           owner = "vermiculus";
           repo = "magithub";
-          rev = "959e7b259697c79ccf46b95827575d3e15e83d30";
-          sha256 = "19m7qmp5pi5l3mak1j475qxgnpr4kc4dm7qj80qc4m844bkacc4h";
+          rev = "2fcd5eebf3e052234950b3b07e43d26ce632a794";
+          sha256 = "0k5bxxfj60vr58g7rnj562ls8ijb0ia66fdiqpyffi5sf0wan13i";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/magithub";
@@ -23374,7 +23416,7 @@
     merlin = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "merlin";
-        version = "3.0.3";
+        version = "3.0.4";
         src = fetchFromGitHub {
           owner = "the-lambda-church";
           repo = "merlin";
@@ -24987,11 +25029,11 @@
       }) {};
     notmuch = callPackage ({ fetchgit, fetchurl, lib, melpaBuild }: melpaBuild {
         pname = "notmuch";
-        version = "0.25.1";
+        version = "0.25.2";
         src = fetchgit {
           url = "git://git.notmuchmail.org/git/notmuch";
-          rev = "949c27144e0b9294267511993a109c29d319a23d";
-          sha256 = "088f6f5696v8zrgbipshns6gla4zmfpj8n4jm66slgip9fcrbpvb";
+          rev = "83f266136369452b859393429b8530efac2e09fb";
+          sha256 = "0idim2yslpjzbzy5hh9qhw1gy0h9p92rs0jrr8d2l9y8nsnh6zzr";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b19f21ed7485036e799ccd88edbf7896a379d759/recipes/notmuch";
@@ -25641,8 +25683,8 @@
         src = fetchFromGitHub {
           owner = "OmniSharp";
           repo = "omnisharp-emacs";
-          rev = "906e29a702237f039f24c215fdb561a728a3df1b";
-          sha256 = "1l1rzl7y5j2wmlgx7ivivwvwvbn4h7pg5s7yqsk65n9kb59ha8s8";
+          rev = "ad4a19c60f7dc3d52a5b11febdcc9b78930a1e7d";
+          sha256 = "0jc2ap9l0cc636kssld1bqalbriib57sw1rzz45s8r19jqa8w5gm";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/e327c483be04de32638b420c5b4e043d12a2cd01/recipes/omnisharp";
@@ -26194,12 +26236,12 @@
     org-journal = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "org-journal";
-        version = "1.12.2";
+        version = "1.12.3";
         src = fetchFromGitHub {
           owner = "bastibe";
           repo = "org-journal";
-          rev = "cda1980b013afabd299e7a2294517897f6442d98";
-          sha256 = "1y6idbp74vrr3g0r10n09znky8ih94kzf5fyil47sjkqyzzmpk3s";
+          rev = "44a52a20a154d5c1a78684ef720972c4fe36b64a";
+          sha256 = "0c4jwh53mgy4qpv7aiwbsbvjjhchyfjb0ca5ny5875ljvkq59qz6";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7fabdb05de9b8ec18a3a566f99688b50443b6b44/recipes/org-journal";
@@ -27305,12 +27347,12 @@
     ox-hugo = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, org }:
     melpaBuild {
         pname = "ox-hugo";
-        version = "0.4.1";
+        version = "0.6";
         src = fetchFromGitHub {
           owner = "kaushalmodi";
           repo = "ox-hugo";
-          rev = "c32359c71e7926c7f13039069d8d7481dfb9bc82";
-          sha256 = "1nw2dp6rn3hnnzzffvpr6yz7c154338h9i5ixxgh5vjxm9phzdml";
+          rev = "1213df6c6d9adcd706306523a5ce0c66d118b4c7";
+          sha256 = "1j4b7f5bgpc8vhmxprqriy3688i3lp3fgvxcnnnb2v0sjq1pbac8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/1e1240bb7b5bb8773f804b987901566a20e3e8a9/recipes/ox-hugo";
@@ -27954,12 +27996,12 @@
     pastery = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild, request }:
     melpaBuild {
         pname = "pastery";
-        version = "0.1.14";
+        version = "0.1.15";
         src = fetchFromGitHub {
           owner = "diasbruno";
           repo = "pastery.el";
-          rev = "3f60a2660613c09be5a0b6e299828b44ee3c8732";
-          sha256 = "1dzbkiy2qjdq4isrpiwj25qj069nhydzngg6avyh2c2qmxkibjsr";
+          rev = "245779100e7d1c1a10b67fe7b9055343d3a8229c";
+          sha256 = "1wn53ncs0nivmdqlryvidqkksky8w4ymmfsqm1ha62jkxcwqf26h";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/6058218450071db0af9a5b8ce8ec09a735c4ab66/recipes/pastery";
@@ -31402,12 +31444,12 @@
     rtags = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "rtags";
-        version = "2.14";
+        version = "2.15";
         src = fetchFromGitHub {
           owner = "Andersbakken";
           repo = "rtags";
-          rev = "15ef9a8bab847773d6e247005be929422fc9c285";
-          sha256 = "0yq3c4ich0sffzd571drb7k4vs0bvblx6qcrb6zry75d9npggsyg";
+          rev = "7fa54d513fc716b2dc1055636b4728ab29dfdd3e";
+          sha256 = "1i0php9nnpgsmb4l1sc7qgxvdgg4hyviq68f4k41b9bcwab2hbl8";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3dea16daf0d72188c8b4043534f0833fe9b04e07/recipes/rtags";
@@ -31864,12 +31906,12 @@
     sbt-mode = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "sbt-mode";
-        version = "0.3";
+        version = "1.0.1";
         src = fetchFromGitHub {
           owner = "ensime";
           repo = "emacs-sbt-mode";
-          rev = "bdf31a1ffe637d1445b149804d5f5cc29333a1bd";
-          sha256 = "0ygp0c2hy4zp5x0ghplxf2fhrf16cn37sk2zf6i43zqz6gydzq8a";
+          rev = "84c3d178a1f2c580f620fd8f03a05ac6413086a3";
+          sha256 = "1ndxylb2jbnfrrsbbs5vcxygrqd3ssf3az01nh694hv6lkcidw5k";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/364abdc3829fc12e19f00b534565227dbc30baad/recipes/sbt-mode";
@@ -32576,12 +32618,12 @@
     shx = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "shx";
-        version = "0.0.10";
+        version = "0.0.12";
         src = fetchFromGitHub {
           owner = "riscy";
           repo = "shx-for-emacs";
-          rev = "e53d798ba4a4c07a3ee1c194840c937b18c02087";
-          sha256 = "0sig9gpa2wn23skwny9jpvwxax0gbwp143anvgkc5gm87iw2jgrd";
+          rev = "aa45e7b586b1215ca1af05c14984ce872571b5f7";
+          sha256 = "0ya7vbp71vmvli35rwcwspbclss5ngr1ck9074i2gg1dzrqyxijn";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/7a2ff78ae3c4289ebf9e06cdfd8f8082c395a16f/recipes/shx";
@@ -33920,12 +33962,12 @@
     ssh-deploy = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "ssh-deploy";
-        version = "1.2";
+        version = "1.3";
         src = fetchFromGitHub {
           owner = "cjohansson";
           repo = "emacs-ssh-deploy";
-          rev = "dbd8608551bc9e05280415b7b3937b1a151c7718";
-          sha256 = "1045snp3xdfa9nf34b1f0w4ql8kjl5m2jl7imxj5n46g579g9dhr";
+          rev = "5cd1f8080fefb64e6eaa1098cc191db6abb97e23";
+          sha256 = "0pn9wf4svka3rxzy09jarjp3ycz2bvm39898qaikjf0dwaydlqlw";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/855ea20024b606314f8590129259747cac0bcc97/recipes/ssh-deploy";
@@ -35325,12 +35367,12 @@
     tide = callPackage ({ cl-lib ? null, dash, fetchFromGitHub, fetchurl, flycheck, lib, melpaBuild, s, typescript-mode }:
     melpaBuild {
         pname = "tide";
-        version = "2.5.3";
+        version = "2.6.1";
         src = fetchFromGitHub {
           owner = "ananthakumaran";
           repo = "tide";
-          rev = "e5d1d3852aaf63cbfb0abaec1792a62bed024a72";
-          sha256 = "1kwssyzbjwl2vyll0p49l57z41yv6k1jnzbsdnh0d1h81nixg5wk";
+          rev = "e7ffcdcf9f68205d1498137e84a731c7ffb86263";
+          sha256 = "0lym5jb2fxv4zjhik4q5miazrsi96pljl6fw5jjh0i9p8xs0yp4x";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a21e063011ebbb03ac70bdcf0a379f9e383bdfab/recipes/tide";
@@ -35534,12 +35576,12 @@
     treemacs = callPackage ({ ace-window, cl-lib ? null, dash, emacs, f, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, pfuture, s }:
     melpaBuild {
         pname = "treemacs";
-        version = "1.11.8";
+        version = "1.12.3";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
-          sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
+          rev = "8959ef2546b7124a3e8d41cfba2912b748149d0c";
+          sha256 = "1xy8r0cp7c5zc4xzqmzcp7g4pr09xkfii9xh8mkmpqf27sghj5rd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/486f21e99856a77f470d246f3c71cd32d2e61ad6/recipes/treemacs";
@@ -35555,12 +35597,12 @@
     treemacs-evil = callPackage ({ evil, fetchFromGitHub, fetchurl, lib, melpaBuild, treemacs }:
     melpaBuild {
         pname = "treemacs-evil";
-        version = "1.11.8";
+        version = "1.12.3";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
-          sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
+          rev = "8959ef2546b7124a3e8d41cfba2912b748149d0c";
+          sha256 = "1xy8r0cp7c5zc4xzqmzcp7g4pr09xkfii9xh8mkmpqf27sghj5rd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/a52c2770097fe8968bff7c31ac411b3d9b60972e/recipes/treemacs-evil";
@@ -35576,12 +35618,12 @@
     treemacs-projectile = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild, projectile, treemacs }:
     melpaBuild {
         pname = "treemacs-projectile";
-        version = "1.11.8";
+        version = "1.12.3";
         src = fetchFromGitHub {
           owner = "Alexander-Miller";
           repo = "treemacs";
-          rev = "4213045d59e19d0aac6246d5df5fc0a9b104d5bd";
-          sha256 = "0iwfk42l8wlwnbd6c2l201gfn0k4k0h5whbr21dp8ngr54p5w95z";
+          rev = "8959ef2546b7124a3e8d41cfba2912b748149d0c";
+          sha256 = "1xy8r0cp7c5zc4xzqmzcp7g4pr09xkfii9xh8mkmpqf27sghj5rd";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/b694918c94e6311745776d451aa2519924beef2d/recipes/treemacs-projectile";
@@ -35685,8 +35727,8 @@
         src = fetchFromGitHub {
           owner = "ocaml";
           repo = "tuareg";
-          rev = "64537bc753094b2adc2e3e97625fa9c0a01f9ae6";
-          sha256 = "03d0n49p6d77p221majmbh0gjyrmh2z4cb2l2vi5xxfwc1fsxzmp";
+          rev = "92c1dea250038d1590ab6ce76a6e099fef10d450";
+          sha256 = "187z651w2ngj29bgvw0435c88ky8jvczgvglja9491vprp1zfypc";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/01fb6435a1dfeebdf4e7fa3f4f5928bc75526809/recipes/tuareg";
@@ -36212,12 +36254,12 @@
     utop = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "utop";
-        version = "2.0.1";
+        version = "2.0.2";
         src = fetchFromGitHub {
           owner = "diml";
           repo = "utop";
-          rev = "d658bd8f63ed6b23144fdba2ee3f2a6d77979c4f";
-          sha256 = "1x96zxkvfq8mshgi654vvklrr7dqvq9can89n4jrrb82pcn06k5j";
+          rev = "599fa4ff640d731927415a44679e5b07d9553acd";
+          sha256 = "030wmzi51hya4180m411afy8i2vkq63r630cms3apdqd2bkjjjqs";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/30489fe52b4031184e54f994770aa3291257bc9d/recipes/utop";
@@ -36443,12 +36485,12 @@
     vhdl-tools = callPackage ({ emacs, fetchFromGitHub, fetchurl, ggtags, helm, lib, melpaBuild, outshine }:
     melpaBuild {
         pname = "vhdl-tools";
-        version = "5.7";
+        version = "5.8";
         src = fetchFromGitHub {
           owner = "csantosb";
           repo = "vhdl-tools";
-          rev = "40d5e1020b1a2b6e8ff04cbd8c84bf7959e4e7af";
-          sha256 = "1ndrvwjgfjnmaw71y4452ck9aqlwnpxa7379ldsn7gfl0r67qhsi";
+          rev = "6bbcbdfbff7154517178290371b0182a176c09b5";
+          sha256 = "16k2h8n85ldfjb4zh7f202q370zs0rmmjhgf2jr4xfrvbdmgr8pa";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/69fe2f8fb98ac1af1d3185f62ae1c89e646cfebf/recipes/vhdl-tools";
@@ -37430,11 +37472,11 @@
     wisp-mode = callPackage ({ fetchhg, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "wisp-mode";
-        version = "0.9.7";
+        version = "0.9.8";
         src = fetchhg {
           url = "https://bitbucket.com/ArneBab/wisp";
-          rev = "7633b2a5133f";
-          sha256 = "0j6j9wkmq95dhx5cr3z2gpx5mvsqsgissp2060ij252ijc3l9k4a";
+          rev = "e80659fcc896";
+          sha256 = "01cmwv6xafk19gg6ixgiw9szmhmqk19i2jha5yafaa93pwgnc40v";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/5b7972602399f9df9139cff177e38653bb0f43ed/recipes/wisp-mode";
@@ -37594,6 +37636,27 @@
           license = lib.licenses.free;
         };
       }) {};
+    wordsmith-mode = callPackage ({ fetchFromGitHub, fetchurl, lib, melpaBuild }:
+    melpaBuild {
+        pname = "wordsmith-mode";
+        version = "1.0.0";
+        src = fetchFromGitHub {
+          owner = "istib";
+          repo = "wordsmith-mode";
+          rev = "41b10f2fe3589da9812395cb417c3dcf906f0969";
+          sha256 = "0s3mjmfjiidn3spklndw0dvcwbb9x034xyphp60aad8vjaflbchs";
+        };
+        recipeFile = fetchurl {
+          url = "https://raw.githubusercontent.com/milkypostman/melpa/3b5fda506e5b388cd6824d433b89032ed46858dc/recipes/wordsmith-mode";
+          sha256 = "0s6b6dfqn31jdcgs2mlmvwgpr5a4zs4xi8m002ly11c6sn035xb1";
+          name = "wordsmith-mode";
+        };
+        packageRequires = [];
+        meta = {
+          homepage = "https://melpa.org/#/wordsmith-mode";
+          license = lib.licenses.free;
+        };
+      }) {};
     worf = callPackage ({ ace-link, fetchFromGitHub, fetchurl, hydra, lib, melpaBuild, swiper }:
     melpaBuild {
         pname = "worf";
@@ -38445,12 +38508,12 @@
     zoom = callPackage ({ emacs, fetchFromGitHub, fetchurl, lib, melpaBuild }:
     melpaBuild {
         pname = "zoom";
-        version = "0.2.0";
+        version = "0.2.1";
         src = fetchFromGitHub {
           owner = "cyrus-and";
           repo = "zoom";
-          rev = "d92ea444df6f6bb6cae92242f3269582d1b8ab40";
-          sha256 = "08riz3dd19c1dixm3c6j5dkkwjpgcib05pxq611w8z0mgsn0hsc5";
+          rev = "85deb722abb89f1758a24969680fc13b51344cb2";
+          sha256 = "1a7dlfi1w0rh6iphvflip3798xg7sac916qwjmqzz4inw9wdh3ga";
         };
         recipeFile = fetchurl {
           url = "https://raw.githubusercontent.com/milkypostman/melpa/3fe094c99756ad29eda9bc51f31bb70c4ddc4131/recipes/zoom";
diff --git a/pkgs/applications/editors/emacs-modes/org-generated.nix b/pkgs/applications/editors/emacs-modes/org-generated.nix
index a6108093933d..a5624490b96e 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 = "20171030";
+        version = "20171113";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-20171030.tar";
-          sha256 = "1g2dyzy1844lli2hhfjnbskn1mskccgaaf0mxb1cm0zhhas8bnfd";
+          url = "http://orgmode.org/elpa/org-20171113.tar";
+          sha256 = "0lip21hxq912ya2cgfls3c4clks9knsf2cma9dabbdkiz9jmw1xq";
         };
         packageRequires = [];
         meta = {
@@ -14,10 +14,10 @@
       }) {};
     org-plus-contrib = callPackage ({ elpaBuild, fetchurl, lib }: elpaBuild {
         pname = "org-plus-contrib";
-        version = "20171030";
+        version = "20171113";
         src = fetchurl {
-          url = "http://orgmode.org/elpa/org-plus-contrib-20171030.tar";
-          sha256 = "0pq2hs5d2i6s036pcs0jn6ld2p1ap08dmbjf17hsh899741mg9cj";
+          url = "http://orgmode.org/elpa/org-plus-contrib-20171113.tar";
+          sha256 = "1yy24rgdfvs99rj0zi74djb7l4wmj3w1i6m6j8z6xkqnhixwg5w7";
         };
         packageRequires = [];
         meta = {
diff --git a/pkgs/applications/editors/emacs-modes/org-mac-link/default.nix b/pkgs/applications/editors/emacs-modes/org-mac-link/default.nix
new file mode 100644
index 000000000000..1937a94cad11
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/org-mac-link/default.nix
@@ -0,0 +1,31 @@
+{stdenv, fetchurl, emacs}:
+
+stdenv.mkDerivation rec {
+  name = "org-mac-link-1.2";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/stuartsierra/org-mode/master/contrib/lisp/org-mac-link.el";
+    sha256 = "1gkzlfbhg289r1hbqd25szan1wizgk6s99h9xxjip5bjv0jywcx5";
+  };
+
+  phases = [ "buildPhase" "installPhase"];
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    cp $src org-mac-link.el
+    emacs --batch -f batch-byte-compile org-mac-link.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install org-mac-link.el $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "Insert org-mode links to items selected in various Mac apps";
+    homepage = http://orgmode.org/worg/org-contrib/org-mac-link.html;
+    license = stdenv.lib.licenses.gpl3;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/perl-completion/default.nix b/pkgs/applications/editors/emacs-modes/perl-completion/default.nix
new file mode 100644
index 000000000000..97d063d452cd
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/perl-completion/default.nix
@@ -0,0 +1,23 @@
+{stdenv, fetchurl}:
+
+stdenv.mkDerivation rec {
+  name = "perl-completion";
+
+  src = fetchurl {
+    url = "http://emacswiki.org/emacs/download/perl-completion.el";
+    sha256 = "0x6qsgs4hm87k0z9q3g4p6508kc3y123j5jayll3jf3lcl2vm6ks";
+  };
+
+  phases = [ "installPhase"];
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install $src $out/share/emacs/site-lisp/perl-completion.el
+  '';
+
+  meta = {
+    description = "Minor mode provides useful features for editing perl codes";
+    homepage = http://emacswiki.org/emacs/PerlCompletion;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix b/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix
index fd580ae9270c..1cdcb9b85544 100644
--- a/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix
+++ b/pkgs/applications/editors/emacs-modes/proofgeneral/HEAD.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation (rec {
   name = "ProofGeneral-unstable-${version}";
-  version = "2017-05-06";
+  version = "2017-11-06";
 
   src = fetchFromGitHub {
     owner = "ProofGeneral";
     repo = "PG";
-    rev = "574b0992e3cb4b7a4ad88400b9a5ab0198a96ca5";
-    sha256 = "1c1pgdmy58h78s53g0ga9b5ilbsibz0dr2lk52xgbs3q5m22v5fh";
+    rev = "2eab72c33751768c8a6cde36b978ea4a36b91843";
+    sha256 = "1l3n48d6d4l5q3wkhdyp8dc6hzdw1ckdzr57dj8rdm78j87vh2cg";
   };
 
   buildInputs = [ emacs texinfo perl which ] ++ stdenv.lib.optional enableDoc texLive;
diff --git a/pkgs/applications/editors/emacs-modes/railgun/default.nix b/pkgs/applications/editors/emacs-modes/railgun/default.nix
new file mode 100644
index 000000000000..ba716e1dd13b
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/railgun/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation {
+  name = "railgun-2012-10-17";
+
+  src = fetchgit {
+    url = "https://github.com/mbriggs/railgun.el.git";
+    rev = "66aaa1b091baef53a69d0d7425f48d184b865fb8";
+    sha256 = "00x09vjd3jz5f73qkf5v1y402zn8vl8dsyfwlq9z646p18ba7gyh";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp *.el *.elc $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    description = "Propel yourself through a rails project with the power of magnets";
+    homepage = https://github.com/mbriggs/railgun.el;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/redshank/default.nix b/pkgs/applications/editors/emacs-modes/redshank/default.nix
new file mode 100644
index 000000000000..e03d2fdc90f6
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/redshank/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchgit }:
+
+stdenv.mkDerivation rec {
+  pname = "redshank";
+  name = "${pname}-20120510";
+
+  src = fetchgit {
+    url = "http://www.foldr.org/~michaelw/projects/redshank.git";
+    rev = "f98e68f532e622bcd464292ca4a9cf5fbea14ebb";
+    sha256 = "1jdkgvd5xy9hl5q611jwah2n05abjp7qcy9sj4k1z11x0ii62b6p";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp *.el *.elc $out/share/emacs/site-lisp/
+  '';
+
+  meta = {
+    description = "Common Lisp Editing Extensions (for Emacs)";
+    homepage = http://www.foldr.org/~michaelw/emacs/redshank/;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/stgit/default.nix b/pkgs/applications/editors/emacs-modes/stgit/default.nix
new file mode 100644
index 000000000000..6460ee53abdc
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/stgit/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  pname = "stgit";
+  name = "${pname}-2009-10-28";
+
+  unpackPhase = "true";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/miracle2k/stgit/master/contrib/stgit.el";
+    sha256 = "0pl8q480633vdkylr85s7cbd4653xpzwklnxrwm8xhsnvw9d501q";
+    name = "stgit.el";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp $src $out/share/emacs/site-lisp/stgit.el
+  '';
+
+  meta = {
+    description = "An emacs mode for Stgit";
+    homepage = http://procode.org/stgit/;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/thingatpt-plus/default.nix b/pkgs/applications/editors/emacs-modes/thingatpt-plus/default.nix
new file mode 100644
index 000000000000..b09b6dd0e4d9
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/thingatpt-plus/default.nix
@@ -0,0 +1,23 @@
+{ fetchurl, lib, stdenv, melpaBuild }:
+
+melpaBuild {
+  pname = "thingatpt-plus";
+  version = "20170307.1539";
+
+  src = fetchurl {
+    url = "https://www.emacswiki.org/emacs/download/thingatpt+.el";
+    sha256 = "1k9y354315gvhbdk0m9xpjx24w1bwrnzlnfiils8xgdwnw4py99a";
+    name = "thingatpt+.el";
+  };
+
+  recipeFile = fetchurl {
+    url = "https://raw.githubusercontent.com/milkypostman/melpa/a5d15f875b0080b12ce45cf696c581f6bbf061ba/recipes/thingatpt+";
+    sha256 = "0w031lzjl5phvzsmbbxn2fpziwkmdyxsn08h6b9lxbss1prhx7aa";
+    name = "thingatpt-plus";
+  };
+
+  meta = {
+    homepage = "https://melpa.org/#/thingatpt+";
+    license = lib.licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/yaoddmuse/default.nix b/pkgs/applications/editors/emacs-modes/yaoddmuse/default.nix
new file mode 100644
index 000000000000..e147fd53b229
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/yaoddmuse/default.nix
@@ -0,0 +1,30 @@
+{stdenv, fetchurl, emacs}:
+
+stdenv.mkDerivation rec {
+  name = "yaoddmuse-0.1.2";
+
+  src = fetchurl {
+    url = "http://emacswiki.org/emacs/download/yaoddmuse.el";
+    sha256 = "0vlllq3xmnlni0ws226pqxj68nshclbl5rgqv6y11i3yvzgiazr6";
+  };
+
+  phases = [ "buildPhase" "installPhase"];
+
+  buildInputs = [ emacs ];
+
+  buildPhase = ''
+    cp $src yaoddmuse.el
+    emacs --batch -f batch-byte-compile yaoddmuse.el
+  '';
+
+  installPhase = ''
+    install -d $out/share/emacs/site-lisp
+    install yaoddmuse.el $out/share/emacs/site-lisp
+  '';
+
+  meta = {
+    description = "Comprehensive Emacs integration with Oddmuse wikis";
+    homepage = http://emacswiki.org/emacs/Yaoddmuse;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/emacs-modes/zeitgeist/default.nix b/pkgs/applications/editors/emacs-modes/zeitgeist/default.nix
new file mode 100644
index 000000000000..3461787ab59c
--- /dev/null
+++ b/pkgs/applications/editors/emacs-modes/zeitgeist/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchurl, emacs }:
+
+stdenv.mkDerivation {
+  name = "zeitgeist-20120221";
+
+  unpackPhase = "true";
+
+  src = fetchurl {
+    url = "https://raw.githubusercontent.com/alexmurray/dotfiles/master/.emacs.d/vendor/zeitgeist.el";
+    sha256 = "0fssx3lp8ar3b1ichbagir7z17habv367l7zz719ipycr24rf1nw";
+  };
+
+  buildInputs = [ emacs ];
+
+  installPhase = ''
+    mkdir -p $out/share/emacs/site-lisp
+    cp $src $out/share/emacs/site-lisp/zeitgeist.el
+  '';
+
+  meta = {
+    description = "Integreate Emacs with Zeitgeist";
+    homepage = http://zeitgeist-project.com/;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/applications/editors/jetbrains/default.nix b/pkgs/applications/editors/jetbrains/default.nix
index 41ad3164d6a6..746da7534e68 100644
--- a/pkgs/applications/editors/jetbrains/default.nix
+++ b/pkgs/applications/editors/jetbrains/default.nix
@@ -265,12 +265,12 @@ in
 
   idea-community = buildIdea rec {
     name = "idea-community-${version}";
-    version = "2017.2.5"; /* updated by script */
+    version = "2017.2.6"; /* updated by script */
     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 = "01p63wsy60icy4673ci435rmzpjfkyz7a8w413vw45i2bm76skhr"; /* updated by script */
+      sha256 = "150zq3wk7gsn1ibx5nkq9smfcf9n1lk347vj47yb1nwzcq0vmj2p"; /* updated by script */
     };
     wmClass = "jetbrains-idea-ce";
     update-channel = "IDEA_Release";
@@ -278,12 +278,12 @@ in
 
   idea-ultimate = buildIdea rec {
     name = "idea-ultimate-${version}";
-    version = "2017.2.5"; /* updated by script */
+    version = "2017.2.6"; /* updated by script */
     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 = "0pp49nck1cad6pz81bd95v4v55vmnvj7cbdzybmldglka1afqjb6"; /* updated by script */
+      sha256 = "1g0qcv14rn9kzf0yv17ca3w1ihl1274216n7niwkqwcjp5mvj030"; /* updated by script */
     };
     wmClass = "jetbrains-idea";
     update-channel = "IDEA_Release";
@@ -304,12 +304,12 @@ in
 
   pycharm-community = buildPycharm rec {
     name = "pycharm-community-${version}";
-    version = "2017.2.3"; /* updated by script */
+    version = "2017.2.4"; /* updated by script */
     description = "PyCharm Community Edition";
     license = stdenv.lib.licenses.asl20;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "1aik3jhggxfxnfv4kg9716gwsi013511jf9n20f2mqzdq8w2jmp8"; /* updated by script */
+      sha256 = "193f44s9vh5ksd7hs586h0j66lcqsh29wwxr5yhl05lq931la857"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm-ce";
     update-channel = "PyCharm_Release";
@@ -317,12 +317,12 @@ in
 
   pycharm-professional = buildPycharm rec {
     name = "pycharm-professional-${version}";
-    version = "2017.2.3"; /* updated by script */
+    version = "2017.2.4"; /* updated by script */
     description = "PyCharm Professional Edition";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/python/${name}.tar.gz";
-      sha256 = "0ib96yaj7l0igiv2bcrqqpbfn2xn3ic7lxyjn99k6dh8ika1qvry"; /* updated by script */
+      sha256 = "0n1nps8jfk77i796yr90bvrx9j1vcdnl25sr4b5n4xznjrix4gki"; /* updated by script */
     };
     wmClass = "jetbrains-pycharm";
     update-channel = "PyCharm_Release";
@@ -356,12 +356,12 @@ in
 
   webstorm = buildWebStorm rec {
     name = "webstorm-${version}";
-    version = "2017.2.4"; /* updated by script */
+    version = "2017.2.5"; /* updated by script */
     description = "Professional IDE for Web and JavaScript development";
     license = stdenv.lib.licenses.unfree;
     src = fetchurl {
       url = "https://download.jetbrains.com/webstorm/WebStorm-${version}.tar.gz";
-      sha256 = "1dd2fbsyra4fm39w1kz2biljbrmcqwd866hvzsidigmjplhlzan0"; /* updated by script */
+      sha256 = "0apsfwcj8qfjwya794848h5iqfg9fay3h8bxqwclkw7lid9qwv7n"; /* updated by script */
     };
     wmClass = "jetbrains-webstorm";
     update-channel = "WS_Release";
diff --git a/pkgs/applications/editors/jucipp/default.nix b/pkgs/applications/editors/jucipp/default.nix
index ae4f1e6ad525..3d623d3f3bda 100644
--- a/pkgs/applications/editors/jucipp/default.nix
+++ b/pkgs/applications/editors/jucipp/default.nix
@@ -1,7 +1,7 @@
 { config, stdenv, fetchgit, makeWrapper, gnome3, at_spi2_core, libcxx,
   boost, epoxy, cmake, aspell, llvmPackages, libgit2, pkgconfig, pcre,
   libXdmcp, libxkbcommon, libpthreadstubs, wrapGAppsHook, aspellDicts,
-  coreutils, glibc, dbus_libs, openssl, libxml2, gnumake, binutils, ctags }:
+  coreutils, glibc, dbus_libs, openssl, libxml2, gnumake, ctags }:
 
 with stdenv.lib;
 
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
   postInstall = ''
     mv $out/bin/juci $out/bin/.juci
     makeWrapper "$out/bin/.juci" "$out/bin/juci" \
-      --set PATH "${stdenv.lib.makeBinPath [ ctags coreutils llvmPackages.clang.cc cmake gnumake binutils llvmPackages.clang ]}" \
+      --set PATH "${stdenv.lib.makeBinPath [ ctags coreutils llvmPackages.clang.cc cmake gnumake llvmPackages.clang.bintools llvmPackages.clang ]}" \
       --set NO_AT_BRIDGE 1 \
       --set ASPELL_CONF "dict-dir ${aspellDicts.en}/lib/aspell"
   '';
diff --git a/pkgs/applications/editors/nedit/default.nix b/pkgs/applications/editors/nedit/default.nix
index a15b557f0e57..39d96775ebcd 100644
--- a/pkgs/applications/editors/nedit/default.nix
+++ b/pkgs/applications/editors/nedit/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://sourceforge.net/projects/nedit;
+    homepage = https://sourceforge.net/projects/nedit;
     platforms = with platforms; linux ++ darwin;
   };
 }
diff --git a/pkgs/applications/editors/neovim/default.nix b/pkgs/applications/editors/neovim/default.nix
index dafd4e6f1204..cc6e8f005e76 100644
--- a/pkgs/applications/editors/neovim/default.nix
+++ b/pkgs/applications/editors/neovim/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub, cmake, gettext, libmsgpack, libtermkey
-, libtool, libuv, luajit, luajitPackages, luaPackages, ncurses, perl, pkgconfig
+, libtool, libuv, luaPackages, ncurses, perl, pkgconfig
 , unibilium, makeWrapper, vimUtils, xsel, gperf
 
 , withPython ? true, pythonPackages, extraPythonPackages ? []
@@ -19,13 +19,13 @@ let
   # Note: this is NOT the libvterm already in nixpkgs, but some NIH silliness:
   neovimLibvterm = stdenv.mkDerivation rec {
     name = "neovim-libvterm-${version}";
-    version = "2016-10-07";
+    version = "2017-11-05";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "libvterm";
-      rev = "5a748f97fbf27003e141002b58933a99f3addf8d";
-      sha256 = "1fnd57f5n9h7z50a4vj7g96k6ndsdknjqsibgnxi9ndhyz244qbx";
+      rev = "4ca7ebf7d25856e90bc9d9cc49412e80be7c4ea8";
+      sha256 = "05kyvvz8af90mvig11ya5xd8f4mbvapwyclyrihm9lwas706lzf6";
     };
 
     buildInputs = [ perl ];
@@ -81,13 +81,13 @@ let
 
   neovim = stdenv.mkDerivation rec {
     name = "neovim-${version}";
-    version = "0.2.0";
+    version = "0.2.1";
 
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "neovim";
       rev = "v${version}";
-      sha256 = "0fhjkgjwqqmzbfn9wk10l2vq9v74zkriz5j12b1rx0gdwzlfybn8";
+      sha256 = "19ppj0i59kk70j09gap6azm0jm4y95fr5fx7n9gx377y3xjs8h03";
     };
 
     enableParallelBuilding = true;
@@ -99,7 +99,6 @@ let
       ncurses
       neovimLibvterm
       unibilium
-      luajit
       luaPackages.lua
       gperf
     ] ++ optional withJemalloc jemalloc
@@ -115,7 +114,7 @@ let
     LUA_PATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaPath lualibs);
     LUA_CPATH = stdenv.lib.concatStringsSep ";" (map luaPackages.getLuaCPath lualibs);
 
-    lualibs = [ luaPackages.mpack luaPackages.lpeg luajitPackages.lpeg luaPackages.luabitop ];
+    lualibs = [ luaPackages.mpack luaPackages.lpeg luaPackages.luabitop ];
 
     cmakeFlags = [
       "-DLUA_PRG=${luaPackages.lua}/bin/lua"
@@ -163,7 +162,7 @@ let
       # those contributions were copied from Vim (identified in the commit logs
       # by the vim-patch token). See LICENSE for details."
       license = with licenses; [ asl20 vim ];
-      maintainers = with maintainers; [ manveru garbas ];
+      maintainers = with maintainers; [ manveru garbas rvolosatovs ];
       platforms   = platforms.unix;
     };
   };
diff --git a/pkgs/applications/editors/neovim/neovim-remote.nix b/pkgs/applications/editors/neovim/neovim-remote.nix
index cf4ea9df544e..1c99429a7fe2 100644
--- a/pkgs/applications/editors/neovim/neovim-remote.nix
+++ b/pkgs/applications/editors/neovim/neovim-remote.nix
@@ -4,7 +4,7 @@ with stdenv.lib;
 
 pythonPackages.buildPythonPackage rec {
   name = "neovim-remote-${version}";
-  version = "v1.6.0";
+  version = "v1.8.6";
   disabled = !pythonPackages.isPy3k;
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
index 327edca0ed24..dcb79095aa67 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
+++ b/pkgs/applications/editors/neovim/ruby_provider/Gemfile.lock
@@ -2,7 +2,7 @@ GEM
   remote: https://rubygems.org/
   specs:
     msgpack (1.1.0)
-    neovim (0.5.0)
+    neovim (0.5.1)
       msgpack (~> 1.0)
 
 PLATFORMS
@@ -12,4 +12,4 @@ DEPENDENCIES
   neovim
 
 BUNDLED WITH
-   1.15.1
+   1.14.6
diff --git a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
index fbb9c63a1cff..9d0ecb2788ed 100644
--- a/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
+++ b/pkgs/applications/editors/neovim/ruby_provider/gemset.nix
@@ -11,9 +11,9 @@
     dependencies = ["msgpack"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1da0ha3mz63iyihldp7185b87wx86jg07023xjhbng6i28y1ksn7";
+      sha256 = "08xn7r4g13wl4bhvkmp4hx3x0ppvifs1x2iiqh8jl9f1jb4jhfcp";
       type = "gem";
     };
-    version = "0.5.0";
+    version = "0.5.1";
   };
 }
\ No newline at end of file
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
new file mode 100644
index 000000000000..1a0e6e54fb3e
--- /dev/null
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -0,0 +1,37 @@
+{ lib, buildPythonApplication, fetchFromGitHub
+, gdk_pixbuf, glib, gtk3, pango, webkitgtk
+, pygobject3, pyyaml
+}:
+
+buildPythonApplication rec {
+  name = "rednotebook-${version}";
+  version = "2.3";
+
+  src = fetchFromGitHub {
+    owner = "jendrikseipp";
+    repo = "rednotebook";
+    rev = "v${version}";
+    sha256 = "0zkfid104hcsf20r6829v11wxdghqkd3j1zbgyvd1s7q4nxjn5lj";
+  };
+
+  # We have not packaged tests.
+  doCheck = false;
+
+  propagatedBuildInputs = [
+    gdk_pixbuf glib gtk3 pango webkitgtk
+    pygobject3 pyyaml
+  ];
+
+  makeWrapperArgs = [
+    "--set GI_TYPELIB_PATH $GI_TYPELIB_PATH"
+    "--prefix XDG_DATA_DIRS : $out/share"
+    "--suffix XDG_DATA_DIRS : $XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH"
+  ];
+
+  meta = with lib; {
+    homepage = http://rednotebook.sourceforge.net/;
+    description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ orivej tstrobel ];
+  };
+}
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index a5049e4236b3..b508521790bf 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, fetchpatch, makeDesktopItem, cmake, boost, zlib, openssl,
-R, qt5, libuuid, hunspellDicts, unzip, ant, jdk, gnumake, makeWrapper, pandoc
+{ stdenv, fetchurl, fetchpatch, makeDesktopItem, cmake, boost, zlib, openssl
+, R, qtbase, qtwebkit, qtwebchannel, libuuid, hunspellDicts, unzip, ant, jdk
+, gnumake, makeWrapper, pandoc
 }:
 
 let
@@ -12,7 +13,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake unzip ant jdk makeWrapper pandoc ];
 
-  buildInputs = [ boost zlib openssl R qt5.full qt5.qtwebkit qt5.qtwebchannel libuuid ];
+  buildInputs = [ boost zlib openssl R qtbase qtwebkit qtwebchannel libuuid ];
 
   src = fetchurl {
     url = "https://github.com/rstudio/rstudio/archive/v${version}.tar.gz";
diff --git a/pkgs/applications/editors/sublime3/default.nix b/pkgs/applications/editors/sublime3/default.nix
index 1ec24325460a..9c8a75320a61 100644
--- a/pkgs/applications/editors/sublime3/default.nix
+++ b/pkgs/applications/editors/sublime3/default.nix
@@ -61,7 +61,7 @@ in let
 
     installPhase = ''
       # Correct sublime_text.desktop to exec `sublime' instead of /opt/sublime_text
-      sed -e 's,/opt/sublime_text/sublime_text,sublime,' -i sublime_text.desktop
+      sed -e "s,/opt/sublime_text/sublime_text,$out/sublime_text," -i sublime_text.desktop
 
       mkdir -p $out
       cp -prvd * $out/
@@ -89,9 +89,15 @@ in stdenv.mkDerivation {
 
   installPhase = ''
     mkdir -p $out/bin
-    ln -s $sublime/sublime_text $out/bin/subl
-    ln -s $sublime/sublime_text $out/bin/sublime
-    ln -s $sublime/sublime_text $out/bin/sublime3
+
+    cat > $out/bin/subl <<-EOF
+    #!/bin/sh
+    exec $sublime/sublime_text "\$@"
+    EOF
+    chmod +x $out/bin/subl
+
+    ln $out/bin/subl $out/bin/sublime
+    ln $out/bin/subl $out/bin/sublime3
     mkdir -p $out/share/applications
     ln -s $sublime/sublime_text.desktop $out/share/applications/sublime_text.desktop
     ln -s $sublime/Icon/256x256/ $out/share/icons
diff --git a/pkgs/applications/editors/textadept/default.nix b/pkgs/applications/editors/textadept/default.nix
index db74a58da43e..4f1a29278be9 100644
--- a/pkgs/applications/editors/textadept/default.nix
+++ b/pkgs/applications/editors/textadept/default.nix
@@ -32,7 +32,7 @@ let
       build_dir=$PWD
       cd $TMPDIR
 
-      local_path=$(basename ${store_path} .zip | sed -e 's/^[a-z0-9]*-//')
+      local_path=$(basename ${url} .zip)
 
       cp -r ${store_path} $local_path
       chmod u+rwX -R $local_path
diff --git a/pkgs/applications/editors/typora/default.nix b/pkgs/applications/editors/typora/default.nix
index 0733bd796656..b20a6e5ec45c 100644
--- a/pkgs/applications/editors/typora/default.nix
+++ b/pkgs/applications/editors/typora/default.nix
@@ -3,18 +3,18 @@
 
 stdenv.mkDerivation rec {
   name = "typora-${version}";
-  version = "0.9.31";
+  version = "0.9.38";
 
   src =
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://www.typora.io/linux/typora_${version}_amd64.deb";
-        sha256 = "786b5164d9c63ecc23eb427c5ff393285ce8fd540c5bfdd5c1464655fac87a42";
+        sha256 = "bf6a069c5da4a7dc289bdb3c8d27e7a81daeaee99488d4d3b512c6b673780557";
       }
     else
       fetchurl {
         url = "https://www.typora.io/linux/typora_${version}_i386.deb";
-        sha256 = "a8fe53f8984d9f8c4e06c14affbb616be58a91cd2b475b9681fb18a6e21930d1";
+        sha256 = "edd092e96ebf69503cf6b39b77a61ec5e3185f8a1447da0bed063fa11861c1b9";
       }
     ;
 
@@ -57,8 +57,10 @@ stdenv.mkDerivation rec {
   installPhase = ''
     mkdir -p $out
     dpkg -x $src $out
-    cp -av $out/usr/* $out
+    mv $out/usr/bin $out
+    mv $out/usr/share $out
     rm $out/bin/typora
+    rmdir $out/usr
 
     # Otherwise it looks "suspicious"
     chmod -R g-w $out
@@ -81,9 +83,8 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A minimal Markdown reading & writing app";
     homepage = https://typora.io;
-    license = licenses.free;
-    maintainers = with stdenv.lib.maintainers; [ jensbin ];
+    license = licenses.unfree;
+    maintainers = with maintainers; [ jensbin ];
     platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
-
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 18e1df4575da..417f2d805163 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.0.1150";
+  version = "8.0.1257";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "1k1qkmb2jbymqikrp99q1yjagdf508xzabrw7b08dlh926b2v23j";
+    sha256 = "1y4c7wn5gr7n4c2ni36kadr26aldydxlf06yj7nsmw22ywwg78ig";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/editors/vscode/default.nix b/pkgs/applications/editors/vscode/default.nix
index 23bcdae5fb21..66ff8b5a91c8 100644
--- a/pkgs/applications/editors/vscode/default.nix
+++ b/pkgs/applications/editors/vscode/default.nix
@@ -2,7 +2,7 @@
   makeWrapper, libXScrnSaver, libxkbfile, libsecret }:
 
 let
-  version = "1.17.2";
+  version = "1.18.0";
   channel = "stable";
 
   plat = {
@@ -12,9 +12,9 @@ let
   }.${stdenv.system};
 
   sha256 = {
-    "i686-linux" = "04mnj74pqkgfgdacq4643qrd7ybka1366lr7mwn0f70lk05wb2h2";
-    "x86_64-linux" = "0y37wwvq6flaa2fh2r6b9cplbcszq726zrx6b8slzq6s5wl2lgmr";
-    "x86_64-darwin" = "1cqyir7ijwafy68d5vbw47cs1x2lqs1wjnvhhw15yi2d7c14fq7q";
+    "i686-linux" = "0xwfnw15792lxr5npc71yyw5yyaqi3nifqgv6vpi8ibl6c8zs97d";
+    "x86_64-linux" = "0qzj2qrzbdk27mggh0f9fs3s99bffvnrnbsparbzdag5jjmry2py";
+    "x86_64-darwin" = "1g5rf6g9q9hh4gzg6nb37pyq9dpjj0wapivv5dsvmn0j3cp69cv4";
   }.${stdenv.system};
 
   archive_fmt = if stdenv.system == "x86_64-darwin" then "zip" else "tar.gz";
diff --git a/pkgs/applications/editors/zed/default.nix b/pkgs/applications/editors/zed/default.nix
index 0170319871f0..bcf262957bc5 100644
--- a/pkgs/applications/editors/zed/default.nix
+++ b/pkgs/applications/editors/zed/default.nix
@@ -5,22 +5,16 @@ let
   name = "zed-${version}";
   version = "1.1.0";
 
-  # When upgrading node.nix / node packages:
-  #   fetch package.json from Zed's repository
-  #   run `npm2nix package.json node.nix`
-  #   and replace node.nix with new one
-  nodePackages = import ../../../../pkgs/top-level/node-packages.nix {
+  nodePackages = import ./node.nix {
     inherit pkgs;
-    inherit (pkgs) stdenv nodejs fetchurl fetchgit;
-    neededNatives = [ pkgs.python ] ++ pkgs.lib.optional pkgs.stdenv.isLinux pkgs.utillinux;
-    self = nodePackages;
-    generated = ./node.nix;
+    system = stdenv.system;
   };
 
   node_env = buildEnv {
     name = "node_env";
-    paths = [ nodePackages."body-parser" nodePackages.express
-      nodePackages.request nodePackages.tar nodePackages.ws ];
+    paths = [ nodePackages."body-parser-~1.6.3" nodePackages."express-~4.8.3"
+      nodePackages."request-~2.34.0" nodePackages."tar-~0.1.19"
+      nodePackages."ws-~0.4.32" ];
     pathsToLink = [ "/lib" ];
     ignoreCollisions = true;
   };
@@ -78,11 +72,11 @@ in stdenv.mkDerivation rec {
     ln -s ${zed_script} $out/bin/zed
   '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A fully offline-capable, open source, keyboard-focused, text and code editor for power users";
-    license = stdenv.lib.licenses.mit;
+    license = licenses.mit;
     homepage = http://zedapp.org/;
-    maintainers = [ stdenv.lib.maintainers.matejc ];
-    platforms = stdenv.lib.platforms.linux;
+    maintainers = with maintainers; [ matejc ma27 ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/editors/zed/deps.json b/pkgs/applications/editors/zed/deps.json
new file mode 100644
index 000000000000..d3a7708d156f
--- /dev/null
+++ b/pkgs/applications/editors/zed/deps.json
@@ -0,0 +1,6 @@
+[ { "body-parser": "~1.6.3" }
+, { "express": "~4.8.3" }
+, { "request": "~2.34.0" }
+, { "tar": "~0.1.19" }
+, { "ws": "~0.4.32" }
+]
diff --git a/pkgs/applications/editors/zed/deps.sh b/pkgs/applications/editors/zed/deps.sh
new file mode 100755
index 000000000000..6d2bf29532e9
--- /dev/null
+++ b/pkgs/applications/editors/zed/deps.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+node2nix -6 -i deps.json \
+  -e ../../../development/node-packages/node-env.nix \
+  --no-copy-node-env \
+  -c node.nix
diff --git a/pkgs/applications/editors/zed/node-packages.nix b/pkgs/applications/editors/zed/node-packages.nix
new file mode 100644
index 000000000000..5aaa75b6c914
--- /dev/null
+++ b/pkgs/applications/editors/zed/node-packages.nix
@@ -0,0 +1,877 @@
+# This file has been generated by node2nix 1.3.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "bytes-1.0.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
+        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
+      };
+    };
+    "depd-0.4.4" = {
+      name = "depd";
+      packageName = "depd";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/depd/-/depd-0.4.4.tgz";
+        sha1 = "07091fae75f97828d89b4a02a2d4778f0e7c0662";
+      };
+    };
+    "iconv-lite-0.4.4" = {
+      name = "iconv-lite";
+      packageName = "iconv-lite";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
+        sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
+      };
+    };
+    "media-typer-0.2.0" = {
+      name = "media-typer";
+      packageName = "media-typer";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
+        sha1 = "d8a065213adfeaa2e76321a2b6dda36ff6335984";
+      };
+    };
+    "on-finished-2.1.0" = {
+      name = "on-finished";
+      packageName = "on-finished";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
+        sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
+      };
+    };
+    "qs-2.2.2" = {
+      name = "qs";
+      packageName = "qs";
+      version = "2.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-2.2.2.tgz";
+        sha1 = "dfe783f1854b1ac2b3ade92775ad03e27e03218c";
+      };
+    };
+    "raw-body-1.3.0" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
+        sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
+      };
+    };
+    "type-is-1.3.2" = {
+      name = "type-is";
+      packageName = "type-is";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
+        sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
+      };
+    };
+    "ee-first-1.0.5" = {
+      name = "ee-first";
+      packageName = "ee-first";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
+        sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
+      };
+    };
+    "mime-types-1.0.2" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
+        sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
+      };
+    };
+    "accepts-1.0.7" = {
+      name = "accepts";
+      packageName = "accepts";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
+        sha1 = "5b501fb4f0704309964ccdb048172541208dab1a";
+      };
+    };
+    "buffer-crc32-0.2.3" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
+        sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
+      };
+    };
+    "debug-1.0.4" = {
+      name = "debug";
+      packageName = "debug";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
+        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
+      };
+    };
+    "escape-html-1.0.1" = {
+      name = "escape-html";
+      packageName = "escape-html";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
+        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
+      };
+    };
+    "finalhandler-0.1.0" = {
+      name = "finalhandler";
+      packageName = "finalhandler";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.1.0.tgz";
+        sha1 = "da05bbc4f5f4a30c84ce1d91f3c154007c4e9daa";
+      };
+    };
+    "methods-1.1.0" = {
+      name = "methods";
+      packageName = "methods";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
+        sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
+      };
+    };
+    "parseurl-1.3.2" = {
+      name = "parseurl";
+      packageName = "parseurl";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.2.tgz";
+        sha1 = "fc289d4ed8993119460c156253262cdc8de65bf3";
+      };
+    };
+    "path-to-regexp-0.1.3" = {
+      name = "path-to-regexp";
+      packageName = "path-to-regexp";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
+        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
+      };
+    };
+    "proxy-addr-1.0.1" = {
+      name = "proxy-addr";
+      packageName = "proxy-addr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
+        sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
+      };
+    };
+    "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";
+      };
+    };
+    "send-0.8.5" = {
+      name = "send";
+      packageName = "send";
+      version = "0.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.8.5.tgz";
+        sha1 = "37f708216e6f50c175e74c69fec53484e2fd82c7";
+      };
+    };
+    "serve-static-1.5.4" = {
+      name = "serve-static";
+      packageName = "serve-static";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.5.4.tgz";
+        sha1 = "819fb37ae46bd02dd520b77fcf7fd8f5112f9782";
+      };
+    };
+    "vary-0.1.0" = {
+      name = "vary";
+      packageName = "vary";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
+        sha1 = "df0945899e93c0cc5bd18cc8321d9d21e74f6176";
+      };
+    };
+    "cookie-0.1.2" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
+        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
+      };
+    };
+    "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";
+      };
+    };
+    "cookie-signature-1.0.4" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
+        sha1 = "0edd22286e3a111b9a2a70db363e925e867f6aca";
+      };
+    };
+    "merge-descriptors-0.0.2" = {
+      name = "merge-descriptors";
+      packageName = "merge-descriptors";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
+        sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
+      };
+    };
+    "utils-merge-1.0.0" = {
+      name = "utils-merge";
+      packageName = "utils-merge";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
+        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
+      };
+    };
+    "negotiator-0.4.7" = {
+      name = "negotiator";
+      packageName = "negotiator";
+      version = "0.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
+        sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
+      };
+    };
+    "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";
+      };
+    };
+    "ipaddr.js-0.1.2" = {
+      name = "ipaddr.js";
+      packageName = "ipaddr.js";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
+        sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
+      };
+    };
+    "destroy-1.0.3" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
+        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
+      };
+    };
+    "mime-1.2.11" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.2.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
+        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
+      };
+    };
+    "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";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "forever-agent-0.5.2" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.5.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
+        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
+      };
+    };
+    "node-uuid-1.4.8" = {
+      name = "node-uuid";
+      packageName = "node-uuid";
+      version = "1.4.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.8.tgz";
+        sha1 = "b040eb0923968afabf8d32fb1f17f1167fdab907";
+      };
+    };
+    "tough-cookie-2.3.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz";
+        sha1 = "0b618a5565b6dea90bf3425d04d55edc475a7561";
+      };
+    };
+    "form-data-0.1.4" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "0.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
+        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
+      };
+    };
+    "tunnel-agent-0.3.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
+        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
+      };
+    };
+    "http-signature-0.10.1" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
+        sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
+      };
+    };
+    "oauth-sign-0.3.0" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
+        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
+      };
+    };
+    "hawk-1.0.0" = {
+      name = "hawk";
+      packageName = "hawk";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
+        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
+      };
+    };
+    "aws-sign2-0.5.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
+        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+    "combined-stream-0.0.7" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
+        sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
+      };
+    };
+    "async-0.9.2" = {
+      name = "async";
+      packageName = "async";
+      version = "0.9.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
+        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
+      };
+    };
+    "delayed-stream-0.0.5" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
+        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
+      };
+    };
+    "assert-plus-0.1.5" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
+        sha1 = "ee74009413002d84cec7219c6ac811812e723160";
+      };
+    };
+    "asn1-0.1.11" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
+        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
+      };
+    };
+    "ctype-0.5.3" = {
+      name = "ctype";
+      packageName = "ctype";
+      version = "0.5.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
+        sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
+      };
+    };
+    "hoek-0.9.1" = {
+      name = "hoek";
+      packageName = "hoek";
+      version = "0.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
+        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
+      };
+    };
+    "boom-0.4.2" = {
+      name = "boom";
+      packageName = "boom";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
+        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
+      };
+    };
+    "cryptiles-0.2.2" = {
+      name = "cryptiles";
+      packageName = "cryptiles";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
+        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
+      };
+    };
+    "sntp-0.2.4" = {
+      name = "sntp";
+      packageName = "sntp";
+      version = "0.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
+        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
+      };
+    };
+    "block-stream-0.0.9" = {
+      name = "block-stream";
+      packageName = "block-stream";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
+        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
+      };
+    };
+    "fstream-0.1.31" = {
+      name = "fstream";
+      packageName = "fstream";
+      version = "0.1.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
+        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
+      };
+    };
+    "inherits-2.0.3" = {
+      name = "inherits";
+      packageName = "inherits";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
+        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+      };
+    };
+    "graceful-fs-3.0.11" = {
+      name = "graceful-fs";
+      packageName = "graceful-fs";
+      version = "3.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.11.tgz";
+        sha1 = "7613c778a1afea62f25c630a086d7f3acbbdd818";
+      };
+    };
+    "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";
+      };
+    };
+    "rimraf-2.6.2" = {
+      name = "rimraf";
+      packageName = "rimraf";
+      version = "2.6.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.6.2.tgz";
+        sha512 = "3kmrqh8xli7rzfm8wc6j9lp0c6vml172iv3z088an9xlwl1xvkvh3fn92za66ms4c9yww80qa5kan31k1z1ypqvkchmh1mznb09xdwn";
+      };
+    };
+    "natives-1.1.0" = {
+      name = "natives";
+      packageName = "natives";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/natives/-/natives-1.1.0.tgz";
+        sha1 = "e9ff841418a6b2ec7a495e939984f78f163e6e31";
+      };
+    };
+    "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.2" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz";
+        sha512 = "08vjxzixc9dwc1hn5pd60yyij98krk2pr758aiga97r02ncvaqx1hidi95wk470k1v84gg4alls9bm52m77174z128bgf13b61x951h";
+      };
+    };
+    "fs.realpath-1.0.0" = {
+      name = "fs.realpath";
+      packageName = "fs.realpath";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
+        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+      };
+    };
+    "inflight-1.0.6" = {
+      name = "inflight";
+      packageName = "inflight";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
+        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+      };
+    };
+    "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";
+        sha512 = "1879a3j85h92ypvb7lpv1dqpcxl49rqnbgs5la18zmj1yqhwl60c2m74254wbr5pp3znckqpkg9dvjyrz6hfz8b9vag5a3j910db4f8";
+      };
+    };
+    "once-1.4.0" = {
+      name = "once";
+      packageName = "once";
+      version = "1.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
+        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";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
+        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+      };
+    };
+    "brace-expansion-1.1.8" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "1.1.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.8.tgz";
+        sha1 = "c07b211c7c952ec1f8efd51a77ef0d1d3990a292";
+      };
+    };
+    "balanced-match-1.0.0" = {
+      name = "balanced-match";
+      packageName = "balanced-match";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
+        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
+      };
+    };
+    "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";
+      };
+    };
+    "commander-2.1.0" = {
+      name = "commander";
+      packageName = "commander";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
+        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
+      };
+    };
+    "nan-1.0.0" = {
+      name = "nan";
+      packageName = "nan";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
+        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
+      };
+    };
+    "tinycolor-0.0.1" = {
+      name = "tinycolor";
+      packageName = "tinycolor";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
+        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
+      };
+    };
+    "options-0.0.6" = {
+      name = "options";
+      packageName = "options";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz";
+        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
+      };
+    };
+  };
+in
+{
+  "body-parser-~1.6.3" = nodeEnv.buildNodePackage {
+    name = "body-parser";
+    packageName = "body-parser";
+    version = "1.6.7";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.6.7.tgz";
+      sha1 = "82306becadf44543e826b3907eae93f0237c4e5c";
+    };
+    dependencies = [
+      sources."bytes-1.0.0"
+      sources."depd-0.4.4"
+      sources."iconv-lite-0.4.4"
+      sources."media-typer-0.2.0"
+      sources."on-finished-2.1.0"
+      sources."qs-2.2.2"
+      sources."raw-body-1.3.0"
+      sources."type-is-1.3.2"
+      sources."ee-first-1.0.5"
+      sources."mime-types-1.0.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Node.js body parsing middleware";
+      homepage = https://github.com/expressjs/body-parser;
+      license = "MIT";
+    };
+    production = true;
+  };
+  "express-~4.8.3" = nodeEnv.buildNodePackage {
+    name = "express";
+    packageName = "express";
+    version = "4.8.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/express/-/express-4.8.8.tgz";
+      sha1 = "6aba348ccdfa87608040b12ca0010107a0aac28e";
+    };
+    dependencies = [
+      sources."accepts-1.0.7"
+      sources."buffer-crc32-0.2.3"
+      sources."debug-1.0.4"
+      sources."depd-0.4.4"
+      sources."escape-html-1.0.1"
+      sources."finalhandler-0.1.0"
+      sources."media-typer-0.2.0"
+      sources."methods-1.1.0"
+      sources."parseurl-1.3.2"
+      sources."path-to-regexp-0.1.3"
+      sources."proxy-addr-1.0.1"
+      sources."qs-2.2.2"
+      sources."range-parser-1.0.0"
+      sources."send-0.8.5"
+      sources."serve-static-1.5.4"
+      sources."type-is-1.3.2"
+      sources."vary-0.1.0"
+      sources."cookie-0.1.2"
+      sources."fresh-0.2.2"
+      sources."cookie-signature-1.0.4"
+      sources."merge-descriptors-0.0.2"
+      sources."utils-merge-1.0.0"
+      sources."mime-types-1.0.2"
+      sources."negotiator-0.4.7"
+      sources."ms-0.6.2"
+      sources."ipaddr.js-0.1.2"
+      sources."destroy-1.0.3"
+      sources."mime-1.2.11"
+      sources."on-finished-2.1.0"
+      sources."ee-first-1.0.5"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Fast, unopinionated, minimalist web framework";
+      homepage = http://expressjs.com/;
+      license = "MIT";
+    };
+    production = true;
+  };
+  "request-~2.34.0" = nodeEnv.buildNodePackage {
+    name = "request";
+    packageName = "request";
+    version = "2.34.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/request/-/request-2.34.0.tgz";
+      sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
+    };
+    dependencies = [
+      sources."qs-0.6.6"
+      sources."json-stringify-safe-5.0.1"
+      sources."forever-agent-0.5.2"
+      sources."node-uuid-1.4.8"
+      sources."mime-1.2.11"
+      sources."tough-cookie-2.3.3"
+      sources."form-data-0.1.4"
+      sources."tunnel-agent-0.3.0"
+      sources."http-signature-0.10.1"
+      sources."oauth-sign-0.3.0"
+      sources."hawk-1.0.0"
+      sources."aws-sign2-0.5.0"
+      sources."punycode-1.4.1"
+      sources."combined-stream-0.0.7"
+      sources."async-0.9.2"
+      sources."delayed-stream-0.0.5"
+      sources."assert-plus-0.1.5"
+      sources."asn1-0.1.11"
+      sources."ctype-0.5.3"
+      sources."hoek-0.9.1"
+      sources."boom-0.4.2"
+      sources."cryptiles-0.2.2"
+      sources."sntp-0.2.4"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simplified HTTP request client.";
+      homepage = https://github.com/mikeal/request;
+      license = "Apache, Version 2.0";
+    };
+    production = true;
+  };
+  "tar-~0.1.19" = nodeEnv.buildNodePackage {
+    name = "tar";
+    packageName = "tar";
+    version = "0.1.20";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
+      sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
+    };
+    dependencies = [
+      sources."block-stream-0.0.9"
+      sources."fstream-0.1.31"
+      sources."inherits-2.0.3"
+      sources."graceful-fs-3.0.11"
+      sources."mkdirp-0.5.1"
+      sources."rimraf-2.6.2"
+      sources."natives-1.1.0"
+      sources."minimist-0.0.8"
+      sources."glob-7.1.2"
+      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"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "tar for node";
+      homepage = https://github.com/isaacs/node-tar;
+      license = "BSD";
+    };
+    production = true;
+  };
+  "ws-~0.4.32" = nodeEnv.buildNodePackage {
+    name = "ws";
+    packageName = "ws";
+    version = "0.4.32";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
+      sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
+    };
+    dependencies = [
+      sources."commander-2.1.0"
+      sources."nan-1.0.0"
+      sources."tinycolor-0.0.1"
+      sources."options-0.0.6"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "simple to use, blazing fast and thoroughly tested websocket client, server and console for node.js, up-to-date against RFC-6455";
+      homepage = https://github.com/einaros/ws;
+    };
+    production = true;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/applications/editors/zed/node.nix b/pkgs/applications/editors/zed/node.nix
index e74ff1ec45f4..ff0bf1eb8056 100644
--- a/pkgs/applications/editors/zed/node.nix
+++ b/pkgs/applications/editors/zed/node.nix
@@ -1,1825 +1,16 @@
-{ self, fetchurl, fetchgit ? null, lib }:
+# This file has been generated by node2nix 1.3.0. Do not edit!
 
-{
-  by-spec."accepts"."~1.2.7" =
-    self.by-version."accepts"."1.2.7";
-  by-version."accepts"."1.2.7" = lib.makeOverridable self.buildNodePackage {
-    name = "accepts-1.2.7";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/accepts/-/accepts-1.2.7.tgz";
-        name = "accepts-1.2.7.tgz";
-        sha1 = "efea24e36e0b5b93d001a7598ac441c32ef56003";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."accepts" or []);
-    deps = {
-      "mime-types-2.0.12" = self.by-version."mime-types"."2.0.12";
-      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "accepts" ];
-  };
-  by-spec."asn1"."0.1.11" =
-    self.by-version."asn1"."0.1.11";
-  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "asn1-0.1.11";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
-        name = "asn1-0.1.11.tgz";
-        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."asn1" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "asn1" ];
-  };
-  by-spec."assert-plus"."^0.1.5" =
-    self.by-version."assert-plus"."0.1.5";
-  by-version."assert-plus"."0.1.5" = lib.makeOverridable self.buildNodePackage {
-    name = "assert-plus-0.1.5";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
-        name = "assert-plus-0.1.5.tgz";
-        sha1 = "ee74009413002d84cec7219c6ac811812e723160";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."assert-plus" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "assert-plus" ];
-  };
-  by-spec."async"."~0.9.0" =
-    self.by-version."async"."0.9.2";
-  by-version."async"."0.9.2" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.9.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.9.2.tgz";
-        name = "async-0.9.2.tgz";
-        sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  by-spec."aws-sign2"."~0.5.0" =
-    self.by-version."aws-sign2"."0.5.0";
-  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sign2-0.5.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
-        name = "aws-sign2-0.5.0.tgz";
-        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sign2" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sign2" ];
-  };
-  by-spec."balanced-match"."^0.2.0" =
-    self.by-version."balanced-match"."0.2.0";
-  by-version."balanced-match"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "balanced-match-0.2.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/balanced-match/-/balanced-match-0.2.0.tgz";
-        name = "balanced-match-0.2.0.tgz";
-        sha1 = "38f6730c03aab6d5edbb52bd934885e756d71674";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."balanced-match" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "balanced-match" ];
-  };
-  by-spec."block-stream"."*" =
-    self.by-version."block-stream"."0.0.8";
-  by-version."block-stream"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "block-stream-0.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/block-stream/-/block-stream-0.0.8.tgz";
-        name = "block-stream-0.0.8.tgz";
-        sha1 = "0688f46da2bbf9cff0c4f68225a0cb95cbe8a46b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."block-stream" or []);
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "block-stream" ];
-  };
-  by-spec."body-parser"."^1.6.3" =
-    self.by-version."body-parser"."1.12.4";
-  by-version."body-parser"."1.12.4" = lib.makeOverridable self.buildNodePackage {
-    name = "body-parser-1.12.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/body-parser/-/body-parser-1.12.4.tgz";
-        name = "body-parser-1.12.4.tgz";
-        sha1 = "090700c4ba28862a8520ef378395fdee5f61c229";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."body-parser" or []);
-    deps = {
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "iconv-lite-0.4.8" = self.by-version."iconv-lite"."0.4.8";
-      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-      "qs-2.4.2" = self.by-version."qs"."2.4.2";
-      "raw-body-2.0.1" = self.by-version."raw-body"."2.0.1";
-      "type-is-1.6.2" = self.by-version."type-is"."1.6.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "body-parser" ];
-  };
-  "body-parser" = self.by-version."body-parser"."1.12.4";
-  by-spec."boom"."0.4.x" =
-    self.by-version."boom"."0.4.2";
-  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "boom-0.4.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
-        name = "boom-0.4.2.tgz";
-        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."boom" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "boom" ];
-  };
-  by-spec."brace-expansion"."^1.0.0" =
-    self.by-version."brace-expansion"."1.1.0";
-  by-version."brace-expansion"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "brace-expansion-1.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.0.tgz";
-        name = "brace-expansion-1.1.0.tgz";
-        sha1 = "c9b7d03c03f37bc704be100e522b40db8f6cfcd9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."brace-expansion" or []);
-    deps = {
-      "balanced-match-0.2.0" = self.by-version."balanced-match"."0.2.0";
-      "concat-map-0.0.1" = self.by-version."concat-map"."0.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "brace-expansion" ];
-  };
-  by-spec."bytes"."1.0.0" =
-    self.by-version."bytes"."1.0.0";
-  by-version."bytes"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
-        name = "bytes-1.0.0.tgz";
-        sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
-  };
-  by-spec."bytes"."2.0.1" =
-    self.by-version."bytes"."2.0.1";
-  by-version."bytes"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-2.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-2.0.1.tgz";
-        name = "bytes-2.0.1.tgz";
-        sha1 = "673743059be43d929f9c225dd7363ee0f8b15d97";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
-  };
-  by-spec."combined-stream"."~0.0.4" =
-    self.by-version."combined-stream"."0.0.7";
-  by-version."combined-stream"."0.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "combined-stream-0.0.7";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
-        name = "combined-stream-0.0.7.tgz";
-        sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."combined-stream" or []);
-    deps = {
-      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "combined-stream" ];
-  };
-  by-spec."commander"."~2.1.0" =
-    self.by-version."commander"."2.1.0";
-  by-version."commander"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-2.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
-        name = "commander-2.1.0.tgz";
-        sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  by-spec."concat-map"."0.0.1" =
-    self.by-version."concat-map"."0.0.1";
-  by-version."concat-map"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "concat-map-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        name = "concat-map-0.0.1.tgz";
-        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."concat-map" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "concat-map" ];
-  };
-  by-spec."content-disposition"."0.5.0" =
-    self.by-version."content-disposition"."0.5.0";
-  by-version."content-disposition"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "content-disposition-0.5.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
-        name = "content-disposition-0.5.0.tgz";
-        sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."content-disposition" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "content-disposition" ];
-  };
-  by-spec."content-type"."~1.0.1" =
-    self.by-version."content-type"."1.0.1";
-  by-version."content-type"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "content-type-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz";
-        name = "content-type-1.0.1.tgz";
-        sha1 = "a19d2247327dc038050ce622b7a154ec59c5e600";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."content-type" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "content-type" ];
-  };
-  by-spec."cookie"."0.1.2" =
-    self.by-version."cookie"."0.1.2";
-  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-0.1.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
-        name = "cookie-0.1.2.tgz";
-        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie" ];
-  };
-  by-spec."cookie-signature"."1.0.6" =
-    self.by-version."cookie-signature"."1.0.6";
-  by-version."cookie-signature"."1.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-signature-1.0.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
-        name = "cookie-signature-1.0.6.tgz";
-        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-signature" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-signature" ];
-  };
-  by-spec."crc"."3.2.1" =
-    self.by-version."crc"."3.2.1";
-  by-version."crc"."3.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "crc-3.2.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/crc/-/crc-3.2.1.tgz";
-        name = "crc-3.2.1.tgz";
-        sha1 = "5d9c8fb77a245cd5eca291e5d2d005334bab0082";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crc" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "crc" ];
-  };
-  by-spec."cryptiles"."0.2.x" =
-    self.by-version."cryptiles"."0.2.2";
-  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cryptiles-0.2.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
-        name = "cryptiles-0.2.2.tgz";
-        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cryptiles" or []);
-    deps = {
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cryptiles" ];
-  };
-  by-spec."ctype"."0.5.3" =
-    self.by-version."ctype"."0.5.3";
-  by-version."ctype"."0.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "ctype-0.5.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
-        name = "ctype-0.5.3.tgz";
-        sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ctype" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ctype" ];
-  };
-  by-spec."debug"."~2.2.0" =
-    self.by-version."debug"."2.2.0";
-  by-version."debug"."2.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-2.2.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
-        name = "debug-2.2.0.tgz";
-        sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = {
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  by-spec."delayed-stream"."0.0.5" =
-    self.by-version."delayed-stream"."0.0.5";
-  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "delayed-stream-0.0.5";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
-        name = "delayed-stream-0.0.5.tgz";
-        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."delayed-stream" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "delayed-stream" ];
-  };
-  by-spec."depd"."~1.0.1" =
-    self.by-version."depd"."1.0.1";
-  by-version."depd"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "depd-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
-        name = "depd-1.0.1.tgz";
-        sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."depd" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "depd" ];
-  };
-  by-spec."destroy"."1.0.3" =
-    self.by-version."destroy"."1.0.3";
-  by-version."destroy"."1.0.3" = lib.makeOverridable self.buildNodePackage {
-    name = "destroy-1.0.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
-        name = "destroy-1.0.3.tgz";
-        sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."destroy" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "destroy" ];
-  };
-  by-spec."ee-first"."1.1.0" =
-    self.by-version."ee-first"."1.1.0";
-  by-version."ee-first"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "ee-first-1.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
-        name = "ee-first-1.1.0.tgz";
-        sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ee-first" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ee-first" ];
-  };
-  by-spec."escape-html"."1.0.1" =
-    self.by-version."escape-html"."1.0.1";
-  by-version."escape-html"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "escape-html-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
-        name = "escape-html-1.0.1.tgz";
-        sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."escape-html" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "escape-html" ];
-  };
-  by-spec."etag"."~1.6.0" =
-    self.by-version."etag"."1.6.0";
-  by-version."etag"."1.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "etag-1.6.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/etag/-/etag-1.6.0.tgz";
-        name = "etag-1.6.0.tgz";
-        sha1 = "8bcb2c6af1254c481dfc8b997c906ef4e442c207";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."etag" or []);
-    deps = {
-      "crc-3.2.1" = self.by-version."crc"."3.2.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "etag" ];
-  };
-  by-spec."express"."^4.8.3" =
-    self.by-version."express"."4.12.4";
-  by-version."express"."4.12.4" = lib.makeOverridable self.buildNodePackage {
-    name = "express-4.12.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-4.12.4.tgz";
-        name = "express-4.12.4.tgz";
-        sha1 = "8fec2510255bc6b2e58107c48239c0fa307c1aa2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = {
-      "accepts-1.2.7" = self.by-version."accepts"."1.2.7";
-      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
-      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
-      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "etag-1.6.0" = self.by-version."etag"."1.6.0";
-      "finalhandler-0.3.6" = self.by-version."finalhandler"."0.3.6";
-      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
-      "merge-descriptors-1.0.0" = self.by-version."merge-descriptors"."1.0.0";
-      "methods-1.1.1" = self.by-version."methods"."1.1.1";
-      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
-      "proxy-addr-1.0.8" = self.by-version."proxy-addr"."1.0.8";
-      "qs-2.4.2" = self.by-version."qs"."2.4.2";
-      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
-      "send-0.12.3" = self.by-version."send"."0.12.3";
-      "serve-static-1.9.3" = self.by-version."serve-static"."1.9.3";
-      "type-is-1.6.2" = self.by-version."type-is"."1.6.2";
-      "vary-1.0.0" = self.by-version."vary"."1.0.0";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  "express" = self.by-version."express"."4.12.4";
-  by-spec."finalhandler"."0.3.6" =
-    self.by-version."finalhandler"."0.3.6";
-  by-version."finalhandler"."0.3.6" = lib.makeOverridable self.buildNodePackage {
-    name = "finalhandler-0.3.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.3.6.tgz";
-        name = "finalhandler-0.3.6.tgz";
-        sha1 = "daf9c4161b1b06e001466b1411dfdb6973be138b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."finalhandler" or []);
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "finalhandler" ];
-  };
-  by-spec."forever-agent"."~0.5.0" =
-    self.by-version."forever-agent"."0.5.2";
-  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-agent-0.5.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
-        name = "forever-agent-0.5.2.tgz";
-        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-agent" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-agent" ];
-  };
-  by-spec."form-data"."~0.1.0" =
-    self.by-version."form-data"."0.1.4";
-  by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "form-data-0.1.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
-        name = "form-data-0.1.4.tgz";
-        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."form-data" or []);
-    deps = {
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "form-data" ];
-  };
-  by-spec."forwarded"."~0.1.0" =
-    self.by-version."forwarded"."0.1.0";
-  by-version."forwarded"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "forwarded-0.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
-        name = "forwarded-0.1.0.tgz";
-        sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forwarded" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "forwarded" ];
-  };
-  by-spec."fresh"."0.2.4" =
-    self.by-version."fresh"."0.2.4";
-  by-version."fresh"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "fresh-0.2.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
-        name = "fresh-0.2.4.tgz";
-        sha1 = "3582499206c9723714190edd74b4604feb4a614c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fresh" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "fresh" ];
-  };
-  by-spec."fstream"."~0.1.28" =
-    self.by-version."fstream"."0.1.31";
-  by-version."fstream"."0.1.31" = lib.makeOverridable self.buildNodePackage {
-    name = "fstream-0.1.31";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
-        name = "fstream-0.1.31.tgz";
-        sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fstream" or []);
-    deps = {
-      "graceful-fs-3.0.7" = self.by-version."graceful-fs"."3.0.7";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "rimraf-2.3.4" = self.by-version."rimraf"."2.3.4";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "fstream" ];
-  };
-  by-spec."glob"."^4.4.2" =
-    self.by-version."glob"."4.5.3";
-  by-version."glob"."4.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "glob-4.5.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/glob/-/glob-4.5.3.tgz";
-        name = "glob-4.5.3.tgz";
-        sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."glob" or []);
-    deps = {
-      "inflight-1.0.4" = self.by-version."inflight"."1.0.4";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-2.0.8" = self.by-version."minimatch"."2.0.8";
-      "once-1.3.2" = self.by-version."once"."1.3.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "glob" ];
-  };
-  by-spec."graceful-fs"."~3.0.2" =
-    self.by-version."graceful-fs"."3.0.7";
-  by-version."graceful-fs"."3.0.7" = lib.makeOverridable self.buildNodePackage {
-    name = "graceful-fs-3.0.7";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.7.tgz";
-        name = "graceful-fs-3.0.7.tgz";
-        sha1 = "e935be4b3e57892d289dc3bef7be8c02779d2b54";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."graceful-fs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "graceful-fs" ];
-  };
-  by-spec."hawk"."~1.0.0" =
-    self.by-version."hawk"."1.0.0";
-  by-version."hawk"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-        name = "hawk-1.0.0.tgz";
-        sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hawk" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
-      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "hawk" ];
-  };
-  by-spec."hoek"."0.9.x" =
-    self.by-version."hoek"."0.9.1";
-  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "hoek-0.9.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
-        name = "hoek-0.9.1.tgz";
-        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hoek" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "hoek" ];
-  };
-  by-spec."http-signature"."~0.10.0" =
-    self.by-version."http-signature"."0.10.1";
-  by-version."http-signature"."0.10.1" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.10.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
-        name = "http-signature-0.10.1.tgz";
-        sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-signature" or []);
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
-      "ctype-0.5.3" = self.by-version."ctype"."0.5.3";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-signature" ];
-  };
-  by-spec."iconv-lite"."0.4.8" =
-    self.by-version."iconv-lite"."0.4.8";
-  by-version."iconv-lite"."0.4.8" = lib.makeOverridable self.buildNodePackage {
-    name = "iconv-lite-0.4.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.8.tgz";
-        name = "iconv-lite-0.4.8.tgz";
-        sha1 = "c6019a7595f2cefca702eab694a010bcd9298d20";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."iconv-lite" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "iconv-lite" ];
-  };
-  by-spec."inflight"."^1.0.4" =
-    self.by-version."inflight"."1.0.4";
-  by-version."inflight"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "inflight-1.0.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inflight/-/inflight-1.0.4.tgz";
-        name = "inflight-1.0.4.tgz";
-        sha1 = "6cbb4521ebd51ce0ec0a936bfd7657ef7e9b172a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inflight" or []);
-    deps = {
-      "once-1.3.2" = self.by-version."once"."1.3.2";
-      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "inflight" ];
-  };
-  by-spec."inherits"."2" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-2.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        name = "inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  by-spec."inherits"."~2.0.0" =
-    self.by-version."inherits"."2.0.1";
-  by-spec."ipaddr.js"."1.0.1" =
-    self.by-version."ipaddr.js"."1.0.1";
-  by-version."ipaddr.js"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ipaddr.js-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz";
-        name = "ipaddr.js-1.0.1.tgz";
-        sha1 = "5f38801dc73e0400fc7076386f6ed5215fbd8f95";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ipaddr.js" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ipaddr.js" ];
-  };
-  by-spec."json-stringify-safe"."~5.0.0" =
-    self.by-version."json-stringify-safe"."5.0.1";
-  by-version."json-stringify-safe"."5.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "json-stringify-safe-5.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-        name = "json-stringify-safe-5.0.1.tgz";
-        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."json-stringify-safe" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "json-stringify-safe" ];
-  };
-  by-spec."media-typer"."0.3.0" =
-    self.by-version."media-typer"."0.3.0";
-  by-version."media-typer"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "media-typer-0.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
-        name = "media-typer-0.3.0.tgz";
-        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."media-typer" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "media-typer" ];
-  };
-  by-spec."merge-descriptors"."1.0.0" =
-    self.by-version."merge-descriptors"."1.0.0";
-  by-version."merge-descriptors"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "merge-descriptors-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz";
-        name = "merge-descriptors-1.0.0.tgz";
-        sha1 = "2169cf7538e1b0cc87fb88e1502d8474bbf79864";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."merge-descriptors" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "merge-descriptors" ];
-  };
-  by-spec."methods"."~1.1.1" =
-    self.by-version."methods"."1.1.1";
-  by-version."methods"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "methods-1.1.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-1.1.1.tgz";
-        name = "methods-1.1.1.tgz";
-        sha1 = "17ea6366066d00c58e375b8ec7dfd0453c89822a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
-  };
-  by-spec."mime"."1.3.4" =
-    self.by-version."mime"."1.3.4";
-  by-version."mime"."1.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.3.4";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-        name = "mime-1.3.4.tgz";
-        sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  by-spec."mime"."~1.2.11" =
-    self.by-version."mime"."1.2.11";
-  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        name = "mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  by-spec."mime"."~1.2.9" =
-    self.by-version."mime"."1.2.11";
-  by-spec."mime-db"."~1.10.0" =
-    self.by-version."mime-db"."1.10.0";
-  by-version."mime-db"."1.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-db-1.10.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime-db/-/mime-db-1.10.0.tgz";
-        name = "mime-db-1.10.0.tgz";
-        sha1 = "e6308063c758ebd12837874c3d1ea9170766b03b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime-db" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime-db" ];
-  };
-  by-spec."mime-types"."~2.0.11" =
-    self.by-version."mime-types"."2.0.12";
-  by-version."mime-types"."2.0.12" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-types-2.0.12";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime-types/-/mime-types-2.0.12.tgz";
-        name = "mime-types-2.0.12.tgz";
-        sha1 = "87ae9f124e94f8e440c93d1a72d0dccecdb71135";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime-types" or []);
-    deps = {
-      "mime-db-1.10.0" = self.by-version."mime-db"."1.10.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime-types" ];
-  };
-  by-spec."minimatch"."^2.0.1" =
-    self.by-version."minimatch"."2.0.8";
-  by-version."minimatch"."2.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "minimatch-2.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimatch/-/minimatch-2.0.8.tgz";
-        name = "minimatch-2.0.8.tgz";
-        sha1 = "0bc20f6bf3570a698ef0ddff902063c6cabda6bf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimatch" or []);
-    deps = {
-      "brace-expansion-1.1.0" = self.by-version."brace-expansion"."1.1.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimatch" ];
-  };
-  by-spec."minimist"."0.0.8" =
-    self.by-version."minimist"."0.0.8";
-  by-version."minimist"."0.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "minimist-0.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-        name = "minimist-0.0.8.tgz";
-        sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."minimist" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "minimist" ];
-  };
-  by-spec."mkdirp"."0.5" =
-    self.by-version."mkdirp"."0.5.1";
-  by-version."mkdirp"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.5.1";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-        name = "mkdirp-0.5.1.tgz";
-        sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp" or []);
-    deps = {
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  by-spec."ms"."0.7.1" =
-    self.by-version."ms"."0.7.1";
-  by-version."ms"."0.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "ms-0.7.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
-        name = "ms-0.7.1.tgz";
-        sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ms" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ms" ];
-  };
-  by-spec."nan"."~1.0.0" =
-    self.by-version."nan"."1.0.0";
-  by-version."nan"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "nan-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
-        name = "nan-1.0.0.tgz";
-        sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."nan" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "nan" ];
-  };
-  by-spec."negotiator"."0.5.3" =
-    self.by-version."negotiator"."0.5.3";
-  by-version."negotiator"."0.5.3" = lib.makeOverridable self.buildNodePackage {
-    name = "negotiator-0.5.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
-        name = "negotiator-0.5.3.tgz";
-        sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."negotiator" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "negotiator" ];
-  };
-  by-spec."node-uuid"."~1.4.0" =
-    self.by-version."node-uuid"."1.4.3";
-  by-version."node-uuid"."1.4.3" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.3";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz";
-        name = "node-uuid-1.4.3.tgz";
-        sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
-  };
-  by-spec."oauth-sign"."~0.3.0" =
-    self.by-version."oauth-sign"."0.3.0";
-  by-version."oauth-sign"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "oauth-sign-0.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
-        name = "oauth-sign-0.3.0.tgz";
-        sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."oauth-sign" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "oauth-sign" ];
-  };
-  by-spec."on-finished"."~2.2.1" =
-    self.by-version."on-finished"."2.2.1";
-  by-version."on-finished"."2.2.1" = lib.makeOverridable self.buildNodePackage {
-    name = "on-finished-2.2.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/on-finished/-/on-finished-2.2.1.tgz";
-        name = "on-finished-2.2.1.tgz";
-        sha1 = "5c85c1cc36299f78029653f667f27b6b99ebc029";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."on-finished" or []);
-    deps = {
-      "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "on-finished" ];
-  };
-  by-spec."once"."^1.3.0" =
-    self.by-version."once"."1.3.2";
-  by-version."once"."1.3.2" = lib.makeOverridable self.buildNodePackage {
-    name = "once-1.3.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/once/-/once-1.3.2.tgz";
-        name = "once-1.3.2.tgz";
-        sha1 = "d8feeca93b039ec1dcdee7741c92bdac5e28081b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."once" or []);
-    deps = {
-      "wrappy-1.0.1" = self.by-version."wrappy"."1.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "once" ];
-  };
-  by-spec."options".">=0.0.5" =
-    self.by-version."options"."0.0.6";
-  by-version."options"."0.0.6" = lib.makeOverridable self.buildNodePackage {
-    name = "options-0.0.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
-        name = "options-0.0.6.tgz";
-        sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."options" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "options" ];
-  };
-  by-spec."parseurl"."~1.3.0" =
-    self.by-version."parseurl"."1.3.0";
-  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "parseurl-1.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
-        name = "parseurl-1.3.0.tgz";
-        sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
-  by-spec."path-to-regexp"."0.1.3" =
-    self.by-version."path-to-regexp"."0.1.3";
-  by-version."path-to-regexp"."0.1.3" = lib.makeOverridable self.buildNodePackage {
-    name = "path-to-regexp-0.1.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
-        name = "path-to-regexp-0.1.3.tgz";
-        sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."path-to-regexp" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "path-to-regexp" ];
-  };
-  by-spec."proxy-addr"."~1.0.8" =
-    self.by-version."proxy-addr"."1.0.8";
-  by-version."proxy-addr"."1.0.8" = lib.makeOverridable self.buildNodePackage {
-    name = "proxy-addr-1.0.8";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.8.tgz";
-        name = "proxy-addr-1.0.8.tgz";
-        sha1 = "db54ec878bcc1053d57646609219b3715678bafe";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."proxy-addr" or []);
-    deps = {
-      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
-      "ipaddr.js-1.0.1" = self.by-version."ipaddr.js"."1.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "proxy-addr" ];
-  };
-  by-spec."qs"."2.4.2" =
-    self.by-version."qs"."2.4.2";
-  by-version."qs"."2.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-2.4.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-2.4.2.tgz";
-        name = "qs-2.4.2.tgz";
-        sha1 = "f7ce788e5777df0b5010da7f7c4e73ba32470f5a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."qs"."~0.6.0" =
-    self.by-version."qs"."0.6.6";
-  by-version."qs"."0.6.6" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.6.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
-        name = "qs-0.6.6.tgz";
-        sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."range-parser"."~1.0.2" =
-    self.by-version."range-parser"."1.0.2";
-  by-version."range-parser"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "range-parser-1.0.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
-        name = "range-parser-1.0.2.tgz";
-        sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."range-parser" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "range-parser" ];
-  };
-  by-spec."raw-body"."~2.0.1" =
-    self.by-version."raw-body"."2.0.1";
-  by-version."raw-body"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "raw-body-2.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/raw-body/-/raw-body-2.0.1.tgz";
-        name = "raw-body-2.0.1.tgz";
-        sha1 = "2b70a3ffd1681c0521bae73454e0ccbc785d378e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."raw-body" or []);
-    deps = {
-      "bytes-2.0.1" = self.by-version."bytes"."2.0.1";
-      "iconv-lite-0.4.8" = self.by-version."iconv-lite"."0.4.8";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "raw-body" ];
-  };
-  by-spec."request"."~2.34.0" =
-    self.by-version."request"."2.34.0";
-  by-version."request"."2.34.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.34.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.34.0.tgz";
-        name = "request-2.34.0.tgz";
-        sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = {
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "tough-cookie-1.1.0" = self.by-version."tough-cookie"."1.1.0";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
-      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  "request" = self.by-version."request"."2.34.0";
-  by-spec."rimraf"."2" =
-    self.by-version."rimraf"."2.3.4";
-  by-version."rimraf"."2.3.4" = lib.makeOverridable self.buildNodePackage {
-    name = "rimraf-2.3.4";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/rimraf/-/rimraf-2.3.4.tgz";
-        name = "rimraf-2.3.4.tgz";
-        sha1 = "82d9bc1b2fcf31e205ac7b28138a025d08e9159a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."rimraf" or []);
-    deps = {
-      "glob-4.5.3" = self.by-version."glob"."4.5.3";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "rimraf" ];
-  };
-  by-spec."send"."0.12.3" =
-    self.by-version."send"."0.12.3";
-  by-version."send"."0.12.3" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.12.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.12.3.tgz";
-        name = "send-0.12.3.tgz";
-        sha1 = "cd12dc58fde21e4f91902b39b2fda05a7a6d9bdc";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "etag-1.6.0" = self.by-version."etag"."1.6.0";
-      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "on-finished-2.2.1" = self.by-version."on-finished"."2.2.1";
-      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  by-spec."serve-static"."~1.9.3" =
-    self.by-version."serve-static"."1.9.3";
-  by-version."serve-static"."1.9.3" = lib.makeOverridable self.buildNodePackage {
-    name = "serve-static-1.9.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/serve-static/-/serve-static-1.9.3.tgz";
-        name = "serve-static-1.9.3.tgz";
-        sha1 = "5f8da07323ad385ff3dc541f1a7917b2e436eb57";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."serve-static" or []);
-    deps = {
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "send-0.12.3" = self.by-version."send"."0.12.3";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "serve-static" ];
-  };
-  by-spec."sntp"."0.2.x" =
-    self.by-version."sntp"."0.2.4";
-  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "sntp-0.2.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
-        name = "sntp-0.2.4.tgz";
-        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sntp" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "sntp" ];
-  };
-  by-spec."tar"."~0.1.19" =
-    self.by-version."tar"."0.1.20";
-  by-version."tar"."0.1.20" = lib.makeOverridable self.buildNodePackage {
-    name = "tar-0.1.20";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tar/-/tar-0.1.20.tgz";
-        name = "tar-0.1.20.tgz";
-        sha1 = "42940bae5b5f22c74483699126f9f3f27449cb13";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tar" or []);
-    deps = {
-      "block-stream-0.0.8" = self.by-version."block-stream"."0.0.8";
-      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tar" ];
-  };
-  "tar" = self.by-version."tar"."0.1.20";
-  by-spec."tinycolor"."0.x" =
-    self.by-version."tinycolor"."0.0.1";
-  by-version."tinycolor"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "tinycolor-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
-        name = "tinycolor-0.0.1.tgz";
-        sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tinycolor" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tinycolor" ];
-  };
-  by-spec."tough-cookie".">=0.12.0" =
-    self.by-version."tough-cookie"."1.1.0";
-  by-version."tough-cookie"."1.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "tough-cookie-1.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-1.1.0.tgz";
-        name = "tough-cookie-1.1.0.tgz";
-        sha1 = "126d2490e66ae5286b6863debd4a341076915954";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tough-cookie" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tough-cookie" ];
-  };
-  by-spec."tunnel-agent"."~0.3.0" =
-    self.by-version."tunnel-agent"."0.3.0";
-  by-version."tunnel-agent"."0.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "tunnel-agent-0.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
-        name = "tunnel-agent-0.3.0.tgz";
-        sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tunnel-agent" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tunnel-agent" ];
-  };
-  by-spec."type-is"."~1.6.2" =
-    self.by-version."type-is"."1.6.2";
-  by-version."type-is"."1.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "type-is-1.6.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/type-is/-/type-is-1.6.2.tgz";
-        name = "type-is-1.6.2.tgz";
-        sha1 = "694e83e5d110417e681cea278227f264ae406e33";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."type-is" or []);
-    deps = {
-      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "mime-types-2.0.12" = self.by-version."mime-types"."2.0.12";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "type-is" ];
-  };
-  by-spec."utils-merge"."1.0.0" =
-    self.by-version."utils-merge"."1.0.0";
-  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "utils-merge-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
-        name = "utils-merge-1.0.0.tgz";
-        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utils-merge" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "utils-merge" ];
-  };
-  by-spec."vary"."~1.0.0" =
-    self.by-version."vary"."1.0.0";
-  by-version."vary"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "vary-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/vary/-/vary-1.0.0.tgz";
-        name = "vary-1.0.0.tgz";
-        sha1 = "c5e76cec20d3820d8f2a96e7bee38731c34da1e7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."vary" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "vary" ];
-  };
-  by-spec."wrappy"."1" =
-    self.by-version."wrappy"."1.0.1";
-  by-version."wrappy"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "wrappy-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/wrappy/-/wrappy-1.0.1.tgz";
-        name = "wrappy-1.0.1.tgz";
-        sha1 = "1e65969965ccbc2db4548c6b84a6f2c5aedd4739";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."wrappy" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "wrappy" ];
-  };
-  by-spec."ws"."~0.4.32" =
-    self.by-version."ws"."0.4.32";
-  by-version."ws"."0.4.32" = lib.makeOverridable self.buildNodePackage {
-    name = "ws-0.4.32";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
-        name = "ws-0.4.32.tgz";
-        sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ws" or []);
-    deps = {
-      "commander-2.1.0" = self.by-version."commander"."2.1.0";
-      "nan-1.0.0" = self.by-version."nan"."1.0.0";
-      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ws" ];
-  };
-  "ws" = self.by-version."ws"."0.4.32";
-}
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-6_x"}:
+
+let
+  nodeEnv = import ../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index f2046f0d912a..973e7f88e800 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -14,8 +14,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "7.0.7-8";
-    sha256 = "0h2jbaxrxrmdcr5crf1d93sc60v4zfqrrl3w79md6h11wf57ksbp";
+    version = "7.0.7-9";
+    sha256 = "0p0879chcfrghcamwgxxcmaaj04xv0z91ris7hxi37qdw8c7836w";
     patches = [];
   };
 in
diff --git a/pkgs/applications/graphics/ImageMagick/default.nix b/pkgs/applications/graphics/ImageMagick/default.nix
index 35e4fb989b3f..507912ee43ea 100644
--- a/pkgs/applications/graphics/ImageMagick/default.nix
+++ b/pkgs/applications/graphics/ImageMagick/default.nix
@@ -14,8 +14,8 @@ let
     else throw "ImageMagick is not supported on this platform.";
 
   cfg = {
-    version = "6.9.9-20";
-    sha256 = "1pz8clmhnq26vdsp1j21czq3nfbvrmfdz30k7na7w4vh7wqxsrx1";
+    version = "6.9.9-21";
+    sha256 = "0241g3c207rawn61bz8rc5gz55k5mi2b0n3zlwa0jv9xczlkd6a9";
     patches = [];
   }
     # Freeze version on mingw so we don't need to port the patch too often.
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index f68162de4e3e..b447fa7810f4 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -6,11 +6,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "feh-${version}";
-  version = "2.21";
+  version = "2.22.2";
 
   src = fetchurl {
     url = "https://feh.finalrewind.org/${name}.tar.bz2";
-    sha256 = "0azgpr4al2pi4858z4xh4lfz84cvzxw3n426fn7rz6cdj34q212j";
+    sha256 = "1kcflv4jb4250g94nqn28i98xqvvci8w7vqpfr62gxlp16z1za05";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/applications/graphics/gimp/plugins/default.nix b/pkgs/applications/graphics/gimp/plugins/default.nix
index 6b145ca09ee6..0d4215dd5bc2 100644
--- a/pkgs/applications/graphics/gimp/plugins/default.nix
+++ b/pkgs/applications/graphics/gimp/plugins/default.nix
@@ -139,15 +139,13 @@ rec {
   };
 
   texturize = pluginDerivation {
-    name = "texturize-2.1";
-    src = fetchurl {
-      url = mirror://sourceforge/gimp-texturize/texturize-2.1_src.tgz;
-      sha256 = "0cdjq25g3yfxx6bzx6nid21kq659s1vl9id4wxyjs2dhcv229cg3";
+    name = "texturize-2.2.2017-07-28";
+    src = fetchFromGitHub {
+      owner = "lmanul";
+      repo = "gimp-texturize";
+      rev = "de4367f71e40fe6d82387eaee68611a80a87e0e1";
+      sha256 = "1zzvbczly7k456c0y6s92a1i8ph4ywmbvdl8i4rcc29l4qd2z8fw";
     };
-    buildInputs = with pkgs; [ perl ];
-    patchPhase = ''
-      sed -i '/.*gimpimage_pdb.h.*/ d' src/*.c*
-    '';
     installPhase = "installPlugins src/texturize";
   };
 
diff --git a/pkgs/applications/graphics/k3d/default.nix b/pkgs/applications/graphics/k3d/default.nix
index d8052f93345a..ce315ebc5120 100644
--- a/pkgs/applications/graphics/k3d/default.nix
+++ b/pkgs/applications/graphics/k3d/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
      cmake mesa zlib python expat libxml2 libsigcxx libuuid freetype libpng
-     boost boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff
+     boost doxygen cairomm pkgconfig imagemagick libjpeg libtiff
      gettext intltool perl unzip ftgl glew asciidoc
      gtkmm2 glibmm gtkglext pangox_compat libXmu
     ];
diff --git a/pkgs/applications/graphics/krita/default.nix b/pkgs/applications/graphics/krita/default.nix
index 98f92413a767..a9c238ead3c1 100644
--- a/pkgs/applications/graphics/krita/default.nix
+++ b/pkgs/applications/graphics/krita/default.nix
@@ -9,11 +9,11 @@
 
 mkDerivation rec {
   name = "krita-${version}";
-  version = "3.2.1";
+  version = "3.3.2";
 
   src = fetchurl {
-    url = "http://download.kde.org/stable/krita/${version}/${name}.tar.gz";
-    sha256 = "0fafy5ggplgq2rz85sqa42vmkzs2r9dq47qfrbnn2n6pfzkcw1pg";
+    url = https://download.kde.org/stable/krita/3.3.2/krita-3.3.2.1.tar.xz;
+    sha256 = "0i3l27cfi1h486m74xf4ynk0pwx32xaqraa91a0g1bpj1jxf2mg5";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/applications/graphics/photoqt/default.nix b/pkgs/applications/graphics/photoqt/default.nix
index a3c8d805b234..82e8793199b6 100644
--- a/pkgs/applications/graphics/photoqt/default.nix
+++ b/pkgs/applications/graphics/photoqt/default.nix
@@ -11,7 +11,10 @@ stdenv.mkDerivation rec {
     sha256 = "17kkpzkmzfnigs26jjyd75iy58qffjsclif81cmviq73lzmqy0b1";
   };
 
+  patches = [ ./photoqt-1.5.1-qt-5.9.patch ];
+
   nativeBuildInputs = [ cmake ];
+
   buildInputs = [
     qtbase qtquickcontrols qttools exiv2 graphicsmagick
     qtmultimedia qtdeclarative libraw qtgraphicaleffects
@@ -21,6 +24,8 @@ stdenv.mkDerivation rec {
     export MAGICK_LOCATION="${graphicsmagick}/include/GraphicsMagick"
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://photoqt.org/;
     description = "Simple, yet powerful and good looking image viewer";
diff --git a/pkgs/applications/graphics/photoqt/photoqt-1.5.1-qt-5.9.patch b/pkgs/applications/graphics/photoqt/photoqt-1.5.1-qt-5.9.patch
new file mode 100644
index 000000000000..daa982b5f3aa
--- /dev/null
+++ b/pkgs/applications/graphics/photoqt/photoqt-1.5.1-qt-5.9.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 97abcb5..fd4877a 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -50,7 +50,7 @@ SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -O3 -Wall")
+ #### FIND REQUIRED PACKAGES ####
+ ################################
+ 
+-FIND_PACKAGE(Qt5 COMPONENTS LinguistTools Quick Widgets Core Svg REQUIRED)
++FIND_PACKAGE(Qt5 COMPONENTS LinguistTools Quick Widgets Core Svg Sql Xml REQUIRED)
+ SET(CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/CMake" ${CMAKE_MODULE_PATH})
+ FIND_PACKAGE(Magick)
+ FIND_PACKAGE(Exiv2)
diff --git a/pkgs/applications/graphics/phototonic/default.nix b/pkgs/applications/graphics/phototonic/default.nix
index 8ce9d407aade..ce300eaf9f6d 100644
--- a/pkgs/applications/graphics/phototonic/default.nix
+++ b/pkgs/applications/graphics/phototonic/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An image viewer and organizer";
-    homepage = http://oferkv.github.io/phototonic/;
+    homepage = https://sourceforge.net/projects/phototonic/;
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/applications/graphics/xzgv/default.nix b/pkgs/applications/graphics/xzgv/default.nix
index a15ffee3d4a8..69ab67dffb73 100644
--- a/pkgs/applications/graphics/xzgv/default.nix
+++ b/pkgs/applications/graphics/xzgv/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/{app-install/desktop,applications,info,pixmaps}
   '';
   meta = with stdenv.lib; {
-    homepage = http://sourceforge.net/projects/xzgv/;
+    homepage = https://sourceforge.net/projects/xzgv/;
     description = "Picture viewer for X with a thumbnail-based selector";
     license = licenses.gpl2;
     maintainers = [ maintainers.womfoo ];
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 11cbfcfe5388..1542b9c25190 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/applications/17.08.1/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/applications/17.08.3/ -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/kdenlive.nix b/pkgs/applications/kde/kdenlive.nix
index 854e346e2909..17d7da7b702c 100644
--- a/pkgs/applications/kde/kdenlive.nix
+++ b/pkgs/applications/kde/kdenlive.nix
@@ -2,7 +2,6 @@
 , lib
 , extra-cmake-modules
 , kdoctools
-, qtscript
 , kactivities
 , kconfig
 , kcrash
@@ -27,7 +26,10 @@
 , kfilemetadata
 , ffmpeg
 , phonon-backend-gstreamer
+, qtdeclarative
 , qtquickcontrols
+, qtscript
+, qtwebkit
 }:
 
 mkDerivation {
@@ -56,8 +58,10 @@ mkDerivation {
     ktextwidgets
     mlt
     phonon-backend-gstreamer
+    qtdeclarative
     qtquickcontrols
     qtscript
+    qtwebkit
     shared_mime_info
     libv4l
     ffmpeg
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index f7b5ca0b31a2..2edfb0d79bb3 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -3,2235 +3,2235 @@
 
 {
   akonadi = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akonadi-17.08.1.tar.xz";
-      sha256 = "1nhjhgpigi8bhavh609lxnr76w9c0j7017haiv6g6j6zd5h0pp6w";
-      name = "akonadi-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akonadi-17.08.3.tar.xz";
+      sha256 = "01sn0c5b679v76djpd7rx3cgzn3idpsjc3m3wgrvjzfyqs18f2al";
+      name = "akonadi-17.08.3.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akonadi-calendar-17.08.1.tar.xz";
-      sha256 = "15ld1jn1962wc5ynf8cgg9z6bh7hvjcl4nv9fqaa5mwy4mik4a0z";
-      name = "akonadi-calendar-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akonadi-calendar-17.08.3.tar.xz";
+      sha256 = "1w14a27k0hw4i9vnv2bkh12jpvb6jh31i6jd4hxaxvvmmjwl68b6";
+      name = "akonadi-calendar-17.08.3.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akonadi-calendar-tools-17.08.1.tar.xz";
-      sha256 = "1y4r3y9gbc1zsip25pz47fxi9fw68fr6p18mljfkcg394sygvlcr";
-      name = "akonadi-calendar-tools-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akonadi-calendar-tools-17.08.3.tar.xz";
+      sha256 = "19b5my6svq32nwagkq5p0al7mzf844d4pp0764irgdcfk6ciakkw";
+      name = "akonadi-calendar-tools-17.08.3.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akonadiconsole-17.08.1.tar.xz";
-      sha256 = "0xy8s23941rfh1yiz2c1v10m59jrd8hphzphckxa68zxb6cb7vws";
-      name = "akonadiconsole-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akonadiconsole-17.08.3.tar.xz";
+      sha256 = "1ccmdarzb60f22ypnfmr1gzrc7byw08c2h3zhni9g1jab327i2vk";
+      name = "akonadiconsole-17.08.3.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akonadi-contacts-17.08.1.tar.xz";
-      sha256 = "0hgabjca3fzb8hlzhfi54la7rgh4gaii6i2j623birslzry3mkc9";
-      name = "akonadi-contacts-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akonadi-contacts-17.08.3.tar.xz";
+      sha256 = "0fh9rja4dlvambx6ig4gszgr26rrxfhmgdn0541fsg5hpkpifsx9";
+      name = "akonadi-contacts-17.08.3.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akonadi-import-wizard-17.08.1.tar.xz";
-      sha256 = "1f7k592papppfqdhgpcpw03phhdlkp18cbap1ibvzywhg1dn2qmg";
-      name = "akonadi-import-wizard-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akonadi-import-wizard-17.08.3.tar.xz";
+      sha256 = "1hza7bl6anzxp32dpw79v73lgqssmdw32qhkinnacws7x9kcvpag";
+      name = "akonadi-import-wizard-17.08.3.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akonadi-mime-17.08.1.tar.xz";
-      sha256 = "1apl89r1mpj5byngzdibxr4whr0932zr3j2y51pynnmilgkmyg6v";
-      name = "akonadi-mime-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akonadi-mime-17.08.3.tar.xz";
+      sha256 = "1374wvyh29ba5s60m8przch5rmxvxzc2kjfw1gxhkrl7k8hfi4k8";
+      name = "akonadi-mime-17.08.3.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akonadi-notes-17.08.1.tar.xz";
-      sha256 = "1fgkipxhzj7c6ahdqhjii6ccxgn2qnn55jn64nrb36srmpnzrq7f";
-      name = "akonadi-notes-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akonadi-notes-17.08.3.tar.xz";
+      sha256 = "0bnr6j8pqqx6hg8hq51yzaky5hyym5lxyj9rwcsmm75x2c29wxb7";
+      name = "akonadi-notes-17.08.3.tar.xz";
     };
   };
   akonadi-search = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akonadi-search-17.08.1.tar.xz";
-      sha256 = "1m119843brcjcymfcp9n7pfybqnw9ydhsm9ry5im52kci4rwsfhx";
-      name = "akonadi-search-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akonadi-search-17.08.3.tar.xz";
+      sha256 = "16d6v2d1irh02kd4dcvjhv17sqkps4xq4dpa4x1wb3q5qzxhmqcr";
+      name = "akonadi-search-17.08.3.tar.xz";
     };
   };
   akregator = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/akregator-17.08.1.tar.xz";
-      sha256 = "02p1vlxm91pyqhhwg3ggik9c8xw5ayz1w7bqpxmcb81gff75ha77";
-      name = "akregator-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/akregator-17.08.3.tar.xz";
+      sha256 = "1jd48yj9sl4z46qfk3qkm98q33f1qblsyjdr7ff8znxkg2pw5xg6";
+      name = "akregator-17.08.3.tar.xz";
     };
   };
   analitza = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/analitza-17.08.1.tar.xz";
-      sha256 = "1kcyhim72g39ywq90hdd9ba6vwgq99xkbj82vbasy0il8xkkfcn4";
-      name = "analitza-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/analitza-17.08.3.tar.xz";
+      sha256 = "1j0z63sfah2ypjb3szcr7dqndw18lcy8l9440q8kzq0gyl83cn3v";
+      name = "analitza-17.08.3.tar.xz";
     };
   };
   ark = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ark-17.08.1.tar.xz";
-      sha256 = "019gz57c46lh5wz84r0swhbx7ywgw8s7yc1f589xh4nz18i9xi69";
-      name = "ark-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ark-17.08.3.tar.xz";
+      sha256 = "1qz333nd23x4ldx675cxs7ka2vz45xmkfsakdg8m3x26i7jnl86x";
+      name = "ark-17.08.3.tar.xz";
     };
   };
   artikulate = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/artikulate-17.08.1.tar.xz";
-      sha256 = "1dgr9ww0pm6k0rhb3lkvr65jx6pnwsck1v3sfwpyyf8rrwixbvyk";
-      name = "artikulate-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/artikulate-17.08.3.tar.xz";
+      sha256 = "13hg9cjdwhfya57xan96ma55msani0lx7v55zh0hv0jab9fxgv1n";
+      name = "artikulate-17.08.3.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/audiocd-kio-17.08.1.tar.xz";
-      sha256 = "1k987lxm5wl6prdvbxxby1ly9r2dq7r5dsfbpazm43fxpx0pqyik";
-      name = "audiocd-kio-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/audiocd-kio-17.08.3.tar.xz";
+      sha256 = "0n1xfypn2m56iw65p52yfbbqn17c6kc1x8syh35ifg9c1147y8ar";
+      name = "audiocd-kio-17.08.3.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/baloo-widgets-17.08.1.tar.xz";
-      sha256 = "19nij0hrcbcq4czxgh3l6gb25lkdi6j6sgmch24a8c7a106h0ips";
-      name = "baloo-widgets-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/baloo-widgets-17.08.3.tar.xz";
+      sha256 = "031yhv8ivqzr63maylsin60hfv45awry6xigfy0kfqj06q63944g";
+      name = "baloo-widgets-17.08.3.tar.xz";
     };
   };
   blinken = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/blinken-17.08.1.tar.xz";
-      sha256 = "1nwdmhsyq1yzlr17mn98np0d3zg3rjyxsmlc7lyv1kszckhmb7qq";
-      name = "blinken-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/blinken-17.08.3.tar.xz";
+      sha256 = "15nnsyqy73inqqys1r8khh1vvl24ljmgjpxlqg8vlfb6d8dsc8yx";
+      name = "blinken-17.08.3.tar.xz";
     };
   };
   blogilo = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/blogilo-17.08.1.tar.xz";
-      sha256 = "1c9dq7xwdwxwdch4ygyz7pds8q41xpb5661wa4alnpd06ra0bq0c";
-      name = "blogilo-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/blogilo-17.08.3.tar.xz";
+      sha256 = "18vbvs5cih9vcxfqsia35q8bzc4ldzaajvnv9iqmisg060fxfwi9";
+      name = "blogilo-17.08.3.tar.xz";
     };
   };
   bomber = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/bomber-17.08.1.tar.xz";
-      sha256 = "1pcva9rgmvvkbbabwiw3aqv0aq0w2s6vxrw0gfxh6plgs42hpb24";
-      name = "bomber-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/bomber-17.08.3.tar.xz";
+      sha256 = "1rmjlhyc46jxjsc303zl56c3k15q1qvp4yfl78v5l2pwmk8vdxzn";
+      name = "bomber-17.08.3.tar.xz";
     };
   };
   bovo = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/bovo-17.08.1.tar.xz";
-      sha256 = "0vn4q6qvig9rjq8ynwg53vzas8vxg0b55mvpg801ky6kp3ma3m6i";
-      name = "bovo-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/bovo-17.08.3.tar.xz";
+      sha256 = "1npzzjgzhgbv7pnz3j9if2c5qa5b9ghzj7llp8yndf6dz31qibps";
+      name = "bovo-17.08.3.tar.xz";
     };
   };
   calendarsupport = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/calendarsupport-17.08.1.tar.xz";
-      sha256 = "1p1s5sn284j2lwzm09ifp6dj6gzg6p169hh7dv7k5bshi7kzf42v";
-      name = "calendarsupport-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/calendarsupport-17.08.3.tar.xz";
+      sha256 = "1ii3h42jkskrizg29ii17jkdxgsqs3lwzsd7ypgw1k8gk9fyyqxh";
+      name = "calendarsupport-17.08.3.tar.xz";
     };
   };
   cantor = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/cantor-17.08.1.tar.xz";
-      sha256 = "1m6si2gy6n20z27sby7g7nqaxl067qpkj29l6b3qsyyx03w73n33";
-      name = "cantor-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/cantor-17.08.3.tar.xz";
+      sha256 = "0yz71lxwzl5r9k2fzs4iyhyx811rc77m6n1lqagd2c29hnnchn9w";
+      name = "cantor-17.08.3.tar.xz";
     };
   };
   cervisia = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/cervisia-17.08.1.tar.xz";
-      sha256 = "13p5gs2cg939mcnq2hvvncj8v7vr7pcklq932xhy4qfwhqbhkxp1";
-      name = "cervisia-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/cervisia-17.08.3.tar.xz";
+      sha256 = "0272zf51rn1a9k796fspp456zq6j21bddfn7r350pd6ra19ay7j8";
+      name = "cervisia-17.08.3.tar.xz";
     };
   };
   dolphin = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/dolphin-17.08.1.tar.xz";
-      sha256 = "04b9vq03m6s5mrv7q4na65kv9hpx7i4v45g6ls7pcyxi6ziszr3q";
-      name = "dolphin-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/dolphin-17.08.3.tar.xz";
+      sha256 = "02bb66411jy03s4wicalnsl6sxmslhdb3wxsqh7sdyh63llna5b5";
+      name = "dolphin-17.08.3.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/dolphin-plugins-17.08.1.tar.xz";
-      sha256 = "0vrs8yk2vqfbc79xjkj95zndyig2gz2b8aafs61q25b29lzilyq9";
-      name = "dolphin-plugins-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/dolphin-plugins-17.08.3.tar.xz";
+      sha256 = "1s2rjrvfs5i87gx3fsz0mqdr7106ds5747wq6n2sfzjkvippygay";
+      name = "dolphin-plugins-17.08.3.tar.xz";
     };
   };
   dragon = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/dragon-17.08.1.tar.xz";
-      sha256 = "143x7x07z5af0z7za8r3jiq5id33rmb62ygp84af905lm2gf2yk0";
-      name = "dragon-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/dragon-17.08.3.tar.xz";
+      sha256 = "0fxzwfg0l7lnsswb51h8gmh4wngmng9sgm5nhn6wmwhfbhbzgagq";
+      name = "dragon-17.08.3.tar.xz";
     };
   };
   eventviews = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/eventviews-17.08.1.tar.xz";
-      sha256 = "1av86sbldkrgsdybxqzgda1pnd4y27ygxsibr76w6y8fnk66zrg7";
-      name = "eventviews-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/eventviews-17.08.3.tar.xz";
+      sha256 = "0j1r833kzf9sparvqnfn8r7klf4j0z8jwrgclf87rggmx0dn2v4y";
+      name = "eventviews-17.08.3.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ffmpegthumbs-17.08.1.tar.xz";
-      sha256 = "1lgi8rs3zbrwlcxbhq9qys8w0yh4f0rbalig0y020igbplkn9ccs";
-      name = "ffmpegthumbs-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ffmpegthumbs-17.08.3.tar.xz";
+      sha256 = "19bkpc316wlhswgrbszpj65lrzsdp443c1174hqknm0srvp6fbvv";
+      name = "ffmpegthumbs-17.08.3.tar.xz";
     };
   };
   filelight = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/filelight-17.08.1.tar.xz";
-      sha256 = "0wi0j55z8h58slbq4hinhfycpjb69m5g4ilk0csjw8syxhmy1jhl";
-      name = "filelight-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/filelight-17.08.3.tar.xz";
+      sha256 = "06j6api909shraflfpn0cyvxaa57s2dq178kshkfv5yppxjpfpja";
+      name = "filelight-17.08.3.tar.xz";
     };
   };
   granatier = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/granatier-17.08.1.tar.xz";
-      sha256 = "0panmz171ba3vfvdgjcwg1nxwv52qsh6qazagz7p5bv0hkf6y94n";
-      name = "granatier-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/granatier-17.08.3.tar.xz";
+      sha256 = "1z2gs73k8ymz09x72hvyylwqs6pxbnivz86hbb9pb1mlb7x5fgvs";
+      name = "granatier-17.08.3.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/grantlee-editor-17.08.1.tar.xz";
-      sha256 = "0xpkip7cy6d318mh3l8014zdifhx3njx8vk2cr2f00bjvs879zfj";
-      name = "grantlee-editor-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/grantlee-editor-17.08.3.tar.xz";
+      sha256 = "1cb77qmzzk64mkbzvywksvpfqw88mwmg7sqrni4apsasvg9mvygx";
+      name = "grantlee-editor-17.08.3.tar.xz";
     };
   };
   grantleetheme = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/grantleetheme-17.08.1.tar.xz";
-      sha256 = "0l6ycr609wvxad1dwgy56blcnag5pr30gj59d5dcnq0iqcs9v5w9";
-      name = "grantleetheme-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/grantleetheme-17.08.3.tar.xz";
+      sha256 = "0zag5gmaqi068hw8s71ascj7s8clg1sickrfpzjf3nhcf6y669rp";
+      name = "grantleetheme-17.08.3.tar.xz";
     };
   };
   gwenview = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/gwenview-17.08.1.tar.xz";
-      sha256 = "1f5c78007sqy3iq0rx8cskma8rjzinaahy26r054l59gq6b0d3v7";
-      name = "gwenview-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/gwenview-17.08.3.tar.xz";
+      sha256 = "05c96y5yrdgh7228bw3agn344g02hylnb2fw8crjcdapsiya4v1w";
+      name = "gwenview-17.08.3.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/incidenceeditor-17.08.1.tar.xz";
-      sha256 = "0axwkhwqgmdnh9qn6j87j44x24vqb5bhch2pscrifdni05j99wzx";
-      name = "incidenceeditor-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/incidenceeditor-17.08.3.tar.xz";
+      sha256 = "0qfcycivlgzjx8j4b2bd4qjp3x8wbiax477bmz56sfv7q0vp1dgm";
+      name = "incidenceeditor-17.08.3.tar.xz";
     };
   };
   jovie = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/jovie-17.08.1.tar.xz";
-      sha256 = "19zhm6iqq505bwdd6f57rkzc9fmqqmw60071n679khrcgmsyx7ac";
-      name = "jovie-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/jovie-17.08.3.tar.xz";
+      sha256 = "1a4v97p3yfwr5zn5qkfkw1ln7liz47f3bnhdb6yzzi03s5xfrk1z";
+      name = "jovie-17.08.3.tar.xz";
     };
   };
   juk = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/juk-17.08.1.tar.xz";
-      sha256 = "1r3igqgw2ani4500sndbqnxcbyjg8l0lcd0l0r6wmqs9cgf1w5d5";
-      name = "juk-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/juk-17.08.3.tar.xz";
+      sha256 = "0735rdrn80akfb8viq8y77kxa28y1rg5infp26q7cy5cd4r6fvsi";
+      name = "juk-17.08.3.tar.xz";
     };
   };
   k3b = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/k3b-17.08.1.tar.xz";
-      sha256 = "1pv8fpalqr7fpcy7dypzjp91h82scvzfk5g0mpzjpqlmn99hgfj1";
-      name = "k3b-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/k3b-17.08.3.tar.xz";
+      sha256 = "0kshb3j4djb9npkia0m0ffyrwja3drsyxw7hpgyxxswik6kwbvgk";
+      name = "k3b-17.08.3.tar.xz";
     };
   };
   kaccessible = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kaccessible-17.08.1.tar.xz";
-      sha256 = "13j1c9l8qhll0a8fcny9nibr858w5cjpahccxgkh9v54iy3f243s";
-      name = "kaccessible-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kaccessible-17.08.3.tar.xz";
+      sha256 = "0sfrs57npp4y1yyw16chgrvyp6bnf4jymffblj5h7pb4bv0xlsmk";
+      name = "kaccessible-17.08.3.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kaccounts-integration-17.08.1.tar.xz";
-      sha256 = "0y09hnjhxy7lnqjhz82z090wv3y5942xh1vhgyi5ac7pkgyzjh7m";
-      name = "kaccounts-integration-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kaccounts-integration-17.08.3.tar.xz";
+      sha256 = "0cir87m7f8sf70vvr8sxfhklgxigvv6npijphbbim7fnzc4z37m0";
+      name = "kaccounts-integration-17.08.3.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kaccounts-providers-17.08.1.tar.xz";
-      sha256 = "0dyrsvh98b75fxpap3x4vwvqx2dxyvcg4sfkic9sv137kwl8ihcp";
-      name = "kaccounts-providers-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kaccounts-providers-17.08.3.tar.xz";
+      sha256 = "1y3ykj4q6m14q2lskliv0qy0ml0j9i9svhq06g2j25zd5wwlhbp5";
+      name = "kaccounts-providers-17.08.3.tar.xz";
     };
   };
   kaddressbook = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kaddressbook-17.08.1.tar.xz";
-      sha256 = "0qf3wfjgbzjxrvhnwa702yhp54m8f4wk8d67jsgrlpvq3lizrzrf";
-      name = "kaddressbook-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kaddressbook-17.08.3.tar.xz";
+      sha256 = "1dq3lgrvg7s65mc2x2sgkwpz623ygb0by0y571dqjaz219j03955";
+      name = "kaddressbook-17.08.3.tar.xz";
     };
   };
   kajongg = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kajongg-17.08.1.tar.xz";
-      sha256 = "10bymw4bwqxjppvynwcx600ybr02kyd9m2ya0pi2208kj2s317m5";
-      name = "kajongg-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kajongg-17.08.3.tar.xz";
+      sha256 = "00xb764nxzihz9kh7a82cm7slrj78zjl3s5qb90s03y375q4bha6";
+      name = "kajongg-17.08.3.tar.xz";
     };
   };
   kalarm = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kalarm-17.08.1.tar.xz";
-      sha256 = "0nxkln40bwlfdn2fp5a2a55x40zakq5nrir9bi920jpp78ivx2mf";
-      name = "kalarm-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kalarm-17.08.3.tar.xz";
+      sha256 = "0rmdxx59iykn6f746dw9p0dyk96wds4kqr6w2y8fscp889i05g2a";
+      name = "kalarm-17.08.3.tar.xz";
     };
   };
   kalarmcal = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kalarmcal-17.08.1.tar.xz";
-      sha256 = "1dvv1rbh67c2vxcls8jv8chcgbp7q8c2jdjsr2cx2lmiasz0lqlf";
-      name = "kalarmcal-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kalarmcal-17.08.3.tar.xz";
+      sha256 = "0g4vxkjkc38p2aigmfr2q2qd6x8pr4fj53jkvjq314vqg9sbak9c";
+      name = "kalarmcal-17.08.3.tar.xz";
     };
   };
   kalgebra = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kalgebra-17.08.1.tar.xz";
-      sha256 = "07l3gff8la0cjd3aszm2v0gykfb2ws6k5hix0ck9q62kz1h6zd8d";
-      name = "kalgebra-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kalgebra-17.08.3.tar.xz";
+      sha256 = "0hcrl205z2m5108g1kgxnmkrrg6x2m2p59cmdkbsd0ly0jnfc9w2";
+      name = "kalgebra-17.08.3.tar.xz";
     };
   };
   kalzium = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kalzium-17.08.1.tar.xz";
-      sha256 = "15rvpjni1a1fhr52awivzdc6v575510fs5mxxk05wqzsffa67i1f";
-      name = "kalzium-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kalzium-17.08.3.tar.xz";
+      sha256 = "142lcm1d7v8xknmqg00cgdz3iaydr6c9wblpij3wykffd53x7ind";
+      name = "kalzium-17.08.3.tar.xz";
     };
   };
   kamera = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kamera-17.08.1.tar.xz";
-      sha256 = "044mn0k18ffxhc9nnbpqhcjlzkj4657nxqwdfl65k689y1l2bff1";
-      name = "kamera-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kamera-17.08.3.tar.xz";
+      sha256 = "0zrny1f27z0drsna2lpw9sr4y7z479lys3vzcysgf1fv8b8jdjdh";
+      name = "kamera-17.08.3.tar.xz";
     };
   };
   kanagram = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kanagram-17.08.1.tar.xz";
-      sha256 = "07gykmv9r1ikaw4l3zz27rc7a23q2nizszblm1ygv2nlyj6lilgf";
-      name = "kanagram-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kanagram-17.08.3.tar.xz";
+      sha256 = "1v5k67dw47i3n8635w1sc63n7f63hd9wvb44yxaw88clk46acn0k";
+      name = "kanagram-17.08.3.tar.xz";
     };
   };
   kapman = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kapman-17.08.1.tar.xz";
-      sha256 = "1r7r13yfgf64jfarqjiirfbhmrg6d04ija5sgl8aiib8rwnbs2lb";
-      name = "kapman-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kapman-17.08.3.tar.xz";
+      sha256 = "0gici0v3ya16nk0b33cm5n95gdfhjqpy8wjg5y8bj12dby1d0n2w";
+      name = "kapman-17.08.3.tar.xz";
     };
   };
   kapptemplate = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kapptemplate-17.08.1.tar.xz";
-      sha256 = "0dcgsh4ns3749yybzz2jgdbjskxyzlnr2c0f5wzh9ilkz3yp7lq2";
-      name = "kapptemplate-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kapptemplate-17.08.3.tar.xz";
+      sha256 = "16j1lx6rp0lqmcd8fyaishc0i2670v0map270z9575101338cyvm";
+      name = "kapptemplate-17.08.3.tar.xz";
     };
   };
   kate = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kate-17.08.1.tar.xz";
-      sha256 = "0z71s9g66ivbchrd2ps3j16ickjnky7ws484y04akjjs7sryzd0l";
-      name = "kate-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kate-17.08.3.tar.xz";
+      sha256 = "1yjzhf0a1skxz6iipac3z1p2wswn8bfjfr3k8qb6lhwlhbapc33x";
+      name = "kate-17.08.3.tar.xz";
     };
   };
   katomic = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/katomic-17.08.1.tar.xz";
-      sha256 = "04k29x2hvcqc22cm763aflpwzb6gqqbnpd6dknd34985fqrrcdp4";
-      name = "katomic-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/katomic-17.08.3.tar.xz";
+      sha256 = "0y00la43lc1352fipzglyvaf1cqalf0vkygg8r9vizm8vycp7hp9";
+      name = "katomic-17.08.3.tar.xz";
     };
   };
   kblackbox = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kblackbox-17.08.1.tar.xz";
-      sha256 = "1n1rxh86qcaa8dm5qcs43pdxjndzssy4pdyn90anw6bqsw1mn7q0";
-      name = "kblackbox-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kblackbox-17.08.3.tar.xz";
+      sha256 = "18lz0nb8zp95higssscgcr2cj1ni71bckk1wazyryxkmmmqk2rdn";
+      name = "kblackbox-17.08.3.tar.xz";
     };
   };
   kblocks = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kblocks-17.08.1.tar.xz";
-      sha256 = "0bx5j1kahyspbmrw2falkw037d1lkj6f1yppwdlh2l4zn7xbgx78";
-      name = "kblocks-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kblocks-17.08.3.tar.xz";
+      sha256 = "1nf3ws0dzzwqc87v6jqi1x5zm7w56cgfingr5plpp3cj8wv8jnvw";
+      name = "kblocks-17.08.3.tar.xz";
     };
   };
   kblog = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kblog-17.08.1.tar.xz";
-      sha256 = "0kdwv2ym3xba7n0qslrgdlmanw1zqanv5ycjnl54gf1xlbdwbpv2";
-      name = "kblog-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kblog-17.08.3.tar.xz";
+      sha256 = "0cnbn0wmva8xm2i05w5pdikw5mbx3z6mim3k98v2r954qml7xqdk";
+      name = "kblog-17.08.3.tar.xz";
     };
   };
   kbounce = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kbounce-17.08.1.tar.xz";
-      sha256 = "0bl1pm8h547gwzx1pbc340711fp5scfa1dql7b1yjjpfg56flccm";
-      name = "kbounce-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kbounce-17.08.3.tar.xz";
+      sha256 = "12yj5jmpvhj5cxr4i818lp9cbcrdrvq9r7s202nzx5znxs11bbf6";
+      name = "kbounce-17.08.3.tar.xz";
     };
   };
   kbreakout = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kbreakout-17.08.1.tar.xz";
-      sha256 = "021hzg4m6aqvvavdx63ydj2s71shml6x1rrd9lyyw23harh7402h";
-      name = "kbreakout-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kbreakout-17.08.3.tar.xz";
+      sha256 = "14d4cx91vv8bvvpjwbrwcvjczzs8j58yzazsfgqwhrj47cwhya43";
+      name = "kbreakout-17.08.3.tar.xz";
     };
   };
   kbruch = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kbruch-17.08.1.tar.xz";
-      sha256 = "110iar2p5wlil4b8j5gw37mizajvhc9j7fww7dmvffq1yn4m5ac2";
-      name = "kbruch-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kbruch-17.08.3.tar.xz";
+      sha256 = "0jxlybkmzs24482fmy7hhk2apyq26fpdblpnpdbqnydz95707475";
+      name = "kbruch-17.08.3.tar.xz";
     };
   };
   kcachegrind = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kcachegrind-17.08.1.tar.xz";
-      sha256 = "0pgc00y7l98fws7qfc9i92a9mizgkkvap48pi12r9ajj5bhy792b";
-      name = "kcachegrind-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kcachegrind-17.08.3.tar.xz";
+      sha256 = "0xmnpbli7ndlv0532hpnqgvbkpw8y176jydhs6hy73ywwm416mvs";
+      name = "kcachegrind-17.08.3.tar.xz";
     };
   };
   kcalc = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kcalc-17.08.1.tar.xz";
-      sha256 = "177mr533r71jpa64bvkbl349lkf2yzanrjh22d4rii7lqma63z4k";
-      name = "kcalc-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kcalc-17.08.3.tar.xz";
+      sha256 = "0ck1hjv1v9fj7ckl4blpmfxzjx61ihc6av71m710nk7iv6gncsfm";
+      name = "kcalc-17.08.3.tar.xz";
     };
   };
   kcalcore = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kcalcore-17.08.1.tar.xz";
-      sha256 = "084gj40lssh6lsjn7xpvzlhlfcc6vcdk6ygv47wvf8y0yipppspw";
-      name = "kcalcore-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kcalcore-17.08.3.tar.xz";
+      sha256 = "0iy6dwzrcwzhjcz8yajp4mvbxr6vkxp4bnbnh9k2zvxgmg4y63h5";
+      name = "kcalcore-17.08.3.tar.xz";
     };
   };
   kcalutils = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kcalutils-17.08.1.tar.xz";
-      sha256 = "04nn5lv2x15352p42589zyh1w2fxbijkq9wmbcr51fb4nphx007l";
-      name = "kcalutils-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kcalutils-17.08.3.tar.xz";
+      sha256 = "1vs6qnv31s01i7wb7kz86v17z0wrymcclmwx2hj7vl4jqr532zdq";
+      name = "kcalutils-17.08.3.tar.xz";
     };
   };
   kcharselect = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kcharselect-17.08.1.tar.xz";
-      sha256 = "1w6ydp7acf5ha0kag60m1anksj7fy2kk8bghpw14lv8bxzrjwdam";
-      name = "kcharselect-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kcharselect-17.08.3.tar.xz";
+      sha256 = "1ib3rqd43yprnp07vvmg029a44dimisycv030j3qd87r3yw06phs";
+      name = "kcharselect-17.08.3.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kcolorchooser-17.08.1.tar.xz";
-      sha256 = "1zmzd919crj25ngcv085pp4w213x4bra54npfw4z11cmc30zz57i";
-      name = "kcolorchooser-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kcolorchooser-17.08.3.tar.xz";
+      sha256 = "17aa2k8z7i7ds2s3ampkci4n0003rsbx4fj3l773ylb11fyl3b2f";
+      name = "kcolorchooser-17.08.3.tar.xz";
     };
   };
   kcontacts = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kcontacts-17.08.1.tar.xz";
-      sha256 = "0iqpvsnwbnzczdcvbqlrgmx2czjqgl4ag4b09vhkj1s7gs8cracy";
-      name = "kcontacts-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kcontacts-17.08.3.tar.xz";
+      sha256 = "0dsx0bgf6rcqrl31xcklh368lr93pn2ylipw81svpnqya1ry31dk";
+      name = "kcontacts-17.08.3.tar.xz";
     };
   };
   kcron = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kcron-17.08.1.tar.xz";
-      sha256 = "0yzv068jsxyag68fix421z5qfvpxm1i9v1q3pw3ksvq07ai740f3";
-      name = "kcron-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kcron-17.08.3.tar.xz";
+      sha256 = "0xmd25dfhpkaa6zzmc7xdfn4fv0awfqjv2r166hmqd32gnx70bry";
+      name = "kcron-17.08.3.tar.xz";
     };
   };
   kdav = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdav-17.08.1.tar.xz";
-      sha256 = "1m9pcydg2fwz95mym7k7wdavbw4nz18ihhrhfmcda7m61x6y8z9q";
-      name = "kdav-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdav-17.08.3.tar.xz";
+      sha256 = "1v7xclq8qz4pmvp1asavammlfwi2pg1y0fabapqpnglx194rbwic";
+      name = "kdav-17.08.3.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdebugsettings-17.08.1.tar.xz";
-      sha256 = "0jxy68fs45hwkd3hjl5rknwznsihk0nszmskw3hy3y64p2vvvzyf";
-      name = "kdebugsettings-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdebugsettings-17.08.3.tar.xz";
+      sha256 = "1gfcnwpmx6dd12d9kycf0khi5s85932b1wvyw1mr5dhlqyyqf1s4";
+      name = "kdebugsettings-17.08.3.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-dev-scripts-17.08.1.tar.xz";
-      sha256 = "16dzmx80752n3wcg2dcwh4cc0mwxwckfbms134g83gwaix5wkyvd";
-      name = "kde-dev-scripts-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-dev-scripts-17.08.3.tar.xz";
+      sha256 = "1dydd198jfcjm58m5qk071kx18gbgnbwf9mcx20ibanq17cdh3px";
+      name = "kde-dev-scripts-17.08.3.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-dev-utils-17.08.1.tar.xz";
-      sha256 = "1lq8cya779667yjwinvx9xyfiq79p7m93m4r2zgd7r6fpakxdkch";
-      name = "kde-dev-utils-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-dev-utils-17.08.3.tar.xz";
+      sha256 = "184sx4i5k8rnx5572460v2jnd0abdr2i5gp74khbjlgagkdvcj07";
+      name = "kde-dev-utils-17.08.3.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdeedu-data-17.08.1.tar.xz";
-      sha256 = "1fk2r2cib8gzk1ss5z6wxdwswl3f0hvwmxdgg0cs0j11gk1m0m6g";
-      name = "kdeedu-data-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdeedu-data-17.08.3.tar.xz";
+      sha256 = "12vy656ng14gq93cw30bwdg15jvwr6qvlsjk0vfmljvcbc9171ww";
+      name = "kdeedu-data-17.08.3.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdegraphics-mobipocket-17.08.1.tar.xz";
-      sha256 = "0y2yfcf2p864hzyxyxv65mkfl8qk08zh9pr24ycxfdl4g22pal6w";
-      name = "kdegraphics-mobipocket-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdegraphics-mobipocket-17.08.3.tar.xz";
+      sha256 = "1rfi44lh25knc0jf02fazh6s4wy1h8m76i9njcjxbjrz7x518cfj";
+      name = "kdegraphics-mobipocket-17.08.3.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdegraphics-thumbnailers-17.08.1.tar.xz";
-      sha256 = "1milas13wb958z2p39rm1353lqz9ibhnpwb8ffw6wy5qdbx4fr4q";
-      name = "kdegraphics-thumbnailers-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdegraphics-thumbnailers-17.08.3.tar.xz";
+      sha256 = "0irsa4x6pi5jq36yz1kgkdv8946w05mr19afydpz1jpa2knhkc6i";
+      name = "kdegraphics-thumbnailers-17.08.3.tar.xz";
     };
   };
   kde-l10n-ar = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ar-17.08.1.tar.xz";
-      sha256 = "03bj86is2a0srygmabxmwmdmqxwwxm06lh9a6g362dhglh4ypp67";
-      name = "kde-l10n-ar-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ar-17.08.3.tar.xz";
+      sha256 = "0j06r39gam92bxm25vc8x7bxm6143pww42d9ala13akh3gh56wmy";
+      name = "kde-l10n-ar-17.08.3.tar.xz";
     };
   };
   kde-l10n-ast = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ast-17.08.1.tar.xz";
-      sha256 = "0vsyv4g8ywpvcxh1hkhx1y8plx9k068fqrgvglv9gvsr86w57xn7";
-      name = "kde-l10n-ast-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ast-17.08.3.tar.xz";
+      sha256 = "1kmv0ajbd9dws1al4qx9k2hnsqf2dwkj2ww12xn3flrqg71kgnpb";
+      name = "kde-l10n-ast-17.08.3.tar.xz";
     };
   };
   kde-l10n-bg = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-bg-17.08.1.tar.xz";
-      sha256 = "0bz8ydq7i0q29znbia0fcw5y19cw9a5hxh2gh8s7v6pvniazlgfx";
-      name = "kde-l10n-bg-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-bg-17.08.3.tar.xz";
+      sha256 = "0dv2hdki9mbc6kq6b1gzpqijgq31ffz4la9aprzj57mk4l14vkp1";
+      name = "kde-l10n-bg-17.08.3.tar.xz";
     };
   };
   kde-l10n-bs = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-bs-17.08.1.tar.xz";
-      sha256 = "19jjrwga6b5vn0g8m5mgp9kgn9173km6jmj92fl63w7lhd60pqyy";
-      name = "kde-l10n-bs-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-bs-17.08.3.tar.xz";
+      sha256 = "0makcag2kjns6528ldrjr52r412yi1y947lqq5db8ya6i8bxlsl2";
+      name = "kde-l10n-bs-17.08.3.tar.xz";
     };
   };
   kde-l10n-ca = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ca-17.08.1.tar.xz";
-      sha256 = "1ldpsjaczqfczglfk2nib4kqkzi6z16mkyisx1byw3wxix7aqak5";
-      name = "kde-l10n-ca-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ca-17.08.3.tar.xz";
+      sha256 = "13n0y9rmcnaka5hnmjp6x99pdvx19bb5f7m0wmnkkq0v8xs0cr53";
+      name = "kde-l10n-ca-17.08.3.tar.xz";
     };
   };
   kde-l10n-ca_valencia = {
-    version = "ca_valencia-17.08.1";
+    version = "ca_valencia-17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ca@valencia-17.08.1.tar.xz";
-      sha256 = "1dnvvc6jbwyvagy7ay3w1rdj82bx7zcc97i61drlv2cf1vgkmb4l";
-      name = "kde-l10n-ca_valencia-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ca@valencia-17.08.3.tar.xz";
+      sha256 = "0h4iznjvzy4lvb91vpb4f7jlrvi3a9z56i7j3xm0ihf1qmgxxzmj";
+      name = "kde-l10n-ca_valencia-17.08.3.tar.xz";
     };
   };
   kde-l10n-cs = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-cs-17.08.1.tar.xz";
-      sha256 = "0f9h5ln31395kgbqa8rj1sdkwjaczw4mvjlif9656xqglzw0dvs1";
-      name = "kde-l10n-cs-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-cs-17.08.3.tar.xz";
+      sha256 = "0dadsgmg7pvagpq0nj4hs889zvk2lw085wlv2mw6jfminjav4c2d";
+      name = "kde-l10n-cs-17.08.3.tar.xz";
     };
   };
   kde-l10n-da = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-da-17.08.1.tar.xz";
-      sha256 = "0rr0gmzfbdwnya9bipbymwqy6250zdi47chawi7j3vc4j11511g2";
-      name = "kde-l10n-da-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-da-17.08.3.tar.xz";
+      sha256 = "04w1clqk3p0zkv01406iwkwp572vwfpn94x8g7hxraaz2rzs2qnf";
+      name = "kde-l10n-da-17.08.3.tar.xz";
     };
   };
   kde-l10n-de = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-de-17.08.1.tar.xz";
-      sha256 = "08ad110q4k21j8mfzigjxxrlic2c6h0cxqiawbfswzc39r0vy0lb";
-      name = "kde-l10n-de-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-de-17.08.3.tar.xz";
+      sha256 = "1cxpdwvpymf1yqgs54v6f8hgxwyblv0i0zpm5w5wrimmg8lnbrc8";
+      name = "kde-l10n-de-17.08.3.tar.xz";
     };
   };
   kde-l10n-el = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-el-17.08.1.tar.xz";
-      sha256 = "1m2f8rsygmyn05i3j5mnwnr7mm4jahy2yaphxv822g6i79iy3396";
-      name = "kde-l10n-el-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-el-17.08.3.tar.xz";
+      sha256 = "1csskz68dsrlvkr5iri8w0wx2g5h7db18dpnlcmbl076l9ds9nmv";
+      name = "kde-l10n-el-17.08.3.tar.xz";
     };
   };
   kde-l10n-en_GB = {
-    version = "en_GB-17.08.1";
+    version = "en_GB-17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-en_GB-17.08.1.tar.xz";
-      sha256 = "14ql8kd60c4svg3ar5n61g544in805xsyfk2bgals0m47fy3axyf";
-      name = "kde-l10n-en_GB-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-en_GB-17.08.3.tar.xz";
+      sha256 = "1vf6h68biiqr9vzqlig34z47clkdk6ncr3mhan7rajsk1dlp6qwy";
+      name = "kde-l10n-en_GB-17.08.3.tar.xz";
     };
   };
   kde-l10n-eo = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-eo-17.08.1.tar.xz";
-      sha256 = "05lnk520hg9kxf6f92fn9avx4h29pjk4k8j7rsk4nwngvvygqjb6";
-      name = "kde-l10n-eo-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-eo-17.08.3.tar.xz";
+      sha256 = "0a7wk6xfhq7zj02zjadnp7ml97r5vvgjvlm5yajz6l4q5l0vsdnn";
+      name = "kde-l10n-eo-17.08.3.tar.xz";
     };
   };
   kde-l10n-es = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-es-17.08.1.tar.xz";
-      sha256 = "1h2lzs1z5rcyg60f5d9jkxmdxwbhrdgbmib5h1nlz3f7jnrnpj86";
-      name = "kde-l10n-es-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-es-17.08.3.tar.xz";
+      sha256 = "1b7jzccicb58s3v796x0k2fwyfq8qmqyb5b26y5x9xknk7mv3fkz";
+      name = "kde-l10n-es-17.08.3.tar.xz";
     };
   };
   kde-l10n-et = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-et-17.08.1.tar.xz";
-      sha256 = "0ifcsc6ic76gnbni0qm4yfcbhz4b3kww3rqly34hlrpzlwf52x5w";
-      name = "kde-l10n-et-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-et-17.08.3.tar.xz";
+      sha256 = "1d10yq8d5fjhgc0zvz3izl1c15i9g8vw5kgs2mvciwhaj6sqgk78";
+      name = "kde-l10n-et-17.08.3.tar.xz";
     };
   };
   kde-l10n-eu = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-eu-17.08.1.tar.xz";
-      sha256 = "1nxmy2bdlljjf4dqy1fsfx7iawak7nh4h3x5h72im2s49z4y01rl";
-      name = "kde-l10n-eu-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-eu-17.08.3.tar.xz";
+      sha256 = "1r6nyjibagqfk4s1c2sylxlsq3jv7vhc01bbwpdl314rhcv67lkq";
+      name = "kde-l10n-eu-17.08.3.tar.xz";
     };
   };
   kde-l10n-fa = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-fa-17.08.1.tar.xz";
-      sha256 = "19x6zacpyc7gax1lrqls2cb9ax747ls6pm8046hcgdy2nb8byqmc";
-      name = "kde-l10n-fa-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-fa-17.08.3.tar.xz";
+      sha256 = "0slrrsp8wgh33zv779mqdf3km4h88mzqfzdds08g8hr3mimp8ibj";
+      name = "kde-l10n-fa-17.08.3.tar.xz";
     };
   };
   kde-l10n-fi = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-fi-17.08.1.tar.xz";
-      sha256 = "04cdsrjr9hnx1x3w4chjaq82varc24hl65kqiyf13nr3nvgx3xba";
-      name = "kde-l10n-fi-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-fi-17.08.3.tar.xz";
+      sha256 = "10axj320my3bgfqn1rpwpn4nii3bh39afsvqkbz6xh01sci4z47w";
+      name = "kde-l10n-fi-17.08.3.tar.xz";
     };
   };
   kde-l10n-fr = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-fr-17.08.1.tar.xz";
-      sha256 = "0dqjr15sg42pp3balfvanl7169nsyqyr67pjw02xzbkskh61jihg";
-      name = "kde-l10n-fr-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-fr-17.08.3.tar.xz";
+      sha256 = "0gqmq0hwxmj2awjyhhy81nwrks4mlqdnbfinxsrsj1kmklsx8pdg";
+      name = "kde-l10n-fr-17.08.3.tar.xz";
     };
   };
   kde-l10n-ga = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ga-17.08.1.tar.xz";
-      sha256 = "0lbpbkip2fgml3jni4hllixpzaya5q5xcn3m674a7hs3y7gr35gs";
-      name = "kde-l10n-ga-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ga-17.08.3.tar.xz";
+      sha256 = "0p7jy5sh2x1fc6mfacs1f5brq86hw6xk7bccc30k5c8b0kfbvdf4";
+      name = "kde-l10n-ga-17.08.3.tar.xz";
     };
   };
   kde-l10n-gl = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-gl-17.08.1.tar.xz";
-      sha256 = "1bbg7ya85phzxw3rcc2k04rc4axridcqdrkh719ivp7p46m47j28";
-      name = "kde-l10n-gl-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-gl-17.08.3.tar.xz";
+      sha256 = "185yw84i04llag4kpi3lmmy9niis2z3rd5ch2x7y4jyq3kdpwhi4";
+      name = "kde-l10n-gl-17.08.3.tar.xz";
     };
   };
   kde-l10n-he = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-he-17.08.1.tar.xz";
-      sha256 = "1h4lzv2i37l2w8af5w2dxan9zancqbqbcvhc5lkngnq2mvlqhwax";
-      name = "kde-l10n-he-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-he-17.08.3.tar.xz";
+      sha256 = "0dx0mvl4vapkyir8a0a1dgv2h1hjsr5n2ykjihk21ykf7axvqqd4";
+      name = "kde-l10n-he-17.08.3.tar.xz";
     };
   };
   kde-l10n-hi = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-hi-17.08.1.tar.xz";
-      sha256 = "0zjbchy072gbslmvi894jqa5vlh4brxkqdk5n3b7nh8003f7kvdl";
-      name = "kde-l10n-hi-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-hi-17.08.3.tar.xz";
+      sha256 = "0f6p7bwvvqj7jdaqsn4nxjsb5cdna9q4cp59wfy05ppi685qqp4v";
+      name = "kde-l10n-hi-17.08.3.tar.xz";
     };
   };
   kde-l10n-hr = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-hr-17.08.1.tar.xz";
-      sha256 = "1k4zzn0cwqp6syr82nij26pnhhjiq39pd03lj1m7r83ylmywivxv";
-      name = "kde-l10n-hr-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-hr-17.08.3.tar.xz";
+      sha256 = "0yd4sqfa59ca57ig55x46fp59pjxby6ha5bhkzhcd1d2baa4a672";
+      name = "kde-l10n-hr-17.08.3.tar.xz";
     };
   };
   kde-l10n-hu = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-hu-17.08.1.tar.xz";
-      sha256 = "1jj20ggv96lsfl1vc7gsv3vxwb3swj2bd1v8hyaycc86bw51qfcs";
-      name = "kde-l10n-hu-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-hu-17.08.3.tar.xz";
+      sha256 = "1s3vgjslnffxivrx69dnz4c2iyjf2awv51k8bbbfjw271422wvfg";
+      name = "kde-l10n-hu-17.08.3.tar.xz";
     };
   };
   kde-l10n-ia = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ia-17.08.1.tar.xz";
-      sha256 = "0b0mp1jdbbarqd3ajc0fmjpq01y3yw37dd0ihs0r9l2v6s1ivrx2";
-      name = "kde-l10n-ia-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ia-17.08.3.tar.xz";
+      sha256 = "1jpvla8h5ji9lcdhk7rinixkyr6wax30wp9wvqqqd8p9dp18i0cp";
+      name = "kde-l10n-ia-17.08.3.tar.xz";
     };
   };
   kde-l10n-id = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-id-17.08.1.tar.xz";
-      sha256 = "1hdw5cgwmsp6d36jg9a7gnhiywzavrjs644w5gcw8ab2w5kzi725";
-      name = "kde-l10n-id-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-id-17.08.3.tar.xz";
+      sha256 = "191x45jv4bzkglyng7fp3fblcbirp9k94h9r54sk32idwqkiwngx";
+      name = "kde-l10n-id-17.08.3.tar.xz";
     };
   };
   kde-l10n-is = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-is-17.08.1.tar.xz";
-      sha256 = "0p9q8p3rffc79p25frgzk3jykwga3cxcc4icx29672bcy5ri6d3a";
-      name = "kde-l10n-is-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-is-17.08.3.tar.xz";
+      sha256 = "1h3pw9rnssf6wh1n5r01gqnz7riqz6hismndd67xw4pnq7vqpjkm";
+      name = "kde-l10n-is-17.08.3.tar.xz";
     };
   };
   kde-l10n-it = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-it-17.08.1.tar.xz";
-      sha256 = "1af31vfg6q30rgqfcpmjyk32rlz661azi9r205bbv45nagw5aiyz";
-      name = "kde-l10n-it-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-it-17.08.3.tar.xz";
+      sha256 = "0n4ivcyjcb47h3455wnzhnlkf26h29r2f9j1dgw9rw32aczb8l68";
+      name = "kde-l10n-it-17.08.3.tar.xz";
     };
   };
   kde-l10n-ja = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ja-17.08.1.tar.xz";
-      sha256 = "1273rm1m3ap8psf8qrvvdw7yh4bn0d90mgi02dk7vqx30j8vk2sx";
-      name = "kde-l10n-ja-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ja-17.08.3.tar.xz";
+      sha256 = "0qxf7c8l61xwkhn81phyw4849frzrc032fnbphlgq1nc9kqygara";
+      name = "kde-l10n-ja-17.08.3.tar.xz";
     };
   };
   kde-l10n-kk = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-kk-17.08.1.tar.xz";
-      sha256 = "15wkhp673bfs23rxw8wa2q3z0gqm1wblaca0azhmy4fyhgwqaciz";
-      name = "kde-l10n-kk-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-kk-17.08.3.tar.xz";
+      sha256 = "0wlzv9kgpa2ah2j8dd4vn5gr9jkbmzl6ph3lm5mr7rf0pl14qws2";
+      name = "kde-l10n-kk-17.08.3.tar.xz";
     };
   };
   kde-l10n-km = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-km-17.08.1.tar.xz";
-      sha256 = "1c6bvy3fifdm1azqzdxbwb71pzlp90wn6k981c1ny2cpcmiwd4ps";
-      name = "kde-l10n-km-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-km-17.08.3.tar.xz";
+      sha256 = "07arvlwxq59xjlgmf348rdrm1gfbzx9yds6qj667mrbk7h1n5ibr";
+      name = "kde-l10n-km-17.08.3.tar.xz";
     };
   };
   kde-l10n-ko = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ko-17.08.1.tar.xz";
-      sha256 = "0wxnjjdlngpva34izxq7syga4gyfj2jyf1npayzq3ii0hzjarmrq";
-      name = "kde-l10n-ko-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ko-17.08.3.tar.xz";
+      sha256 = "0cw6v0iqq79hc4llw37s630gf36npc7ngsihqlia4y3pn4mzabwf";
+      name = "kde-l10n-ko-17.08.3.tar.xz";
     };
   };
   kde-l10n-lt = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-lt-17.08.1.tar.xz";
-      sha256 = "02571m0mnhryy3zggy2bzc2k3q2dqc8kwn49332jsvbmsbkznk6a";
-      name = "kde-l10n-lt-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-lt-17.08.3.tar.xz";
+      sha256 = "0mv31nqdxp9wcnwch0sqrgz5pp1y3gmv25p8jvbrfrivpbkmhwv3";
+      name = "kde-l10n-lt-17.08.3.tar.xz";
     };
   };
   kde-l10n-lv = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-lv-17.08.1.tar.xz";
-      sha256 = "17xhsgqb56al5zyvhllqfnm118fimnchd037649nnkddfpl95wwi";
-      name = "kde-l10n-lv-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-lv-17.08.3.tar.xz";
+      sha256 = "0lyh2lj1h5ihhy22hh0is3s3qd8x88wgbwrqkq9802vksy7f587l";
+      name = "kde-l10n-lv-17.08.3.tar.xz";
     };
   };
   kde-l10n-mr = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-mr-17.08.1.tar.xz";
-      sha256 = "0p8ynpc1ryksb97zl50i23rknsr70p124wpxmr6i1i7aq8jagcqc";
-      name = "kde-l10n-mr-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-mr-17.08.3.tar.xz";
+      sha256 = "1zpciw63xk0s6jpkw4fpw0d17fcc4h1fdl6v1d3w3c1rs7dmmw9y";
+      name = "kde-l10n-mr-17.08.3.tar.xz";
     };
   };
   kde-l10n-nb = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-nb-17.08.1.tar.xz";
-      sha256 = "1ikh6fpj5lw4bfpmh8ln1v3mvmd9k55jz3v67ncrfyflljvwv6v7";
-      name = "kde-l10n-nb-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-nb-17.08.3.tar.xz";
+      sha256 = "024ii25iz8lf2g6k1nrr1lmian3wzq4ljx3y8ss1vz244m047xss";
+      name = "kde-l10n-nb-17.08.3.tar.xz";
     };
   };
   kde-l10n-nds = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-nds-17.08.1.tar.xz";
-      sha256 = "0g7da58vazj1ckw336hgp7zlp6ra31xdjp0zx6hmwcxjv9as9scy";
-      name = "kde-l10n-nds-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-nds-17.08.3.tar.xz";
+      sha256 = "0bp9ap276z86mxldasq6cdskrwkh48z9yfrblgffhh94941i0gcn";
+      name = "kde-l10n-nds-17.08.3.tar.xz";
     };
   };
   kde-l10n-nl = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-nl-17.08.1.tar.xz";
-      sha256 = "0d059nb4qifpm4bx0akmxn0x9bx6cs5218yh9prqn9wpzaa96vf5";
-      name = "kde-l10n-nl-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-nl-17.08.3.tar.xz";
+      sha256 = "00mzrk682r30i8x3navpad3b9jm15h5mp81v92q5cmcmblvvaw0l";
+      name = "kde-l10n-nl-17.08.3.tar.xz";
     };
   };
   kde-l10n-nn = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-nn-17.08.1.tar.xz";
-      sha256 = "034570iymirny6di77gxck3j0b1n11v07kj7k80h03smq2gkb6rh";
-      name = "kde-l10n-nn-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-nn-17.08.3.tar.xz";
+      sha256 = "0d45g2n7hvk7p2n84674fqdnsz26hk0scczr6w3kzb2zk95x5734";
+      name = "kde-l10n-nn-17.08.3.tar.xz";
     };
   };
   kde-l10n-pa = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-pa-17.08.1.tar.xz";
-      sha256 = "10872cgamrm39xk5kr4qd5ddzpfpgra1rysj7raw9hr5fw0h5jqx";
-      name = "kde-l10n-pa-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-pa-17.08.3.tar.xz";
+      sha256 = "0sg35fmw0rs3nzyrhkfvh8b5nm86w5qkjgic4ymrib0grjxbdjcj";
+      name = "kde-l10n-pa-17.08.3.tar.xz";
     };
   };
   kde-l10n-pl = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-pl-17.08.1.tar.xz";
-      sha256 = "0bvp9mcny4zbcq1pi2d33s0fkdpblg1qrizi3v3jhzmxx1i7hr3w";
-      name = "kde-l10n-pl-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-pl-17.08.3.tar.xz";
+      sha256 = "0sk19zh9ykldm66d51k8pkmyql5cfxvgpzp8q3c3n9g60cdx510x";
+      name = "kde-l10n-pl-17.08.3.tar.xz";
     };
   };
   kde-l10n-pt = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-pt-17.08.1.tar.xz";
-      sha256 = "0m61a31iqzwk8wj40rjnx9i662mk3n9q21vh22p7ak9kf9r9kfhv";
-      name = "kde-l10n-pt-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-pt-17.08.3.tar.xz";
+      sha256 = "135g0wq2cfkgvwv1y1w9wnnz2bsdf5sdijqnvazkb6j3is4fz2pw";
+      name = "kde-l10n-pt-17.08.3.tar.xz";
     };
   };
   kde-l10n-pt_BR = {
-    version = "pt_BR-17.08.1";
+    version = "pt_BR-17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-pt_BR-17.08.1.tar.xz";
-      sha256 = "1kh7rrpx5idnkpd8j89gxkm33kjz808mvb0d6i39lsv8nqk8ifq8";
-      name = "kde-l10n-pt_BR-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-pt_BR-17.08.3.tar.xz";
+      sha256 = "0ww3rhijqs1h9ihszkqvxdi0d4185zpm336837741nwqg601dik0";
+      name = "kde-l10n-pt_BR-17.08.3.tar.xz";
     };
   };
   kde-l10n-ro = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ro-17.08.1.tar.xz";
-      sha256 = "04b9bjz9nprhiki00b4yffd27dk1vjz6ddjw6bh6bxrzmzg2cgbc";
-      name = "kde-l10n-ro-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ro-17.08.3.tar.xz";
+      sha256 = "1d45j7xx1mzzgjwqw5svhkcb5v0hqbbzcwg1x1j7xqcggdlx4075";
+      name = "kde-l10n-ro-17.08.3.tar.xz";
     };
   };
   kde-l10n-ru = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ru-17.08.1.tar.xz";
-      sha256 = "04zx9xf1ca2pl75rbkcr7fa6sy3kmzdgc626wygqg0s4bi3rlsh2";
-      name = "kde-l10n-ru-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ru-17.08.3.tar.xz";
+      sha256 = "10py3cz4mpgcaskrsbbr26arg01c3im26zqmjcdwjnkgp8s780pj";
+      name = "kde-l10n-ru-17.08.3.tar.xz";
     };
   };
   kde-l10n-sk = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-sk-17.08.1.tar.xz";
-      sha256 = "0q4ykign8mifwfwv56p3ac7bn3ywc9anj43f8n08c7bma4idxv01";
-      name = "kde-l10n-sk-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-sk-17.08.3.tar.xz";
+      sha256 = "01607982ms2smr05nslp79x6fjqhvlpjdkkv8fs4vwxvii9wd77w";
+      name = "kde-l10n-sk-17.08.3.tar.xz";
     };
   };
   kde-l10n-sl = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-sl-17.08.1.tar.xz";
-      sha256 = "13mb62fjlpbhyv485rp1f5xgdfqdkq3vm2qq82rbw4jdw140ck08";
-      name = "kde-l10n-sl-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-sl-17.08.3.tar.xz";
+      sha256 = "10ljgz3jrgbgb06ijq1sp46qc3d7dbyz8dql56zcgz1pbv6pyxqz";
+      name = "kde-l10n-sl-17.08.3.tar.xz";
     };
   };
   kde-l10n-sr = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-sr-17.08.1.tar.xz";
-      sha256 = "0xc6pgbm3rqn5g824pzfv0cxas6anb3glm11zhk9qhj24ig1zd5c";
-      name = "kde-l10n-sr-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-sr-17.08.3.tar.xz";
+      sha256 = "1m12x7w0m4n97crmy9ad6szx92z3cqsvm6fbh99naaaf033962jn";
+      name = "kde-l10n-sr-17.08.3.tar.xz";
     };
   };
   kde-l10n-sv = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-sv-17.08.1.tar.xz";
-      sha256 = "0p067wi30d7vgxsv345vv0f01qbchnffamv4pjv8sfscbcmih9c6";
-      name = "kde-l10n-sv-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-sv-17.08.3.tar.xz";
+      sha256 = "1qqry4xakc4qp140jr5306xfp58d33rxp44mrvmdngzh30bqs6g2";
+      name = "kde-l10n-sv-17.08.3.tar.xz";
     };
   };
   kde-l10n-tr = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-tr-17.08.1.tar.xz";
-      sha256 = "15x2r21810mndzzqx5cz1z6a6g7czmp2wiw8hw89g6nigq3qvacx";
-      name = "kde-l10n-tr-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-tr-17.08.3.tar.xz";
+      sha256 = "1as31vjsig32s31qxnx6ykfgpyya3s362ml576ndiyrj84znzby0";
+      name = "kde-l10n-tr-17.08.3.tar.xz";
     };
   };
   kde-l10n-ug = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-ug-17.08.1.tar.xz";
-      sha256 = "1bpd63jv8dlikg3589in5h11ydkpwp5mq69vlam9z68bmbl5sy5w";
-      name = "kde-l10n-ug-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-ug-17.08.3.tar.xz";
+      sha256 = "1jx2g5xczybfz9915py30g9rqds0191bsaywnj241nzqizy20csz";
+      name = "kde-l10n-ug-17.08.3.tar.xz";
     };
   };
   kde-l10n-uk = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-uk-17.08.1.tar.xz";
-      sha256 = "1yaynm508g03gn896q3zrw8y5rn4l7m8a2x2skwyjzfxy8pk4az9";
-      name = "kde-l10n-uk-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-uk-17.08.3.tar.xz";
+      sha256 = "14c30x7j8inswccjfb3yslwxjp0ispp1wzq6j4nl5zzj24lkicf8";
+      name = "kde-l10n-uk-17.08.3.tar.xz";
     };
   };
   kde-l10n-wa = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-wa-17.08.1.tar.xz";
-      sha256 = "0247pwdizs31jhrjx6kfydgkr2ghqnqsdza10a7mggz825mgg2hv";
-      name = "kde-l10n-wa-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-wa-17.08.3.tar.xz";
+      sha256 = "0mz0g6hf4z59vb4i0zkvmyx85mxz7fpwi6yyng03iqzlbpdq0qj7";
+      name = "kde-l10n-wa-17.08.3.tar.xz";
     };
   };
   kde-l10n-zh_CN = {
-    version = "zh_CN-17.08.1";
+    version = "zh_CN-17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-zh_CN-17.08.1.tar.xz";
-      sha256 = "0a58ikf8pkxhqr25cy04s5hwhdkp81y3304wa6xcni2k5vlzca9f";
-      name = "kde-l10n-zh_CN-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-zh_CN-17.08.3.tar.xz";
+      sha256 = "1l60z9wicf5ka9ik5b85qh0z3n7g9msjv3ckwzm2kj41q9r30559";
+      name = "kde-l10n-zh_CN-17.08.3.tar.xz";
     };
   };
   kde-l10n-zh_TW = {
-    version = "zh_TW-17.08.1";
+    version = "zh_TW-17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-l10n/kde-l10n-zh_TW-17.08.1.tar.xz";
-      sha256 = "02lkg354vq3sqvy4iib51yynjb5yx0hsqh1alik97wajawv4fkrc";
-      name = "kde-l10n-zh_TW-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-l10n/kde-l10n-zh_TW-17.08.3.tar.xz";
+      sha256 = "1br778qbxnbsrdpvd34g2m3xc1v725ib4689kw5g36pm1jlf55h0";
+      name = "kde-l10n-zh_TW-17.08.3.tar.xz";
     };
   };
   kdelibs = {
-    version = "4.14.36";
+    version = "4.14.38";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdelibs-4.14.36.tar.xz";
-      sha256 = "08x5frbbgib9agn9ixslpx41wki8ky4l1r60xrl2pmywmwld4ag1";
-      name = "kdelibs-4.14.36.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdelibs-4.14.38.tar.xz";
+      sha256 = "1zn3yb09sd22bm54is0rn98amj0398zybl550dp406419sil7z9p";
+      name = "kdelibs-4.14.38.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdenetwork-filesharing-17.08.1.tar.xz";
-      sha256 = "1m79c4ww25gcx4aiwjwp81r18i8s2x6afpp76xi2am6v4sd8rjb3";
-      name = "kdenetwork-filesharing-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdenetwork-filesharing-17.08.3.tar.xz";
+      sha256 = "0vy2cyd9ifxrqw9zk4hyidiprd7730q7hm1gc44l6b4siimxyb4x";
+      name = "kdenetwork-filesharing-17.08.3.tar.xz";
     };
   };
   kdenlive = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdenlive-17.08.1.tar.xz";
-      sha256 = "0cj618pjkack3wj66nbq4src460la5qryylblswg2nzm0svqawqh";
-      name = "kdenlive-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdenlive-17.08.3.tar.xz";
+      sha256 = "1nh6cmxkr47zlpvcrjm8dfylsdmncb5qhyvb86rypr1qqmbifg5x";
+      name = "kdenlive-17.08.3.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdepim-addons-17.08.1.tar.xz";
-      sha256 = "105b8pf9g44b5fz8vy404jiysz7sccvllz0bvhi9ihv7a3g4gihg";
-      name = "kdepim-addons-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdepim-addons-17.08.3.tar.xz";
+      sha256 = "1r0qgrliw2g82vgj63l00x0visjclxh2fafngl8ga4dk411nfg4x";
+      name = "kdepim-addons-17.08.3.tar.xz";
     };
   };
   kdepim-apps-libs = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdepim-apps-libs-17.08.1.tar.xz";
-      sha256 = "000gmblsgyzgml6h4v3ccr2n0n7s359rb91higiyrzkxi1cq0bh8";
-      name = "kdepim-apps-libs-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdepim-apps-libs-17.08.3.tar.xz";
+      sha256 = "0706ndzw315szab2qg30x7a6f50iv439rrpdpy321q7ay5fm0f2p";
+      name = "kdepim-apps-libs-17.08.3.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdepim-runtime-17.08.1.tar.xz";
-      sha256 = "0q19j5dr0lml9v88ma32vqypi3jzg2dkjzv9adl48k9d2yrywq5n";
-      name = "kdepim-runtime-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdepim-runtime-17.08.3.tar.xz";
+      sha256 = "0qc6kkc5rsg9l5plciass6p1ym7arlp6yk7x5ycy53k7fbsh4ak7";
+      name = "kdepim-runtime-17.08.3.tar.xz";
     };
   };
   kde-runtime = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kde-runtime-17.08.1.tar.xz";
-      sha256 = "0gl24dpkxbkjq7kqj2i022w82daihxnyi2ccld0ql9680w73s3zg";
-      name = "kde-runtime-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kde-runtime-17.08.3.tar.xz";
+      sha256 = "15nfkfz2wwlr1rp93sl1kmxl35wpnlf86225ihl43nhwn6pihb38";
+      name = "kde-runtime-17.08.3.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdesdk-kioslaves-17.08.1.tar.xz";
-      sha256 = "10nz2ai5iahva93psw1dd86npwcp5xlx80n12biwqfgwj5d380k8";
-      name = "kdesdk-kioslaves-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdesdk-kioslaves-17.08.3.tar.xz";
+      sha256 = "11akksc09mzxnjiqcsxwgwcxzcjpw50cr277lp7p6rx1hdbwlk7a";
+      name = "kdesdk-kioslaves-17.08.3.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdesdk-thumbnailers-17.08.1.tar.xz";
-      sha256 = "11d7vch9fc5w42wlq8bz3wpb68sjslvvqpqs67d155w682z1q4q1";
-      name = "kdesdk-thumbnailers-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdesdk-thumbnailers-17.08.3.tar.xz";
+      sha256 = "1hhsskrhkq3z6phjkvc43gzsmx0apcpr4sjr9zqqfy847zqsvfm2";
+      name = "kdesdk-thumbnailers-17.08.3.tar.xz";
     };
   };
   kdf = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdf-17.08.1.tar.xz";
-      sha256 = "09sjv6z5565mvgnicwaykisgrh859m7h8wfggmqs3rgldsi3iy0p";
-      name = "kdf-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdf-17.08.3.tar.xz";
+      sha256 = "1s291c4g51y92wplrqkl528py83xfviyvv1qjyp3c7nyf6g2jvwq";
+      name = "kdf-17.08.3.tar.xz";
     };
   };
   kdialog = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdialog-17.08.1.tar.xz";
-      sha256 = "1j5ahq4xksl0jrxcisai0mnk6vr126qbabd9hnwq491f419l3zh1";
-      name = "kdialog-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdialog-17.08.3.tar.xz";
+      sha256 = "1n6n06sqgq1s2781pnsbfyczc68l5xx6l0idymj3pmniz3q4svp8";
+      name = "kdialog-17.08.3.tar.xz";
     };
   };
   kdiamond = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kdiamond-17.08.1.tar.xz";
-      sha256 = "07is91glcffrznsg72drmyqmz3lyki62g6ijc14x5i7k8v26nlhi";
-      name = "kdiamond-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kdiamond-17.08.3.tar.xz";
+      sha256 = "1czhmxs3k7mx82r1k88h8riwn9jxlz6w60mi4jx8b29qcm532f53";
+      name = "kdiamond-17.08.3.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/keditbookmarks-17.08.1.tar.xz";
-      sha256 = "1k18if8ssjwj8mgp2jgxxwa8hh6x5w402i8fb2nsc7b4khw02y9q";
-      name = "keditbookmarks-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/keditbookmarks-17.08.3.tar.xz";
+      sha256 = "115ys7703m611dw6ap2kqv4rgzxp15dsscg1y2gx09afc8fg2i62";
+      name = "keditbookmarks-17.08.3.tar.xz";
     };
   };
   kfilereplace = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kfilereplace-17.08.1.tar.xz";
-      sha256 = "1ra01im1yp5k73m2hyz72d73qhwv3by1zyipn4l1m2m4r62kwjcr";
-      name = "kfilereplace-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kfilereplace-17.08.3.tar.xz";
+      sha256 = "1ksv9igzq65wgsam6ynbbzzyriacbk7y48dzh190p8k2bdf6gij6";
+      name = "kfilereplace-17.08.3.tar.xz";
     };
   };
   kfind = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kfind-17.08.1.tar.xz";
-      sha256 = "114l6b081ddxx51ndkqjl9jnvy00nyydn245y1kskfbzk2yry1jb";
-      name = "kfind-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kfind-17.08.3.tar.xz";
+      sha256 = "16f27ykh52vphq6wjyi1vy6vrzshj0cawmc8fy7y1j5yzzdkx1hk";
+      name = "kfind-17.08.3.tar.xz";
     };
   };
   kfloppy = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kfloppy-17.08.1.tar.xz";
-      sha256 = "1afnlbk42g6sm7y7xkqnxr24mz2s95qkaap2s3zqc469gj1vlnxa";
-      name = "kfloppy-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kfloppy-17.08.3.tar.xz";
+      sha256 = "1d5xn0rxc92k60hc1860mji8dzq932gg4by42gylwldcvgdija14";
+      name = "kfloppy-17.08.3.tar.xz";
     };
   };
   kfourinline = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kfourinline-17.08.1.tar.xz";
-      sha256 = "12cy3sarcy361wivlbpx2cxc2yaffr2xfy4dwz3iz6vzx49mhyky";
-      name = "kfourinline-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kfourinline-17.08.3.tar.xz";
+      sha256 = "1bxzlx55i6vbk8cmpx38g1xdx0swqwd73lw5z584affw464ps1n9";
+      name = "kfourinline-17.08.3.tar.xz";
     };
   };
   kgeography = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kgeography-17.08.1.tar.xz";
-      sha256 = "1mjfacc850pqsgylwfcvp7yv0c4f1qgk0y7pgwrx2nspf8i1wwhc";
-      name = "kgeography-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kgeography-17.08.3.tar.xz";
+      sha256 = "19k39rjm9lwbv3p6iifam80li5bhw4xf2g4i4hj0h7gyrj9gb1mp";
+      name = "kgeography-17.08.3.tar.xz";
     };
   };
   kget = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kget-17.08.1.tar.xz";
-      sha256 = "182l5hd5hfbpl88p9yzc54n8m0mi2fffp19sjdhhadmyx142inc1";
-      name = "kget-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kget-17.08.3.tar.xz";
+      sha256 = "01z3ij4iv3kgwy0fcnrf4qpfgapflx1pgv2hiaykgsj6ij24fx6a";
+      name = "kget-17.08.3.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kgoldrunner-17.08.1.tar.xz";
-      sha256 = "0rzhg7hk07yaghflskiz4wh5d3jdfvhzig3zyyhimwir90lj1gxx";
-      name = "kgoldrunner-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kgoldrunner-17.08.3.tar.xz";
+      sha256 = "1k09pw7lm17702p0lliyl767zwk4n3gkkzj441cq3fqjnwm93lx4";
+      name = "kgoldrunner-17.08.3.tar.xz";
     };
   };
   kgpg = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kgpg-17.08.1.tar.xz";
-      sha256 = "1hcg9zv4f2bj1210fahxap1fnyk7zdj3gfpfpdrww6qga5z4dzcy";
-      name = "kgpg-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kgpg-17.08.3.tar.xz";
+      sha256 = "1g06n6i9qqvalmpg2zan7qg7j7dp4rn152pashs3jxij29n1bw7h";
+      name = "kgpg-17.08.3.tar.xz";
     };
   };
   khangman = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/khangman-17.08.1.tar.xz";
-      sha256 = "17xk64lclbw2gcpnfpzi9sqryr8wl8g1v19gqrplvq4zw7qfanr5";
-      name = "khangman-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/khangman-17.08.3.tar.xz";
+      sha256 = "1fny78d3vaaz67css4i14pnvkm5p586ib8mwrs2rglc931c89dqq";
+      name = "khangman-17.08.3.tar.xz";
     };
   };
   khelpcenter = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/khelpcenter-17.08.1.tar.xz";
-      sha256 = "1js7sk1hdp3k7d4gjk8rzq5rw1al8bh0ap5irw5551kvbagm5dp4";
-      name = "khelpcenter-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/khelpcenter-17.08.3.tar.xz";
+      sha256 = "089aahdr1yibff4y0l78m0wzz7m0mc090g4fp4aj4gp56wz6i5jn";
+      name = "khelpcenter-17.08.3.tar.xz";
     };
   };
   kholidays = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kholidays-17.08.1.tar.xz";
-      sha256 = "0gsvidakx0q0wqy2bgwq339hwghdcl882nvzj445hnmy10r2d6jk";
-      name = "kholidays-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kholidays-17.08.3.tar.xz";
+      sha256 = "17razwvskf6i5hidlfp98bmfrijp8hn5gxrqcjxc49wpkhlj70jm";
+      name = "kholidays-17.08.3.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kidentitymanagement-17.08.1.tar.xz";
-      sha256 = "1ippkav5nvfckp4145gcwa2hdl7zjw8bcaq6af5kcxqmvlcndvwv";
-      name = "kidentitymanagement-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kidentitymanagement-17.08.3.tar.xz";
+      sha256 = "0k926vwdhrk4ilpn0zhkcn26j1h7nqlzzi9mimybz1sp4fzxa83v";
+      name = "kidentitymanagement-17.08.3.tar.xz";
     };
   };
   kig = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kig-17.08.1.tar.xz";
-      sha256 = "0gzfdpi4qlmwg6hkx1slvnxlynsfgwv18a9law05hg35hs6zxzfk";
-      name = "kig-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kig-17.08.3.tar.xz";
+      sha256 = "0wf03fm7fpph52ilxckz02ikn6mq486ps8p8byq2vvfwh6z0w6wg";
+      name = "kig-17.08.3.tar.xz";
     };
   };
   kigo = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kigo-17.08.1.tar.xz";
-      sha256 = "0c498rzvmfkl0q5hnhddlx38qwyzsz4lh05cy5v4zpq8idvnxzj5";
-      name = "kigo-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kigo-17.08.3.tar.xz";
+      sha256 = "1k850vmsifvab14aaqkivgrw8794yhvn7d10c5ib2zf6447cl8m5";
+      name = "kigo-17.08.3.tar.xz";
     };
   };
   killbots = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/killbots-17.08.1.tar.xz";
-      sha256 = "0yay6pr83rh5slklmxvw3jr2bky7k5cgf55a8r6al5b4vsx2802r";
-      name = "killbots-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/killbots-17.08.3.tar.xz";
+      sha256 = "0ds391xx2d792069kl998f84qym26964ph5bja6bwkhgvws84r9g";
+      name = "killbots-17.08.3.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kimagemapeditor-17.08.1.tar.xz";
-      sha256 = "158vrszvz2acnbzvmjprg1j2knarffvg8awwjcfg3zn2i6arwwsg";
-      name = "kimagemapeditor-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kimagemapeditor-17.08.3.tar.xz";
+      sha256 = "0clzk2d63hy1vvkdpxa1j5pp7y28x467wd9zfvv6k2vw703ghqlx";
+      name = "kimagemapeditor-17.08.3.tar.xz";
     };
   };
   kimap = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kimap-17.08.1.tar.xz";
-      sha256 = "1vch7y153jg010mcz7qjxjp6f3gfxrczbfh3bvx8q70cqfmx7ssm";
-      name = "kimap-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kimap-17.08.3.tar.xz";
+      sha256 = "0c5inldmlwc5x2q1vhvj0wv61h6986m068a2k4xrrbirpb4pcwls";
+      name = "kimap-17.08.3.tar.xz";
     };
   };
   kio-extras = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kio-extras-17.08.1.tar.xz";
-      sha256 = "1hk09yavrr1dqvxjsdg9rmn6j8jzczhnfyn71hyfbglshvlhwm8m";
-      name = "kio-extras-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kio-extras-17.08.3.tar.xz";
+      sha256 = "0gq187435yd0251znqicpcn0r89aar7a64bjpf6x0zhdlli8n9jc";
+      name = "kio-extras-17.08.3.tar.xz";
     };
   };
   kiriki = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kiriki-17.08.1.tar.xz";
-      sha256 = "0cxmxxwn6ps00kf64z61r3k7iyr5falrbzmf6gz19m535b79drhi";
-      name = "kiriki-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kiriki-17.08.3.tar.xz";
+      sha256 = "1cbijn0358gpr21yfab84gybf5vqxwilwbhfl6nj8qmppp2bpjqd";
+      name = "kiriki-17.08.3.tar.xz";
     };
   };
   kiten = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kiten-17.08.1.tar.xz";
-      sha256 = "1yp2r5linfkknvn5dx4vf2f6vxg3kzrpiqsrg34q957wvfsc91qm";
-      name = "kiten-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kiten-17.08.3.tar.xz";
+      sha256 = "0v00q9hs94p5r6x7s7i12814pfydd5y1bzp6sm5x0vx1ixdnkx89";
+      name = "kiten-17.08.3.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kjumpingcube-17.08.1.tar.xz";
-      sha256 = "161px7wad80a3p6hr27dj0990jb7j143q77q7ca308qysmffghnz";
-      name = "kjumpingcube-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kjumpingcube-17.08.3.tar.xz";
+      sha256 = "13ifm6drw4m1dzssfalazmnsr5f8z9gla3aypb9ny1xm9ahlgfwh";
+      name = "kjumpingcube-17.08.3.tar.xz";
     };
   };
   kldap = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kldap-17.08.1.tar.xz";
-      sha256 = "11j0ai0y022xxgiw7ac5cgv8vqb3qa1dbh7n9jqz9lg8rhjch2ix";
-      name = "kldap-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kldap-17.08.3.tar.xz";
+      sha256 = "0bnx5fc48ppsykpqwjgsqjd7s4azgzk82k9xgaw566nxqqvgpzsv";
+      name = "kldap-17.08.3.tar.xz";
     };
   };
   kleopatra = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kleopatra-17.08.1.tar.xz";
-      sha256 = "1z32xwlsslhzqzsq8ngdws1ry56myvx8j56b973scbhd29z15www";
-      name = "kleopatra-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kleopatra-17.08.3.tar.xz";
+      sha256 = "0vglphfxq37pxdrrchgzkdlzlzr18qlfwy9g64njyddnsv48pfx8";
+      name = "kleopatra-17.08.3.tar.xz";
     };
   };
   klettres = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/klettres-17.08.1.tar.xz";
-      sha256 = "0s7n83smr4mrrs91bpyr3hk2s1sl3ix73scnllb6spb6gx5hhr13";
-      name = "klettres-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/klettres-17.08.3.tar.xz";
+      sha256 = "14jxbvil45hc2kqky7yhxrgzpv4094lk9ri0j05i1av6784s9555";
+      name = "klettres-17.08.3.tar.xz";
     };
   };
   klickety = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/klickety-17.08.1.tar.xz";
-      sha256 = "0zp836x7ssgk7y5fcni7ya9cfdc28ywgvlzc01f7bi7pwh57q50x";
-      name = "klickety-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/klickety-17.08.3.tar.xz";
+      sha256 = "01hqf41m8pviziq1x562rd85357kkfgd0x0ba1vasimjddg6v6qa";
+      name = "klickety-17.08.3.tar.xz";
     };
   };
   klines = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/klines-17.08.1.tar.xz";
-      sha256 = "069igz40zrwbnyvw53d59rksn2n3dxycysb9fakb165qr27kb42h";
-      name = "klines-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/klines-17.08.3.tar.xz";
+      sha256 = "1s0krcqbqii9fqrymm4bb9ssznzyv8bijk5lcngwgxs24igl0g4d";
+      name = "klines-17.08.3.tar.xz";
     };
   };
   klinkstatus = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/klinkstatus-17.08.1.tar.xz";
-      sha256 = "11fakg10rlf4finznc2i5h1lbh1qq37wvzd93yc8vdwax98pps44";
-      name = "klinkstatus-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/klinkstatus-17.08.3.tar.xz";
+      sha256 = "0bv5ahcnss6ziccx9mmvf5bdsff9drjqpmq9ln51524bjn4x58ic";
+      name = "klinkstatus-17.08.3.tar.xz";
     };
   };
   kmag = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmag-17.08.1.tar.xz";
-      sha256 = "1y69rsdl9pz11xrbfg8p0ihm1691y3blb5jay0v228prbwsy2gn3";
-      name = "kmag-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmag-17.08.3.tar.xz";
+      sha256 = "0dadzzrmd982y7apjk783wm5q302y03ydai74pzyqy0awnjdm09d";
+      name = "kmag-17.08.3.tar.xz";
     };
   };
   kmahjongg = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmahjongg-17.08.1.tar.xz";
-      sha256 = "17f57shs79pbwdaqblb4i9ibs3b4psy38ys69i8k5j04v7mam48s";
-      name = "kmahjongg-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmahjongg-17.08.3.tar.xz";
+      sha256 = "09j2pmqc66zi851fsl4ijrcgq3y35arx9272p6z07bg0z9ja5vgb";
+      name = "kmahjongg-17.08.3.tar.xz";
     };
   };
   kmail = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmail-17.08.1.tar.xz";
-      sha256 = "1c3yds59nssnqi0pxb6fjajq6yaj6ki7l83gj59wlmpsyc1nm15d";
-      name = "kmail-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmail-17.08.3.tar.xz";
+      sha256 = "1ibpq0alnk70ha1smfyw8gc91k5q4x1gw7zddwgzw1pjr4v1bqdc";
+      name = "kmail-17.08.3.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmail-account-wizard-17.08.1.tar.xz";
-      sha256 = "1vipb6330p67g4qpx2g1ps0fxnqb8w1agfwxnv61k3fccxpr4gkw";
-      name = "kmail-account-wizard-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmail-account-wizard-17.08.3.tar.xz";
+      sha256 = "0mkw6skpf9kc2h34ww85g18cljln77n5dsg5cyfyqc3i52m1halk";
+      name = "kmail-account-wizard-17.08.3.tar.xz";
     };
   };
   kmailtransport = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmailtransport-17.08.1.tar.xz";
-      sha256 = "1r8xbccijiw5v92qq18rccvsdn87m8mwc6g53k8gxpjx37vxrba8";
-      name = "kmailtransport-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmailtransport-17.08.3.tar.xz";
+      sha256 = "0cfyzvsn5x03i6kprqm7y6j6qsfys4yz2s3f4wb5igpdm25nclq1";
+      name = "kmailtransport-17.08.3.tar.xz";
     };
   };
   kmbox = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmbox-17.08.1.tar.xz";
-      sha256 = "0bgjj69by4c11z7j7v7inx4gzcsn6106r28n1ds6lc1k0vv8zw2d";
-      name = "kmbox-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmbox-17.08.3.tar.xz";
+      sha256 = "0mf0005fs15vgmmikdsa44ig4hxrnysl13mrn168crk96h3sk8qi";
+      name = "kmbox-17.08.3.tar.xz";
     };
   };
   kmime = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmime-17.08.1.tar.xz";
-      sha256 = "178bx5pasrrlqwzjz85ba06gs9r40prwk7z4v6ar6fr9q4pa088c";
-      name = "kmime-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmime-17.08.3.tar.xz";
+      sha256 = "17ziw8g1wdys4iy2yqavqy7wj4kw617m80fg77zlf1cscswhg23d";
+      name = "kmime-17.08.3.tar.xz";
     };
   };
   kmines = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmines-17.08.1.tar.xz";
-      sha256 = "1al98mzy8jrp17vq4j7np1bl5j9sd79drh78zd0343mrcqa7js28";
-      name = "kmines-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmines-17.08.3.tar.xz";
+      sha256 = "14b0klnlbxkvln3q9fliw6cijc2xmsfmvm6sfikdzzgj59jcylzp";
+      name = "kmines-17.08.3.tar.xz";
     };
   };
   kmix = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmix-17.08.1.tar.xz";
-      sha256 = "1w783p49zgsj52cy3mv4zgvh8f55mdij2drzgk3qr510wsyf0cg5";
-      name = "kmix-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmix-17.08.3.tar.xz";
+      sha256 = "0fd38banrbgpp8g5gz09w6wny8mdi9szvddl1rv7yx67zf112g67";
+      name = "kmix-17.08.3.tar.xz";
     };
   };
   kmousetool = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmousetool-17.08.1.tar.xz";
-      sha256 = "09rjvnp7f16d6cg3d5p1ah184j7710mziiiz5r0zxq7vdnkvxzlh";
-      name = "kmousetool-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmousetool-17.08.3.tar.xz";
+      sha256 = "0y2zavs442wpz438p1kyzrqlv9qgvxd4l5gw1pmmx8lkvjjdi91v";
+      name = "kmousetool-17.08.3.tar.xz";
     };
   };
   kmouth = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmouth-17.08.1.tar.xz";
-      sha256 = "07s3fqybprw7gprksc271pspnh81yawm5prrz0lif2awvc7wp7pm";
-      name = "kmouth-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmouth-17.08.3.tar.xz";
+      sha256 = "0gzc6apskfpvih7aap5mfv45q3pg70nfis1vh5ywidia36wbf26i";
+      name = "kmouth-17.08.3.tar.xz";
     };
   };
   kmplot = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kmplot-17.08.1.tar.xz";
-      sha256 = "1gxhfkjdsrf8klqhqji6yzv9g4sdjcjhmyvx5j71wmrdc6pdpkpf";
-      name = "kmplot-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kmplot-17.08.3.tar.xz";
+      sha256 = "1ann38zzzd5pds889mc5vw8xw80qlpm9l9nmkczkqyhkfvwxd605";
+      name = "kmplot-17.08.3.tar.xz";
     };
   };
   knavalbattle = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/knavalbattle-17.08.1.tar.xz";
-      sha256 = "187n5kn5ri87a98rybsf4g5jcwvyxdnb4601iaaf4jb6rg3yf2pm";
-      name = "knavalbattle-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/knavalbattle-17.08.3.tar.xz";
+      sha256 = "1zj6pki0v3p4xg25ivl45mb877p5xh47d066442pahkf8l3wnsh5";
+      name = "knavalbattle-17.08.3.tar.xz";
     };
   };
   knetwalk = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/knetwalk-17.08.1.tar.xz";
-      sha256 = "10kjsw94yzz82af3adk9shm67kbg8f8p0xmh60jr97cm1lvz5186";
-      name = "knetwalk-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/knetwalk-17.08.3.tar.xz";
+      sha256 = "0i32f54z5hinafy1v5s1j8ahnbw30721lxa2mvh5qcbr21fan3mc";
+      name = "knetwalk-17.08.3.tar.xz";
     };
   };
   knotes = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/knotes-17.08.1.tar.xz";
-      sha256 = "0654fxaiyvhfxjyfaw9hgvv352xkix2ls7wlvyw5b15d9iqa5cl0";
-      name = "knotes-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/knotes-17.08.3.tar.xz";
+      sha256 = "0ly9gpji3nl3i53nzqd5z27li8qnc1asfv1d1kawchz077da02xy";
+      name = "knotes-17.08.3.tar.xz";
     };
   };
   kolf = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kolf-17.08.1.tar.xz";
-      sha256 = "0cmqpyd157b3n3x18d6wiijyvjaavxp65nagw2r0prjz9dckd1cl";
-      name = "kolf-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kolf-17.08.3.tar.xz";
+      sha256 = "1wc6x1hgkniwzb53bcph3alk0fxlb91s6j39blhync6713x8b4g0";
+      name = "kolf-17.08.3.tar.xz";
     };
   };
   kollision = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kollision-17.08.1.tar.xz";
-      sha256 = "00chxdib0ym5x94pzgfg3zx2lixf9h5b7sfcbg0chvjlc8imfv2b";
-      name = "kollision-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kollision-17.08.3.tar.xz";
+      sha256 = "14ama8cfi4d7whgck0gywm7869gpargq1lrkq8ik4k914pharkzi";
+      name = "kollision-17.08.3.tar.xz";
     };
   };
   kolourpaint = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kolourpaint-17.08.1.tar.xz";
-      sha256 = "18cf856r66gwdf149zyam53p0sqvm0bf5f0k0n62mkp80z76kbvm";
-      name = "kolourpaint-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kolourpaint-17.08.3.tar.xz";
+      sha256 = "1y44q14f6brdmccnmf8143kjjqais8ps15z31dpx2935qzjxw8sc";
+      name = "kolourpaint-17.08.3.tar.xz";
     };
   };
   kompare = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kompare-17.08.1.tar.xz";
-      sha256 = "1whsbz99cdnivq6m7irvnj0vcq82s34z9mgzd4a50z3i7ms5hmvf";
-      name = "kompare-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kompare-17.08.3.tar.xz";
+      sha256 = "0fi3s02rsaa3xl7j69lq2qvg9jn9hxdp44ns89q94s06rqkbjyr1";
+      name = "kompare-17.08.3.tar.xz";
     };
   };
   konqueror = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/konqueror-17.08.1.tar.xz";
-      sha256 = "1plq38ap1gdjq1s02s3km3pg8l2cgx0mkicb5jldz02qxj4z8rgy";
-      name = "konqueror-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/konqueror-17.08.3.tar.xz";
+      sha256 = "1b2hs0fp0a51y87dl8rnv47b8kzjylsps9nczgi8zsipg03z9ja7";
+      name = "konqueror-17.08.3.tar.xz";
     };
   };
   konquest = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/konquest-17.08.1.tar.xz";
-      sha256 = "01ps82zkd95w06im3x7cazwbn2m4xbr80ky16gd71v3sdgg5zpw7";
-      name = "konquest-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/konquest-17.08.3.tar.xz";
+      sha256 = "1k5s9cvlsx3j2774i6p6xx2sfg75aafj9a4imvm7mzvn3gvmkm3q";
+      name = "konquest-17.08.3.tar.xz";
     };
   };
   konsole = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/konsole-17.08.1.tar.xz";
-      sha256 = "00rrwk6i0ngg07md84bkfggdmmfknkpxiqbv37pb7xis1rvz9c8p";
-      name = "konsole-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/konsole-17.08.3.tar.xz";
+      sha256 = "07v9nbikzpanpggglp07slkbn6h0cl2anz7735f9b0lg55fydv42";
+      name = "konsole-17.08.3.tar.xz";
     };
   };
   kontact = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kontact-17.08.1.tar.xz";
-      sha256 = "1z0mqnb6567xmx7shv7v60yb2cj6wh3ndqdd9nqxp12371mgm6i0";
-      name = "kontact-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kontact-17.08.3.tar.xz";
+      sha256 = "1hj6vgvn73bzf43ckk4cm24m1n0a4c9c6p14q95hbfbcp5bdra1i";
+      name = "kontact-17.08.3.tar.xz";
     };
   };
   kontactinterface = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kontactinterface-17.08.1.tar.xz";
-      sha256 = "09mpmdc65lm14s6hg1yq68i1wrawss0hl002bg9apgy2rfdk34k1";
-      name = "kontactinterface-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kontactinterface-17.08.3.tar.xz";
+      sha256 = "1ncy0fz0jyklckimm9jjfv2j88aibk49ismz5z6xlasn44vn7l9c";
+      name = "kontactinterface-17.08.3.tar.xz";
     };
   };
   kopete = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kopete-17.08.1.tar.xz";
-      sha256 = "1inbw80a2mwfc2id12qn0as4l52hz3wfcvzcz3n4p393g0qfz8an";
-      name = "kopete-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kopete-17.08.3.tar.xz";
+      sha256 = "1v5gmh521si3zbxgcm9m4rcp0csqy52xgvpjpb8j7iq9m0fcqv7q";
+      name = "kopete-17.08.3.tar.xz";
     };
   };
   korganizer = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/korganizer-17.08.1.tar.xz";
-      sha256 = "0q35fyqxgwp5jv2qnpcjhfs1rkyp1jjrpmi28kqh93l04njmwvc0";
-      name = "korganizer-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/korganizer-17.08.3.tar.xz";
+      sha256 = "1nsj03h1r5mnz2dvdmydvqz2fspgw2ybs5z05gg0f903sq1gz80l";
+      name = "korganizer-17.08.3.tar.xz";
     };
   };
   kpat = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kpat-17.08.1.tar.xz";
-      sha256 = "1bqqm5gb6mc1v8h524qnz2rfcplvz6v87gvc0jg3zcqjf2c4xn4y";
-      name = "kpat-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kpat-17.08.3.tar.xz";
+      sha256 = "0l5s5rrn67lbf8hjqyyxvxij935pb1fd9x9dlskxyc2w7n6acmn2";
+      name = "kpat-17.08.3.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kpimtextedit-17.08.1.tar.xz";
-      sha256 = "16ymcccfn8pw098gr6b2k1xvwinhnx8c3npawy9fiqg138a4bkh9";
-      name = "kpimtextedit-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kpimtextedit-17.08.3.tar.xz";
+      sha256 = "1xyfzvmsfikx2xnhgwx9wkdhvfq72f3mz67hlw2jsbm3ir889ysb";
+      name = "kpimtextedit-17.08.3.tar.xz";
     };
   };
   kppp = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kppp-17.08.1.tar.xz";
-      sha256 = "0783rn2gzgxscnfbins0drl8j8ka0lxyg3787v9778d5993fafpf";
-      name = "kppp-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kppp-17.08.3.tar.xz";
+      sha256 = "00y19x306r3pnax1b2cv8bndd6vq1qp30r1hrgw8npy5mm4mn8jw";
+      name = "kppp-17.08.3.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kqtquickcharts-17.08.1.tar.xz";
-      sha256 = "1zym0lcim41krv1irdfvkfb4simymairqq2cp2kiagrp3ssz28km";
-      name = "kqtquickcharts-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kqtquickcharts-17.08.3.tar.xz";
+      sha256 = "0w8hlnhdgqrmad4ii07f9hsyx6vlaqnvlc54prnah1bqzymvc2ms";
+      name = "kqtquickcharts-17.08.3.tar.xz";
     };
   };
   krdc = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/krdc-17.08.1.tar.xz";
-      sha256 = "1lfh7w05b19bzdfmxydb0s55zgbizsh8j8vjblgsn2vihgm2f8lp";
-      name = "krdc-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/krdc-17.08.3.tar.xz";
+      sha256 = "13rmn1p495dzx49d1y22na25vrpzk9mcc2axg412pv038iphf8id";
+      name = "krdc-17.08.3.tar.xz";
     };
   };
   kremotecontrol = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kremotecontrol-17.08.1.tar.xz";
-      sha256 = "1b146xb9dnq97lswb0qnppcgjbw5vwy1y9za2k0kl3bhfvxd4qj2";
-      name = "kremotecontrol-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kremotecontrol-17.08.3.tar.xz";
+      sha256 = "1p23q7bvppv8fabvpwi793zplb4kry8njczma7c4nya4mkdk9370";
+      name = "kremotecontrol-17.08.3.tar.xz";
     };
   };
   kreversi = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kreversi-17.08.1.tar.xz";
-      sha256 = "17y2iihszjshln2hwxp6nqz30iln79mwmfv8yb2bydchdy05g807";
-      name = "kreversi-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kreversi-17.08.3.tar.xz";
+      sha256 = "0ma0y1n38hw5rawzazlaqfa4vsawgvaq8j2pa5n7z23nwckh19wd";
+      name = "kreversi-17.08.3.tar.xz";
     };
   };
   krfb = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/krfb-17.08.1.tar.xz";
-      sha256 = "1dwyx0jdg0i64pxd7phm1kq7fyaj7jls8w08sfgq3730s4s59lfj";
-      name = "krfb-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/krfb-17.08.3.tar.xz";
+      sha256 = "1k7rziw0l0bdjxi5i92w1zsjbakzbklc95dyn2jsnm36jljjqpv1";
+      name = "krfb-17.08.3.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kross-interpreters-17.08.1.tar.xz";
-      sha256 = "0hzsn1kjcpy2vbqx9sxhxbz4p67wcmv6agg932iavv2hi7731j14";
-      name = "kross-interpreters-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kross-interpreters-17.08.3.tar.xz";
+      sha256 = "1pqlm14xr9p18dfh8pczg8fjskpvzxh5s5n7nxj9q31yz6kbxzrb";
+      name = "kross-interpreters-17.08.3.tar.xz";
     };
   };
   kruler = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kruler-17.08.1.tar.xz";
-      sha256 = "1qmlhc35vhbzfllz6wrssr62d3s3xdq15s5rkpm3w05a70bilpyq";
-      name = "kruler-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kruler-17.08.3.tar.xz";
+      sha256 = "1qizjvysfnh5x3fa8hav3y9pyaiq8hpwi1grw9dd921cbb16cww4";
+      name = "kruler-17.08.3.tar.xz";
     };
   };
   ksaneplugin = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ksaneplugin-17.08.1.tar.xz";
-      sha256 = "08zl04ly9wggcr8y0azz69nvjkr4c8gnajx4w8cwlb1dkn1b5is4";
-      name = "ksaneplugin-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ksaneplugin-17.08.3.tar.xz";
+      sha256 = "0y7f269wv0alcvx906nill92nzlld5b1sg6q3xki89b6b9fgliig";
+      name = "ksaneplugin-17.08.3.tar.xz";
     };
   };
   kscd = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kscd-17.08.1.tar.xz";
-      sha256 = "08mlbhbck68abj17mkaz76fpy4rcn0x4h4smwgxnhy88ddb15wa1";
-      name = "kscd-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kscd-17.08.3.tar.xz";
+      sha256 = "08r9zhp7d7xf8iyi56hvlm5vyjqrjpj9dc8ynda0n7hyngxrbvm0";
+      name = "kscd-17.08.3.tar.xz";
     };
   };
   kshisen = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kshisen-17.08.1.tar.xz";
-      sha256 = "0rg465092qkzbshr0pj6z6d38nykdfz2alhzy50qi9i32r8iwy9m";
-      name = "kshisen-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kshisen-17.08.3.tar.xz";
+      sha256 = "18nwnxn7i0p2b78cxv8ppsl4lrzdm4ck6hqqdf738npli271shq0";
+      name = "kshisen-17.08.3.tar.xz";
     };
   };
   ksirk = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ksirk-17.08.1.tar.xz";
-      sha256 = "1v4xqjak0nf4vqsf7p7i37x5c08vbxq18nb63bhwjlb2fgnbg0yh";
-      name = "ksirk-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ksirk-17.08.3.tar.xz";
+      sha256 = "1601fh93jcy7x622hpvdrb9ddb262n9ivakxli054cz2bq3dbpim";
+      name = "ksirk-17.08.3.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ksnakeduel-17.08.1.tar.xz";
-      sha256 = "105rjym6vkzi9m0dmzwwb6491lfmb5y1dfqax9y2gi993x0l5ihl";
-      name = "ksnakeduel-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ksnakeduel-17.08.3.tar.xz";
+      sha256 = "1a7xki783799ala0zx1jngvhsky994sk32xyza2lfir5ym1w0pkm";
+      name = "ksnakeduel-17.08.3.tar.xz";
     };
   };
   kspaceduel = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kspaceduel-17.08.1.tar.xz";
-      sha256 = "11g362hax9x8b99wvcndd4hz6q918dxcn8js16cflfxn1ry80wb6";
-      name = "kspaceduel-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kspaceduel-17.08.3.tar.xz";
+      sha256 = "1wskg788mc51dh3hv0d7hrqyy14gnzzw2sqhc0pd65jj8hra7kh2";
+      name = "kspaceduel-17.08.3.tar.xz";
     };
   };
   ksquares = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ksquares-17.08.1.tar.xz";
-      sha256 = "1lw9qlfqfsmyry5v6fvhyjh23l8dj71iyp1z3y0xikaybc4rbbi1";
-      name = "ksquares-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ksquares-17.08.3.tar.xz";
+      sha256 = "04bc3ppiai39v8dq02r7nzr4nvpzjj90glg6qssxqyxwrz18kk20";
+      name = "ksquares-17.08.3.tar.xz";
     };
   };
   kstars = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kstars-17.08.1.tar.xz";
-      sha256 = "1qr8y4m6lqiv3zb7f2ys7c6iw7iryk9ayibdscq113nq0blm59zs";
-      name = "kstars-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kstars-17.08.3.tar.xz";
+      sha256 = "0i165snb4wnw2kzbhcawgwwqppgq5fmw23rqa4q2k3alaz9smcdn";
+      name = "kstars-17.08.3.tar.xz";
     };
   };
   ksudoku = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ksudoku-17.08.1.tar.xz";
-      sha256 = "0fb9k5hdyq2alp42x17r1cfi5qz5hm9xzcwd3vz3c1kym4xavnjp";
-      name = "ksudoku-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ksudoku-17.08.3.tar.xz";
+      sha256 = "1dmqss272z7s7vbh71zg7s5drn66a2yyrv53f34yk3d93mhk8dq2";
+      name = "ksudoku-17.08.3.tar.xz";
     };
   };
   ksystemlog = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ksystemlog-17.08.1.tar.xz";
-      sha256 = "0wiwak8dmdm9kih2zvw2xxg67qs94imp6s24dgfxgylqqpqirlnv";
-      name = "ksystemlog-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ksystemlog-17.08.3.tar.xz";
+      sha256 = "0smhbdpj2xf9q8l8cjhk4x80qq6apn6mmf7dna9hznp6nd6jrsgv";
+      name = "ksystemlog-17.08.3.tar.xz";
     };
   };
   kteatime = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kteatime-17.08.1.tar.xz";
-      sha256 = "08ripkkc6b3wi499kgsng4fzk2n7kbp3i6212q47h6bmgxs8a4zp";
-      name = "kteatime-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kteatime-17.08.3.tar.xz";
+      sha256 = "0pp08b2rjz329kdaqq5a490r353n346ah0ag6wfxmpchqy11lr3r";
+      name = "kteatime-17.08.3.tar.xz";
     };
   };
   ktimer = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktimer-17.08.1.tar.xz";
-      sha256 = "116c61k99h5y0yph2x7cz0ff99rsfblgj3db7sczhn3hkbcimakx";
-      name = "ktimer-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktimer-17.08.3.tar.xz";
+      sha256 = "15k1rfih9k7zpcsdyiwl60jmp1w1svwb8c6cykjzqpc9acyfpba5";
+      name = "ktimer-17.08.3.tar.xz";
     };
   };
   ktnef = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktnef-17.08.1.tar.xz";
-      sha256 = "07jflp67mf748vf0ph89dbzy2lifm8148kl957qw1z9i1h5sm869";
-      name = "ktnef-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktnef-17.08.3.tar.xz";
+      sha256 = "0fh0ybb3nijhxhkwcmcygw413blkmra83az1jhkmlpp6q5459jin";
+      name = "ktnef-17.08.3.tar.xz";
     };
   };
   ktouch = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktouch-17.08.1.tar.xz";
-      sha256 = "19m8bp655ir9n2pz6vly9q2x42gdnpfjs47nkfiix28mg4y004qj";
-      name = "ktouch-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktouch-17.08.3.tar.xz";
+      sha256 = "0z21wb82m3sds4sjkkadb48zxcfj1qbab07i3cs3g3a730zdj5ld";
+      name = "ktouch-17.08.3.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-accounts-kcm-17.08.1.tar.xz";
-      sha256 = "1kghza63ywjndcscwlkabfqnsnalf1kprghb47gjj15qn844g019";
-      name = "ktp-accounts-kcm-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-accounts-kcm-17.08.3.tar.xz";
+      sha256 = "17h75xkavyl2920j57nm6zp81l70ksyjndrrrqxv8clig1bqfc89";
+      name = "ktp-accounts-kcm-17.08.3.tar.xz";
     };
   };
   ktp-approver = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-approver-17.08.1.tar.xz";
-      sha256 = "07vkhhldqkabfga79sl9hdbfdk4fdizj066180dirwbdkllfwnpf";
-      name = "ktp-approver-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-approver-17.08.3.tar.xz";
+      sha256 = "0dvwwpy50ixylacrxnfh4aqpsbc4nfsqkwr358917w5mambfji42";
+      name = "ktp-approver-17.08.3.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-auth-handler-17.08.1.tar.xz";
-      sha256 = "1612gi5izaanp9rzwz163q776lszrs03a9rrx13qczdl231smyf6";
-      name = "ktp-auth-handler-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-auth-handler-17.08.3.tar.xz";
+      sha256 = "0pm0bvivwlaq083sql74qq5wrlm7wix1k9i4cr3fck73am9h526b";
+      name = "ktp-auth-handler-17.08.3.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-call-ui-17.08.1.tar.xz";
-      sha256 = "0881lgmp04g157q3pp1im113imrw9aihxd08hhm6h5cla5z97m46";
-      name = "ktp-call-ui-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-call-ui-17.08.3.tar.xz";
+      sha256 = "1kwprh9g97hraywjcv2ppddaxh7cw6gsy4zs8mjvh0zpnn3cy7xm";
+      name = "ktp-call-ui-17.08.3.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-common-internals-17.08.1.tar.xz";
-      sha256 = "1nlcmlkbaj7j6y1i6gnmd7s6ks4qnmcdhwidxql4vgr6bjifr5n2";
-      name = "ktp-common-internals-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-common-internals-17.08.3.tar.xz";
+      sha256 = "10r5flyy4vph1x39dp2mskqksnf5h0qvskl31ln65vz9m8zrhq3w";
+      name = "ktp-common-internals-17.08.3.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-contact-list-17.08.1.tar.xz";
-      sha256 = "1xv0qaf05lvzwmgdfr31vynk768sc9gqrl0w1b270ks9jgsb3k9i";
-      name = "ktp-contact-list-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-contact-list-17.08.3.tar.xz";
+      sha256 = "04j2swlqwzppxsbqnwyrz60lgi9l8d7x8hf4xmmhrv1al6vzmb5q";
+      name = "ktp-contact-list-17.08.3.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-contact-runner-17.08.1.tar.xz";
-      sha256 = "150m1lr7n39n88b0kaz8494ch0ym7i68f8c3hgzaxpy0m62mskkv";
-      name = "ktp-contact-runner-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-contact-runner-17.08.3.tar.xz";
+      sha256 = "1sh0arsy3z413ng0b89sc6a4rh2rnh50k2mhkrdzcvfbwlf74bhw";
+      name = "ktp-contact-runner-17.08.3.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-desktop-applets-17.08.1.tar.xz";
-      sha256 = "167h8z1xd6q50xbgirfc6sxlnclliidpb5lg7s1baqdvlpg8rarz";
-      name = "ktp-desktop-applets-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-desktop-applets-17.08.3.tar.xz";
+      sha256 = "03m834rh9v6ash8vm1cs2jpyxma6jaag61h5a51s3ykp0rgv984c";
+      name = "ktp-desktop-applets-17.08.3.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-filetransfer-handler-17.08.1.tar.xz";
-      sha256 = "0hvy0vdznv9js9fjmhgbcmh3gq6jlnynz4mfdbj8bjff635q76az";
-      name = "ktp-filetransfer-handler-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-filetransfer-handler-17.08.3.tar.xz";
+      sha256 = "0vpl977p9lv58p04v6f9v0g4fda7xkhdggf3n4sjnwhis3n0nnx6";
+      name = "ktp-filetransfer-handler-17.08.3.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-kded-module-17.08.1.tar.xz";
-      sha256 = "0rsb6qgf6kdizpp6iw48gxr1aka1yljcwc0wx03p6s31a9aql47w";
-      name = "ktp-kded-module-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-kded-module-17.08.3.tar.xz";
+      sha256 = "0mzzbi50ad2z11wi77957fhmwmqnqhfwjll4s7bj4fq6i3kpncmb";
+      name = "ktp-kded-module-17.08.3.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-send-file-17.08.1.tar.xz";
-      sha256 = "1ncxr7cwfbqr8pwgkl3mg4zv6klss99pansmwkyh49bbjzjc9j3v";
-      name = "ktp-send-file-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-send-file-17.08.3.tar.xz";
+      sha256 = "1al9w5n0w6i3x0izylx2jviakj3j19izlys9j7phc2gnm99g8mfa";
+      name = "ktp-send-file-17.08.3.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktp-text-ui-17.08.1.tar.xz";
-      sha256 = "13isirx7in0vj4p3l2m9pnjz73bf48y586qbpn0rbzpwbc7xzbmz";
-      name = "ktp-text-ui-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktp-text-ui-17.08.3.tar.xz";
+      sha256 = "1ib9hskw3qdrpnb0caj12wqkzg0vh2i9wlx582zchn4k4hqkwsxw";
+      name = "ktp-text-ui-17.08.3.tar.xz";
     };
   };
   ktuberling = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/ktuberling-17.08.1.tar.xz";
-      sha256 = "04fsplvry85m596qkx2i7601l7pc9dag4x45sw4z325fkzvlzsx9";
-      name = "ktuberling-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/ktuberling-17.08.3.tar.xz";
+      sha256 = "1jvyg09c5458m066sd0x6p2z41rpgbdvkgmw1f6wiybqwxg82h43";
+      name = "ktuberling-17.08.3.tar.xz";
     };
   };
   kturtle = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kturtle-17.08.1.tar.xz";
-      sha256 = "0nrsmhdmc1qdnpwsgrhs2gd91al8b0wrm85nwia2mmyxsfnbd45l";
-      name = "kturtle-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kturtle-17.08.3.tar.xz";
+      sha256 = "1ral1y1s2jsc8zm1bwiliblywlpsb7q79cjqafz31r6cb72rkcs4";
+      name = "kturtle-17.08.3.tar.xz";
     };
   };
   kubrick = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kubrick-17.08.1.tar.xz";
-      sha256 = "07lxc4i92i08hca2y6gqq3wsyp4mn857vwmy6ja40c2wh8sl6bix";
-      name = "kubrick-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kubrick-17.08.3.tar.xz";
+      sha256 = "02hzlkqrb55dc45zgqx3r58r7syb3kr2dfwws3s96j5i4q1bp5p8";
+      name = "kubrick-17.08.3.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kwalletmanager-17.08.1.tar.xz";
-      sha256 = "0dq8m160kwbrjmda4hvdgq5izdnr7nnlksb9l3cvbslpc685d8h0";
-      name = "kwalletmanager-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kwalletmanager-17.08.3.tar.xz";
+      sha256 = "1ggrswys6ip3lxj6qjy32i36rlmzn2cxddjildlb2b2hk6c3k36r";
+      name = "kwalletmanager-17.08.3.tar.xz";
     };
   };
   kwave = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kwave-17.08.1.tar.xz";
-      sha256 = "097viq7k2l4hkj0w07hnyfzfmz3apnri2n1g69ir1h37wq59fw89";
-      name = "kwave-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kwave-17.08.3.tar.xz";
+      sha256 = "0gxmmz5ry6gjfrxwksrxvqyff8f3p807q5s4rcpfh975f10ixqqi";
+      name = "kwave-17.08.3.tar.xz";
     };
   };
   kwordquiz = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/kwordquiz-17.08.1.tar.xz";
-      sha256 = "14l419ghf6xvdp2fnsdskflppzzvvhlbciwn6cicrkzmdr9zkawz";
-      name = "kwordquiz-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/kwordquiz-17.08.3.tar.xz";
+      sha256 = "0bzfil8pml6jmc0zgszxybyxvkdgzzq37l97z2qvhmjw8pfk0zsr";
+      name = "kwordquiz-17.08.3.tar.xz";
     };
   };
   libgravatar = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libgravatar-17.08.1.tar.xz";
-      sha256 = "0fn860y88pvq6mdpw1jw8msvkdmknradfp037gj9kvd5ykiicbvh";
-      name = "libgravatar-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libgravatar-17.08.3.tar.xz";
+      sha256 = "0xx9xik5xcg9gs2hjf0z24v7bqqf5qk8x0743qlspyc35i8jq7hx";
+      name = "libgravatar-17.08.3.tar.xz";
     };
   };
   libkcddb = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkcddb-17.08.1.tar.xz";
-      sha256 = "06i8gm7rysbdlm89nw5pd3jgbvz9vy5schwyfyhk6jbvlm43sx7z";
-      name = "libkcddb-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkcddb-17.08.3.tar.xz";
+      sha256 = "0yhs9acv87i8635dw79hpsiywgxcbnaa4vx0l95v50r3v2pknx7h";
+      name = "libkcddb-17.08.3.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkcompactdisc-17.08.1.tar.xz";
-      sha256 = "1xrpbpg4w275afd4fbnsmjvp737v6z5nsdz5lrfxbqg8x97xb2fm";
-      name = "libkcompactdisc-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkcompactdisc-17.08.3.tar.xz";
+      sha256 = "0r0w7qwi1pqcs9fv5rnpf7d2zjvaqd3yj2x12z2vc81qz4vrdr19";
+      name = "libkcompactdisc-17.08.3.tar.xz";
     };
   };
   libkdcraw = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkdcraw-17.08.1.tar.xz";
-      sha256 = "0r9prk1pnbm2hj5q93j7axb869lzr8v7msqhylpf3awghfmy32a0";
-      name = "libkdcraw-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkdcraw-17.08.3.tar.xz";
+      sha256 = "0hnbphkdmz3yd0callcwk2bqnkr2i9ljck63rz6yn4adnfdclkad";
+      name = "libkdcraw-17.08.3.tar.xz";
     };
   };
   libkdegames = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkdegames-17.08.1.tar.xz";
-      sha256 = "12w8i91pqshgb2bx4h68yni3sj7ssbcxrcdybnicg18hpcf5fzpa";
-      name = "libkdegames-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkdegames-17.08.3.tar.xz";
+      sha256 = "1sc6y01z0alxdgrm3rlki6n5a3gblrim7cbxj9xbsghy6s8s3pn0";
+      name = "libkdegames-17.08.3.tar.xz";
     };
   };
   libkdepim = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkdepim-17.08.1.tar.xz";
-      sha256 = "17pg8fwpcdkj04fwzyqgykh9a23xkmkz46mknk43b37n0bcjhxq0";
-      name = "libkdepim-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkdepim-17.08.3.tar.xz";
+      sha256 = "19njszdhca7lk6cmkj4nnvj8zk7nakb9gq8bg34dqhhiq3nc6si5";
+      name = "libkdepim-17.08.3.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkeduvocdocument-17.08.1.tar.xz";
-      sha256 = "0kv7yirw7q953qv23f0z3m1nmdpax6f6vsrbncpdz2057p51fwf4";
-      name = "libkeduvocdocument-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkeduvocdocument-17.08.3.tar.xz";
+      sha256 = "0q978wn4brcszlf47iqnc93fqgcsvfcw2292n2hapf0cv8j8vzbm";
+      name = "libkeduvocdocument-17.08.3.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkexiv2-17.08.1.tar.xz";
-      sha256 = "06qwd9lnl95vyzmj7nwgxflx82rvs5wkkwx4vnp408gya8w7cpjc";
-      name = "libkexiv2-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkexiv2-17.08.3.tar.xz";
+      sha256 = "0j906k63j30sajb70kqglhz9lhai98bh9x2bcwma711b2f30q2r2";
+      name = "libkexiv2-17.08.3.tar.xz";
     };
   };
   libkface = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkface-17.08.1.tar.xz";
-      sha256 = "1w81dsmz9r2vx4aw5rkkg5s08jn4gqckgr1jscdxah6af354y052";
-      name = "libkface-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkface-17.08.3.tar.xz";
+      sha256 = "0im9k72rxpk17m8ckl06rvylsxwjhgh3yxji1visvxljwkdscbmx";
+      name = "libkface-17.08.3.tar.xz";
     };
   };
   libkgapi = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkgapi-17.08.1.tar.xz";
-      sha256 = "04nww7rip0qpz9cky28ygd9chfmpp1kycpri4s84cqdicwg691bv";
-      name = "libkgapi-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkgapi-17.08.3.tar.xz";
+      sha256 = "1yw00c16g2h59x5wzaaicv8b9dvdhbp0mqv49m8krnw07awh7isz";
+      name = "libkgapi-17.08.3.tar.xz";
     };
   };
   libkgeomap = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkgeomap-17.08.1.tar.xz";
-      sha256 = "0llh9ixa1wyafcvah48rfrbk4n897i97a6jrk3vnf0yrqhl8nps2";
-      name = "libkgeomap-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkgeomap-17.08.3.tar.xz";
+      sha256 = "0k0ndgwwm78z8hybyi0clfpkvmrpaj9b3xyda57c410m73fbdr0m";
+      name = "libkgeomap-17.08.3.tar.xz";
     };
   };
   libkipi = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkipi-17.08.1.tar.xz";
-      sha256 = "089avdka9rvv5j137k42d6sz6kvqci771wb8433xksnnci8r52xb";
-      name = "libkipi-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkipi-17.08.3.tar.xz";
+      sha256 = "0c0bhw0wpm6y21wj15cs73150dh0vxddl4lypj3xjpknxspiv32x";
+      name = "libkipi-17.08.3.tar.xz";
     };
   };
   libkleo = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkleo-17.08.1.tar.xz";
-      sha256 = "0d2rby5yfwpb1gy2j87kzffzn6hls3358886qhiq6pwpx2nq7chj";
-      name = "libkleo-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkleo-17.08.3.tar.xz";
+      sha256 = "1nyf7c1q7dngk28852lkhz3h1cvi5xy4ydshkm376h32ps905yb7";
+      name = "libkleo-17.08.3.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkmahjongg-17.08.1.tar.xz";
-      sha256 = "11ciqd54isvjfccw3xc1xrdvjjmvacgvsdsxy3arcbivikmbmdqi";
-      name = "libkmahjongg-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkmahjongg-17.08.3.tar.xz";
+      sha256 = "1w7fzvp44dl74m5pl206mrwxpj3fh4fd0fwfinxps616jx1q76fd";
+      name = "libkmahjongg-17.08.3.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libkomparediff2-17.08.1.tar.xz";
-      sha256 = "0vp33mkm52yn2gqy469m4wfmsrbzppl6hw1d842nm1q1csnva0v5";
-      name = "libkomparediff2-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libkomparediff2-17.08.3.tar.xz";
+      sha256 = "01bd04av3jnsc2kxirfi4d8k2baaskdk2kasmbih1gml2mw9sbff";
+      name = "libkomparediff2-17.08.3.tar.xz";
     };
   };
   libksane = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libksane-17.08.1.tar.xz";
-      sha256 = "0k2sjz86yw7lfij0kgn1byps2vd8c9hlrd4lizppflzxi2ajmkd0";
-      name = "libksane-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libksane-17.08.3.tar.xz";
+      sha256 = "1skmqiw3j8jsdaj2haridslkx27wf55swjkzgjk4cxsk96j7y4ib";
+      name = "libksane-17.08.3.tar.xz";
     };
   };
   libksieve = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/libksieve-17.08.1.tar.xz";
-      sha256 = "01d573a415i2advgad0xzxkg8f6z5fbfmyb0iim79qqhzkbmf6bm";
-      name = "libksieve-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/libksieve-17.08.3.tar.xz";
+      sha256 = "1nphwghis0mmmb92nr4f5d364nd5jyi1has9dc1hx6qz8p0wphwg";
+      name = "libksieve-17.08.3.tar.xz";
     };
   };
   lokalize = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/lokalize-17.08.1.tar.xz";
-      sha256 = "0gr1qj0ish0kp842654fli2irbrli77q1449xryik76frlyy16wj";
-      name = "lokalize-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/lokalize-17.08.3.tar.xz";
+      sha256 = "0d4ym1vif1ggdlbs2k3ralc6lsm81xnlfp3z3mlkvg0vv77sfbra";
+      name = "lokalize-17.08.3.tar.xz";
     };
   };
   lskat = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/lskat-17.08.1.tar.xz";
-      sha256 = "1fhkg2vjy7xpp1rnx4cp9bpvxqc4i3nymyqgph92ankal0nnw2ai";
-      name = "lskat-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/lskat-17.08.3.tar.xz";
+      sha256 = "07vhmk03z2jw6mlfv5mdhzafcqa06skzm6ssk70y3whkwkck385b";
+      name = "lskat-17.08.3.tar.xz";
     };
   };
   mailcommon = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/mailcommon-17.08.1.tar.xz";
-      sha256 = "0qw7hsy36r39l13x492mhfxj3x9inagd7fjsxvfblhgnh1c2ad0r";
-      name = "mailcommon-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/mailcommon-17.08.3.tar.xz";
+      sha256 = "1zgy8sjng40w8m0b8fdy62p9sng7nld84py1k8zjw8mzhqqzqxs5";
+      name = "mailcommon-17.08.3.tar.xz";
     };
   };
   mailimporter = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/mailimporter-17.08.1.tar.xz";
-      sha256 = "0wwciyc8azx2sln5407gv4kqcx7zfl680szxgbw533iq9kccvl0z";
-      name = "mailimporter-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/mailimporter-17.08.3.tar.xz";
+      sha256 = "0h3wsbca2lhw1zjv2l1q6fhdwnx9kznyiykcn7jgzsh6f7grzqa8";
+      name = "mailimporter-17.08.3.tar.xz";
     };
   };
   marble = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/marble-17.08.1.tar.xz";
-      sha256 = "1jlz37m3a0jhnac4y6ix6n3hhxkp808qdnvxpd3my1gvn715wa58";
-      name = "marble-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/marble-17.08.3.tar.xz";
+      sha256 = "0qmzy9b1gd40xzw4i978315dxf1ay1937wplb9nc670gmlrqnzy2";
+      name = "marble-17.08.3.tar.xz";
     };
   };
   mbox-importer = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/mbox-importer-17.08.1.tar.xz";
-      sha256 = "0kjxx0nvxb6dshibaipgdf4i8magmsxnqhfnph831x13mig15bcs";
-      name = "mbox-importer-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/mbox-importer-17.08.3.tar.xz";
+      sha256 = "1nlzjvzwp4jalqbql39q9lszfxg9cba5bcbi4wgiv580pyq38h28";
+      name = "mbox-importer-17.08.3.tar.xz";
     };
   };
   messagelib = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/messagelib-17.08.1.tar.xz";
-      sha256 = "0srjcqbqzyk8ca9ssisrils9jwm9p6b62q4b7g9bya602cbrh38b";
-      name = "messagelib-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/messagelib-17.08.3.tar.xz";
+      sha256 = "1nxi79dyavjvgn83bjjrdwg0ry298ib126dxyl7inx7qgc4nhddn";
+      name = "messagelib-17.08.3.tar.xz";
     };
   };
   minuet = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/minuet-17.08.1.tar.xz";
-      sha256 = "17vvsnvhvpqcyrb5qlchp4na1wk5f4qlkh7w8sj162jsd1lbxr9j";
-      name = "minuet-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/minuet-17.08.3.tar.xz";
+      sha256 = "1jg47mb5wnpw60is5zmdrqhjwsq6bnd5vw0pfiiw1arws50rv2h6";
+      name = "minuet-17.08.3.tar.xz";
     };
   };
   okteta = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/okteta-17.08.1.tar.xz";
-      sha256 = "00wmkzjw7h99b1lmab0llwzlmh1m4xgv3yy506hjwb78z1c6wbq2";
-      name = "okteta-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/okteta-17.08.3.tar.xz";
+      sha256 = "1zs0g5mnlj2fd0wipxgajnvbl5s24a37v6zdkixck5fmvlj6g14v";
+      name = "okteta-17.08.3.tar.xz";
     };
   };
   okular = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/okular-17.08.1.tar.xz";
-      sha256 = "027isffca4g98qm6yx7m69cp2xjplqhnh7gy00sr1b96hhnlc9c6";
-      name = "okular-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/okular-17.08.3.tar.xz";
+      sha256 = "1zalj2v9fgxc50b339i3j4n3gpf87pjnnqbgvkmd041apsv6jbnk";
+      name = "okular-17.08.3.tar.xz";
     };
   };
   palapeli = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/palapeli-17.08.1.tar.xz";
-      sha256 = "0nnplg88xipmnb24qj2ki5m090g8cbinbb3azkqadwsjfc13xk06";
-      name = "palapeli-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/palapeli-17.08.3.tar.xz";
+      sha256 = "1i689gycqlpi83wfy9l2dqzdypaizdx7cx069fbm4akv8r4xfjfz";
+      name = "palapeli-17.08.3.tar.xz";
     };
   };
   parley = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/parley-17.08.1.tar.xz";
-      sha256 = "034nc5qgiy50wpnkm3d8w3cf7svj6as23sarz0h5hks4ffw1bxhg";
-      name = "parley-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/parley-17.08.3.tar.xz";
+      sha256 = "0crrf7k8p9rz72q4zfbyxxfza5dm0z4nhhc4jqafra8vvbjyja2j";
+      name = "parley-17.08.3.tar.xz";
     };
   };
   picmi = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/picmi-17.08.1.tar.xz";
-      sha256 = "14kbrbq59kmqz1rd7izrp57i1a6d6nm8i73rwcl80vyla8cnvika";
-      name = "picmi-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/picmi-17.08.3.tar.xz";
+      sha256 = "0zj3ang96rwzpjr3y8lig1dhqxd2ipcs3q873plra0lxmlhnzq6b";
+      name = "picmi-17.08.3.tar.xz";
     };
   };
   pimcommon = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/pimcommon-17.08.1.tar.xz";
-      sha256 = "14vk8pnwbc4bvha26fxdfbyn0ipxj93qgan8f24kpxc7irjkr8ic";
-      name = "pimcommon-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/pimcommon-17.08.3.tar.xz";
+      sha256 = "0d1avdhm78kfjvl8sybjqsmp7k1wl961bqlzgbxk9wq6411p9r8r";
+      name = "pimcommon-17.08.3.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/pim-data-exporter-17.08.1.tar.xz";
-      sha256 = "0drzj44p66ds4p42wk45755yjcs2dpysw54mzg2qx4cdv8kf1snq";
-      name = "pim-data-exporter-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/pim-data-exporter-17.08.3.tar.xz";
+      sha256 = "0afn6rjz7vmz9q16a487ssns6nj7sbqbz4ydbhh1i3c8xhlnxg1m";
+      name = "pim-data-exporter-17.08.3.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/pim-sieve-editor-17.08.1.tar.xz";
-      sha256 = "1hclbjs596x5niszcccnzkr6x5avg2c982prq8qcrc68cdm1h7pg";
-      name = "pim-sieve-editor-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/pim-sieve-editor-17.08.3.tar.xz";
+      sha256 = "0fw976hdrvw68025bs1bff47d4cs95ws7p4viacmz4na9m0cag7n";
+      name = "pim-sieve-editor-17.08.3.tar.xz";
     };
   };
   poxml = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/poxml-17.08.1.tar.xz";
-      sha256 = "17g62xp5g4icfmbd001rhypn34a9asj8pcgj301q5v9065z44mmn";
-      name = "poxml-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/poxml-17.08.3.tar.xz";
+      sha256 = "0vgh77rdqp8pq5k20794fl8m12azx6r2pkl0rijmwar2ln5k0k25";
+      name = "poxml-17.08.3.tar.xz";
     };
   };
   print-manager = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/print-manager-17.08.1.tar.xz";
-      sha256 = "0f354qblzw3vkv4fypwp3fj3i29x6b478z79q5d2n6x9nk8li5in";
-      name = "print-manager-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/print-manager-17.08.3.tar.xz";
+      sha256 = "0ncda47pk225hn45rv1wwibn0s974mm4s5fpi54hyanba6ganll5";
+      name = "print-manager-17.08.3.tar.xz";
     };
   };
   rocs = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/rocs-17.08.1.tar.xz";
-      sha256 = "18nygfbyiny8zpq2jm6mxs6r4b90c4dwxwzvs0a3vrc131fjc6bc";
-      name = "rocs-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/rocs-17.08.3.tar.xz";
+      sha256 = "1nvwjxsfqccrig25m9qkivrjn302g6blb6h2p3q1qnlszcw8b9wd";
+      name = "rocs-17.08.3.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/signon-kwallet-extension-17.08.1.tar.xz";
-      sha256 = "1ax4l1whdxrfnl7bbs805vpp7j2m5zl55fq12vvrkw0x38m78v2h";
-      name = "signon-kwallet-extension-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/signon-kwallet-extension-17.08.3.tar.xz";
+      sha256 = "0hpalgz4xfd9qh5mxgrs638v0as4x0a5133caci6lwaydrhgwrxg";
+      name = "signon-kwallet-extension-17.08.3.tar.xz";
     };
   };
   spectacle = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/spectacle-17.08.1.tar.xz";
-      sha256 = "07x01i629zk0l409kl85yv5gws7cw7mzmp1mlwxrjix153sr4jr9";
-      name = "spectacle-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/spectacle-17.08.3.tar.xz";
+      sha256 = "18z0sqd38146nc73kmwvshjxl0wgm1fh4zzxai1hcp7yiipndzm6";
+      name = "spectacle-17.08.3.tar.xz";
     };
   };
   step = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/step-17.08.1.tar.xz";
-      sha256 = "11p9rdg0m42200g15lq61489zz0zkkhic2j6hyynb1z1lr9c2iga";
-      name = "step-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/step-17.08.3.tar.xz";
+      sha256 = "1gnsfn2iz2lax30pdyqvm6s5b8zjsn4gs031dlr1xgsd98c1xq87";
+      name = "step-17.08.3.tar.xz";
     };
   };
   svgpart = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/svgpart-17.08.1.tar.xz";
-      sha256 = "0xr0axiyn49szwwflq50sf9wp8i5xd7qs3krwznrdzlc8jcann9j";
-      name = "svgpart-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/svgpart-17.08.3.tar.xz";
+      sha256 = "07i3ny0bl1fjfia2rbrb7n4qycdpz4gjpvx6v540ghq58dy7nfgw";
+      name = "svgpart-17.08.3.tar.xz";
     };
   };
   sweeper = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/sweeper-17.08.1.tar.xz";
-      sha256 = "04gzc06p1fh7rnb3sbma2k8lav98v3w657k0sgscnv4dvsgbcqh9";
-      name = "sweeper-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/sweeper-17.08.3.tar.xz";
+      sha256 = "0jymkz024ywss8y2xpyndpr7pk89v7bbgr5anpnywfkgx3lv06xn";
+      name = "sweeper-17.08.3.tar.xz";
     };
   };
   syndication = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/syndication-17.08.1.tar.xz";
-      sha256 = "0ihkway75n4r3zw18z07g5k2ggby5q1cz4cqi29cws1ay6s09qb9";
-      name = "syndication-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/syndication-17.08.3.tar.xz";
+      sha256 = "0yakzq927prd9pd1g7gld90pz1cxjwzic2c2cw9bw17x19yr748h";
+      name = "syndication-17.08.3.tar.xz";
     };
   };
   umbrello = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/umbrello-17.08.1.tar.xz";
-      sha256 = "0xvxcncsxikmnxv98ar3gzcvxahsnja4jz1l23hiy2ib1lmcgcy7";
-      name = "umbrello-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/umbrello-17.08.3.tar.xz";
+      sha256 = "1g149nkp02b1sgsq83r0p3vfii8jsc4kx79znglcjlf20dg89j70";
+      name = "umbrello-17.08.3.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "17.08.1";
+    version = "17.08.3";
     src = fetchurl {
-      url = "${mirror}/stable/applications/17.08.1/src/zeroconf-ioslave-17.08.1.tar.xz";
-      sha256 = "1crypk1cdh6cav1f6fx9p60ky1yf6hyyh1n6mih8mqjiibi1brz5";
-      name = "zeroconf-ioslave-17.08.1.tar.xz";
+      url = "${mirror}/stable/applications/17.08.3/src/zeroconf-ioslave-17.08.3.tar.xz";
+      sha256 = "14prm7qjqh4xrgdxzbs8z8a8p2jjf2amcx7r1qx62fkhfbh6gw01";
+      name = "zeroconf-ioslave-17.08.3.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/alacritty/default.nix b/pkgs/applications/misc/alacritty/default.nix
index 067cb675571a..bb934ff4812c 100644
--- a/pkgs/applications/misc/alacritty/default.nix
+++ b/pkgs/applications/misc/alacritty/default.nix
@@ -26,28 +26,28 @@ let
     libXxf86vm
     libXi
   ];
-in
-
-buildRustPackage rec {
+in buildRustPackage rec {
   name = "alacritty-unstable-${version}";
-  version = "2017-10-22";
+  version = "2017-11-12";
 
   # At the moment we cannot handle git dependencies in buildRustPackage.
   # This fork only replaces rust-fontconfig/libfontconfig with a git submodules.
   src = fetchgit {
     url = https://github.com/Mic92/alacritty.git;
     rev = "rev-${version}";
-    sha256 = "02wvwi72hnqmy12n0b248wzhajni9ipyayz6vnn3ryhnrccrrp7j";
+    sha256 = "0096fzrfzj0a2n2n531r4b6c8rlfj5qc90d6i4iin5axalk3i1h4";
     fetchSubmodules = true;
   };
 
-  cargoSha256 = "14bmm1f7hqh8i4mpb6ljh7szrm4g6mplzpq9zbgjrgxnc01w3s0i";
+  cargoSha256 = "10blch8pzk1zk3w27sbcszhcnq908xh1q55vqgy8iv5x47rpl02q";
 
-  buildInputs = [
+  nativeBuildInputs = [
     cmake
     makeWrapper
     pkgconfig
-  ] ++ rpathLibs;
+  ];
+
+  buildInputs = rpathLibs;
 
   postPatch = ''
     substituteInPlace copypasta/src/x11.rs \
diff --git a/pkgs/applications/misc/albert/default.nix b/pkgs/applications/misc/albert/default.nix
index dd4858cfe2ad..5abd8953a443 100644
--- a/pkgs/applications/misc/albert/default.nix
+++ b/pkgs/applications/misc/albert/default.nix
@@ -1,25 +1,30 @@
-{ mkDerivation, lib, fetchFromGitHub, makeWrapper, qtbase, qtsvg, qtx11extras, muparser, cmake }:
+{ mkDerivation, lib, fetchFromGitHub, makeWrapper, qtbase, qtdeclarative, qtsvg, qtx11extras, muparser,
+  cmake, python3 }:
 
 mkDerivation rec {
   name    = "albert-${version}";
-  version = "0.12.0";
+  version = "0.14.7";
 
   src = fetchFromGitHub {
     owner  = "albertlauncher";
     repo   = "albert";
     rev    = "v${version}";
-    sha256 = "120l7hli2l4qj2s126nawc4dsy4qvwvb0svc42hijry4l8imdhkq";
+    sha256 = "1ryjrbrbgignhkvsv4021l4am8ml7g8v4bs5cp5jj288k4p2rf4n";
+    fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
 
-  buildInputs = [ qtbase qtsvg qtx11extras muparser ];
+  buildInputs = [ qtbase qtdeclarative qtsvg qtx11extras muparser python3 ];
 
   enableParallelBuilding = true;
 
+  # We don't have virtualbox sdk so disable plugin
+  cmakeFlags = [ "-DBUILD_VIRTUALBOX=OFF" "-DCMAKE_INSTALL_LIBDIR=libs" ];
+
   postPatch = ''
-    sed -i "/QStringList dirs = {/a    \"$out/lib\"," \
-      src/lib/albert/src/albert/extensionmanager.cpp
+    sed -i "/QStringList dirs = {/a    \"$out/libs\"," \
+      lib/albertcore/src/core/albert.cpp
   '';
 
   preBuild = ''
diff --git a/pkgs/applications/misc/calibre/default.nix b/pkgs/applications/misc/calibre/default.nix
index ab106f6dcd93..d81e9ed4bbef 100644
--- a/pkgs/applications/misc/calibre/default.nix
+++ b/pkgs/applications/misc/calibre/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.10.0";
+  version = "3.12.0";
   name = "calibre-${version}";
 
   src = fetchurl {
     url = "https://download.calibre-ebook.com/${version}/${name}.tar.xz";
-    sha256 = "01vb5xjis9ldva7rg1f720lwys5frkj00z8x7cajqwxliilhvais";
+    sha256 = "0l7r5ny9a36yg22fqzz3as6wh1xqpa3hrlx2gy25yp649sbkd9vq";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/copyq/cmake-modules.patch b/pkgs/applications/misc/copyq/cmake-modules.patch
deleted file mode 100644
index f21105763de9..000000000000
--- a/pkgs/applications/misc/copyq/cmake-modules.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index d910299e..69888477 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -99,6 +99,7 @@ endif()
- 
- # Qt modules
- if (WITH_QT5)
-+    find_package(Qt5 REQUIRED COMPONENTS Network Svg Xml Script)
-     qt5_use_modules(copyq Widgets Network Svg Xml Script ${copyq_Qt5_Modules})
- else()
-     set(QT_USE_QTNETWORK TRUE)
diff --git a/pkgs/applications/misc/copyq/default.nix b/pkgs/applications/misc/copyq/default.nix
index 4fd30c547b5c..37afea2bb6f6 100644
--- a/pkgs/applications/misc/copyq/default.nix
+++ b/pkgs/applications/misc/copyq/default.nix
@@ -1,27 +1,23 @@
-{ stdenv, fetchFromGitHub, cmake, qt5, libXfixes, libXtst, git
+{ stdenv, fetchFromGitHub, cmake, qtbase, qtscript, qtwebkit, libXfixes, libXtst, git
 , webkitSupport ? true
 }:
 
 stdenv.mkDerivation rec {
   name = "CopyQ-${version}";
-  version = "3.0.3";
+  version = "3.1.2";
 
   src  = fetchFromGitHub {
     owner = "hluk";
     repo = "CopyQ";
     rev = "v${version}";
-    sha256 = "0wpxqrg4mn8xjsrwsmlhh731s2kr6afnzpqif1way0gi7fqr73jl";
+    sha256 = "0gdx1bqqqr4fk6wcrxqm9li6z48j1w84wjwyjpzp2cjzg96bp6bl";
   };
 
-  patches = [
-    ./cmake-modules.patch
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   buildInputs = [
-    git qt5.full libXfixes libXtst
-  ] ++ stdenv.lib.optional webkitSupport qt5.qtwebkit;
+    git qtbase qtscript libXfixes libXtst
+  ] ++ stdenv.lib.optional webkitSupport qtwebkit;
 
   meta = with stdenv.lib; {
     homepage    = https://hluk.github.io/CopyQ;
diff --git a/pkgs/applications/misc/dump1090/default.nix b/pkgs/applications/misc/dump1090/default.nix
new file mode 100644
index 000000000000..3e9fe133d93c
--- /dev/null
+++ b/pkgs/applications/misc/dump1090/default.nix
@@ -0,0 +1,33 @@
+{ stdenv, fetchFromGitHub, pkgconfig, libusb, rtl-sdr }:
+
+stdenv.mkDerivation rec {
+  name = "dump1090-${version}";
+  version = "2014-10-31";
+
+  src = fetchFromGitHub {
+    owner = "MalcolmRobb";
+    repo = "dump1090";
+    rev = "bff92c4ad772a0a8d433f788d39dae97e00e4dbe";
+    sha256 = "06aaj9gpz5v4qzvnp8xf18wdfclp0jvn3hflls79ly46gz2dh9hy";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ libusb rtl-sdr ];
+
+  makeFlags = [ "PREFIX=$out" ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share
+    cp -v dump1090 $out/bin/dump1090
+    cp -vr public_html $out/share/dump1090
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A simple Mode S decoder for RTLSDR devices";
+    homepage = https://github.com/MalcolmRobb/dump1090;
+    license = licenses.bsd3;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ earldouglas ];
+  };
+}
diff --git a/pkgs/applications/misc/ebook2cw/configfile.patch b/pkgs/applications/misc/ebook2cw/configfile.patch
new file mode 100644
index 000000000000..c7aafe5227a5
--- /dev/null
+++ b/pkgs/applications/misc/ebook2cw/configfile.patch
@@ -0,0 +1,11 @@
+--- a/ebook2cw.c	2017-11-08 19:52:58.298131348 -0700
++++ b/ebook2cw.c	2017-11-08 19:53:02.588231067 -0700
+@@ -136,7 +136,7 @@
+ 	char isomap[256][4]; 		/* by these strings */
+ 	char utf8map[256][8];
+ 
+-	char configfile[1025];
++	char configfile[2048];
+ 
+ 	char id3_author[80],
+ 		id3_title[80],
diff --git a/pkgs/applications/misc/ebook2cw/default.nix b/pkgs/applications/misc/ebook2cw/default.nix
new file mode 100644
index 000000000000..cce10258cf3b
--- /dev/null
+++ b/pkgs/applications/misc/ebook2cw/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, fetchsvn, lame, libvorbis }:
+
+stdenv.mkDerivation rec {
+
+  name = "ebook2cw-${version}";
+  version = "0.8.2";
+
+  src = fetchsvn {
+    url = "svn://svn.fkurz.net/ebook2cw/tags/${name}";
+    sha256 = "1mvp3nz3k76v757792n9b7fcm5jm3jcwarl1k7cila9fi0c2rsiw";
+  };
+
+  buildInputs = [ lame libvorbis ];
+
+  patches = [ ./configfile.patch ];
+
+  postPatch = ''
+    substituteInPlace Makefile --replace gcc cc
+  '';
+
+  makeFlags = [ "DESTDIR=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Convert ebooks to Morse MP3s/OGGs";
+    homepage = http://fkurz.net/ham/ebook2cw.html;
+    license = licenses.gpl2;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ earldouglas ];
+  };
+
+}
diff --git a/pkgs/applications/misc/electron-cash/default.nix b/pkgs/applications/misc/electron-cash/default.nix
index a45ab59ace8e..56c1a8168a82 100644
--- a/pkgs/applications/misc/electron-cash/default.nix
+++ b/pkgs/applications/misc/electron-cash/default.nix
@@ -1,14 +1,14 @@
-{ stdenv, fetchFromGitHub, python2Packages }:
+{ stdenv, fetchurl, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
-  version = "2.9.3";
+  version = "2.9.4";
   name = "electron-cash-${version}";
 
-  src = fetchFromGitHub {
-    owner = "fyookball";
-    repo = "electrum";
-    rev = version;
-    sha256 = "1r39b5ag5fipzgr84pzb53cfm8a4dy53257608754dwr1gfpma3v";
+  src = fetchurl {
+    url = "https://electroncash.org/downloads/${version}/win-linux/Electron-Cash-${version}.tar.gz";
+    # Verified using official SHA-1 and signature from
+    # https://github.com/fyookball/keys-n-hashes
+    sha256 = "1y8mzwa6bb8zj4l92wm4c2icnr42wmhbfz6z5ymh356gwll914vh";
   };
 
   propagatedBuildInputs = with python2Packages; [
@@ -42,8 +42,8 @@ python2Packages.buildPythonApplication rec {
     mv $out/lib/python2.7/site-packages/nix/store"/"*/share $out
     rm -rf $out/lib/python2.7/site-packages/nix
 
-    substituteInPlace $out/share/applications/electron.desktop \
-      --replace "Exec=electrum %u" "Exec=$out/bin/electrum %u"
+    substituteInPlace $out/share/applications/electron-cash.desktop \
+      --replace "Exec=electron-cash %u" "Exec=$out/bin/electron-cash %u"
   '';
 
   doInstallCheck = true;
diff --git a/pkgs/applications/misc/gosmore/default.nix b/pkgs/applications/misc/gosmore/default.nix
index 5d13c18edc3e..8936d3f222f3 100644
--- a/pkgs/applications/misc/gosmore/default.nix
+++ b/pkgs/applications/misc/gosmore/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation {
       
   meta = with stdenv.lib; {
     description = "Open Street Map viewer";
-    homepage = http://sourceforge.net/projects/gosmore/;
+    homepage = https://sourceforge.net/projects/gosmore/;
     maintainers = with maintainers; [
       raskin
     ];
diff --git a/pkgs/applications/misc/hubstaff/default.nix b/pkgs/applications/misc/hubstaff/default.nix
new file mode 100644
index 000000000000..91cf494d2574
--- /dev/null
+++ b/pkgs/applications/misc/hubstaff/default.nix
@@ -0,0 +1,64 @@
+{ stdenv, fetchurl, unzip, makeWrapper, libX11, zlib, libSM, libICE, libXext
+, freetype, libXrender, fontconfig, libXft, libXinerama, libnotify, glib
+, gtk3, libappindicator-gtk3, curl }:
+
+let
+
+  version = "1.2.14-36df5e3";
+
+  rpath = stdenv.lib.makeLibraryPath
+    [ libX11 zlib libSM libICE libXext freetype libXrender fontconfig libXft
+      libXinerama stdenv.cc.cc.lib libnotify glib gtk3 libappindicator-gtk3
+      curl ];
+
+in
+
+stdenv.mkDerivation {
+  name = "hubstaff-${version}";
+
+  src = fetchurl {
+    url = "https://hubstaff-production.s3.amazonaws.com/downloads/HubstaffClient/Builds/Release/${version}/Hubstaff-${version}.sh";
+    sha256 = "0yzhxk9zppj94llnf8naa6ca61f7c8jaj6b1m25zffnnz37m1sdb";
+  };
+
+  nativeBuildInputs = [ unzip makeWrapper ];
+
+  unpackCmd = ''
+    # MojoSetups have a ZIP file at the end. ZIP’s magic string is
+    # most often PK\x03\x04. This *should* work for future updates,
+    # but feel free to come up with something more reasonable.
+    dataZipOffset=$(grep --max-count=1 --byte-offset --only-matching --text $'PK\x03\x04' $curSrc | cut -d: -f1)
+    dd bs=$dataZipOffset skip=1 if=$curSrc of=data.zip 2>/dev/null
+    unzip -q data.zip "data/*"
+    rm data.zip
+  '';
+
+  dontBuild = true;
+
+  installPhase = ''
+    # TODO: handle 32-bit arch?
+    rm -r x86
+
+    opt=$out/opt/hubstaff
+    mkdir -p $out/bin $opt
+    cp -r . $opt/
+
+    prog=$opt/x86_64/HubstaffClient.bin.x86_64
+
+    patchelf --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) $prog
+    wrapProgram $prog --prefix LD_LIBRARY_PATH : ${rpath}
+
+    ln -s $prog $out/bin/HubstaffClient
+
+    # Why is this needed? SEGV otherwise.
+    ln -s $opt/data/resources $opt/x86_64/resources
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Time tracking software";
+    homepage = https://hubstaff.com/;
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = [ maintainers.michalrus ];
+  };
+}
diff --git a/pkgs/applications/misc/jgmenu/default.nix b/pkgs/applications/misc/jgmenu/default.nix
new file mode 100644
index 000000000000..54a383c31c28
--- /dev/null
+++ b/pkgs/applications/misc/jgmenu/default.nix
@@ -0,0 +1,40 @@
+{ stdenv, fetchFromGitHub, pkgconfig, python3Packages, pango, librsvg, libxml2, menu-cache, xorg }:
+
+stdenv.mkDerivation rec {
+  name = "jgmenu-${version}";
+  version = "0.7.4";
+
+  src = fetchFromGitHub {
+    owner = "johanmalm";
+    repo = "jgmenu";
+    rev = "v${version}";
+    sha256 = "0vim7balxrxhbgq4jvf80lbh57xbw3qmhapy7n2iyv443ih4a7hi";
+  };
+
+  nativeBuildInputs = [
+    pkgconfig
+    python3Packages.wrapPython
+  ];
+
+  buildInputs = [
+    pango
+    librsvg
+    libxml2
+    menu-cache
+    xorg.libXinerama
+  ];
+
+  makeFlags = [ "prefix=$(out)" ];
+
+  postFixup = ''
+    wrapPythonProgramsIn "$out/lib/jgmenu"
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/johanmalm/jgmenu;
+    description = "Small X11 menu intended to be used with openbox and tint2";
+    license = licenses.gpl2;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/applications/misc/keepassx/community.nix b/pkgs/applications/misc/keepassx/community.nix
index 0444b1d96d2c..72d9c7d2fb5d 100644
--- a/pkgs/applications/misc/keepassx/community.nix
+++ b/pkgs/applications/misc/keepassx/community.nix
@@ -6,7 +6,7 @@
 with stdenv.lib;
 
 stdenv.mkDerivation rec {
-  name = "keepassx-community-${version}";
+  name = "keepassxc-${version}";
   version = "2.2.2";
 
   src = fetchFromGitHub {
diff --git a/pkgs/applications/misc/llpp/default.nix b/pkgs/applications/misc/llpp/default.nix
index ee06ea1ad6cf..837a221be946 100644
--- a/pkgs/applications/misc/llpp/default.nix
+++ b/pkgs/applications/misc/llpp/default.nix
@@ -6,18 +6,17 @@ assert lib.versionAtLeast (lib.getVersion ocaml) "4.02";
 let ocamlVersion = (builtins.parseDrvName (ocaml.name)).version;
 in stdenv.mkDerivation rec {
   name = "llpp-${version}";
-  version = "25-git-2017-01-18";
+  version = "26b";
 
   src = fetchgit {
     url = "git://repo.or.cz/llpp.git";
-    rev = "22740b9bca1c60ef18cf90538994ce4981539901";
-    sha256 = "0yg8z2zwhg2f5il2i1clx3b7hl088ncpk686rfxlvwyjg3qs3mv4";
+    rev = "v${version}";
+    sha256 = "1w8g1fp1c20sl34cx20plhnbghbsx2fwgp4vyhd1x0za29lw62nj";
     fetchSubmodules = false;
   };
 
   nativeBuildInputs = [ pkgconfig makeWrapper ninja ];
-  buildInputs = [ ocaml findlib mupdf gtk3 jbig2dec # lablgl
-    openjpeg mujs openssl freetype ncurses ];
+  buildInputs = [ ocaml findlib mupdf gtk3 jbig2dec openjpeg mujs openssl freetype ncurses ];
 
   dontStrip = true;
 
@@ -32,7 +31,6 @@ in stdenv.mkDerivation rec {
   buildPhase = ''
     sh ./build.sh build
   '';
-#        --prefix CAML_LD_LIBRARY_PATH ":" "${lablgl}/lib/ocaml/${ocamlVersion}/site-lib/lablgl" \
 
   installPhase = ''
     install -d $out/bin $out/lib
diff --git a/pkgs/applications/misc/lyx/default.nix b/pkgs/applications/misc/lyx/default.nix
index 0c08929417e6..e3c4943cb2fe 100644
--- a/pkgs/applications/misc/lyx/default.nix
+++ b/pkgs/applications/misc/lyx/default.nix
@@ -18,11 +18,6 @@ stdenv.mkDerivation rec {
     hunspell makeWrapper # enchant
   ];
 
-  # bogus configure script tests
-  preConfigure = ''
-    NIX_CFLAGS_COMPILE+=" $(pkg-config --cflags Qt5Core)"
-  '';
-
   configureFlags = [
     "--enable-qt5"
     #"--without-included-boost"
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
new file mode 100644
index 000000000000..76d23f1a8f08
--- /dev/null
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -0,0 +1,52 @@
+{ stdenv, fetchurl, glibc, sane-backends, qtbase, qtsvg, libXext, libX11, libXdmcp, libXau, libxcb }:
+  let
+    version = "4.3.61";
+  in
+    stdenv.mkDerivation {
+      name = "masterpdfeditor-${version}";
+      src = fetchurl {
+        url = "http://get.code-industry.net/public/master-pdf-editor-${version}_qt5.amd64.tar.gz";
+        sha256 = "1g6mx8nch6ypf78h6xsb673wim19wn5ni5840armzg0pvi3sfknm";
+      };
+      libPath = stdenv.lib.makeLibraryPath [
+        stdenv.cc.cc
+        glibc
+        sane-backends
+        qtbase
+        qtsvg
+        libXext
+        libX11
+        libXdmcp
+        libXau
+        libxcb
+      ];
+      dontStrip = true;
+      installPhase = ''
+        p=$out/opt/masterpdfeditor
+        mkdir -p $out/bin $p $out/share/applications $out/share/pixmaps
+
+        substituteInPlace masterpdfeditor4.desktop \
+          --replace 'Exec=/opt/master-pdf-editor-4' "Exec=$out/bin" \
+          --replace 'Path=/opt/master-pdf-editor-4' "Path=$out/bin" \
+          --replace 'Icon=/opt/master-pdf-editor-4' "Icon=$out/share/pixmaps"
+        cp -v masterpdfeditor4.png $out/share/pixmaps/
+        cp -v masterpdfeditor4.desktop $out/share/applications
+
+        cp -v masterpdfeditor4 $p/
+        ln -s $p/masterpdfeditor4 $out/bin/masterpdfeditor4
+        cp -v -r stamps templates lang fonts $p
+
+        install -D license.txt $out/share/$name/LICENSE
+
+        patchelf --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+                 --set-rpath $libPath \
+                 $p/masterpdfeditor4
+      '';
+      meta = with stdenv.lib; {
+        description = "Master PDF Editor";
+        homepage = "https://code-industry.net/free-pdf-editor/";
+        license = licenses.unfreeRedistributable;
+        platforms = with platforms; [ "x86_64-linux" ];
+        maintainers = with maintainers; [ cmcdragonkai flokli ];
+      };
+    }
diff --git a/pkgs/applications/misc/mediainfo-gui/default.nix b/pkgs/applications/misc/mediainfo-gui/default.nix
index fc702f249de4..0167132db789 100644
--- a/pkgs/applications/misc/mediainfo-gui/default.nix
+++ b/pkgs/applications/misc/mediainfo-gui/default.nix
@@ -2,11 +2,11 @@
 , desktop_file_utils, libSM, imagemagick }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.99";
+  version = "17.10";
   name = "mediainfo-gui-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "127d6wsrq3wg3ibbb28m26wrm54qbkv8h8xycanvml6ys4zqsc6a";
+    sha256 = "1yvh4r19kk3bzzgnr4ikrjxqldr6860s35sh4bqr51c7l77k048c";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   sourceRoot = "./MediaInfo/Project/GNU/GUI/";
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Supplies technical and tag information about a video or audio file (GUI version)";
     longDescription = ''
diff --git a/pkgs/applications/misc/mediainfo/default.nix b/pkgs/applications/misc/mediainfo/default.nix
index 84fef1b39832..e6175356348f 100644
--- a/pkgs/applications/misc/mediainfo/default.nix
+++ b/pkgs/applications/misc/mediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, libmediainfo, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.99";
+  version = "17.10";
   name = "mediainfo-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/mediainfo/${version}/mediainfo_${version}.tar.xz";
-    sha256 = "127d6wsrq3wg3ibbb28m26wrm54qbkv8h8xycanvml6ys4zqsc6a";
+    sha256 = "1yvh4r19kk3bzzgnr4ikrjxqldr6860s35sh4bqr51c7l77k048c";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-libmediainfo=${libmediainfo}" ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Supplies technical and tag information about a video or audio file";
     longDescription = ''
diff --git a/pkgs/applications/misc/monero/default.nix b/pkgs/applications/misc/monero/default.nix
index 0c83e206bb33..ed2049ee5abe 100644
--- a/pkgs/applications/misc/monero/default.nix
+++ b/pkgs/applications/misc/monero/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub, cmake, boost, miniupnpc, openssl, pkgconfig, unbound }:
 
 let
-  version = "0.11.0.0";
+  version = "0.11.1.0";
 in
 stdenv.mkDerivation {
   name = "monero-${version}";
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
     owner = "monero-project";
     repo = "monero";
     rev = "v${version}";
-    sha256 = "041xxk9gznfpgn8f07m7sddr74cwm1sdyf9i85k10ndja87xc6y4";
+    sha256 = "0nrpxx6r63ia6ard85d504x2kgaikvrhb5sg93ml70l6djyy1148";
   };
 
   nativeBuildInputs = [ cmake pkgconfig ];
diff --git a/pkgs/applications/misc/mrxvt/default.nix b/pkgs/applications/misc/mrxvt/default.nix
index 06f8b78c2bc9..3f7ce3cc5d5b 100644
--- a/pkgs/applications/misc/mrxvt/default.nix
+++ b/pkgs/applications/misc/mrxvt/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation {
     	Multitabbed lightweight terminal emulator based on rxvt. 
 	Supports transparency, backgroundimages, freetype fonts, ...
     ";
-    homepage = http://sourceforge.net/projects/materm;
+    homepage = https://sourceforge.net/projects/materm;
     license = "GPL";
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 507b4f2cab9f..a6d40c75c1c0 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -54,13 +54,14 @@ let
 
 in pythonPackages.buildPythonApplication rec {
   name = "OctoPrint-${version}";
-  version = "1.3.4";
+  version = "1.3.5";
+  # 1.3.5, 2017-10-16, 77753ca02602d3a798d6b0a22535e6fd69ff448a
 
   src = fetchFromGitHub {
     owner = "foosel";
     repo = "OctoPrint";
     rev = version;
-    sha256 = "1hci8cfmbzcghla1vmrcn6zicm8nj50drm7gp2hkr0drglq5fgr2";
+    sha256 = "13krv9i6gm4jn4cb327q4qma4xwwashjnc0dia8vlnbjbbvkrni4";
   };
 
   # We need old Tornado
@@ -69,7 +70,7 @@ in pythonPackages.buildPythonApplication rec {
     semantic-version flask_principal werkzeug flaskbabel tornado
     psutil pyserial flask_login netaddr markdown sockjs-tornado
     pylru pyyaml sarge feedparser netifaces click websocket_client
-    scandir chainmap future dateutil
+    scandir chainmap future dateutil futures wrapt
   ];
 
   buildInputs = with pythonPackages; [ nose mock ddt ];
@@ -93,6 +94,7 @@ in pythonPackages.buildPythonApplication rec {
       -e 's,future>=[^"]*,future,g' \
       -e 's,pyserial>=[^"]*,pyserial,g' \
       -e 's,semantic_version>=[^"]*,semantic_version,g' \
+      -e 's,wrapt>=[^"]*,wrapt,g' \
       setup.py
   '';
 
diff --git a/pkgs/applications/misc/postage/default.nix b/pkgs/applications/misc/pgmanage/default.nix
index eeb879ee6e48..fd66ce8fc31c 100644
--- a/pkgs/applications/misc/postage/default.nix
+++ b/pkgs/applications/misc/pgmanage/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, runCommand, postgresql, openssl } :
 
 stdenv.mkDerivation rec {
-  name = "postage-${version}";
-  version = "3.2.18";
+  name = "pgmanage-${version}";
+  version = "10.0.2";
 
   src = fetchFromGitHub {
-    owner  = "workflowproducts";
-    repo   = "postage";
-    rev    = "eV${version}";
-    sha256 = "1kdg8pw2vxwkxw3b6dim4s740s60j3iyrh96524wi3lqkkq98krn";
+    owner  = "pgManage";
+    repo   = "pgManage";
+    rev    = "v${version}";
+    sha256 = "0g9kvhs9b6kc1s7j90fqv71amiy9v0w5p906yfvl0j7pf3ayq35a";
   };
 
   buildInputs = [ postgresql openssl ];
@@ -20,8 +20,8 @@ stdenv.mkDerivation rec {
       the style of NGINX and Node.js. This heart makes Postage as fast as any
       PostgreSQL interface can hope to be.
     '';
-    homepage = http://www.workflowproducts.com/postage.html;
-    license = licenses.asl20;
+    homepage = https://github.com/pgManage/pgManage;
+    license = licenses.postgresql;
     maintainers = [ maintainers.basvandijk ];
   };
 }
diff --git a/pkgs/applications/misc/qsyncthingtray/default.nix b/pkgs/applications/misc/qsyncthingtray/default.nix
index f283c250b5bd..bc909742c6df 100644
--- a/pkgs/applications/misc/qsyncthingtray/default.nix
+++ b/pkgs/applications/misc/qsyncthingtray/default.nix
@@ -20,6 +20,8 @@ mkDerivation rec {
 
   cmakeFlags = lib.optional preferQWebView "-DQST_BUILD_WEBKIT=1";
 
+  patches = [ ./qsyncthingtray-0.5.8-qt-5.6.3.patch ];
+
   postPatch = ''
     ${lib.optionalString stdenv.isLinux ''
       substituteInPlace includes/platforms/linux/posixUtils.hpp \
@@ -44,6 +46,8 @@ mkDerivation rec {
     runHook postInstall
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     homepage = https://github.com/sieren/QSyncthingTray/;
     description = "A Traybar Application for Syncthing written in C++";
diff --git a/pkgs/applications/misc/qsyncthingtray/qsyncthingtray-0.5.8-qt-5.6.3.patch b/pkgs/applications/misc/qsyncthingtray/qsyncthingtray-0.5.8-qt-5.6.3.patch
new file mode 100644
index 000000000000..424bbe171779
--- /dev/null
+++ b/pkgs/applications/misc/qsyncthingtray/qsyncthingtray-0.5.8-qt-5.6.3.patch
@@ -0,0 +1,13 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index b778d09..247b606 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -12,7 +12,7 @@ set(CMAKE_AUTOMOC ON)
+ 
+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+ 
+-find_package(Qt5 5.6 COMPONENTS Widgets Network PrintSupport)
++find_package(Qt5 5.6 COMPONENTS Widgets Network PrintSupport WebEngineWidgets)
+ if (NOT Qt5_FOUND)
+   message(FATAL_ERROR
+     "Some components of Qt5 not found (see above messages for details. "
diff --git a/pkgs/applications/misc/quicksynergy/default.nix b/pkgs/applications/misc/quicksynergy/default.nix
index f77220534014..b2616bf7b778 100644
--- a/pkgs/applications/misc/quicksynergy/default.nix
+++ b/pkgs/applications/misc/quicksynergy/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
       Remember to open port 24800 (used by synergys program) if you want to
       host mouse and keyboard.";
-    homepage = https://code.google.com/p/quicksynergy/;
+    homepage = https://sourceforge.net/projects/quicksynergy/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.spinus ];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/misc/sdcv/default.nix b/pkgs/applications/misc/sdcv/default.nix
index a538e53276bd..bf2de3a5f1b9 100644
--- a/pkgs/applications/misc/sdcv/default.nix
+++ b/pkgs/applications/misc/sdcv/default.nix
@@ -1,35 +1,32 @@
-{ stdenv, fetchurl, pkgconfig, glib, gettext }:
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, glib, gettext, readline }:
 
 stdenv.mkDerivation rec {
-  name= "sdcv-0.4.2";
-
-  meta = {
-    homepage = http://sdcv.sourceforge.net/;
-    description = "Console version of StarDict program";
-    maintainers = with stdenv.lib.maintainers; [ lovek323 ];
-    license = stdenv.lib.licenses.gpl2;
-    platforms = stdenv.lib.platforms.linux;
-  };
-
-  src = fetchurl {
-    url = "mirror://sourceforge/sdcv/${name}.tar.bz2";
-    sha256 = "1cnyv7gd1qvz8ma8545d3aq726wxrx4km7ykl97831irx5wz0r51";
+  name = "sdcv-${version}";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "Dushistov";
+    repo = "sdcv";
+    rev = "v${version}";
+    sha256 = "1b67s4nj0s5fh3cjk7858qvhiisc557xx72xwzrb8hq6ijpwx5k0";
   };
 
   hardeningDisable = [ "format" ];
+  nativeBuildInputs = [ cmake pkgconfig ];
+  buildInputs = [ glib gettext readline ];
 
-  patches = ( if stdenv.isDarwin
-              then [ ./sdcv.cpp.patch-darwin ./utils.hpp.patch ]
-              else [ ./sdcv.cpp.patch ] );
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gettext ];
-
-  preBuild = ''
-    sed -i 's/guint32 page_size/size_t page_size/' src/lib/lib.cpp
+  preInstall = ''
+    touch locale
   '';
 
   NIX_CFLAGS_COMPILE = "-D__GNU_LIBRARY__"
     + stdenv.lib.optionalString stdenv.isDarwin " -lintl";
-}
 
+  meta = with stdenv.lib; {
+    homepage = https://dushistov.github.io/sdcv/;
+    description = "Console version of StarDict";
+    maintainers = with maintainers; [ lovek323 ];
+    license = licenses.gpl2;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/misc/sdcv/sdcv.cpp.patch b/pkgs/applications/misc/sdcv/sdcv.cpp.patch
deleted file mode 100644
index 6f835f16e458..000000000000
--- a/pkgs/applications/misc/sdcv/sdcv.cpp.patch
+++ /dev/null
@@ -1,12 +0,0 @@
---- a/src/utils.hpp
-+++ b/src/utils.hpp
-@@ -2,6 +2,9 @@
- #define _UTILS_HPP_
- 
- #include <string>
-+#include <stdio.h>
-+#include <cstdlib>
-+
- using std::string;
- 
- extern bool stdio_getline(FILE *in, string &str);
diff --git a/pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin b/pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin
deleted file mode 100644
index 2ee9a24e0347..000000000000
--- a/pkgs/applications/misc/sdcv/sdcv.cpp.patch-darwin
+++ /dev/null
@@ -1,19 +0,0 @@
---- a/src/sdcv.cpp
-+++ b/src/sdcv.cpp
-@@ -27,13 +27,13 @@
- #include <cstdlib>
- #include <cstdio>
- #include <clocale>
-+#include <string>
-+#include <vector>
-+#include <memory>
- #include <glib.h>
- #include <glib/gi18n.h>
- #include <glib/gstdio.h>
- #include <getopt.h>
--#include <string>
--#include <vector>
--#include <memory>
- 
- #include "libwrapper.hpp"
- #include "readline.hpp"
diff --git a/pkgs/applications/misc/sdcv/utils.hpp.patch b/pkgs/applications/misc/sdcv/utils.hpp.patch
deleted file mode 100644
index c08641abd6b9..000000000000
--- a/pkgs/applications/misc/sdcv/utils.hpp.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/utils.hpp
-+++ b/src/utils.hpp
-@@ -2,6 +2,7 @@
- #define _UTILS_HPP_
- 
- #include <string>
-+#include <cstdlib>
- using std::string;
- 
- extern bool stdio_getline(FILE *in, string &str);
diff --git a/pkgs/applications/misc/st/default.nix b/pkgs/applications/misc/st/default.nix
index f44ed8a1a3ef..59e67fc65e2e 100644
--- a/pkgs/applications/misc/st/default.nix
+++ b/pkgs/applications/misc/st/default.nix
@@ -25,7 +25,8 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://st.suckless.org/;
+    homepage = https://st.suckless.org/;
+    description = "Simple Terminal for X from Suckless.org Community";
     license = licenses.mit;
     maintainers = with maintainers; [viric andsild];
     platforms = platforms.linux;
diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix
index 950f8da78605..051b67bc972c 100644
--- a/pkgs/applications/misc/subsurface/default.nix
+++ b/pkgs/applications/misc/subsurface/default.nix
@@ -1,71 +1,65 @@
-{
-  stdenv,
-  cmake, doxygen, pkgconfig, autoreconfHook,
-  curl,
-  fetchgit,
-  grantlee,
-  libgit2,
-  libusb,
-  libssh2,
-  libxml2,
-  libxslt,
-  libzip,
-  qtbase, qtconnectivity, qtquickcontrols, qtscript, qtsvg, qttools, qtwebkit,
-  sqlite
+{ stdenv, fetchurl, fetchFromGitHub, autoreconfHook, cmake, makeWrapper, pkgconfig, qmake
+, curl, grantlee, libgit2, libusb, libssh2, libxml2, libxslt, libzip, zlib
+, qtbase, qtconnectivity, qtlocation, qtsvg, qttools, qtwebkit
 }:
 
 let
-  version = "4.6.0";
+  version = "4.7.2";
 
-  libmarble = stdenv.mkDerivation rec {
-    name = "libmarble-ssrf-${version}";
+  libdc = stdenv.mkDerivation rec {
+    name = "libdivecomputer-ssrf-${version}";
 
-    src = fetchgit {
-      url    = "git://git.subsurface-divelog.org/marble";
-      rev    = "refs/tags/v${version}";
-      sha256 = "1dm2hdk6y36ls7pxbzkqmyc46hdy2cd5f6pkxa6nfrbhvk5f31zd";
+    src = fetchurl {
+      url = "https://subsurface-divelog.org/downloads/libdivecomputer-subsurface-branch-${version}.tgz";
+      sha256 = "04wadhhva1bfnwk0kl359kcv0f83mgym2fzs441spw5llcl7k52r";
     };
 
-    buildInputs = [ qtbase qtquickcontrols qtscript qtwebkit ];
-    nativeBuildInputs = [ doxygen pkgconfig cmake ];
+    nativeBuildInputs = [ autoreconfHook ];
+
+    buildInputs = [ zlib ];
 
     enableParallelBuilding = true;
 
-    cmakeFlags = [
-      "-DQTONLY=TRUE"
-      "-DQT5BUILD=ON"
-      "-DBUILD_MARBLE_TESTS=NO"
-      "-DWITH_DESIGNER_PLUGIN=NO"
-      "-DBUILD_MARBLE_APPS=NO"
-    ];
-
     meta = with stdenv.lib; {
-      description = "Qt library for a slippy map with patches from the Subsurface project";
-      homepage = http://subsurface-divelog.org;
-      license = licenses.lgpl21;
+      homepage = http://www.libdivecomputer.org;
+      description = "A cross-platform and open source library for communication with dive computers from various manufacturers";
       maintainers = with maintainers; [ mguentner ];
+      license = licenses.lgpl21;
       platforms = platforms.all;
     };
   };
 
-  libdc = stdenv.mkDerivation rec {
-    name = "libdivecomputer-ssrf-${version}";
+  googlemaps = stdenv.mkDerivation rec {
+    name = "googlemaps-${version}";
+
+    version = "2017-09-17";
 
-    src = fetchgit {
-      url    = "git://subsurface-divelog.org/libdc";
-      rev    = "refs/tags/v${version}";
-      sha256 = "0s82c8bvqph9c9chwzd76iwrw968w7lgjm3pj4hmad1jim67bs6n";
+    src = fetchFromGitHub {
+      owner = "vladest";
+      repo = "googlemaps";
+      rev = "1b857c02504dd52b1aa442418b8dcea78ced3f35";
+      sha256 = "14icmc925g4abwwdrldjc387aiyvcp3ia5z7mfh9qa09bv829a84";
     };
 
-    nativeBuildInputs = [ autoreconfHook ];
+    nativeBuildInputs = [ qmake ];
+
+    buildInputs = [ qtbase qtlocation ];
+
+    pluginsSubdir = "lib/qt-${qtbase.qtCompatVersion}/plugins";
+
+    installPhase = ''
+      mkdir $out $(dirname ${pluginsSubdir})
+      mv plugins ${pluginsSubdir}
+      mv lib $out/
+    '';
 
     enableParallelBuilding = true;
 
     meta = with stdenv.lib; {
-      homepage = http://www.libdivecomputer.org;
-      description = "A cross-platform and open source library for communication with dive computers from various manufacturers";
-      maintainers = with maintainers; [ mguentner ];
-      license = licenses.lgpl21;
+      inherit (src.meta) homepage;
+      description = "QtLocation plugin for Google maps tile API";
+      maintainers = with maintainers; [ orivej ];
+      license = licenses.mit;
       platforms = platforms.all;
     };
   };
@@ -73,28 +67,35 @@ let
 in stdenv.mkDerivation rec {
   name = "subsurface-${version}";
 
-  src = fetchgit {
-    url    = "git://git.subsurface-divelog.org/subsurface";
-    rev    = "refs/tags/v${version}";
-    sha256 = "1rk5n52p6cnyjrgi7ybhmvh7y31zxrjny0mqpnc1wql69f90h94c";
+  src = fetchurl {
+    url = "https://subsurface-divelog.org/downloads/Subsurface-${version}.tgz";
+    sha256 = "06f215xx1nc2q2qff2ihcl86fkrlnkvacl1swi3fw9iik6nq3bjp";
   };
 
   buildInputs = [
-    libdc libmarble
+    libdc googlemaps
     curl grantlee libgit2 libssh2 libusb libxml2 libxslt libzip
     qtbase qtconnectivity qtsvg qttools qtwebkit
   ];
-  nativeBuildInputs = [ cmake pkgconfig ];
 
-  enableParallelBuilding = false; # subsurfacewebservices.h dependency on ui_webservices.h
+  nativeBuildInputs = [ cmake makeWrapper pkgconfig ];
 
   cmakeFlags = [
-    "-DMARBLE_LIBRARIES=${libmarble}/lib/libssrfmarblewidget.so"
+    "-DLIBDC_FROM_PKGCONFIG=ON"
     "-DNO_PRINTING=OFF"
   ];
 
+  postInstall = ''
+    wrapProgram $out/bin/subsurface \
+      --prefix QT_PLUGIN_PATH : "${googlemaps}/${googlemaps.pluginsSubdir}"
+  '';
+
+  enableParallelBuilding = true;
+
+  passthru = { inherit version libdc googlemaps; };
+
   meta = with stdenv.lib; {
-    description = "Subsurface is an open source divelog program that runs on Windows, Mac and Linux";
+    description = "A divelog program";
     longDescription = ''
       Subsurface can track single- and multi-tank dives using air, Nitrox or TriMix.
       It allows tracking of dive locations including GPS coordinates (which can also
diff --git a/pkgs/applications/misc/synergy/default.nix b/pkgs/applications/misc/synergy/default.nix
index 3ecc772feaa3..ee3cb9cd8ed4 100644
--- a/pkgs/applications/misc/synergy/default.nix
+++ b/pkgs/applications/misc/synergy/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
 
   src = fetchFromGitHub {
     owner = "symless";
-    repo = "synergy";
+    repo = "synergy-core";
     rev = "v${version}-stable";
     sha256 = "0ksgr9hkf09h54572p7k7b9zkfhcdb2g2d5x7ixxn028y8i3jyp3";
   };
diff --git a/pkgs/applications/misc/tilix/default.nix b/pkgs/applications/misc/tilix/default.nix
index 2128c260b805..c7ee4fb1c4cd 100644
--- a/pkgs/applications/misc/tilix/default.nix
+++ b/pkgs/applications/misc/tilix/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "tilix-${version}";
-  version = "1.6.4";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "gnunn1";
     repo = "tilix";
     rev = "${version}";
-    sha256 = "1vqi68jlbbaky1569kd4lr6p02zsiv7v2rfb8j1pzwj7gydblaac";
+    sha256 = "0x0bnb26hjvxmvvd7c9k8fw97gcm3z5ssr6r8x90xbyyw6h58hhh";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/tint2/default.nix b/pkgs/applications/misc/tint2/default.nix
index e77acedac086..2c23ab9261f6 100644
--- a/pkgs/applications/misc/tint2/default.nix
+++ b/pkgs/applications/misc/tint2/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "tint2-${version}";
-  version = "15.2";
+  version = "15.3";
 
   src = fetchFromGitLab {
     owner = "o9000";
     repo = "tint2";
     rev = version;
-    sha256 = "1lfk3zcgmmlby353gs70gpi0m28nx2c20wxqgaw7268a69r5cz7a";
+    sha256 = "1d83ppwckc2yix1grw8w31rlkyz6naa40pd3dg7n6nidx00zwn91";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/misc/usync/default.nix b/pkgs/applications/misc/usync/default.nix
new file mode 100644
index 000000000000..d12120ca2f11
--- /dev/null
+++ b/pkgs/applications/misc/usync/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, scsh, rsync, unison }:
+
+stdenv.mkDerivation rec {
+  pname = "usync";
+  version = "0.0.3";
+  name = "${pname}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "ebzzry";
+    repo = pname;
+    rev = "9c87ea8a707a47c3d7f6ef94d07591c5ab594282";
+    sha256 = "1r05gw041fz9dkkb70zd6kqw9dd8dhpv87407qxqg43pd7x47kf4";
+  };
+
+  installPhase = ''
+    install -m 555 -Dt $out/bin $pname
+  '';
+
+  postFixup = ''
+    substituteInPlace $out/bin/$pname --replace "/usr/bin/env scsh" "${scsh}/bin/scsh"
+    substituteInPlace $out/bin/$pname --replace "(rsync " "(${rsync}/bin/rsync "
+    substituteInPlace $out/bin/$pname --replace "(unison " "(${unison}/bin/unison "
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/ebzzry/usync;
+    description = "A simple site-to-site synchronization tool";
+    license = licenses.mit;
+    maintainers = [ maintainers.ebzzry ];
+    platforms = platforms.unix;
+  };
+
+  dontBuild = true;
+}
diff --git a/pkgs/applications/misc/verbiste/default.nix b/pkgs/applications/misc/verbiste/default.nix
index 3d4c35559e35..3ec92adb7f8c 100644
--- a/pkgs/applications/misc/verbiste/default.nix
+++ b/pkgs/applications/misc/verbiste/default.nix
@@ -3,17 +3,19 @@
 stdenv.mkDerivation rec {
   name = "verbiste-${version}";
 
-  version = "0.1.44";
+  version = "0.1.45";
 
   src = fetchurl {
     url = "http://perso.b2b2c.ca/~sarrazip/dev/${name}.tar.gz";
-    sha256 = "0vmjr8w3qc64y312a0sj0ask309mmmlmyxp2fsii0ji35ls7m9sw";
+    sha256 = "180zyhdjspp7lk2291wsqs6bm7y27r7bd00447iimmjpx372s22c";
   };
 
   nativeBuildInputs = [ pkgconfig ];
 
   buildInputs = [ libgnomeui libxml2 ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://sarrazip.com/dev/verbiste.html;
     description = "French and Italian verb conjugator";
diff --git a/pkgs/applications/misc/viking/default.nix b/pkgs/applications/misc/viking/default.nix
index 7f4adeb2be87..5af675a82acf 100644
--- a/pkgs/applications/misc/viking/default.nix
+++ b/pkgs/applications/misc/viking/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       on the map, make new tracks and waypoints, see real-time GPS
       position, etc.
     '';
-    homepage = http://viking.sourceforge.net/;
+    homepage = https://sourceforge.net/projects/viking/;
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
diff --git a/pkgs/applications/misc/xfe/default.nix b/pkgs/applications/misc/xfe/default.nix
index bf1fdbb9a8a8..78e1d15481ba 100644
--- a/pkgs/applications/misc/xfe/default.nix
+++ b/pkgs/applications/misc/xfe/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       It is based on the popular, but discontinued, X Win Commander, which was developed by Maxim Baranov.
       Xfe aims to be the filemanager of choice for all the Unix addicts!
     '';
-    homepage = http://sourceforge.net/projects/xfe/;
+    homepage = https://sourceforge.net/projects/xfe/;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/applications/misc/yakuake/default.nix b/pkgs/applications/misc/yakuake/default.nix
index 8db48a7b3e61..0eb33c845c39 100644
--- a/pkgs/applications/misc/yakuake/default.nix
+++ b/pkgs/applications/misc/yakuake/default.nix
@@ -18,15 +18,14 @@
 , qtx11extras
 }:
 
-let
+mkDerivation rec {
   pname = "yakuake";
-  version = "3.0.3";
-in mkDerivation rec {
+  version = "3.0.4";
   name = "${pname}-${version}";
 
     src = fetchurl {
       url = "http://download.kde.org/stable/${pname}/${version}/src/${name}.tar.xz";
-      sha256 = "ef51aa3325916d352fde17870cf706397e41105103e4c9289cc4032a1b8609a7";
+      sha256 = "1q31p1cqhz8b2bikqjrr7fww86kaq723ib4ys2zwablfa1ybbqhh";
     };
 
     buildInputs = [
diff --git a/pkgs/applications/networking/browsers/arora/default.nix b/pkgs/applications/networking/browsers/arora/default.nix
index 8bcefe4fe7b0..f9d5f01be201 100644
--- a/pkgs/applications/networking/browsers/arora/default.nix
+++ b/pkgs/applications/networking/browsers/arora/default.nix
@@ -1,21 +1,25 @@
-{ stdenv, fetchurl, qt4, qmake4Hook }:
+{ stdenv, fetchFromGitHub, qt4, qmake4Hook }:
 
 stdenv.mkDerivation rec {
   name = "arora-${version}";
   version = "0.11.0";
 
-  src = fetchurl {
-    url = "http://arora.googlecode.com/files/${name}.tar.gz";
-    sha256 = "1ffkranxi93lrg5r7a90pix9j8xqmf0z1mb1m8579v9m34cyypvg";
+  src = fetchFromGitHub {
+    owner = "Arora";
+    repo = "arora";
+    rev = version;
+    sha256 = "0wmivgx3mw51rghi6q8fgivpkqc98z2mqmllf7c98ln0wd8rkf3c";
   };
 
   buildInputs = [ qt4 ];
   nativeBuildInputs = [ qmake4Hook ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     platforms = qt4.meta.platforms;
     maintainers = [ maintainers.phreedom ];
     description = "A cross-platform Qt4 Webkit browser";
-    homepage = http://arora.googlecode.com;
+    homepage = https://github.com/Arora/arora;
   };
 }
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 42d606ae2248..82c2c6aa53fc 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -144,9 +144,12 @@ let
       ./patches/chromium-gcc5-r3.patch
       ./patches/chromium-glibc2.26-r1.patch
     ]
-      ++ optionals (versionAtLeast version "63") [
+      ++ optionals (versionRange "63" "64") [
       ./patches/chromium-gcc5-r4.patch
-      ./patches/constexpr-fix.patch
+      ./patches/include-math-for-round.patch
+    ]
+      ++ optionals (versionAtLeast version "64") [
+      ./patches/gn_bootstrap_observer.patch
     ]
       ++ optional enableWideVine ./patches/widevine.patch;
 
@@ -157,6 +160,9 @@ let
           'return sandbox_binary;' \
           'return base::FilePath(GetDevelSandboxPath());'
 
+      sed -i -e 's@"\(#!\)\?.*xdg-@"\1${xdg_utils}/bin/xdg-@' \
+        chrome/browser/shell_integration_linux.cc
+
       sed -i -e '/lib_loader.*Load/s!"\(libudev\.so\)!"${systemd.lib}/lib/\1!' \
         device/udev_linux/udev?_loader.cc
 
@@ -265,6 +271,13 @@ let
           "${target}"
       '' + optionalString (target == "mksnapshot" || target == "chrome") ''
         paxmark m "${buildPath}/${target}"
+      '' + optionalString (versionAtLeast version "63") ''
+        (
+          source chrome/installer/linux/common/installer.include
+          PACKAGE=$packageName
+          MENUNAME="Chromium"
+          process_template chrome/app/resources/manpage.1.in "${buildPath}/chrome.1"
+        )
       '';
       targets = extraAttrs.buildTargets or [];
       commands = map buildCommand targets;
diff --git a/pkgs/applications/networking/browsers/chromium/default.nix b/pkgs/applications/networking/browsers/chromium/default.nix
index 7aa02e2c5745..911b55b115f9 100644
--- a/pkgs/applications/networking/browsers/chromium/default.nix
+++ b/pkgs/applications/networking/browsers/chromium/default.nix
@@ -35,7 +35,7 @@ let
   };
 
   desktopItem = makeDesktopItem {
-    name = "chromium";
+    name = "chromium-browser";
     exec = "chromium %U";
     icon = "chromium";
     comment = "An open source web browser from Google";
diff --git a/pkgs/applications/networking/browsers/chromium/patches/gn_bootstrap_observer.patch b/pkgs/applications/networking/browsers/chromium/patches/gn_bootstrap_observer.patch
new file mode 100644
index 000000000000..f1207439bb4d
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/gn_bootstrap_observer.patch
@@ -0,0 +1,11 @@
+--- a/tools/gn/bootstrap/bootstrap.py   2017-11-07 23:06:09.000000000 +0000
++++ b/tools/gn/bootstrap/bootstrap.py   2017-11-08 12:17:16.569216182 +0000
+@@ -481,6 +481,7 @@
+       'base/metrics/sample_vector.cc',
+       'base/metrics/sparse_histogram.cc',
+       'base/metrics/statistics_recorder.cc',
++      'base/observer_list_threadsafe.cc',
+       'base/path_service.cc',
+       'base/pending_task.cc',
+       'base/pickle.cc',
+
diff --git a/pkgs/applications/networking/browsers/chromium/patches/include-math-for-round.patch b/pkgs/applications/networking/browsers/chromium/patches/include-math-for-round.patch
new file mode 100644
index 000000000000..530493dcd0f6
--- /dev/null
+++ b/pkgs/applications/networking/browsers/chromium/patches/include-math-for-round.patch
@@ -0,0 +1,34 @@
+From 7f90e2cceda0458cf56026eb6ccffb961a47804b Mon Sep 17 00:00:00 2001
+From: Raphael Kubo da Costa <raphael.kubo.da.costa@intel.com>
+Date: Fri, 13 Oct 2017 15:49:32 +0200
+Subject: [PATCH] IWYU: Include math.h for round(3).
+
+math.h was being implicitly included, which can break the build with
+alternative libc implementations.
+
+Bug: None
+Change-Id: I969b320b65d0f44abb33d3e1036cfbcb859a4952
+Reviewed-on: https://webrtc-review.googlesource.com/9384
+Reviewed-by: Tommi <tommi@webrtc.org>
+Commit-Queue: Raphael Kubo da Costa (rakuco) <raphael.kubo.da.costa@intel.com>
+Cr-Commit-Position: refs/heads/master@{#20292}
+---
+ p2p/base/port.cc | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/third_party/webrtc/p2p/base/port.cc b/third_party/webrtc/p2p/base/port.cc
+index a1b478d11..81aa0aadb 100644
+--- a/third_party/webrtc/p2p/base/port.cc
++++ b/third_party/webrtc/p2p/base/port.cc
+@@ -10,6 +10,8 @@
+ 
+ #include "p2p/base/port.h"
+ 
++#include <math.h>
++
+ #include <algorithm>
+ #include <vector>
+ 
+-- 
+2.15.0
+
diff --git a/pkgs/applications/networking/browsers/chromium/plugins.nix b/pkgs/applications/networking/browsers/chromium/plugins.nix
index 639425477c9e..d9adad1189f8 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 = "27.0.0.183";
+    version = "27.0.0.187";
 
     src = fetchzip {
       url = "https://fpdownload.adobe.com/pub/flashplayer/pdc/"
           + "${version}/flash_player_ppapi_linux.x86_64.tar.gz";
-      sha256 = "012fhsjfp71vaarjhi3dd4qpb41n4510zmid38hl2hsjz7qrj5aj";
+      sha256 = "102z9aflm0a29klc26jch3wl4y8hdrxzqdqvf5yj0bnibx3hwpsy";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.nix b/pkgs/applications/networking/browsers/chromium/upstream-info.nix
index 0cf6df0e5cc6..6e3ba922d25f 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 = "1ljpr7xkbg6hznpq9kph5xvrc6dwnp7y9ydirjawqvyhcmy6b8zj";
-    sha256bin64 = "1ca9p82k7a9h416vwldzy84ww5psv3kbvh5xdys3j3cwaxxa0b4q";
-    version = "63.0.3239.18";
+    sha256 = "1pk6ssvriqmckf61lafkbwyy98ylpaz0mq3g0zrifbhxzwkk01ni";
+    sha256bin64 = "0svdxgszy377hm3lzys90xj8qna93r4xz3d89sy086c9sq1ncsr0";
+    version = "63.0.3239.40";
   };
   dev = {
-    sha256 = "1ljpr7xkbg6hznpq9kph5xvrc6dwnp7y9ydirjawqvyhcmy6b8zj";
-    sha256bin64 = "1hq3qz7b5nmnck5sfbaa8d25khv88ylnq10dhbp76ahz4ixn9f7k";
-    version = "63.0.3239.18";
+    sha256 = "0kpn5w1qvjlkxqhsc7lz269mxp7i0z9k92ay178kgsph3ygncm0x";
+    sha256bin64 = "1pvnkhvks3yvpdh2qg9iqg6xmi5bxrl1n6mp9akywv1d5wsba7kg";
+    version = "64.0.3260.2";
   };
   stable = {
-    sha256 = "0k4hvmhaspw3f2scjjcam9dwnkrrzzibnx9sq5b1p56bgd2zxka9";
-    sha256bin64 = "0c4g2h1kcpksx0whf784hs7w62xbgsvq42fvzs0lfjgs11s8fm0x";
-    version = "62.0.3202.75";
+    sha256 = "1m2qjm4x789s3hx255gmmihqrqfx8f608fap3khsp2phgck4vg6a";
+    sha256bin64 = "1wxszymlv2y1dk4f0hpgq9b86fzqb7x8q87rfbq7dvfj8g4vipz1";
+    version = "62.0.3202.94";
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 23316dc3aeb2..16b59debdd42 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,955 +1,955 @@
 {
-  version = "57.0b13";
+  version = "57.0b14";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ach/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ach/firefox-57.0b14.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "051daa6d23e8d9559135f89a871372ae69ebb46c143265f72d85a55c5edbdc927fd2be25869815cce3ecb4bc5a4245f6bd3cfec2317e727c632437f377552793";
+      sha512 = "07c3398805092ba5d252adcdb690a144f8143a8827e70e3be3cb71175735c9c37c9d0edb93936f8cd1af16ad7a6f988b8e8fe9eaed7e36bbb85abab0137893b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/af/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/af/firefox-57.0b14.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "b9b936333fc86f3ebf34dfc05d5277a6a2552b427fa26a1e29c9fed93fbcd76c533c3543b3356ac61da808eb5154d83d40888c19a37003dce88c4da64fdec7f6";
+      sha512 = "fd954a1ddae090d6bd2c76922d4ec53ef249749c27996fbeb1276d2d82284540a000ad4fe6efbd690bb5e73b6923016d5c9c98d34ac5748c29791187417dd8c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/an/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/an/firefox-57.0b14.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "ed028a38d5360890f57617f8e0d9e02c578f7e786e78de8f2b8a3b96d0915d3369dc398da71d387761f56f6371d3047c63f0d39131e7dc7cdaa9cd6c8dd22abc";
+      sha512 = "c57c10028a99df1694897966f54aa6f8b85a6b2d0ed23699542a7a2bbe458e26d622e2de398bf7559bc33e7e4172d23d5aff8402048174a39804247dd8516e0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ar/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ar/firefox-57.0b14.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "ede95e488ee234430c3694a14c75ab116a29b91d9a1ec4b0676f687ce5a175122758815dbec69e2aaab0ab8ac91181fd4e0fdac545dddc0b1e3b4e7c81ccb648";
+      sha512 = "a4417b95c1bec25f148c57c42895e84024153065536a303f8eef7a0d9a7d39d4de8bf287f3af815e8ccb7ec7ec797f098416f78775acc8d778c91975d6268014";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/as/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/as/firefox-57.0b14.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "9e27132b8b1d0665cc88951ff24b316142bede88677dfbf6bd43ab147db8dd2b7ec44e830d152a2af48805e2a2de1b8858f4ceb0e8ff96d65c7cb769c0463d92";
+      sha512 = "5b624b9d0a4ee345d5c7b79913a8cdb48acebae32f088479c0745acee925d58c826b5125186ffa7c017ff3524983bfa06fe5061ee9423c37fb6f0e7323cac85c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ast/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ast/firefox-57.0b14.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "4e458e8dc02a226e40314bbce9771330a378536c7176e5f2e9ccfd0f0998d61ce33b234228226156abcd87aac88c01c740ccd7b0590863f6f1da44bea3b43af6";
+      sha512 = "efb5ac3daa79a88425401f2bf5df6c0fba90fefd21840723cedc8ebae149816198b727dae67c3f74406c47e01dd2365d1eeb92c39a549f1acba4ba65dab704b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/az/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/az/firefox-57.0b14.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "90a283a92da98ebc422f78deb01793888f9df97bdbb17f5e0f9045ac5f61eb2e4ae9ae706026f043535c2399fa476509af9d358093a92cdc344883e40bc4ed03";
+      sha512 = "703332727a0db4a51a39859209ce76120cbdde5a00d32a931e118e478dbb5f4a4e8f3d06abfa9bc97bf66a411f533c23b7375599fc0a7f0c13c9d7f518cb8990";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/be/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/be/firefox-57.0b14.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "b16136b9d37ab3a563b9c90be7520430a89c204bab6d9e616939ce88f4d56c395a7670911361f746b9ac62e802e4b791b60ea1e77335c56fe80a0bd27c00fb14";
+      sha512 = "d8ad4ba538e2e3f86ad8564e2418cbd34f33d4e89233fa6638acf10a3e10eafc0b81d6c20b585b872c5c00bb6fa2af1ea4097c19de01446a6811e4843c99fbf2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/bg/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/bg/firefox-57.0b14.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "7ad46009c3101e05b0285862f61067e68c50a202c4889efd138438721487ad21ae68228b9fa82162730fe41be297206831d5b4f8587c3243397427192f4351ca";
+      sha512 = "cb6af38306ab8bcd9229cf1dbcfaaf310108c31e28dbae6b9fc21a4cbdd82baf9fa785a9a94bdacb779c8679721903bc721a0e7ca2a1a09995fa97f1486a8232";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/bn-BD/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/bn-BD/firefox-57.0b14.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "24650ce5b04485512f7af58b0c0428f9aa442d28d614a2dfc2e427e33b35e442d0310ce3212a0750bbc0e5ab79aab848218c140edc49b7be456fc2f7f33b01a3";
+      sha512 = "1739ab1c4c1a7387dab56fb89762b26d8cf279c14a7bbfb1f7f888e9c2c714eaec84aba12f1384defc7974e207b506e206f980a8a68be7f274cccf7232f30e32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/bn-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/bn-IN/firefox-57.0b14.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "9c48ad3e4081edf3c1b973f161fb9741f2f37a125ba5e63599698100c26f529c727fcb828696ac3b1f54fa299502cb4c537f15be6c696eaf51452c1cd0eac61f";
+      sha512 = "358f8e3c1e9774fabd6bd8faff4cd2903c0e0cae6e5e6ee6f2ceb228ce7d489ed9112eb729a4f7d0ea25c377a2a54772279ea1343cec449b949688dfe19a69a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/br/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/br/firefox-57.0b14.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "022d5dc1a4e4906375ca2b425d86636ba6cb91b5bc60459938e9e77341c886c4aa7285f4b52e7be221149519bd3bf72d1b4540a7c62cc347e2beac9de3d6c953";
+      sha512 = "df0c34c951d81d500a0720c2a9cfda76831564dc45d2e34d37b677702414b2f53710fe4eb7f63257658fd058ffa648a904aaad4d864a325a1b1e1ddfee2faf32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/bs/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/bs/firefox-57.0b14.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "9e4e388f43404eb98e68349ae95bf40631fbf33670d4a9200f60d9ab25f8dc2501d4fe1aaf6f95d9ade80d790b1ba53b78ead54f2cac45d7a2c2d85e505a1455";
+      sha512 = "091cffc15f609bfab74061f13c526d4c13946e7b79d3a190ced0ffe2fb9aed457e1e1780d9c152699f4b42aa920d9bc77701eb944d9f9671b70da3278fabde8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ca/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ca/firefox-57.0b14.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "3c7e6f9c11ddf88900af2eccf8a22524f6cf74e5ac27464f8b4ad19849ac30220bc6eac03d79e22c349eba9e170ec379071b258d6bc80e9178dd1ddfe0aec965";
+      sha512 = "cd485d1202daeee2e24ca812350ce348ba93a0bf389741b13ad6aa6a81ae4c57007ea0b312e401fed8c268c8a86b5ccbf62ee25d2c1d8d787f16e92467f3c136";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/cak/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/cak/firefox-57.0b14.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "e5f9e7bf7145f2b33a0c59de6c576f82bb857ebe85335f218cd03ba005816c3e8e8fff03d5b6534885d796ea523696423c70035e62bb6a32bae4e4b7c1d79c71";
+      sha512 = "c5573576cc70d776f3d40a2451295ad8a6230b0de280b0a2a3dae7ecc2c1fcc2eee5fd5e4df91a2b1c9a63411263a4a55f0bfa605a0688cbfb10c341dfe4eaa0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/cs/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/cs/firefox-57.0b14.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "7e527e7bd04cd6107ec92d27f0705ebcf8da8117c84e61e13c2026dadd2ac3a888c9e3bb86f51026f19b10d06365bb41d48bc4fcbb08d09a88b3bb01e9637967";
+      sha512 = "771141fa3d846651448b158d8ad583a45dd2fc05ca5e3ff2ca19687431a140744707260b3ad9e304bb2062757ef333815f69e10a48e72308a802f9088e24b22b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/cy/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/cy/firefox-57.0b14.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "287df6655c9793da325681baa13fc4c0b9a5975f0b13be38d8875838a762b2f435839ef5893c6b6a3439c225994fc64060f69edf349d2a9d4fd2d225e95fd1c7";
+      sha512 = "7fd6f5eb9473b3ee68a7a2a98128c205df6654bab21e4c19f6ecc1e427dcdca3b93e9ff22239ebb652a545a3cb8892782e34cb876ada78d604bc48816960f897";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/da/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/da/firefox-57.0b14.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "8d03dae91a9cfe20091a2222eeb0bd41f3b3541c5ef6520a17a32187974daf8584e1d69017cfb99d2d18224ffb287f586bdf1ed678981a6b6a3d16ba9ba4a2e2";
+      sha512 = "30df907a7e99f41f9291d2e677e124363a8c2f702e90db870e2ccc1bbabec2266f0c64fa3daac66c5da1543056d1e3e1e8458dd4627cecfc0a9090ab0aee13ae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/de/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/de/firefox-57.0b14.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "ef084c0d0efcb77cdef1ffc0cb994ae6c6a9484c36282c7d9914b2d3e8599c8f2e9623cfef1e890a7d4c4feb6fba1c091937877ae8ea1d654a9bc824b5c8bf12";
+      sha512 = "bce375636ad043e2a9e331ecf84154f5e329217b6c1697ddcf17301115f39c6f35b88083cbec132f92fc30d93b414a8a913ddf02ff0c406295047d5d11a7a3e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/dsb/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/dsb/firefox-57.0b14.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "e08b193db4230efae96862a6a9b62200c42b03667c3d5a905938375391d99eca37716cbea561341ae76547be0b5ee94475f9ca9faec64fc178be92236a4ac91b";
+      sha512 = "0b75a555b9b02759b4315d3f77d78e71f2106db1b2901457b54e7a487b9f35a0aed3b6f47e7363257b2bbcd42104783fe14bc4171d658515b72fb61bdf9b0fd4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/el/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/el/firefox-57.0b14.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "db49f80f7c08322307dc5cd225d2dc10a3179ce4ce25723264679c1c78454fe1c701ebf218a34704946a1e7d042349d0fedfae5b70b1c68b5100ad7cd4ae4900";
+      sha512 = "f4592a580dd7fa207943d071c92816c1f6583f579e8a8fb6564da6e95c0edff1c7dac24c581e25f874b354b55aabdb8fba17a2f4d9677b653e957a66360fabc0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/en-GB/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/en-GB/firefox-57.0b14.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "b2cc8bc706e89390b500e6e8e3bd548417af1b0500aec7ed1c0ad79245941e20343cbcce80b03a2c885c7134c069e9f3d459739e6ea2a62c217a9f4ddb8851a7";
+      sha512 = "56731ee2e83a591201471bd6236a247a3a5713607344ae8a5c03efcad4f69eeec010dd89c1fdd6329325768a4b9a83ecbc278fc503a8d61244523748d0a8fd06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/en-US/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/en-US/firefox-57.0b14.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "621828144f0421ac2a3d5af1cf62a337d23409d26032d4c2518e99b0d04caebe1efc67c50f2b692612facfd5927cb0b51d9acceeecf9fc4c2129e6a899c9ddb9";
+      sha512 = "cbe3a6ae2dc8d89ebd935d2c58d3f735ce08f45418c31f1faa9f75d75255a07fa87d9b7d53f571bfd876701b566e27cb8bd761cd167749e2019b1f3bc1fb569f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/en-ZA/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/en-ZA/firefox-57.0b14.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "4dc4822fbc6d3027b9ba0b93b126e5223675c69c9e36c22e85681ca02c97fcfb9f9ef7dfa281dabec32b93ef8cb619ccb74ca18a3ebaf55f64c5547f5cb97c08";
+      sha512 = "f5c32cbea6753f4325c7cfdc99bacc4565b58b0ffb7cdc8db6d559922b8402493b502e7a05fda4e08746d48dfa50ca7b70ac27e152ceed3fadb9d2af2ac0f639";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/eo/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/eo/firefox-57.0b14.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "8eafe225337ad597afdb9a90caef3a252f9f467b6d0988f63d92ea35f5d284431c1ad1a29350d9cdd83f5108649d4cf05de50706025f8b2e2db55955bbc8f964";
+      sha512 = "89d278965fb4c7899abdf17f2fd1dbde201c959b623c46ba4db51628a3a09c5e054a614b8657f7f190ca5e9cdecced24f126978425bb38d14c84770958466bb0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/es-AR/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/es-AR/firefox-57.0b14.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "f9837bc84534f1d35aac94c0775fee981b9c7e5031bdd2c78b5609406a73cefa5797282aaf122e2eb772fae7baa0dc0714413c1b6d7255145fef540c31b89183";
+      sha512 = "d21ed37e2d6461f31519d08040b271e9a6d476e7132f5db406fa3eb3fdce67384af376a89d740426fba12a5602c20a4d315c0e337f0707ed7b91d739b648ad63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/es-CL/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/es-CL/firefox-57.0b14.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "e7fd613944dfdeafeee8877b77cb78844b1bfd1d5469dcfdbd90b6a0ea08c98f4fd9423dd18ae1333b90b5717f800a446f8d237de34a8131cf89db602b72a846";
+      sha512 = "bd0dd077e732c996de27e5fabd22933aa1c1ff448425bc757be909ccfdf7a8a2f32944721a248e4998bf9d455fcce13c22a89dbb780c3a61d8fb06745075b122";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/es-ES/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/es-ES/firefox-57.0b14.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "b571a99b0e11c8b4fc202cc720f2f0850b54978bb98ca9a6fff2cfdb6c853c74ccb8f9b49cb14649cefeca5768ee408e6ab8028bf005be0def9c519ca8d14108";
+      sha512 = "7abe774d7c2baa9e055c382fbe4612244e9ce5c778185e86c1b4e8422ab8af4f99a949bc8560109e6995d8101f8563e6251643a5c6e4ff1ca9675b064e1da580";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/es-MX/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/es-MX/firefox-57.0b14.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "fa46b9751f8548ea3724867a2d41cf9aa62a7416fa06ab63a4f59e24c45a5bddb84f982049d1cdb4d0ef3318aef46fb25f494cfc3be203165ba125234c9619ec";
+      sha512 = "4f4c6a5cb3fb25a030a44f3b7c60d6a1af77b083ca4cd04711ed4663e276f03ac92f4b8be697554af7a4721641fc7588b005e27f2ed2c5c1efb947a64cfae8a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/et/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/et/firefox-57.0b14.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "21b6cb415d45f53f8c5bd63a463be60ed05f55604d55dcfd0587fe023653d4736f1945f1f5d96bd97718b8ef492fb2901fe883ed522db4d9edc805af0c118013";
+      sha512 = "f23d6cdaac6a412c28c633fcd304833bb341c159090575b8f8cd7bed6068a3ca3497cae072d831b1ac40ebc98853fec978a09009d3eaa5c1f6aa6bd4f8c3b956";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/eu/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/eu/firefox-57.0b14.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "9e341110f6c2d52182faa95f032090b2904d734efb7f4472f87ba77b6604287ebe21c7b1502f71e107e285578cb6c0da6dd95b45fd27bc28a16c14735725d22b";
+      sha512 = "1f7f209e1faafd254e607c7bfceb5b1913c59361d55bfde394d2af4f745e0be54b7d119cf71a88c577dc76f0ca9a96fa52cdb38b27ed5dd6d270eef5efca2501";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/fa/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/fa/firefox-57.0b14.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "15085dcd3803767b4161fb6b3e55af4c29dfc573ff2ed24dad02eaf001e657e3ec8466e827df472cbb89a442e33641ad422f11b7d663f1944a0f5d2fb94bb305";
+      sha512 = "e175dfa91bda0daac8854d999cf3770332d61dc11ba338ba8a9c42718e7d470e07dab656a3a13ff25f4295df648196549b4a3f4b273061c278f03e0a76815213";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ff/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ff/firefox-57.0b14.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "ccb9d489fb9211c9cabe344c65ba165f0aaa4e1217e4c60860c96e7d938532d1602a4c6d885ab5c934c744957a060cdcfa4203c8d93bdefb4f25bf938a4cc1a6";
+      sha512 = "243c09586248988625ae347ad10b691cb5f93ad78562c3223a244403a5ad41b138289a992edfce91a8744f45ff8a2feb008ef3dfeca608fa2cf44e39746bf794";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/fi/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/fi/firefox-57.0b14.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "306668c5cd48f4c0c81e2a160a6703c43ab93d79cec7c9b754425faac9441edd5cddc1bd67d743e577a5c7aa2db39dfb2b5a290e983713c8de780e6596a720d1";
+      sha512 = "66ac96ceef9d36ab4c16a288da714c9bb9dd72b12cd814dcdb3740135ce6d19f18ee564c31050b619a1af207d086674ea4f60ee01de3a18eb854f35af5d3fb8c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/fr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/fr/firefox-57.0b14.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "099fcd14b1cc7429c7cc4330aa7a397c32acd28006732d272a89c2a6f5c7b1a0a0529734e24fad308c26fdef6418aac2d1b386d7e7dec8ea19a12490cfe53e50";
+      sha512 = "7a9398f8753c0b3d6777a5dab4c28fbacc493883e5326fcac0cb0a0f62509169768355a5c5db377afa6a1ec79676b8de53ccabc49666ac9830d588ad2c8bd8eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/fy-NL/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/fy-NL/firefox-57.0b14.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "688f6d9ccb1a130181e154ed75ffa71069348f82bc20ac649e5aabf69b31a65ba022b3a28d2149a63941bb6287dc8e14946e2f7d9d5ce8f89432c2a32f5095a9";
+      sha512 = "b309d91af97a94246c9450eea61f81cd8f6e8564bd089caab7e1238df4855aea54568ae8d40c3c59e09729779623f1f488e2b18f05094ad79d7d773a82196eee";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ga-IE/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ga-IE/firefox-57.0b14.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "fdebffe1190222cd5b3955e54aa49286166366d910f1b4471ee36372abb7d515b22a48fbf2799abed4943b2a3203c983d0906cac6b5652f507c58778e8d98ff4";
+      sha512 = "f3b699c8cddca58a8610aade833b470e006a804606ecf13f166239f32ec7fdf0ae57e6f91d3a104efd08fa9cb34c7d78026753d0cc235cabad8aed8ae85ccb22";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/gd/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/gd/firefox-57.0b14.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "5a957ebc86c7e305afb0e0f9e91f2c73b52b7ed2b65ca8c372cbc0666a86e809494e7deaf5ac4caaedd60400e8a82dd9e3773ec3aee04daebffc7c91a2586b08";
+      sha512 = "261b14e52513485a14d4c92f580a9deb228dd730f77911dde25785b8eb7974a1fc6d39b6d377a3dabf3f488f9d29892aed86c38a115aa4c9660b27a229a512f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/gl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/gl/firefox-57.0b14.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "024ae0ddc5fe5590ef8ed4153e298b5a05dba17fd5a4d6ec78777969841cbd284908d7c19c36f6290efbc5ce1248c3f24c0cf4418f524166c1407199a6b5de90";
+      sha512 = "6028afc50364a4bc0e21fcf82181b3d6ab44a985d7ed55fc090544d25c0bd65ba8737e1b653e9cf860f201c6c3aded33693c2ee7cb7229b899007e9a607a39fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/gn/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/gn/firefox-57.0b14.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "e6b36e68cb07c4563b350e4af1fe511ddd69ec05fe027809f5561a788b2fcd95c88bc8eb8d67618bb1769f10d11a75898374a433185de49e09554eb948b2aab3";
+      sha512 = "a189db0e527b1a69d1f42b23b5898224313f73b269ece12bcafdaa9204cecc2424660ff3543098cd6036ca17c724436fc6cce9fa7f38376dbd35c943f56cb559";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/gu-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/gu-IN/firefox-57.0b14.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "c8e3f732c6e91893f07821a2cd9d18e3c5effe7551434cc311455366faa5891afdd25b6d83b5e4c314f3d4f5c01e499c5d4823b332a120bc07c979dae8f171fb";
+      sha512 = "59c9e99ce0da07aefa433b76a961cf8b9294b30c4c3198ac7c8cee5d430c89a10058f614f0955ef768d1e0c12e583fb98612caad4cd48389454b9878bbb08667";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/he/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/he/firefox-57.0b14.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "a7192f190a83f5d3d1f300a072eea4396397fe02623daf9bfcd6a73ad2b8e89884723d9596f0be2d3da655fd937469f08d65e39037e3b7168edd28c8c23c10d6";
+      sha512 = "101f7135364f544517674f8c0bae2d16aa600798ec7755f4e02d0827df6920a60c19fb0d2ab3dc20febe1e9dfecd192a64fddfb2697b825ac940de530383ad7c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/hi-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hi-IN/firefox-57.0b14.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "30a355f58c9419472ede2713101721509a8c86c6c363693c256553cd64800572cf0eb000c8b2bcdfa788ea8876cbf6b7e8a86282ae1726eff4bde93dc8b33a1f";
+      sha512 = "dfabec31fc6170e3390a313a6f201ee51930c1e1c884a5e1b0b2107a2a3c1d19753c91404146dbbad9dc572f9828e3196e6fc1002a9b318b3648b1dffe2a9cf8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/hr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hr/firefox-57.0b14.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "fff70e068a744e89e28ede72398d60b83decbc908c6776b23d8e532b4630a9526411a62572882a596241a7b6b6550766f3ccf99a5d044d7fc14afa52772ee270";
+      sha512 = "2dec6c07adeda8008e3d85b6552f29f882b1bb9b89a5e03422126067ebf9eda03e0272f31464c42f8b9deaea174c26b1571c1c416f1fab63a7e67cc0bfc2c136";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/hsb/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hsb/firefox-57.0b14.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "aec6950ed6cd9b357bdb63e5edbcab7b42e76a72e44ec370380d2b5717db585da8060620eba7290880020b1e6325f134f001163f2ce7719c50b83e6a5a2fbc91";
+      sha512 = "b5dce6117e1c964a612708263adc5533d8a063ad6586030fda1a214c6df887995f7ae7782039f063786bb332732857781392c16c646c29d9ffc53fc3c8cac8fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/hu/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hu/firefox-57.0b14.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "912b23344f96d37bdf66775ad933ac769e19818ccd178a6ad97b815228670c053111dd623fb98de382e2c2d414414fd9fc276f4aee5a00a439dfe235452fb16a";
+      sha512 = "fe5654e089d50c099aa3cc9279c0a4a3e975a3e10d15b9b832249d082f95d461cbaa51f5851c3f4a680419e293fc9137b1ddf275ad376e073090db37ed92d888";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/hy-AM/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/hy-AM/firefox-57.0b14.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "04b2e8ae9de10cdc2aff751c5954f190ec749fea27ab265343b73d762e6e9ef6d96a7136cd9354988ac791ba7bf32661b5658fb490f1d80907505923bd7a70d2";
+      sha512 = "9678679c8bdd32131fb7397a88098028a955624a68d59746d073671298a3ecbd8d2933675ba564fed0650f44add7fc1135f441a3edf2ea932cfe6fe5b2ef5d13";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/id/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/id/firefox-57.0b14.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "834087d98921683d0ae7216b6264c7dd7b77568b59e4739a7464f065328d3efa8256f03e9343177673ef5257db142466e3803936ec30a8f6902999a71c0ad163";
+      sha512 = "c863c503ecbd71f17c311f99d94a86af12a57bc1ce0beed6fd0d0ccc5c814c25e5636de9127610b768fb947a0ee48ea585e1a205e1646ab20d2f6c2044b67618";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/is/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/is/firefox-57.0b14.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "2a8f3b35f7c1f8adc40504c3460139ae7959ca9657f899fab9e73eaeff5d983996a33d284d058599406d4d46ca941cd9969a7e6152650f6ecf6165329bf2f350";
+      sha512 = "7fe2398dfc0da2bd215867414d765729e2b30620930ee1f50b98a348f6e6fc098c952d0c5ee200dbb51a84ec82f4ee2fe8b01c4a6fc879d2ebebd95f39f825ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/it/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/it/firefox-57.0b14.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "6b04fbe6ad821a68d7bb968836d047fa08308a571fef1d5ef82d4719841a7b517362f706f4251d4d60fb084c06af9ebc671a8c131e5a403a21ad9190d84c5789";
+      sha512 = "043b409173d097ce49eda0e16144b3f50ba7f7a83ed679f8fd09c26d18914681e15b68308ec6c65aa09f26afd195b6f8e5afb4e2276a5717b716280450dc403b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ja/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ja/firefox-57.0b14.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "9dfae62887b03ab6a963547c1f4c4332bbc4469bce62318fbdc439130c65677e9e0328942b49b37d251aee45b56f474aa5e1ef487244ec61561217f1e7f2bcc4";
+      sha512 = "9c4391e27831ae034624f22e8643922324b7940f2b6c739d1c6b5c47449b83f2c8756b11efca47a42820a867248efc023876e1218327f1c8e80cda0c960734a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ka/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ka/firefox-57.0b14.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "8f1ae26d22d02bd3a1aa21cbcd750e6003f13fdd1aadc85114485cccf59f300b962a729016c3dd1611b8f32333422318ca806b7dac1a790c11749c909908840e";
+      sha512 = "490c43518d3cf1320d9a3e8f28c70908b31a5f9ed01b211f4e53aef67baa279eaf129f06ec6c21efe2fd4a89364f55ccda95847f058cb2f83fd1f92c466263dd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/kab/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/kab/firefox-57.0b14.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "28a00d36928bb60a2c65eb9e3866b8ec1fbe76973fcdcad78a6f00aa601e4990c1ea96c37984171577400dd511937011957e51e4996fa64db0600c0c3cadb810";
+      sha512 = "bffa144bd5c6c0d3fcf9c8d44c679f22af1127734ac8934a5cad4d5e6726978133cc99c61dde870143fcfa0b07c146c4d7a84117178e01083a0c37d9b4810184";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/kk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/kk/firefox-57.0b14.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "76361b378b4b2bd2a1e31caa344491868188155caa57317f46c9f89b9a77df5ea65f2d4f8ddd2e8cc574e602fc163c4d671de932938ffbb64a1e68a7fb51bd51";
+      sha512 = "5b49760338013954ffcc3ae2c9c79b0d9ebd92f1a148188249559723bf23338a7b606b26f5326b48e2acb15e7ce023f4dd2a536c0cbf5b7af8eacfc33f3be670";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/km/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/km/firefox-57.0b14.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "abd176c702ab4f1e829e23a4fc4bedba45724ad119d84cd18a6d7d2c8487aed690702709312f5806f2fbe82076215e55e3e4de3cc8cb56b33079d4ab7e2921c1";
+      sha512 = "7ea92ede74eda15d9a77b6b22a02a634364b60bff135da5356991644f474a47c16283670d24f2cc28d112c97f3b49fcfacb1c618f9caa16fb013c3c650b50feb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/kn/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/kn/firefox-57.0b14.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "62056efe59a3acb2fdd04eaa343372b7b2e1f974485ca7f122d6cd9d7d67159f2a4361aa01c68cd11a93cc56d807068842b735b74e596b5d218c952f5e318658";
+      sha512 = "e3d3ad10a374421603068c420e2c5c28ee8a9f9b822df556a1237eccc54a778ca572e09795aa9022cfa373652cf2913c621c2fab82484f7eba77f56305ed6aab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ko/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ko/firefox-57.0b14.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "d1772efaaa2e2f42bb01d5ac39187accf59a235327d5d159866c5b80d7d54a867aa496d63fbf23737d52b976f0be8c35bf5f6045f0d69eb5d5af5e67b6202eef";
+      sha512 = "a681d5e49952f1e671e0c86854102979e052b84140002b968f791f4a325858985751a3872446ae2495802ea0c1df884291c8559a573cdb236cadb7cd706ce718";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/lij/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/lij/firefox-57.0b14.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "a45f3f8181906382f3df68abfba8682fb43db58fd7b6846eb3b64eb67e6d57971cb83ed6c74785e19807be06dbfcb7b003c67b800292cffcbb1b42c812bb034e";
+      sha512 = "b33522bc78b07958a3b5b80bc0833673b1516652de2a165f5bc7ef54575a21af20a922e207be02c4531f64503e97279dca4ad4833d2eb86a6c04f3fd1fdae7f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/lt/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/lt/firefox-57.0b14.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "101d43ee97cb635073ea9bea836ac0aaec514fb5b4eb9b821df0f48d527b89745907f557a96339c19ebd152639d9a4bd745396bcc97c94e69579b177f9c1d7ce";
+      sha512 = "ec27a8aabc0736b410509a9fb9706627e06316b34a241639ae27108ba3c4945b4ae675fd85da390ae053603a0a13a124c0638c11c0750c665c8226446435bfec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/lv/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/lv/firefox-57.0b14.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "74afad1dea785fefa379c7eee2efd0f38673a632b9232102a02e8fa7591f89b0c58447362205b23638b54fbdfce90a813c111344ab4569f57b21bf3e3894b4c8";
+      sha512 = "bc4b125320ba7033946a290e0d974cd4a4f517ae9c9e2a24d86d28307476fbcb4372ec0cfc567d984e90d105cf692a08100bcec81e4ab615fff19ec0ced0096f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/mai/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/mai/firefox-57.0b14.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "4b87cc59533c6b9d3f131ba533314f5c622efba35084a8ca6b67c4c63b55833a8a3ad9a72ac1371dea86e39691a6670a3d38952120ef8e3af712a72fbf69caa4";
+      sha512 = "2aca4d6ce673fcb71a8c6228e243157e597573d152d05bebdf8b9df3bdb479dcce1708cdaf2462902c5ed0b7eac83a9dca523bc55a6bf6b2a9fd1d4582a3d68b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/mk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/mk/firefox-57.0b14.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "dd85e3305ef45f319211492163215f2f4140091d33422cf9bd01540493b13c9fb923a0c64aacb2639682a79cf6163fbb6e559aa29fd6dbe28f22c7cc0a1398ca";
+      sha512 = "22fd8e59aad75508702ea3fd37af4261f864a76e943cf6d07789d4f1d094d7e0d5e76e5d4c92b6dc642e0f30047d4515d8520bab667c05c16aa4ffb60f0fa168";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ml/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ml/firefox-57.0b14.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "19487b16d24a71463b1227a450648ad0f7a0dc08b6a0ba69b99d87387bb2c011f7139031eb09127bcef5c5e28be90b8bed4de449af4b2180e900cef4c7e26218";
+      sha512 = "f96568186cf49bde7ceaf36805277c0cf4d75da2d5930227e625e2abddd5b740df4207ce53abac24c77dc755f52132204b945fcd7706de4e3075505635eae9fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/mr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/mr/firefox-57.0b14.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "7a71d953b192d2453698318f7fcfec7e4a1a08f893094891b446add05a0a570df3db76a1054c296d723855e4190dc2b2cf84c953fa97486a8bcdeeaaed707bf9";
+      sha512 = "82fbe7593e52299dbebe38fb97126b91f57e48968c7235d8adba93776ea6c6883dd8eb5df3345cae55d156a7bde2004f1f446339e46de90c85f1525eb1334147";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ms/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ms/firefox-57.0b14.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "8970064b77ede1f1b52a974bfc7bf543a203943a3aad2f42952669e48e1ddb092ac47d41704364802129501a5e0106e5158d6650a4ae7a84ff07916ff61af07c";
+      sha512 = "3ece240f01f8322a86d1b8861be25e895fdbfc9a024406727400e0d6cee8efe88a11cbd6799e4b7d0d8396cad80a6a7438d4f0e3b641f94396a7d2e80be06e02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/my/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/my/firefox-57.0b14.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "3681f7a89ff3f099c5a387c9bc32880e3935a68edaf004d97ce492a271491e40b06d28e9afe732163f94d0f882a777ce8655ec0d9aa61b5a3be53792661857dc";
+      sha512 = "9e670ecd9628c8822f634031dc7b6ea2610687df8967591ff44a3fc2922fc11bf84575811e9e0f51997764d67c357de5020619e3f637e31c3421e64b533930dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/nb-NO/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/nb-NO/firefox-57.0b14.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "10d807437bb0f40095486c6495be4460bd9f10747243576503faa78b3212b71a893b4dcc1bdbeac2cef0ffceda288687033d05db9e76576e6ed049ebcd0a547c";
+      sha512 = "298d7d24c92a5f56f00d7d615ffcaa1b483882f5845f3de4bc8be2811ec6b5808a2bb813ee9d9b8aaac84a6c6f7bc600b45b7c22480e6c4c111fbe815d46e70f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/nl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/nl/firefox-57.0b14.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "31fb0e57141696f5ee310fff881e811e23c9c1d182c898cb8be142db54ac268dcfcb8a0e865ff5759984ced5e0cc9b87f64b6b27f5ae82c04b3011c7460694a0";
+      sha512 = "c59787d50bb14ecee498e9c454e3ab79571656160761e95a53b41ae8196093f6dec3f435d9a69f064b9c4aff0bef332e2d5334153d98c8984041e26c82ef04a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/nn-NO/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/nn-NO/firefox-57.0b14.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "386d209088359eddfe3d68eb2466b491139e9f372a424e8509e531ebed8901fc098eaedfb11a2d606f22a940a2520b2da7ae9c6ad8a1e6dc24e5b4efce39b63c";
+      sha512 = "c7c9965a5810bcaac0f1b0d08ab6a9d660a00e40368369998101c2cf043837459e6e65078906c0278564412655a76987f30b671bd90edb25820362c3a846b1eb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/or/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/or/firefox-57.0b14.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "8bc59e0d4ac62b1409616512ba15ff15bce172e27f161407bfd11668399692a53d362e0198b6c0b137d979609b6b534ed63e1875747111af0faed895133f4b4e";
+      sha512 = "bbdad4aa7743a1af3c31eb81003612d0729ceeea5a0303f129f24e352219007b55f40a931a0140fe1b1b4cff694572d1141779238881376e77f30a3f3675512f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/pa-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/pa-IN/firefox-57.0b14.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "b25496c3795ec349989b6fac8cbf055974dbee73287e9550b9266ef475a979f7589c8b318a9c05f4c324e69333b943382f2ebfedd0cc8c8b6d77f823537cef0c";
+      sha512 = "99f5ba6937e08c2cb0f05be9b8f2e87e1f27d5ad610540b3011cc2fcd11c2a7a84a1cdaea9b6133d1c9a38311eaa13221ba57bdb444c9aa343c446abc41c986b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/pl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/pl/firefox-57.0b14.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "762e795c44733f161b2849a7057afd2b47021312324565c39d51a3b06634761518284eac7d34927c7e650c1e43179cb88b80396ca91592603ce737988c197533";
+      sha512 = "956648b1f331356f8ee31158758fa0ca7cc7685aa7b20c1833d87828f5f4d695fb3fdbebc55f4862c0f76afe72ea6035261c9ebaaec2561d728d61a4bf53ca9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/pt-BR/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/pt-BR/firefox-57.0b14.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "a278133a771f43cf8fd48ca4fc06e324ef3d9187518ba1405c371004b94e608c3cff839dbda184b6c23c6818f8cc55b192bc9118f19e8fbafd6af0b2f0d6b611";
+      sha512 = "528a30c7ec5c7485d0a64b6787e0c14c66f832b2289884ff234799631f4e9c6d620c3312ca3d1872e28c80c7a192b8e0e4d0b9d88dbad610268e9d3fb37b3a05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/pt-PT/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/pt-PT/firefox-57.0b14.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "f56e9591b8eb311484d814723a9d7eeb66914cae8d9b74cbe12f8824eba898f5fdf072e3cf0384deef3087826225bddc31c9a92e11906a05f6505524a6e9c7e4";
+      sha512 = "c70eb4dd653d035fbcb7de8bcc78cc1855f7d6dde8296a825d733a26e9c44e38c8e77ad54c63f806f12b90c601508bd6376aa620a1e0948c0b265dde3c2443ce";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/rm/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/rm/firefox-57.0b14.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "b0021b2b2c26aff1ef7bc043b64ba39e4152ed3ecb981cb8876d4c15af9e157b30cf9cf92481f76a4071f9407312a8a02a20cfe7223a4f20ad9cea46ffad3343";
+      sha512 = "c9b9f0e3ea90fe7e2d5c2907d82e7ea5abd5f30212f1fc5e726dfe72adbe3835107cc836e310ee4bcbbcb6ed6a08bc8bea06d3bda08d1fe7a08ae20b6a22bbdf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ro/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ro/firefox-57.0b14.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "dca26a56abe6f6000e755a5df7d62245bea47964ef47bd0c5ad0283eb6b04c235e225e66bb54c979460188ef9a1c870d9d53b2c185e6dee2a37a36880cfca6e2";
+      sha512 = "6246be75562143b57f27de69e39f9c82c7aea3e60d515cbab0ed5e32228f5b33abd61cb2fa7f3c4e73c65a6dab5ed446a0eaaa94767e0196d5b337e6b5a410a6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ru/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ru/firefox-57.0b14.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "26eb37a11bd7b484617d29432c67eb62c84f4a7aa1575234d284e39a23edf1f679532f818f7f4c64273d70bb400e52f327498ccc8226304e0e859fc7daa38dec";
+      sha512 = "467a4adb72e27ea95d324f52007e18c3ea307b7ff158a4e58bba69859f5369fca8e7243329e2bacf590f35315402af10d8071c34886a7fdc3cfd6e0548653aba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/si/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/si/firefox-57.0b14.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "a7eba6aa32b73a64b7b21447d7ebbfc25ac21c9cc353d06fa9eb1e6b5e43f2673f125abdc662e8296a8254c96e97e8684a8408d712bb201eb1b9ee494aebcc23";
+      sha512 = "47b11ccc3bdc373f3591ee73b84edcb9afe915f1bdf5b7abe65eb2ea675da44316a4ee5087c0c4e69a90dc337d43e201ac15b98d04a0ad970f8017d737e4f738";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/sk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sk/firefox-57.0b14.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "da4a7e40f4063f11434616a1130640b663d1c73aeac6a8638a281174df890f0dec105fd8e5e0200dadf8898bce7adccfca5b059f35773abf4c642ea1d25ffbf6";
+      sha512 = "c7696394b76668733814f1b2cc1c41cbfd962d4d58e424c041fd419b3da2559b1f4057a8aee328e0698ec8b350e7909ce5da3770f287ba485dfbcbeb3d1de9ea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/sl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sl/firefox-57.0b14.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "6d00fcd3f71520a5924772f0b04f091a3abaea2b481bc2f2eca793330a8a9600a7eab38c7b1a9bc575cfa40c74fad56c6f3847ec8edbfed3364a8b7522e23c1c";
+      sha512 = "aea6c90fe73f9aa1340de0ba8207089deebdfea21d5fbd5d5c0ada6df26a4acb4349eee4a7ce09f9088439cf059fb7fcd6169cb1c34c83a33c909bdb3ed7af43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/son/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/son/firefox-57.0b14.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "0484c6de79a605e94192369aad55850b6897ecdc44912204fac58a23ecbedb8991ea3f670c3794d1cb1f311578db41ec518ae030e16e5266b2d802120bf151b1";
+      sha512 = "6d3a9b05ea14ad1281c51d99757475b6642a5411b7b409f2acba695c3c0a5719f4feaecd0c56713899475501fad3413fe46f4a3efd482111aae2395df22b1e25";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/sq/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sq/firefox-57.0b14.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "c5704bbea312df025d1e439563b358ae5115c0e91b82755c8a895194a04a5ca349da96aac99db11627912c5440a9e675c8bcc14456fb14bd4461c373781c2151";
+      sha512 = "9e7639f9fce27b4c3b3fa265e0662b31360313569f1fad798c89ad1eca1944827c3aae23c283f4e153d3f81a73d235b5fac56598cc02dfe2dcb38aca806203a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/sr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sr/firefox-57.0b14.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "27a3bff0a5ddbcd0905fc9ba69ea733d6a6c14da78d1bac0448b6804b8cfa8668890f2a1e617b17e1a642b59795c11b82d1ac4192863f23dc82adbafe2078714";
+      sha512 = "d84980d2b454f33a33fdd9b44ea7e2c41a73a351492fa7bd951a8e4ec288a7aa4d12ae362443a664abfb554693e8a8f5428843b28ed48429de3d32575f94ea74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/sv-SE/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/sv-SE/firefox-57.0b14.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "e762be3b52075b4050719634f9e68ae86faf55295803535c046b2abf05ad6f695a0695311705b2293f79c1c8ce69d69b39609f27be6d0af9b625c0d9368449a0";
+      sha512 = "b26deb242735a3fa662687efbb8a293e76561821540ad701091a8b7033c9c1047459fac955815790ed026e4f69a51d2b0396a21102a79623b72f5ef8cbbd06e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ta/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ta/firefox-57.0b14.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "cc0570a17d2325faadc7b1ae313241935588dcb1de8d6a1224a583fec6511a34d2a7ac786bce894f1a4b8b0b92d2d4392d8b4f7d0a0db9d31378191cf1ac8dc2";
+      sha512 = "1e98d86b9df418542dd15a204ed70732dc8111d8fdf34edbfee8217460e04467a822b66804e9876e28f15e9167ec5a6dc1551c4159c136006392feb7ca218009";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/te/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/te/firefox-57.0b14.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "3f6c7e8612cd483e209c95ff594ebcb0fcab2b03d3687c6a2cd8832bf512b85257e0ee5af2aa1426c6b3471c6d00910447cee91d5b45d5a5aefed0beeaad781b";
+      sha512 = "d22b7c8b45d37631434007b196c63044a860912826cb301a218b0aebab5ae8283370924a703cebb16a98a589336e024b31ad580b6fb57ccf3ed53f238e361704";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/th/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/th/firefox-57.0b14.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "2576defc0da691c1a3a58387cef996e031683de1d0a1a0f928692b5982b61e53cf01953d473539e8afb5173d674d9e1ce82fa785307525a65e9af062924ff0c0";
+      sha512 = "8a806b68e3e5d4ba884bb9f72bf07c2bcdcf33a8111236fe837a41738e997116d092ffe73e4028dd7429c4bb0f097270fec7a20ff3b5bb316fde0a90af92d22e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/tr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/tr/firefox-57.0b14.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "bf5b69d5d47c21bcf32ed5e9277d59d09cbdefc73f750b957feaf0f8aceb184425ea6d87e731aeee01bdd74ac42243eab0d781261d63db26bb57ffc3f530bb8b";
+      sha512 = "9b1e73d28f5f1fc352f830aa59612170b72dffd7ae060a8f2422ce14ec46f9e646fe625ce36dc4d380fb58ba0300c68a83f2d8aa8282100f6ff33a43ca79d807";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/uk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/uk/firefox-57.0b14.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "eeae9bc7f51c8827c07bc140883c672455088aa9cbb5c4473399f612847ded8e95f61b6c0a295c598c2a943e641812fa75173f26cb46922fd0d962af7ebf9d53";
+      sha512 = "96d471b413e980ced87be210faccd8cb6b796c17b871cf785c34f10ebc04c4c76ce4756bec0dbe121b689bab2f777e54eef6ea43750e31c1c83524d0825d0fc7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/ur/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/ur/firefox-57.0b14.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "36d2c5bcad4aadb2aa381e2a8f0d69256268d337088639a031af86fe4958529e0f32cf11c5703c39999dd247023134ea80201c351963639160875547e4728b00";
+      sha512 = "0724b881cd4aa040b249882d41cf55260d6aca1f4876c89a42f717f00cecf40b32fa60451685b7a182d2ebb11dd08af7e0327bb5c9fe94b2a6f03ba8c9b4d02c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/uz/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/uz/firefox-57.0b14.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "a245b8eeb1cf93dd51e85425c129e0a88c3b9d312bbd502a5125f603259f3ee97eef76489a5f9939f09d3bf1b134deb3391689a54d607bca125138761378602a";
+      sha512 = "bedf1751786c828779fb719edfaec466a299ec706e40dda5f886bffe911d425b82e9f9a3cbf5a0deadff7ee77fd63c73f38ce3462aa7203316fc0569a4423927";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/vi/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/vi/firefox-57.0b14.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "b1e2fde3c1d08870153a83e921231aa2fb34238b450aa6ce7b79b180b5902ae7bbb2a2dc689a119cd0d8b3d9f9907223c08894634810c48b629d74c2521683e4";
+      sha512 = "3ed1b4f71d75d0e863da048edf60ee3cbcc5239d4a8ebaf69fa6d3a8e8be20e556dc838155d7b99ab2776ffed60e578ce253c8e6f57491dc84ef3b68049cf929";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/xh/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/xh/firefox-57.0b14.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "36345b203efe934147e96548c25ac4cfa21b7eb4cd0a849c7e35ed8e99d36687ac3ac5657a42fad30113192b364b6577dbcf47b854244f02659cb89ac4553519";
+      sha512 = "23db4e5df5432094b7f31a688b84d23304c7890d0ef99cd9c992d7a108a08199b6f6f94bf3574668b9b0a915ac49d2c0e8c6b0c37ecb145da3f5e2a5660d6d9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/zh-CN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/zh-CN/firefox-57.0b14.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "b5a8464db5ffe2eba9e33de952e4a44077f0af332ceefe562805a5f285a42c5bdeedf4ccb3bb4598b9eca7875ed1f2144a2b54b652250c8a5dd98b0a76535243";
+      sha512 = "bf08e65cf257f789dee34891818f94368fe89bb500138ffc72855da7acc62cc08a4eec3f4d32a637f59fd0eaf072994ba4d5691da300d75738e3274e4db3ff45";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-x86_64/zh-TW/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-x86_64/zh-TW/firefox-57.0b14.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "5967f8d5d89ea780dc7475ed50709a7b269f08eaae74c200df97e2b914e01466af1e3cf58fda4eb44f417e384dea03906d7855d612df3dcca7aeec58040ad30a";
+      sha512 = "6b924c8ad6b86cf07b6b2f01a6138636391acc519c469b7c1dd96ee5c707e1b81c656fe87df31519413ad60e56e06da46c0f762b26249426428dafa0420a5b97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ach/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ach/firefox-57.0b14.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "d32fbe4ed3824f2ece3987ceec2ab408032eb5d352a035b2db3c279a5c368a125ec234e3ab24728d4251838a2b60c13d3db3028cf48e3d2b2ed4c5b54ea47238";
+      sha512 = "56d847a9417a134af10f53ac5630f7b4a7108b177444327df97511494e2a28a279990ad37d48fe1fc482f34b45db66f1c8d458162f253faef3ea2e66e42e7166";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/af/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/af/firefox-57.0b14.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "fc5222c5df35584fbb18099913f8389f2c8b2f25b41f0e753d3e5f5ec78b5294fe5c88da0ac477e0363f31d7af96ec121b89325a0765cacec0e7ae3e03762d09";
+      sha512 = "98d55bc29423eaa62b1c5f179887ac95e8aa228ded6e077cc645660a048ee3e42da7966adb9dad5f168477262638456bd9509aeaabfb2a754f0435b60e9b3a46";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/an/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/an/firefox-57.0b14.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "e97bd96f4d22d6893d4f89bb9e2b53eac8a68d30b46352cf296ff36ee02d60d3982c02c84c97c803b0216f86d3c7998101f91745b109e29d8c7d0c61e324a8a6";
+      sha512 = "0478d738826d3d9b0898ab93e25527b4dae789652a65a7b16ec5796b8e48e575387fa3b7474d7092ad851e107c03f9c58d8dbe738277371f2e881c56c9f727f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ar/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ar/firefox-57.0b14.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "55741f17e8698e02731b431c8b20a2d702255e37171f027ed779243056aaca35fd863a80109679c5fb920d0a2026bdc3db6759f1b3fdfaacf237e4b20bc7e9cc";
+      sha512 = "4c884b86e8ef6b554d85151f1eb780edbee0bee6b60f2ae3b30ff9be74591c4f4df07e5834d0ca5cad456c574abac712a8e856e07892df652f7db510618d231a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/as/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/as/firefox-57.0b14.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "0e14c33b6f328cf931a7f9c42d5fe1d7fbcb8736381232c69920a45111410da3d09c1f5667e7206628d70a7caf1404c304bf9f4ec8a5ccc3342103b3ebcf3757";
+      sha512 = "a58c8f47fea197a5b9a397f8e58f73e381ffae3426c83872407481f079b62a585230d2f389245d5eca6308e8832fc95d8dbb7da97d25551faa44c20f6e032bfc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ast/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ast/firefox-57.0b14.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "a2d51ee57a7cef66d862c593bb1e52311593a21ae0a25d2b9c14a64065906de26770c61665dbb0d55930241302940d697c982e050750fc04a5c89ae1ca1b419e";
+      sha512 = "fa4f10093602f03b759502d76ed1d7636ca2fb0f83174869e3cdaec3503fae625e6d49a07c011dfdf6964aca7e8ba81861677cb387ab8c638a5a671864451dd9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/az/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/az/firefox-57.0b14.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "b9fa717fe7d861152d2117f1d69a7ae264f18c7e1bcd4e71df7404277db6376a93021e070edf73fffe1b00b3f7031d8c555df645efe63571d8831922d0212d05";
+      sha512 = "8560bb32c0c3aec695d86d1c0ab6491ba0c2dfd0a936e7cddfb8d3cd35890db31ea233afc74d19974fa693614bfe7728e69b8d1ee47a34331b07674b0b57f118";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/be/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/be/firefox-57.0b14.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "670dc2d6d9d35947d181dfa1c11bb84cc65aebd268cdea059997fef685619757d3d7c6025a12d00fc5364f258a64fe1b08a69357a2d31fff7bfbd0ca07cdbd4f";
+      sha512 = "026e1ecbddc4972cbf1a2a930fa1488b4e649ca7c811ad243a3c068f8cd6b57e5a73d193a3feb4cb49f012dfe3b5af9002f30609cd1551abc1ccc5e89476440f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/bg/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/bg/firefox-57.0b14.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "99deb263d7111123582ef53bbb1919497a6ce6c73cc160b4e26f5adc22f46e383208ae25acb5b4bf6dbac4d9a4f801ce70e170b0e6e5c9a03593eb2db8edb601";
+      sha512 = "9d145f71f46e12f071e8e181f6511d20a6ca5f1f1950cb076ca25b929893da7546b950450f7fcb41021c4591238738f9b8797395a86c599a907f0df687cf0282";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/bn-BD/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/bn-BD/firefox-57.0b14.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "34132da469314d9fe9295b835ec2b8b79816611eda646c04f7e064bbee5cfb2cc42f92e14a2eac60239c44205be4f3239eefbd1cad6700520ca3fd4bcc1d127a";
+      sha512 = "846001c844e9ee3d9305eb5be18438af65d5920363f19935a60b503d4a31c0fecf1d7e6fd286cb7ee4b7e26455496b1d27fbf6ccdf2d2a432ec2e2472ebc9c75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/bn-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/bn-IN/firefox-57.0b14.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "9cd206c11d28b866004174532a253ad49c06f2c6cf9b2004b15bb14bf597e776cadfebec4b3935a323b98dcfd3590bf5a3b289a9f7952a8a438a7e90884cc0af";
+      sha512 = "712ae023c09681b1ee9f41240d12a1641df5c4fd7eeff15d157c379e5b5779c65b93719b238fb121fdb9e5ce10809b21125a6eae23a77e1806daa0b2b13e4372";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/br/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/br/firefox-57.0b14.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "f30fe67e71b5c3c0e3f352653395094a31cbc52574a9dfbf5d5ccafcca528ca0a5b164cc75d5dc7d248eab74f0470cf8547fced782c979fb1e9ba4e177ca2b6b";
+      sha512 = "b99c48b8971dfdd0e642cf76cf890706402079122311b1b6af77d658b03acf87feb67918cb83e5435cbf0746e2c2a7c49bf7283969685d0b4bd616d4ec3066b4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/bs/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/bs/firefox-57.0b14.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "b2a546259e46cb58d44a61fa78e53632fdf0708921d80f329924180eb1a01dbcafe1372c8818280c0b40aafc7d4e6fa59d3f34b7e6a514f2adb1796d4274c093";
+      sha512 = "2203e66bcf453f22848df010cade83d6982178c8ccc023e05ff8fa60aa3f7e583f9d8e33a313fb70a696e149773d567be8228084708ca8d01b3cabc431a7576d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ca/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ca/firefox-57.0b14.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "0f256326b5338228098ec31b8182e2d5d85418c9ace5fae1ef5cde37704d2f333172e4db7497f36157fa530148585dc70c0bc1b677b9888ebf0ae850b4aba2af";
+      sha512 = "75ce6cb2bd7c1d79b4260dfc19237a1344fbefdff9775a7e557f9a31dd9fc6235f58ca8bb8430b80bf0f25c14be5dc2509e86b41b7ff7814e2fc1baa63f187a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/cak/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/cak/firefox-57.0b14.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "effb3d74d649b7adacdfbbd568b561f55ef277a9b7ffebbc27cad5ea0533a73918effa9997b9565d33635d8bb39658900f251cd071799fb15adffbd8022b4515";
+      sha512 = "b4f0a11030bad0cd177db357bc49b6f745cd429d3a8dd9bb09e99db1dffd32ce8c21a94c0b98b6db703fdbe16750b4574b3378dfd40a358bc0c7957fd2cbbe2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/cs/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/cs/firefox-57.0b14.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "494dc250f77d7933006121720aa6526534c7b90c17dcbdee6bad4e0a6f5224de661d3744862d5ce519a9ae4f36095af76d9b86d873d4db97991b1d27ff5ded8b";
+      sha512 = "5ee1dbd826801dc5b029c8eadcfe8d040f000527a6ff7f2a40713a137c59a144456adbb35cb202d7883d831486a0ad56079d07f681ce294a5e97825b7effd69c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/cy/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/cy/firefox-57.0b14.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "910254333d2f47f4d2162cab76f84f2b9f1808d559d1eab0d1ac0c1673406869b3092eabe7f4107758dede9394b383ae98ccacfba768772d550630f34efe5c62";
+      sha512 = "7116bf1dbec5603d22546b1927a6038812c2abe1e9e7e1ae556919e62f04af422950efd808e28eb7f8b349a9d79bf01b9280d6a6aab94bda8c0f6e2a8968b841";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/da/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/da/firefox-57.0b14.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "f9fff4a380c84543212c610aed98fb0fdc4a0d2693bd87c3dc3188d7eda73615d028c7ff7c15db12425855105a1b5230a7f62d2eae84a893f07a4b8cdd47538c";
+      sha512 = "538ddf539a6d9dd22bc2dbf9f712773c1d7896ce2a49632d4acc2e5716dda95dc9d10393bacdf2fb7d24342c8a93c39eee139f32edfb429b0bbf7053b7bb3240";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/de/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/de/firefox-57.0b14.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "2e772ae4b2f5246c96e30811a322bceac788325c40463470152b495492e60e3084e0ce55473aab56c9be584992b6761e364902352616e70050b4b0e9467b1a79";
+      sha512 = "ff33af1ffb0549951baa32e423eac3828b15bbce18ee03cfcdffb57504fb0e592db2721f7008e84562e5c1ad297311a1b3d4fd5ab41e3d8346a2d1ca50e54c35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/dsb/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/dsb/firefox-57.0b14.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "8c6b05440d039b4ea3666b718f8cb59f91804ac2899e9d2e0a32a7622f800126e3b3bf9360a8e830cb70408cd7e4bc18f4eeb639dab403718ca6226576d262db";
+      sha512 = "6dce022b035bf9c5d76c45492e29617668e0000f5f3981e3f132ca1595bb54b504cffa92d220e118fbefe8088f3749f4d077c591a12657ce9266b88aab8019c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/el/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/el/firefox-57.0b14.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "9589eb08e3d128e1c22b639945790aea4ce2524eb3c16d581c615f18b3f1247240085fb3b6d9cf3b283029060a86c0747def43c3d89a1548d907edd50d0867e3";
+      sha512 = "b917927c48189bd26289fabe3a51f59965c8a421aa941732a50aa9aa3769ce085ee69bb04202c21699f5ebd6ec2cff75ea2446246d89916127be9418bb00f47b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/en-GB/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/en-GB/firefox-57.0b14.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "b1848e886919f8698fb8ab7272e49fad3ae1f5d98ce92b3b82c6117f79df56a8ee6bc2ea2cdc8987701b9a0fb4c2b1e1a58a9faceddb0366372a40139a1c7664";
+      sha512 = "17257657f8366c5efab1a0c47aeb6129e624c883222a6bc3bbb097bb49b531894cdbfd39898d0d83981a1609fd3ea5dd101419819a1f156668fd3cdb3758b8d9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/en-US/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/en-US/firefox-57.0b14.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "327081605198481bb18bcc45a88c4388ec9091c6c10bc6a27ae58e133470651d50edb106f95499de4e38d7ce78eff68bf38f430371e4c490962e2cdd3ea55635";
+      sha512 = "c86cce7893fbaaf4d3b00b961b07a2f2d680ec07451b735449a501b2d9fcfb2fcbc0cb29150866805ad38f6a4aa1b6c4cd87f5872b8c735791953f3646600703";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/en-ZA/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/en-ZA/firefox-57.0b14.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "bb1432ab9e9f2e11fc2270501f25e3181aed4a782fb0337ea676e75c4db487a48bb1e3e44f0ea703c84c4dbe8d5c4e9a102c8cd1d45ff673bef7a5b884dfe707";
+      sha512 = "0b278c62b2185a4a6cafb7015062693a0dad610ada1123d07e162456e4d942f02a0566ce525e68b639fd152c420b925ee3e934fd3c42ba25524b18cdeeb9af5b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/eo/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/eo/firefox-57.0b14.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "8ff8c209c3aeacff538d2f265f8a6eb7621d27df237c33b9265d9246674d61f7905369fb2b7636920cdacaeb3d44be11dfc136de940658309f3285e62179f8ee";
+      sha512 = "a681db144a631e6584340febc3de05803921b757f7c1d39ad5b8ff3d119ed8b71a4d70a43ac1e3a121e04102770d2796103aa127886753b2bbea723e22df7000";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/es-AR/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/es-AR/firefox-57.0b14.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "4eea00d279524be9a682ae46cf602572e0e1469d1dc10e37b1b0a58868386930ddecfe0dc43f0d185ed9bedb29fb85eefaf87d83ffd00ce51db04d37e5fa78ce";
+      sha512 = "40f5a7d9ba055f7eef155601f8a57e566c0829f32c92df48ea2ecebf6e10dd80885881a98d18a693643e2c00f8734218a7ef8908652eba1c4d4288f95a34cde3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/es-CL/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/es-CL/firefox-57.0b14.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "c130ca1390f9859ec6d276f77889cd804a38e32551c898a17158b1b7b629f7f72a39afafbde38029438c465e3a0ca82cc80dd73905d84c0aabad8ebb35f2512c";
+      sha512 = "be1e5b8c6e184519d0b10fe67736d7635b6fe8ad71ab78014e53ce9a1f1342a83aa1b18f535ecde2406e8be7a8633ea58af9adb355ad2b19ce0879c62f70bd40";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/es-ES/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/es-ES/firefox-57.0b14.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "6b515f16a2555f56c1cd8d4487efe2d4ba8107f3122b0dd81df9168768808d08314565a0a7bcfbbf4451d2a4e84559e84fcc730caa1641e801c6daae0ad517ef";
+      sha512 = "be0d2b2cb5f82fbaf10be63aa76a5ff9b9111b4caf0ef5222b3ad7d67d39f25dafc125352c00bd91bb1eef50a6f57e996f6a10618d50c5d1340604883bffecd0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/es-MX/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/es-MX/firefox-57.0b14.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "a3fa5b35773656152eb16efb6486d8e33ca29e0094de24e389e94a6e7fea761569c3ad48984f8bad255c8ee97f54bb5521444993f0a8ba7a3c922da66c1295f9";
+      sha512 = "439f679ddd8169d51e1c1f9ad32185fc9b33df0a1301af7bdf8982dbfc5410cf82edb4dfce3dedc214ab258d714da91661882e45b8220895aafcca171fa9bb02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/et/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/et/firefox-57.0b14.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "7a0a165105f5b1ff3f997fd400bc8d5a1bf976c1f4910d4c91be9827a5094dcbc03e8426e644766b4b255dacf861e88cb3c2b75131a9fbd89e2c0eca69718b36";
+      sha512 = "2b80629eba503ca034fc4e9d873707aaa7668b2d4563792e3500acf89b35153fbd7f6406d12497b1ff1423e7ddc3bb4e0f3f63cc759758e544145f31aaea5a03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/eu/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/eu/firefox-57.0b14.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "7cd08c560ae83926226cc69a10691918b7c89cc10282cedcc57955b362546554e76b36af217a3187b11abe8472838f4cfb1a32095bb537b43f33920b37b5965a";
+      sha512 = "03047624365bb4fc5bae68a5bec91a396da7d404731cbe09d89baf3079be0c4a9a2c7ff73d231f39e98689d5c4dc7290d2401fe14cb564ea53d063f79d7c151c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/fa/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/fa/firefox-57.0b14.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "02b19d0f74413a92c998be3540f5f8d25ae2857e1eb9b4171083bdf392e5dc5ab0c6b58de54e75f221f731806fb8a6df070146564a3b294acaef76fcc8e633b5";
+      sha512 = "8758735d6bce447b8492f9a395da6f58c63537fcc946b17b8173554b6eaf32a41137011bbd44842b16e8053d55642feb880e9cd52dbe75fbd55dc592724a98a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ff/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ff/firefox-57.0b14.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "df7485cad8f46fd93ac6a013e5f362a19b1b603240ce50044169ffa4a4267102910c1d6bbce9a5d3675911acaf64dcf0ee3638090c0236ab664e9af5b4b567a8";
+      sha512 = "5d6a1b45f69135dce282fc411237db713538830b00f6361f86a95da199d56f2bb351de9e59fb1d61a4b617c79e8a80adce3c3e57ba837187d4c368b79e414dad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/fi/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/fi/firefox-57.0b14.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "26971b0778b87e3b0a617197356626bc3120b2214b406e01f5fe865430abfeb6dff471496548883e3e2355d32b1630fc85f501eb9934a9b6fd23270d47df5984";
+      sha512 = "f35de96ff1b8542206fb8e9942333397050a6e88bd0e6bca3c1e56fc4dc754dfac0b554b74188d316e6c820881ded2812efd9221b2c3d6497826ff29b89382ec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/fr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/fr/firefox-57.0b14.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "324c4cb614a8c50d9d7eabe6e2e3aa420398db7074a7d043c4a44c5785a640988c9d531aab92f51adfaebcbcb1e274f825024b09e302334241a16c622ed97f7f";
+      sha512 = "118d6ae69eb686ed1d791463bb2ba025749068017de94a9d002d22b195ccb9e0cf0d042e613ca88c310e685070612a070308971e12eeb318b26b2335b13a6a33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/fy-NL/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/fy-NL/firefox-57.0b14.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "e5d8d67c5c549240264b7a02ff6c5f54295f04a26553a5a19d3b58f94bd3531c04d5402084fd6f40d63f9aebe2df7d8b50415d8575774f71df5a180e50d39728";
+      sha512 = "79a22424fddf0add63c3a3528a63ea4c0c9d39f3bf9e35e18fc9ad4a57be7e7f675087f1a491698868d5ce57cdd149aabddc224b7b3078ad3a81e6ee6dc35b2b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ga-IE/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ga-IE/firefox-57.0b14.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "01c0998e8a32e6da0127680d17e71c173c21eaab66603ee6fee0ddf8698a16501d290b1ef9d375d4cf678606cb4a73c679434e22b309a592523d11ebcdfd9fab";
+      sha512 = "04b87f564be35d19135973a0e17c2db1670aa804ad8c76b40c8f3ccd670e0c64456d84cfec276dfc55dfa29db5fc0bc70826752bba756cdb597c7fc12da1d30e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/gd/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/gd/firefox-57.0b14.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "88eb2f45c0242400d62310e0efd492b27b6439750d01f0f567dcfa48398c0b2572c842c6155e370b0400b40c2dd88b7f2696daa4e42d0dd5440b4175a409517c";
+      sha512 = "f2a66ee64ef80dfaf2c16af952be22ba9c11b3a2859b6a861e04ccc2e7863ed5bb1421338c1ce30ad9ca4506d6223190ab5feb194ee445e9fb09a11aa99a465f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/gl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/gl/firefox-57.0b14.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "d8c9f478d1859240b411ba6a819153d6d260216aa3bd4acdd043b0bd6e65630f02fe4b7f8dd549aef81190ac8358620487d5f2fb796797d220df70b3a597cbbb";
+      sha512 = "f59b462819ee53e8727863b3e4cc240b83ec5828860e3a0428b012eb4047ac837760157a7db60bd85486cfb9945185a2b8f637581e489d90bf140bef873dd9f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/gn/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/gn/firefox-57.0b14.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "572a00d95247c758bc81b0cb61c2fa659ee5412ee3ee948640549d6e737fd0ef622ac4e16715fcb269980461bea32ccbd2249448ae8b340ef26c322f5c504090";
+      sha512 = "17499a923e6f7d0e63e4ff0ebee17f02c99f614da02d0ff8a737a37ecdcf69ba1798139c1b824d187b67b443e54701b1046b59fc6bac3757f86fd6303a778c57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/gu-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/gu-IN/firefox-57.0b14.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "34a4760f8748b6e6cd1856f5e99f04e320dbcd1cc3021e185abcd23c12e881e2eba31ef9253bda6677c767d5e7fe5aa0dc22f1145852dc58a7e24278a0c6dda2";
+      sha512 = "605ef03bab50ab1438be938bd8aadd917c742a5ac0bebd14dc8388a6e5cd844b52e0ef23670537dc50c2f3b4ca20814a9e559e667f3baaf292ce3fa16ded26a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/he/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/he/firefox-57.0b14.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "57a0b28a0f68d88298d25c62efa70898aa911c11f0733798739f40e546288856306e062033d24abb80964345c0f0224e2c5f3a15b01d89c4ed3584b1e931d91f";
+      sha512 = "51bb0b64426ed0d46bb2265b18138dd0d5fdc58c2782d3bff4dd8ae13bbfb354648b346e07bfe2795a4fc31cff2df54d94ceb42ba0342a59218eb5444e9fc12f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/hi-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hi-IN/firefox-57.0b14.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "dc1db5ed5ca72c48729ef8d2a25cf608072fa7112e02b001943242ec027157e197828e85697561febc15740f52f9ecc6d666d5c83201ec8101a24ff66e8eb4dd";
+      sha512 = "74c921e0bcefd0c81616b8685ac3a0fc85129a950a917ec37c724fbd92df8099e79726639cf18235379ebd345f78de754e4b4e87d859e696aec6e780c607839d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/hr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hr/firefox-57.0b14.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "5488074d04fb6f592abde28e1ddd8e2d949a8744849f51192fbe0441a551b358ef8cf1cb78f69b5340c07b266d11783e2e722ad5574f255186c6bdf9762aed7f";
+      sha512 = "8c4b634cbacfe34a2031c1edf196201fbbf13f7bf22be2910f27788e56b0647598d805953b888869644f4ec3547a0813377d517676e732770684b057e5f76028";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/hsb/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hsb/firefox-57.0b14.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "4bffd78e28363aca1d2b63e56ed44703bbbcb701b4d6e1c353f36939b86c3d7045b5104d7f3da920a8a6cd3b69d021b5d19f9727c5fddb8a86c594d15fae80e4";
+      sha512 = "59ed77d9722413d8d75c8474de28660fe59d8990deb3c1743fca4fb1c18529173e0e7bb171cdd98df961792ca6368b91db26d6ebeb461543473ee5ce8eb7da82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/hu/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hu/firefox-57.0b14.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "6a5ee323244358ed68c96de80f9ce1741217cb002e33a8c93e8386773ab27f11b7bb58747daa4138e5b91b2bb4543e1dbfd14b90731cf5bf357376f4dbdd3a44";
+      sha512 = "de8d917b533941220763d011fc9b38f0c0f8f32f09d999fdbe985017a002c3375b592865420e58fdc4a3d56f73206ddbbac568fb506ccd2e3cf4d2507e8ed315";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/hy-AM/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/hy-AM/firefox-57.0b14.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "28e0cfb93884fd78cc2f126f8c08714545c2550ae40de29e0dc1f3186fdc437592c6365eaa92135dcd1983009be7a5021001d2a7e703bfe6bc81f695ae662619";
+      sha512 = "ea76bd2eff30277dd06d606b0568dedb0f01c6330118da99fd6952f9bd5c8060a621687c66853b46554560b56f1ad2401e87e66bd44d1a85831805caf7ccebe2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/id/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/id/firefox-57.0b14.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "00136a82e957274eb9316778ff0f9aae66df21d6ecc64f67757816104aaf5cd6d83c0d9c0224214cd2d1c5a68c7bab75d439cb049035ed2a071255a415b337b3";
+      sha512 = "024ba211754ca36470ff316d626f46cfc2763b94dbfe027fec9dd628a0c617fbc9050ce7af336d22c962bcbb9190f1980b1381c5d3509485b4f7bb5780c6d15b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/is/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/is/firefox-57.0b14.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "6f22f0efac6858498c755fdcb848553a0e40bb80bc8dd6717d986e84ee5bb8cf7c608592eaeb6653f6454147cf73bfe57b5e62b581c2217b8546fd27fa9e5c79";
+      sha512 = "d53d4d7545bca63ce99dc691481b890846c33f5efb802734514ba493e1b31e3b4ee9632a4389dc388c77692ceefa9eab4e9f85de1298d0337a6756ceb27d55a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/it/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/it/firefox-57.0b14.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "6321ade81a09236ab3b3ddd024b3e5ad6404fd712ff6f23f72901018157f9a845c492ecccd1148cedc1911365c70c286a7d947cfc4afa534b274080e7bc6909a";
+      sha512 = "960bdeabd29fd9bfe72f9e2b5dcefc1c9577490636e9cacee964b8646ee29ce2cc4c9cb87a93f057e2a6371cb734920928bbab90e6c6738a19098e9e5a4dab75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ja/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ja/firefox-57.0b14.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "b652eb0aa3dfd71dd4d72e45fbf2713fed947b866f1fdf172a473d80cf3005706558a32d7a04b38766517f6ff571166ac5fdc1c8a5b89cacdeb91f9ebe98674f";
+      sha512 = "f9d889ff8a25259bcc28b1178ca511ad7cb0ad9d0882c8b3f6a04e98d5f4b63ad9b190cc66c184f93fc96e0f869bdb10cdabaeb7b9807d49c3f72b7c62efe3c0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ka/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ka/firefox-57.0b14.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "38ca6189c55363040db09d55d6b6d525eb91aa4858a660fed3b400ebe5e4cbe723efd9735b77705a1caf811ad0f0a9a117701ce8414ef6109157357193c1a655";
+      sha512 = "1ece76f8237065e712b9835d0ea15f2b7318f420f8e4d6f73496bd1dd9cc5fbbb4125a04b4b4cc5c36bedaac39fb844a101653efbb5d0555bd13c3a4ea3e9d28";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/kab/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/kab/firefox-57.0b14.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "bf581810fd19d073fb80dd3ea93b6b856614e4821d095800faacc3c17d63c53d7d65aed4b168a3cdcc29a155073af78d26f5967f29102ec4b1e29325c3686b67";
+      sha512 = "67d22ff37a79716869d7b59e95806c4a9b89bb2e256e0f1549fe5d3bc9fb3909f7d1c23111e8bb84a9cdfb4e029414908a79a8512c49847fb1d4b20263ccb43c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/kk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/kk/firefox-57.0b14.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "aabff3d68e37a9b41f9345d8968608082c24e50e859a693d4642a52e534c5b8b7a5233469a1930fc54ecaf7b15aca486ad66b8cf3100fa62e474b4ff261b37cb";
+      sha512 = "b9cc2b1c31ea4bfbf17c2c7b0452bebb830cd3b8cedfcf2739360dba562119e0eede3b660a403420f367287e94e0bb34f072ea13b1cd1b58681302267f299464";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/km/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/km/firefox-57.0b14.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "e5bb4825d777bc6001d7d95140d03ac6c44c96eb602141be48c36ac82863dfd5bcfb25b529d61f80b8a939e692bf833886fbbc48c45ecc7e024952ddc5dee570";
+      sha512 = "afb6985ad592ad2d634c3f84b1d573bb87c59bad892f066ddc1bafb5cce7109c59403f3c1394b2f65da0fcd29ec897a3144ce1ed410f623354410c27e386ce06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/kn/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/kn/firefox-57.0b14.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "1f5f4d4fe4b729ae2f08432a5d074354121c876c4cb0e7344e37b8d02e2aad38a0b16547d2987418acb98ecda10805dfd012448332c8f8e5d1f772cbf21554eb";
+      sha512 = "cc85e9d276e4833fc962554e44a54ba8f5d56c387c37ea78f2f8deb1b845eae8ecaba1761726e209275d24c4192bd61e409c9d87320c1315665c095fb5231a9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ko/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ko/firefox-57.0b14.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "19ef2c157469a3225c7ffb875e66f41a9d2828635b26f6dfa0062cb92c0841c53f2eecf77ba9b043e3e2f448b8a08de55c7f74fc6fdd3f7b4554d13ecfa746bb";
+      sha512 = "3934a012853c70b77fb02689141efcba7679e87d115d80d1c7f5945027f082986e679f146a6acbc97ff5b5be6b0d057e3b3f8dc292c4e66a37d5c3972fe865c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/lij/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/lij/firefox-57.0b14.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "4e5e6103793dd20efb49bb85dac4dbd208c0d164e69c5856bf9fba96350c3682d894af857d239e23f3c3e802f7300b5b915486421414fb6f9b8af86ee50e247e";
+      sha512 = "571334620261a36127ae1e7a03c6142ed22fe49a95e28534030882c47a7325ba8200b8350904fa0e501cbe0801c2bb1968b456e9982bef165d3db0e82ad34b89";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/lt/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/lt/firefox-57.0b14.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "d01f311ee9f36aec032a5c4eca34a86ebcb54960fd29b03af00f2b289c2b4a38e232242d1e48847e2385e7ccabcc1c928ecb1e57f9001d181c350762d59ecc72";
+      sha512 = "3a7a0f09b52991a4d8cc6009c2fb91f3f908989d8178b4b9909bfd90f29db6ba11f29ffb35f3f1e578f96d6be10eb0fb337d28188dc792e6d024e42a5a16af8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/lv/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/lv/firefox-57.0b14.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "d23ce47ecf7c790f38a9bd605150f403776b4e469be590a57b9de624fc10bfac2a3572470ff496899c2bd6ebd1799e9f4687b4e77e4714ab8228c26998760b21";
+      sha512 = "7e5153caca960317e039f8ad44f6eee4ac8f582ff2b957f70c9eb3d6967d62fb94e4b13611006d746bcb4611ec1b0a003bbf610d412f9e41f86a8ea19096b70c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/mai/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/mai/firefox-57.0b14.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "7d8baaa2d79f6e50afe9b915d461a4ca25ba777dbb0497d2fe0b1ed92eb30061061b3a29514351841f86366b91da0979b5bf270e290c477397f3201f1b517398";
+      sha512 = "07cbb84ad4537482ae8b1ddb00a86197552d3a80f6432779952bc9b1577c920de07e60f78272b1ee3889b031fff1c5a34e1c1a69d3fa0621fc53413242f80242";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/mk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/mk/firefox-57.0b14.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "b1f35402ed051ba91294dbacb52aa451efd48300fe982d638d206c75c3b0f7871fede1d7467ac8d6ea4308c4967b0334873d72c4c731c69f343b92d56fa7bbd1";
+      sha512 = "230ba5c56d60d1ec08092e9f6ae396fa836df56dff1aaed933a706014318fb13328db5d6b0bc3dcc030daab5f906d7760bb3a6af3c03422f724d627ab8b9d48d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ml/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ml/firefox-57.0b14.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "32ea1f66ab87b299de4256cc25c6a67c0754e9fc8569f9c9693aee850c034bce1e77cfa6f8115015f085f74bddee99a7cf487cff09277f011dc51f9deb07b97c";
+      sha512 = "e4aff215ab6b3bbdbe08f7cc698f11b12bfdab232ddcf995681ef62dd9808789541e8ac7b9b71c003775b78451c06f79ebc45d5a85562385a2e449679db346f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/mr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/mr/firefox-57.0b14.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "3cf3fc88a84de5dce220f89928f05b8f8b1d8ecef2f83d01a880f07d5a935886fc30341eafd941f31213301773f463fb4f4681cfb5e8311665f61c8f28a5c0d7";
+      sha512 = "b2b44d4a205e39d82b453a35569da1a3f428610551d322a1c57e64da42d96ca2f199e8e01769a24628506cbf3b621cd734923f9760305de8e480d51f360f79e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ms/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ms/firefox-57.0b14.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "a3b9dca6a332f939e6ac7b51956f34e893e1ab5e62e9c8e3afceeb6233d7d378b44fdd9f6dc46eecd73aa738df46534956545293604faccefc34591a7ee6e12c";
+      sha512 = "3646303c3858e4c2a7dbb555495f5f06b1867a04a37cb8ce95bdfd998e7bc96d8afb8c83b1df7d945bdc8327cc8d7be3f3bd7199efbe23e58cc3e38608ff8313";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/my/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/my/firefox-57.0b14.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "9daa4560c3c4424bfbce4f23bc414979dcc96359af3cb7c29f2a9c262aac81d96493cbf9f938b8b25ed0720801d0f87a11a7e5cfa83ba78e86e2fa0d2495fc45";
+      sha512 = "afbcd9f8dce81267614855d4d59da02f87d369c2c0af78e28ebf25de18ea4eaa1412999fcf3d414ebd030f9448d71e48500a4e90aae03b3905ba69f2670b17d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/nb-NO/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/nb-NO/firefox-57.0b14.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "d5ab3676fbc7c3d3bea1af43bff89c3290af5846eefb7bc51d6f946c8c2c7968332de918d5fb11c475e873e7e1a032213e75a00407092e51baa5f0d0a64fcf9e";
+      sha512 = "747dbaa1919c1cec14d4e085f8c8f284fc49508ce82cdf9a97538a85aeb9b901eb9e160e03346a769ef760bdb2108b33a25a967a527dfd3758f25cf11bad2e31";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/nl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/nl/firefox-57.0b14.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "6f1e8bb355f6ca1e8ced4b9b69de26d8cec4adcf2957a7422b98421fba4c3d7c3fe91596fc9ea06e15137f8bdff27153b9d068b7707c7f56b5357a7aa2ec6ffd";
+      sha512 = "d882e7c1a49ba670535f17fc9ea99e7be4505d6dbd5d90855e4614cef319c38718da445afc411f1951ec3fc5d9a3b8799c64459a7adb588a29a126d1cd16d8fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/nn-NO/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/nn-NO/firefox-57.0b14.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "b9c27a5c824efc48e85fba2823d9288990fcec545fac3b1ef6c4617a624ad685b01d96d23ad8bd5eb1e7787849afc630560e08cb7fc617cf2e25c9cb9f2c1ffc";
+      sha512 = "8bc137f953b13a447dfd419b9ee0e4005134437892f214e49e18f98e080d5413d1dc655bf0bf417cd7c8a09811d3e7850967662b9d0be0d3b72cbc92db7e2307";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/or/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/or/firefox-57.0b14.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "50c0e9956bb17f6df5d342e0f43a4439510e80d4001f504d566d2856e885aeef2b54b57761943771f8a4ba6648209080290fbd6d556934e14565bee023c257ea";
+      sha512 = "34bbba4bf288f62654f88afc461155a27cc0316a920d7b8e42198054d5800360401c933624140cd569bb9864f9eeaa5616fe2530888e4717c964506ce66cce0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/pa-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/pa-IN/firefox-57.0b14.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "e01f2c4a9cb3f7e6adfcc3e58a5fb5485ab41ae01e302c93404e7b5a7bb1b30f351e364846853a2c6ac0ecddacc03806fea945338c050928c6e8eb6dd0a80600";
+      sha512 = "1403e23fb95cf8449a149ecd698e768897a3733718dc1f6eb4590685263e2a1b54aaa3e557a968cfe71c5172bbdf7d24f3eb9fcdbeb431e31a1a26c0b9738e9e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/pl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/pl/firefox-57.0b14.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "1bfbc1b9a401e0d9b912f5c91f1eb22b0b968d8bc75ddafa28390071431d17c4251b2624673aa068f59a451b7a9bab165690b5c87ba1dc952242287980c63dc8";
+      sha512 = "a2d99c00bdb839e4ce89d1bd6a0334bee4b6c6d426c3054257824c46abb1eb3c1f283aa0a4a030f1865fea350a7032cfcba86e231d11ce06ec3066f5ac4d47fa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/pt-BR/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/pt-BR/firefox-57.0b14.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "75b83b22962b42160d5956db90e55f23c2f12335569f908b1ad1acce48704e9012b4d2c8b3575854e7a36ba9dee49f4b96391a4b6958fe80545501dd91609084";
+      sha512 = "5768a805aa0b7780b55fecbd9bd349c6cd78efcbb3595acc7cab18d3356835e53e63e58e352c30c79b349e0b0c80be59509fa684be21f541cc67aa320e654f44";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/pt-PT/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/pt-PT/firefox-57.0b14.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "4d9eca88e092531b87d8ddabda513f9a42a762f7af2511dbec25eb88fe791fa94bac3b08c7521227ddec2b049a4a55cd7d862144696702073bc13906b1f39f83";
+      sha512 = "ca4dc2c76af2db4d9a44f8ce9f29adf7188a799d00d2e8cb1bac807dc90930b06cc5329097ef771e4f070969cf42c3cfd65b32dfd3112f59efdb0071bc6292e2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/rm/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/rm/firefox-57.0b14.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "44b3eaa4cde855738c221e7c1a3acc80d862f5159c13d946d67e47b382dfb4a5a6d360be961a03f605aae3e1c89e2a8a0d16f586646cdd1a3dec13f777b32577";
+      sha512 = "86af2317c04244c63f8182f46eb95abb1a113223c6d503c6b85c2fa9b596f44959e86323da0ad3a708f6c94aea4180246bb562f26c64a8c9b27d9a490d65a291";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ro/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ro/firefox-57.0b14.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "a9dc8a1b4f0b236f2660be71df78c41e055b0547d8ce9bc258798fd4483fe888040d2c04a0ab0bab4c95a712d22370d957513b5ed08f1e332803d7067bc37aee";
+      sha512 = "2120d05bdf2dd8a702726e232fb3f94838befaedeedcb7c651d8d07047759b885904220173bfaaaa6d55b71e52085ce23156ad030992e8ae3981d47b41de046e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ru/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ru/firefox-57.0b14.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "d2c42dee48f21e847de67efe353088ee949fc0af99ef510f5b76128933fd5432b2e0cced59ce0a0157e396b92beb645d78d758823582cc5dbb63718bf85d9b20";
+      sha512 = "221b4170254ed9acd7edb256ae560060f640c7e6c02236e1925e38489e387f839c14b5cdfa2a0e4a0173e8b98a2ab57b7733a6fa361172166097fc84b260bba3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/si/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/si/firefox-57.0b14.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "57be5923936b02cce924fa05994a6a887906104175e305043ea5a51e90cd35cc48c190ddbe2d060d64965b32c65296967dfc53a1e700d7defa078d02907069ef";
+      sha512 = "ea216290852677ae93bdbfee42b65473f9e00797175b7e36f4766a251fb302fd69009888f36efca7d04ef29fb0d66e75bbfddbf25f7f59dbe1d6767ffeb0c543";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/sk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sk/firefox-57.0b14.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "12a74e9df967e6a058fbf53baa842bf199190dcc3e5c81eb49da29267760034ea41abdd5b1610f4e06cb30e462cde4c74430d58ab7efe7ed755d19919550827c";
+      sha512 = "92071604add2392aa144caf61ad747d98be52c3fbb82c86f903772d470928f71748d8def2f367a8b6bfe04ac6769fc57f8de29210ae50bc45b75b94f5005b564";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/sl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sl/firefox-57.0b14.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "9053a6dd752ee19f8dc49a2bc41c1d91b6a0f77bca71cbdbbe46b645388320a12be4db14714c62c2306b1bab78059826a8fecdf0897ec52ce0fa8e743e25b83c";
+      sha512 = "94341abe0210c9632ebabc47325c55577e9e6a5f54b4cfb0ba9d19298dea1b3d6f70a68c3f82f6a4c371f8ddd6e088b18ea56282faeda0c824040e6c4cee0db1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/son/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/son/firefox-57.0b14.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "b8f6bbe404306f17ae982238d573302165c366beff14917e64dda7c07b6a2f4e1f9b2042a97b3cbfab02f5e7fb860287cbaa30536494506ded1ee51818d3093a";
+      sha512 = "537a57fb00d61b0566d9fd344919b65486f7c767c93d0aec9595467cf9a081d63c8ee7d3c7c3a3409ddb08d57f36ae078e3defc79826779954641c895079c1da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/sq/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sq/firefox-57.0b14.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "6dd4c84f38d7c1d0ebff77737fec3ec669532fa9be785414a9f125cbf184c88185bfd4541818d696b93237d4acb0654d7c6f38e9a0ab7ea35a10369ccde1bcb8";
+      sha512 = "a4ad413f8bf4ea8333b3c182a5c02283886e395e58b6ac5a53a298afba0938ec38648b67af3009a44468ab6fa89b6684d86b4d83525f0dcbb470f078584b6dea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/sr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sr/firefox-57.0b14.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "984be4970c5224077e6e97c3137df1d62ccebb7fe78e3506ce4ae78e17d7961653feb276712735293d2ebf22a8ce8b0b91b28edc80b2413fea24dbf059eb1ad6";
+      sha512 = "15990e14d69bc0f043f7bcba54c5c27b7562c8fa68c5c14e7df695382303ee6ad40eb6b22319e8f9110b59f51209e0c8a6357e257862a50d8d515ea7f414ae74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/sv-SE/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/sv-SE/firefox-57.0b14.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "d0fd4b307598fd42d76414f4f097d0ea3e2243ab8de536870be23687eb6ea64f226a54b3fee176451bcd9e1305c6aa4c60daeb72b3341102f670d4905f4efe27";
+      sha512 = "690e94fc46c94710e488b1a8cd096927756026d0d6ea49f983883092e32f9dc0d2fdbaf6efe4c236cf750873b7907807fcec6826d2ce8b2473d0c4ef5461a1e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ta/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ta/firefox-57.0b14.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "6b59fe4cde16c02c5b4867d48e6af4814794bf4a4f3b41e24cfb6e85d1e81f31446193c831b2ce50f30114260fda5e0a20ebe15fa23e1b962f07d66394f5d654";
+      sha512 = "839ac81dd6cde69b05e934a4bfb943fa5c65f86d4c7d64c58eb86e7911f81d93a85abc3ad732ae0baa9c7df76a906826a109ea15cb4ee85e802248b99b9ef1fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/te/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/te/firefox-57.0b14.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "a65e6b4d28f91764aadde1dd954d1e888a5bb24f356deba73c68fcc98d8be669a8f5147233af89881dbf20e40ba987326d15d5fcb857598e6718fdac4c5a59ce";
+      sha512 = "58b1225e50a0d3aef4b1d2da5d494b41e5ee41f53e2878a4945daf308d452348deed4cf87641aa51e9c061393c239109d02523596efb8ef7c675c885d80298aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/th/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/th/firefox-57.0b14.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "bc6d32c9054072fe931b703aec3c2a6a60d25dccd6e853eca5e716903a4694618e4cae79c9aafa52a2bd34133b6314b5eeecb92e56082c84dc10c47dd46be085";
+      sha512 = "6d0cd2b6cd315ca50445f3f87d1d2d2977bc34246481a58239f06a90253bbb810c0de488d064e80d3d2bcc475d34481c1f59ef0499ff59057b77c0cd67e71c7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/tr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/tr/firefox-57.0b14.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "31e923c48adbb9e2b87ab6d5bf9ceb951426ad8c523b8def49900875d2a66220c2800ca25ddd4fc0f8a007ca4c95f7a69311228b34c5a8429bb26ce9b0f43871";
+      sha512 = "291f0c8f1241120a4fe4c2754ac82f443ef6f0d354f8b71b25b2020948a4de5b7ddbc87bbe2fc08b09ab1ec491a34fbbc69e6d472dc0114e369a99f967bf27c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/uk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/uk/firefox-57.0b14.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "5036b3bf40bbfb13eb99aec17d90e9a7a60bb39eab1bcd21fa62b1d12b47f4b9eca7980c762f67ff5406ddcb20777a6553fcb02e611b276f1cdd483c8b67c162";
+      sha512 = "a6db7a4daa79d614b2d7c94372aacc50b4068ad437b38aab72cce99aba668fb230d5b81691678e09efb645282118dedf25e0c94e9d9cd9ef6a692c43a288e119";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/ur/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/ur/firefox-57.0b14.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "3605b5370f7158ffa54f5c5def6806885cc609b385b363e5a5c6442ff9262fd666e35b3f2256ad68b8f03a9e95282f3792ab83f49f0efb1e422b6dde56a85713";
+      sha512 = "cb69cf2aab416490b866e9b15b3706dfb81b003887456ad83907047424285f46d1a4b727766b78a633b33c6418c3f24dd9b53a90b151a1752709191328c0e227";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/uz/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/uz/firefox-57.0b14.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "a15e00c34a831eb8b251f60a9e17f7cdb65ed097fe0182a576c5809ecd208938d38c99a711750f0fb7835565adfefb15acbabe3b66c2f03eff36bf05527b47d4";
+      sha512 = "bb29f30171804b14aed28e5953bdda7bc94e2e1d23eb9af54c36937f90ff7bfd068abe4c065690aeab2ea61df08a59a5ed808e1f41e7d055b81235f8662d35ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/vi/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/vi/firefox-57.0b14.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "fa4e9de86197c3a95cd0d048e16de89bafd9d4733d3f2c96d221aa5c3839b980ab92efde0d18347251edf718f8d37a3fb8c5afcbaf254f697e320420cb91cc96";
+      sha512 = "b91dade05c291572c257be0a33d685fb48079c4c1dceb95d6b51601430717c5bdd4f962b9047c2f2a22dad38578a041025ad59b424efd1260ddf6f9d9e4d92b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/xh/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/xh/firefox-57.0b14.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "19b4a96abda10b29ab9aada2d9ba70e259ba0a3082796def317e1869f27b6326fe03f9d909f6753f494caef08f0f24e41f5b8be16c5c84ccaf06cf354b926cf5";
+      sha512 = "771335861bfdb99f17ae6c8607e784e3901f637d8e4a06385bd2bab4797589377e8c1b875600e9d8434d6ce5a7003ba4ca154dced98228b85c6f70272c0b8616";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/zh-CN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/zh-CN/firefox-57.0b14.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "dd7e4c7bf1af9975f043bcc2be140b6c667f6dd74c2acc5d31963f6963fa5e0d7dc672fcfaca7ebfe99fd14cbd78725d24dc9c490c9ed1e211bd9e154e51c311";
+      sha512 = "d48c546975b92cc5c130e50b9fb3c84116235aaaed6ae8e04e975d8ed3605540b9ad640bc995fed23e42d271b9b2b598613b14822358c7487852030c5802dca6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b13/linux-i686/zh-TW/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0b14/linux-i686/zh-TW/firefox-57.0b14.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "82b442aeb21b5b0fa7d48519ef5a1d3a6b57f2e013cc4e7a18b050cdd6632ec69e8383e58d0608515397a460a2bf339e03f3e11f780698d5b8e3cd4f3aa8f5fc";
+      sha512 = "9e731700c738f0db2390478ba293f78a98496c374cd871a0ae483c3911685f0cca1b89531c06177f739fda77ee94fba03f2d93ad4669ce219d215cac8429819a";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 31bc01ea14ad..347ceba9ab4a 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -54,9 +54,12 @@ let
 
   inherit (generated) version sources;
 
-  arch = if stdenv.system == "i686-linux"
-    then "linux-i686"
-    else "linux-x86_64";
+  mozillaPlatforms = {
+    "i686-linux" = "linux-i686";
+    "x86_64-linux" = "linux-x86_64";
+  };
+
+  arch = mozillaPlatforms.${stdenv.system};
 
   isPrefixOf = prefix: string:
     builtins.substring 0 (builtins.stringLength prefix) string == prefix;
@@ -185,7 +188,7 @@ stdenv.mkDerivation {
       free = false;
       url = http://www.mozilla.org/en-US/foundation/trademarks/policy/;
     };
-    platforms = platforms.linux;
+    platforms = builtins.attrNames mozillaPlatforms;
     maintainers = with maintainers; [ garbas ];
   };
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index db45ad956561..2f3e8c40a3e5 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,955 +1,965 @@
 {
-  version = "57.0b13";
+  version = "58.0b2";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ach/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ach/firefox-58.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "cf01dfc2fa0995b24457e9aea6faafcafee48c900794845c08ae452fe920f75841db9e67302a7b23b6bf956baf0c79eb8bd2d63ea4a45b3f515a4745552756e3";
+      sha512 = "6ffa1c861a68b6bd7e65b0883c734baa1161c3ff827cff2fabd2e38b5de64bf973034f40958471c12fbaec806978a74b3e2a5a4c2e23caf87dbe747cf75d0a1a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/af/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/af/firefox-58.0b2.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "76be18af3bd07ce72f6ee1522d6b7e86f82d6449f178f07cc465c20afb9c453fb16b37aa6f301b4e83f9e7bc9affd8e76a52685be7a45db7fcedb50c99584630";
+      sha512 = "4bf2e416ff864e6062a76c14d70d60da9c3c3261b2d401e4e0cb1abdec77f0c21878b36b863f3d11316e6114e358af200b762c4f1c7cb7cc84cb12c8c95d240e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/an/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/an/firefox-58.0b2.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "3f544f11deed60cbf9cbd6bda27d68c7523ec087d71ff9eef74989b7185f5271d53e6ca7f6d463a64c11fda67692b609890dbfae73bacd164fb3cf7fbf327183";
+      sha512 = "d1136b831820dd7f9bcd2d5d20d68ba66bdccc610bc9d26b59937b2ba017fff7fa1be1d616ff5586e136a16d1a2023255eb430d78ab7c97f35bad2b6172056b9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ar/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ar/firefox-58.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "48515a3ef14a0caf407fa69eb42e27915bf5a8ebec1de7e4f53d85fbcbc756fb763ab9e596e6580900fbf52854da1dadfa7f8920b43dc9d1a6e36b07b989fd82";
+      sha512 = "ab9dc901df22fe84d01cfbc7b251ffb50eea784c2cff1a38c404b75ac58349f312ca7b602c107ea8b08bab7dee292b99ca33d3651fe43479357b57ef2d36a07f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/as/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/as/firefox-58.0b2.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "376e899b9ccfa0bdb2a77977bc302c01504fd309226e9d63e79d1b799503284c7cc0ff8636e63afc17fe2e611594965ac14334e0c65058e80fc471f3057d3d3e";
+      sha512 = "f7af5fc1e80cbca6227266c5f7945c665499f5be36436e7135721d67efcfb3d2b101e1749c03101ef491c231f96cc746a6bbae25fc5818f1790d61f59e4fdf2c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ast/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ast/firefox-58.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "17fb3d94d037ab1be8912662c9cf79590ecdd2c17b227b38477f3aaf18b3fc6309c9a3dbdfeeaaec9134ed9d3de8a7810f905c68003db5efa6e733a8b22e8226";
+      sha512 = "ac9fe13f073358dd71f81583e6d831617be46b65781da099fac48db37a942c31bfad3b72422ef8a14e65c5de28939cdfbb1c580f3db5cdd54819a0da0257e151";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/az/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/az/firefox-58.0b2.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "ef29f2265b91bee270c77afe9a0034c07138157c5be1cd3ad5a68ecb94cacf98a7c52de1985ba9dd51ae4e92df08a916249ebad24df4ba672d757d9cf95ee135";
+      sha512 = "05e30463e29723157815f91c02f7d6e323fad0443d59ef9b6abe2110998170894aa95467d5f05f78daa43fdf05f3e72af5c9656134529aadc9cf165b201acbe1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/be/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/be/firefox-58.0b2.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "c002738e74b87b9423d8b6c8cc15fd6532adc4cb9558c0f059c2b0a1c821663c7cd8e741c5835d91daeadda8cba92938484bea5099e5b6d7c386590a69a513a1";
+      sha512 = "5aeac6d316409651180bb00de74ceb48bf8bffeb027491c1d42830390aa11d64d13e6748a6bd5519c5132d902e0bdb06dab35ae76d6ecf2a8e769503587c7660";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/bg/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/bg/firefox-58.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "b85df314c69649277e4a33e8374f21cb22565396685b742c6566b1c138daca254770c1d5e87f6af1f27ec65ac247b3eb888a14734cefd7a40755ff100b803531";
+      sha512 = "6cce86d49c53498611c85505b5996c6db92b5a5aca9319b18ea0e5ab19dee2842cc4ca036ccd9b1bb7131aa539e38037c0363281e170182ad81e59141150f20f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/bn-BD/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/bn-BD/firefox-58.0b2.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "54bd6f4fc5b2a2a24bafcf19f48c3e4d104449af06ab9d68a58f6d02e29edda65024f32363988034246f989578bd37d7c7d9bdb567d5869767f908072ce8bc00";
+      sha512 = "b177f5531f887bea5a8b47da45a4ec1477a9adfe48de02ede1aa49761fedaff4ab06603ea004ccfc0991e9598982077dc2f30945e1042ad8098d8cd6eed7fa41";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/bn-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/bn-IN/firefox-58.0b2.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "c4acb6c52ba7bdc1e34f7020293daa2a8d230e92c19c700d34df6dc7052fde2928d2e79d252e9f2aa7b148d61328e839c218e5df78104617cf15a0bad8450b4a";
+      sha512 = "5475cc9261e666aa11915f70599a281dc5bbba7a88527646fc932b6272b70a936186077254d147c68bec28fee4f79859567256c327043ffa5504feedc76e3eb9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/br/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/br/firefox-58.0b2.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "ceac213b63c36e6e3fc388cd725c52a77f223dd6864bf29a26c143d9b0631af62eb26d0a90efe737b08f2342096dbd32692fce7df281b6804dfed9798dc0a6d7";
+      sha512 = "ace1027ea7d5115ce7654a8b12609c4c78da5a6dbf8a08544d467d4a8766f39df557659c9c54fd2ee613c403ac523cf4fa8fe241544112e7c7999c572f45d656";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/bs/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/bs/firefox-58.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "179d662409f89bd47bbbee8903577048cbb114788ddc462b4fdb25c3a5ec1f7c5c52a218ec1b22039098761dc25f6021a14972d89522b798d9fa0104af7c5cad";
+      sha512 = "d8256bcaca634f53c60fa8fc4189c68fc14dc1aa7941beeb28692f76e4ed62465290fb0234236a684ac489634f71577dfd5d5e613d710f1e191cb3021b2971a0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ca/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ca/firefox-58.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "5b5b9558beb99619667c24a80341d74541f99a3cb9e3e958cbb53b7e7dc0e271071fd034fbcbcb909924a1712b6cb328c2de1c53f9d881a7f246fb2f92741f31";
+      sha512 = "0fee3a02c437015679460682325c7fadb211bd5d4a3f5f1ee04c978eefb0694ccae7b840801a9453f8ca0d383079fc0481cc157741281ba09be32a1012ceb2d0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/cak/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/cak/firefox-58.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "c5628b6333a0d4cf59994e70a1dddaa9143d498c929ed9237a6fccb87e5c19dd50c562cdcb4933d92f0b16acc7a881246c51baf1ebaf65b1ad897a208a20801d";
+      sha512 = "ece5f44da4de5370701ca57f6d3bfa68df19568ef07ad515a2937a49b77e63ab9752ac9d31b1da837e914ccf9805528e7727e04765cb77909e33c576358c6912";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/cs/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/cs/firefox-58.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "e5262f2be60ca5ad641483e773aee80669f63383990ea217a9a35a26865e58102b962c94ad9d4a3526055fd5dc6d0963485d7614a7dd10c74fc28888adcb6a54";
+      sha512 = "48fea82e0062a91b89e868c0f3baef3869987b9465314d40f9df109b573c24d826bd87a474e81d43b5aa9dd02cc1968f438c4c93924c06ddc133dcca592ab095";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/cy/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/cy/firefox-58.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "5e77baf6c754a44ca730345ccdbe0bac033d8c547f033306ecf4ffcf3015a3f1c28d0d4542899f873e687dd90a4d6dd60bc970cef4c884598a1e919873e4e25d";
+      sha512 = "15cf8a4ee6016f4dc81cc1a4287ec1b7d26fe8eab613087bb3b95c7feac4adf89fc25777961682e5f85a158a5c1afe3d41d8c5bdc455a0ce0739c59885d0a2ee";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/da/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/da/firefox-58.0b2.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "8903979b66612b7d8a856068a4ff1d4cd139ef96ca4fd1efe1abe1fa0af38a5965376b98522ef9ebefff28fee4ee6d3bc5d540e3db7f3047a6e0beda6b376f9e";
+      sha512 = "7e66d426d4837999faef4f8259c30720a39448b81ccaced2698be4051311cd7b7fec08eb0ebd738af7bef3474ad4059e2e90e9c8d12d829c8cbe7d758296343d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/de/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/de/firefox-58.0b2.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "dd2be7aa009dc3322a065ca242e35b73f35bb28f639146b189a3306689d018f4fa23f213cb075ff4306acaf07146e3b207bfe6a9ef8f8ba57e7a810e434da627";
+      sha512 = "cda87407ecd86d825dcc15dfea4c1dd2f56d3bcaa6af2cbdbb8b209ea280c60dbb72b68db71f84e94783f7c263ad4dec503603b650411c72b38c1a5a470deefa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/dsb/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/dsb/firefox-58.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "15ab166ef554ce8d157cca1b11379f0542a2db0dc810f4520f56fe78b365f618fdac4d511e0fbae5f80ebbcfe18c03d9dcc3e02c49dd350cac7c01197573eced";
+      sha512 = "db9da2c7397d64d1d5944f6dab29b29325b6773f85af1a4d5e87d06dcc580cc1157b4f7092e7fd9bde250f332d26983b7ac2c7662b240f4e97f2ee1404ad4b1d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/el/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/el/firefox-58.0b2.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "4ec1569340e2490a445970f75992f21f48d13411199f65df788e9e43327de8fcbffc64d628dd589471b9f7b0b5873a54c3583b2d5171ab531c602a2b22dff95f";
+      sha512 = "51c02952a6a1f94f25dae1de9138a9a39203eec9b02c3f90084e319f8e3e17c436937dc5525709229db22a27de5f79abc1cdd8502631b6ba280770d91151d5d5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/en-GB/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/en-GB/firefox-58.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "1fa272fba658cea484b4f857c11daeb4abdd6e684040864d8eabf3d8671ed1019dc1dfc440d079e098fe7edae6258f39598b3d3da6301046d52460e31a409dad";
+      sha512 = "b5925d08497647afb8f6cb6bfe5ea5fd899e55ed77f3709ae007e2359d1b7c38fd5e7cedc56f12d68e660b5d9f10c56bd65cccb92a645d25cc617f188da88a65";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/en-US/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/en-US/firefox-58.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "2106925dc8e912826332681de238dc5d72921bc9916488a242a0186a8550386e24a7eed6b67edd8126aadb42890b16c5572ff2ca6b1478720b00a5134267e27a";
+      sha512 = "b40a42713892b760d659c4fe5ca002b8ccb5309319b57d89b5f9af37c84a021ad67601f5c7f5b02a445dec7a00d671a28df6ab701775f59b1a7be7dda93d673e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/en-ZA/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/en-ZA/firefox-58.0b2.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "7c33f60a0126c8058127499c178af6cc3398fc63ca0b1d2fec0ddb469da437349e063c61d1cd573fa157eb24f447099d82a189ef4026be865585883e9e6e41f9";
+      sha512 = "1765b79663475ff97dacaf441cf127256be5097205f52f3ecd5648b5d15087a9e43fc97e165cec714d452a3c802d798b89650eb3e9b33c00e739a1ca2684dfd2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/eo/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/eo/firefox-58.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "ef54f0c7c7fa9ae8aa760f4dd5c65734dbea6bc88f09dfdb814dbd16f86d1444f81f72584c3729d922c8f85bf4b9d0e2816d1ff4dc2325d92b8df1ff76221407";
+      sha512 = "e1d30c41b6ba56604539a5b527effd16c7a40f85691fafc04d8e006f2d09c9531f70f5e3305aea8eff8840487acd87657a0aae66a3275d5b64ce84ee151ba3e8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/es-AR/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/es-AR/firefox-58.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "f19457ed569da5316d167691b59d8ad134e0b10394716612843e4f56adfc027631e8d927324c8ce04188e0e952c115967e63782e6fea8d461dd716458835aa26";
+      sha512 = "6830e829c86a4860a3ae461e16d4d63feeb141cdf65fdeb29c4cdd4e4fbd1887a5425b81eae9a34a28d750fbe27e70f065acd70d0cffa6c9d1cfede023e43f07";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/es-CL/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/es-CL/firefox-58.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "eed518d08ddfcd9be98d9905005b566821f1912816618c5ee1d3b76ee1972bc97e22e0fece4d35b64631db339916802d4c8e9c8416359fca0e77faea6127d53a";
+      sha512 = "ea55c8fda45368ab7adc12891c3cc19d27124e8740ccbcda6b2b7edecd3310dfe068344f856d97b5c8cff066427dd21baf2d242397ef249a7590d01989be274b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/es-ES/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/es-ES/firefox-58.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "c26995c5de7f426baa55df935ad527b7a5c7490cdf2c3772ed680818e43ad102dec9aee510e17fc67fafa5c099216b3d23ffc7ac1f2021551e77047421ace60b";
+      sha512 = "ba2776ad1a474183d828fc73c4a3e3f8036159c8ba08ea8b6bcfe562aac0808adc015c94f4375dab850fa61df6ce94d6bb684e028db07385486ecc2964f9834e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/es-MX/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/es-MX/firefox-58.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "fb4df0e91cb7c1a7c6fceeab29cf90dfda6d977123367944ce59bde0ffca551c0c4853451735bace50f260ca5fafdfca5ee109ef0600efec5eceb20ff067a315";
+      sha512 = "14b755e01ce982a3aacab5cc70c086c877f16df8b46e46aca46faf0950eeab61e2cbc90de0f9dc452c6f27f8e4367e4fd70209491721c04a88af9fe8edf92b10";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/et/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/et/firefox-58.0b2.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "e7784770c0f40e3ce90b2e3ed200e7aa1143d62e47069c681646d5f406b299e50c45a4986880a7ed789ae3f6228307a07cc17e1c66d27b4b7864447af16ef956";
+      sha512 = "d211c2958e9927c2852801331ced3986a5a9f75b9fe3d734a5b380e807a6f91e3c328c48817e21b43ca2b6fc48986f80f5d5f3cf4c0bd03257c046b5a930c985";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/eu/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/eu/firefox-58.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "987b47288aec5c78ea75d8afc5d0c0850783034342de05c7ee6ebdc951ae73a6185dea25e5959d3932938915d539610c10d8943e2b1f094ee8f97c20d9add806";
+      sha512 = "d9f53b988a86a48df41a691742975096343a3b4905e5ae78ec9bfe5580ff71cc56457fbfad2fa8512d3a3124989532f21caddfb920d886c6891b2a1d82e26b6f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/fa/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/fa/firefox-58.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "7ad730d4e8312d861cb0882b45dfcd4656cebccab5d89dd49e78533cf6de5c525b48dcfa3ec700cf14eea579be4ed2806e1673d73f7f32a6c078fa397cb9687a";
+      sha512 = "43ad5afa9cca9944203c33ef053bc86cc36e50497992ecbb7959edce25d54d588b736f56684af04fba8f10750b450a613ca4008715ec5edc2cc70d31a5288296";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ff/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ff/firefox-58.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "e1374f015fc8c5827ddc87d4d0c7c6ac7eecfef247c8f2e88c484c392160ef023695b11f8b02a526d266442cb54297769a647490257d54d7bc251cc6e03d7e03";
+      sha512 = "64a11c61a3104e5fa06c802e25ebb293e9fbe58b3d4af50a36a9919d213d75ecb1e1aff8d164f111398b0e4efb46a2574d05f23f39ffe845729e0fe18ec27720";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/fi/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/fi/firefox-58.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "f6cee8f460a52106d1b06f65b9ce17555aa18a9c5baa707bab16bf1cb458dbe6effa7278379d5d8e13394412f95a3472d793551ffd6788612a166216edc1c814";
+      sha512 = "0c739ae31197dc3c9c10a40ee97eb4bd623ac3551f67bd2dd0527a4e6efabb47bab6c31c15925925d5670611b82de921e0d068491819b9a580c8062cd0a794cb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/fr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/fr/firefox-58.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "a1b252852b88523945962152a93cd0367ff5110642681bfddaf7d1659a232eed751f86378f29d4c01d08462e1d2369e23ce18f38b2580e39316741216b440f31";
+      sha512 = "7fa98e4e5fd8174043d6d85ee63aa22130a9191dabd40ad8935f233559eeb2dc46bdf27047975251f4d843770f900eb1756161e2d5dfd91e95c4b03b0841af82";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/fy-NL/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/fy-NL/firefox-58.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "dfe5bdbdb642e21094be85c05aac9aaf24af22917d7d5f294f304ce2c5e53328eeb4d850e927b199b8f96ff573af4b22700890361edd14339581b5f3aaa4e9de";
+      sha512 = "412827dd52dc04d0a342bc0ae0871108264048b13f3476af0295b9304efea3eb24719b5ed034407dd25f7d7faef635ed08056b12de78d6fb1ec0a30acc1a1392";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ga-IE/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ga-IE/firefox-58.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "aaf0169774f0aa05b458d69bcb340796d6ee242f69dfd69dfeaaaf0647635e9e81a5658c3641c62623dd6a57dabbc42ffa3bbcb31b12c6efbf132c95c86043c2";
+      sha512 = "02272dfcf04b9ee4bf6ea5f1b03f59892526e0df14cab0dfa1b090678e9ea45a76962bbbb35ab5ee13a6bc919bb5849d5e401f8157f0e5119c265a53759177d4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/gd/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/gd/firefox-58.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "161d0be36d2d590215eba19230bc660d19e6c6d2659d0fb14075bbb42b9033612cbbfd086f07ad237960fa732d1a3b2b8e9a759d24d808c8d250f2e282db234b";
+      sha512 = "64a89548064d36cbca0a0572319e979a565470b4cc63aef5005f520e58f37e7a54e7ab5380ee5e0947d1a1b051825a5fe223a8ad5cfc833636ae9f9653b33779";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/gl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/gl/firefox-58.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "30bfcf0e3cef19fd751242eb523fd52c4ea96c829416348e36be3f3e48e9cc9d6be6e05c63461881a7289966b64f2abcae4ad004ab0ad32c91e99459bffc7df4";
+      sha512 = "b69ab34709258444c957dc55f55bfcfe5965b31e984fb911d2fb8b8499a62044c5d24e68e93880454b09888f68e3e80c68c0e37a424de53786fcbe1ea8142ab0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/gn/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/gn/firefox-58.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "8500db008a57146706f1f6617d12a58ec238382551e45c31e140c2da499ee890fa48245518b87d53457488850a4103a204bf97d9a3edd8c92b802402b885863c";
+      sha512 = "25f3c7753bfe47a5198e770def91596f904f5b4de0658ee49c2209afbcf53fda35c8058465ae21876aa733daf35bf58c14f464f2e125996e27952759671cf351";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/gu-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/gu-IN/firefox-58.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "0a1ff4f35272bbc744f7a33317fc517d78fbca08b63edb91a0859d7c0c5a0bb5944ac574ab4c347f60f7dda4e8ad881e1a41696161336379ab3a40f7dd62c59d";
+      sha512 = "f20a7cf31dca9f635b96b5a95b24fef039f3a856e64a34b681d75e19e1f997bf41f7a8a49163ec1a63ea2d2a500eba174a3e8f5c931e4b7b9ec0857c908c5aca";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/he/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/he/firefox-58.0b2.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "56eff40d5dd8affe55b8e920d0778489186824a0b056d8413c3196ec66d4d4bceecdd5ee0a3c72d7a99ca93e9fce85b0ee51e3f79aac1ed968790293f0fe6959";
+      sha512 = "c2de1b8b8cd2af04efb78b432b865df564fdb70e41b3ae7ee17bd66f438bd8ae60b49774265ae9efc3e5e17d8ff947f50de4872e6004e497b3ad073c096d5110";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/hi-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hi-IN/firefox-58.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "f61d90b6aedd17f3afd25fd11bfb730320fd5e9eb0a7cbf24f3b0c6a5665c01b40cce8b88f753f7680c01548c1d71c4bb3a94ee16c4a87e22010269e4e03d7bf";
+      sha512 = "9f513d17bc01dd34b1a07939d8d4858b5c525d99a0bab1eb7ed5f205de3442e3f9dea90e5bf2a7743f6b624757dd3b182ad976d5b32771e99b8c62b016aab594";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/hr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hr/firefox-58.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "d92b842aab0e1f4247842ca3fb9000f76ed2396b3e8bdb2f68de5b71956306bf30a58c20ed49a2c66b8551d89e65a21e9d50a69e78909aff4ac4ddab1af2c29e";
+      sha512 = "0f43806af6aca2980e358fb7bb39b2970d9d7c32175ff9dd4a3af5765866fb68a1e4a5ea7071aaaeef4a70b502c5df86dd88e9a4fb5e6db00f5e11f9d99b324e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/hsb/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hsb/firefox-58.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "2be15782b4f478742ca0e2f00c6986a3efa10d63dd15f3f3ab249efa79aac8c0827c5f65ad38db55ec4789bb8e967cb9c397b8b5184d8ba91d5bb76b0e046648";
+      sha512 = "4397b1ff3a113f7591ea8c2211fb7b15edc3af9d2d8883a720eb68d5f19024488262818795d9f14b67c91649337e8884ea12d6dff6fcd0650c31d2f917cef493";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/hu/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hu/firefox-58.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "ffeafdf7b9792ce3d23f221d6b63671ac4a424f64e85996c7889f6257458d0902560b8b9133f133269191a1fc6b6d42fb0e2f1395aa1300e41c9096a6c8610c2";
+      sha512 = "d7dd0be61fe7ac795817b7e2eca9f9ce1c312e49e851e068b410fb9076fb83bfb82928eaf7e1bb11f7647890a0b74dd16b93ede8e8672f7a70e9d0482a859646";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/hy-AM/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/hy-AM/firefox-58.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "c6508a8049d2fd753c4ebca241db2a5a14a67843aa7203ae142144f7c1989aa28212224c3d09436710eb9049a8f6febb575bf6d7e301c1a7c568491e3d35b71a";
+      sha512 = "a924053e4df4b5e036dd25e3f663239bce6e6879e0cd0060fe62a5f06c573bfbd25ded2be37940c14a13c493ff421127245dea88ef183ca9f496bc8a89d1eeb9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/id/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/id/firefox-58.0b2.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "f217a62dfb40b9956ac0cba5ba96598ca04765135626fc29d12f5e2d547cb74ceeb77f7b02d41f56c2db50f0cf2b5ef46b16ee0b8d6f03fa90f97fa30939c23e";
+      sha512 = "cd83da2536a067120783df1a5a04ef3e16aa87a47fbfc4c50d0009983652506e10688f05e2da66034051fbe8518754e025489b29e013cb07b9829dfb2c70cff6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/is/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/is/firefox-58.0b2.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "4861ee96ad8136ac16b47c1721a6e08a13de3b4fa4fbc25dc093e61137cc4137ff598c4c76364cdbc79a922e340318cfc735c0abfc54bf28b6b76ad5f30a4155";
+      sha512 = "87e6c6111b9a30de82235201e9d341cf2ceed3d4599d94815d807edb252dea937d7870cfd229d7fb47af8c822201567f3ab990b15731f9fef243edbbb5ff918c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/it/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/it/firefox-58.0b2.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "7057172854e90d7b555b65ecc3c73cd254db1e5bbc679ebe84e840885017fc37af67fa1cc29960f7fc0b98fa6eea86e428662b3cf60df5f3c12149e36b368688";
+      sha512 = "bfded5c6a7aabd2120cc56c756d900b2b71766d4ea6cc6c5cc9905ec14068cc98f10a8ee54862f8223b6d7ae43b09346dae87e5b146df8bae1a63dc84686ec69";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ja/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ja/firefox-58.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "ce05d81cec4ebe23214c7f8cfcaa0571a78631c31b489a2a256ad2d4b71be9247fb05b9a1bdb4069ead050ca0a2ebbd5423035e544f362de9a6590633b407e1d";
+      sha512 = "e74df1de9adccd46ac36675084a16c7d07bfa48025802ef3c932b291bba76955de14f52282bf2cce2d69a355393e97aea946cbd3314c5cc97e699afa610c2afe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ka/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ka/firefox-58.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "9fe9261290cfb4c39e6a6e2bca646232aa71c78b3953636a8c353da45bf8498250231809c5b2496a2bcbcc3aed82dac22b0dc41bd2195d259bc653c9126f16a9";
+      sha512 = "fd729433c08e2c569e0c72859d38f70fd62293b5f1a97bb41ee01950845c4480c6f48e80cec6ffd9fd81d34e357d2fbfd67515a44c9db02acd5f79acb55886f7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/kab/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/kab/firefox-58.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "6c4644299a5e45b50c9039daf6e6440917556a7c77bbdcbc63075b29e6b477df71fe5110de8cdeecfc160c9d13b1848541ecf777e3d5b3504da04ae2ee86083d";
+      sha512 = "edb999b2b27885422defea989e41c845b0f7a50d47e4f6e7ff2690fae9b911b9c0dd93e40a7420b1920790b5443800990836999e3044457acddb55781fb8a7a7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/kk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/kk/firefox-58.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "afe910f21c844f1af11e8655ffcbd00d009db44751884463322b17cb2aac576155be821fad093f2b1d6169f63af9a8674e4a1389e7502d2263343dc776c3c2e5";
+      sha512 = "21eba1ee7a9fa51cb9967ecb4250fa305e3e516d0d69285a90b1ccecda6add2793fa035ef434626f4d9620374e91f1db4d8489a1454e4d611a529e693e46d09b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/km/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/km/firefox-58.0b2.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "4b090f71b3b8c37e6944de298736a03a046ee1705ce6a30a35d75a66caa51503093f6e6287110756ee380a1524c56516e905dcf65f9af3f2f16b7c32a177a8f8";
+      sha512 = "565028e6aa408c734684518d7f3d033639ebf6ab3dbc74b682f291933f1141fbb7b758b0c1e8fed555067db0981e8a4f5d5c4e2e9c53d2ad066b8df269ff489f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/kn/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/kn/firefox-58.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "7776e3a75daaf0334f7a121fad252f8ec132ec35e32d8dd19e6c3880a802215ddfa2b147efdd21946817ef506f80c69e92dda3ba66f065776029ca39dbeaf64b";
+      sha512 = "1f6dd3187c140ece200c16a4e80ff848131165603fcb38385842e8feeec5fd13db3d1ae415a8f428f2d22f20289a856bb3afc96d853cb9e31c5d1445a1a63dda";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ko/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ko/firefox-58.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "dffc3101063aa5c945b5eefd7bf487841676ba1d6021f22129f74520b5cda357c9134c7d99eb01886c70386a7bd8608fa2042c389a154b535dbd2dab471d0c47";
+      sha512 = "103a51778565afbd6423a043340e9bad47156fad51776106aa0342fca022ca6481f7b13b8f2a51d2e9e8b1982f50f377ade1d73bf6b152dd61c329fd3456a1ba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/lij/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/lij/firefox-58.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "4e80affa66e0cccadc62289a68ee6ea7a4484e86432af7eab481c26c278a23ceaa37adc97af571cabb0380611fbeaa4841b679454f13c35f39de7a6d1178e058";
+      sha512 = "4c92f4803f094bb5d64c58c6d8315e51e764fc80c1886e9c18a58f93a93f8794a00a4319ed90ba60ecc9ec4dbcc37f3e8960a8b67261673806a19c8bfac8d989";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/lt/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/lt/firefox-58.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "3701dfe9d3489e30f12546860ae0816d7b740345ff668b93e639f73da15ae362543c9bc6308d62b4b176836a348bea37147c7168c0e92c422b626419c079e06b";
+      sha512 = "83dcc50c0f7eb41ca6fb41a1b036b80a8ab4993334a632e60b9523eb8a4306db427beaf2527bc4bdd1143ebe6c0f4b406b1b9768ef8f3c03ce375e33cae6cc11";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/lv/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/lv/firefox-58.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "bd32cceceb51dc5170c383c024b506eafc213b377bcd9d06ba38b4922fcf5360cf78b896af331dc04323f530b7ea4b39215bf57e41dae9510b928b40fd24c91c";
+      sha512 = "27daf42869ae64f31d8d83f52e9d3f951e1277352276eb8436c2885e1a1de023b3985a0057687dca48ba69aed0ef03cf27770099e45a0fed5461de8cbaa0205c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/mai/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/mai/firefox-58.0b2.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "5670c0b03d5e999c04ca1136e67d565b546a9b2750c18c639a79ed7c51afe6e2e1bf349fc2d512639194f352558c1af8db114d0b58f0370e3014907ce1d42eb7";
+      sha512 = "9b7c38d7d23f6604963f280132b16c0a949530d7df88f47a5328d1ced1bfe4cf8f12fd6540b54a4608aa0efe09f35f870f18c49d4a8cf1a95e800b541f534b79";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/mk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/mk/firefox-58.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "c8cdc24f00b91db14231b3cc870ad13050907b44222fb4d84268252b572ca70c5a4818240e2c09f4e2a67517e2b3827f079fe06a075216c6017aab100841416a";
+      sha512 = "1cb4b8304888fb9a4adadcf23b0c624c1ece8fb96a972f6d788f1b8936f05f8ab331df7bb949a4883673d193238a80919f728b985e0a9601f7c59c519fcf9501";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ml/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ml/firefox-58.0b2.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "1dac139667d0c94413cd9b3262674bce3e0d72f9deaf9b9ae0c847b8073257ffe41cc1694fc6a12316811817b23c1b19747ee3031f397a1fe3d7a6f47f26642d";
+      sha512 = "e801dbb5f71922d09563149bb12461d4661eb877bb862f04fea418b9fd488dfb871deb97c131aa680d551de5d46e2801545d01f17fde06179290e12288e5f74f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/mr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/mr/firefox-58.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "fc37de2c1e80b25953dbabb745231efa8fe8ecca2c70f8ae8f1508c92cd8b087649513a2e6e0d19f3fefc627ff0eea863f2bf686cc79fbfe9cbe9419085c1508";
+      sha512 = "41eff5af28b452069fed8c8408dfe47b46ce192b6d0a996c6c5b0600e862424580c50251fbfbaaeed64d387367413f69ee2ed9819bebebf9fa67b2ff50e4417d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ms/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ms/firefox-58.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "f610c6b7e44eb3ecdc5b28f181511f232e368c031e94ea63cd2ef34defb17f89b66397ef63e0c625cff4d67c04f208cf965bc41580b8f570b79d3e79e01f9a15";
+      sha512 = "544e03a7a03b26a5b2f9da0284325234149faa5bafda74895f6ea29743471e302cc33b5398bb5d3e0f2d14dc82b6e8a8d02927e2a2e2c2364b3e2d1f20bc3354";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/my/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/my/firefox-58.0b2.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "ab3089727c9887b9867f0069c8eb9ef47e3f3d37b8381e5bfc32a1822ff34b3496cc1c81ff44de096717455059e1b5f7cd4f40c87f1b0168b4b9c14cabe3b4f9";
+      sha512 = "28dc75be5d3eccdff87eb738a909195b5832cd4deeab9f4f29915e372462e24c9160e0dad4ec9fc80cd14179bd1eb08e79ed96afed74ce053a43731b0a95ffbf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/nb-NO/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/nb-NO/firefox-58.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "13faa2d26f5f20c0e571d6afc7f5e3f81f5dede9c3923ce96427f9256bfacefef886525bec56d6ea59d5f39f466f50f7718afd0850e3cbd1a0949f0beca585d2";
+      sha512 = "6c9dbe11b53af3ef09b9520df28c2ae606fc8ef552518b8bbe3816a871333a061f504b113e05086ecf590041182e3baa134bf6d84a45b6a5eb3c2fa43cbeaf8f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/nl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ne-NP/firefox-58.0b2.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-x86_64";
+      sha512 = "80b819ade71f4ba3034d04d3f5178b1f4221ef5930d5f5429c5cf255ade70ccfeda42d87da3f4e227446576405362dcade34db285addf1bc2474404d98f96a94";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/nl/firefox-58.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "65c584e15f82c99417051a3ae14abd09b1a871a6371fbd6bf47300b4985ce34894a8dc34a9f50dbd106d7e0a3f196c870ff7fc28afab1ba4f5e7ccad3d281602";
+      sha512 = "a617fcf15d972552b2cb659fadf695ab5ef6953c7c81273ca7cfb5ef02d681c80d245ffa62c25a0ef6a894c9f1413245c50bff375c97e34b8a16ae30fcdf217d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/nn-NO/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/nn-NO/firefox-58.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "8abe9743e39fabf29eab41c9c02001389852805a548c645acf53a4cf4bef1c1d4103b528a3efca0614e5ef858cf358d26deb4c61a72b29bf93827f133def2685";
+      sha512 = "e124e1b983dae9ce9b595423949767980289169b9b3609033c34176bd8d6fec9e7cb13504a8d03c0d42359aaf045fbe0ba66aadf0566acbc80840861676ae9ec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/or/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/or/firefox-58.0b2.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "8895fed23449529006c8f1c821fcd3d95de74fc368e8ade0a41abc39a16510ccdef3a45b9df87ea88598d3e46dbbf404fee545fd1c0f07498028ce55914b68c9";
+      sha512 = "f7b8643f83ef6ccc0d6d3de8629808372625d7cd75d0bed8d8993d4fcfbf37764bb29ab1b2a2d3519cb6e5fe2d43af33e407a6295b1f770cef4672f20f1aa9ec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/pa-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/pa-IN/firefox-58.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "c7367e682f0a37d99d5de03b5b7824596b74f8c79a2860e58b10cc1bce2e6f41e676cc39ec664817ea91a34c79aaf5a997cf7700d6484d5fb5271067e871943b";
+      sha512 = "f3cfeb091d875fa35f2b76d5fd33c4766fc3d37dd4041b23e400e223d6be4e791a797cf95f534b935e6f40c28ba58b4394fed28c3beca7a097eb5616feb02924";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/pl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/pl/firefox-58.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "5b542121130b2df20c0d6789729254955d0192832c87a28d4e9d976313da09654ea9ab415f2bd9aacfc796b2aacba2321f13854cf68c3ddd9ff910939edb027e";
+      sha512 = "a0f5e040ce4614d82f5ff7fb5b6e16920299290840a961b8e71c5fcf9c9aad88092d519739b21bbd330d03aefeb25cb0c8ddb9d75792297b970ec741043c6ff5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/pt-BR/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/pt-BR/firefox-58.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "dcd06cc70ff67138b5b9431c84e4b771449920e5973753db1f203f72f8636c69fb91c217b04ab95773efe4f324a7c63baf32a58978534bbce6fec47e967d25e4";
+      sha512 = "d9de5bd80a4658a4b7fbda8b22dcea6104a77034e62ac66ee4906c2f71f9048c9f8f3b85bce38a0a4c6f9d0243e23ad4ccd6db8ccadcd3a1d79a034554b5035c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/pt-PT/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/pt-PT/firefox-58.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "85caa2576bc8258cc3f5f5077b6a9ba816624d772b54c7c62a0f2c82e7e75bd0abd29677e36d709cb55eebecc9d28bdd673dc29d07329602b788c7d7d3a4a57e";
+      sha512 = "ee24357ea59c9936f8bd4f2ccab32d73012b9bdc0f6416350a30a0c3a726a817eff5a275f689dce78c0256816f644b56e68ce8642632ff2394bb89719873962d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/rm/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/rm/firefox-58.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "82942a52ad073ccfc0f58e7b84b26b5394adb2bdf5f520ff946478a7299f2156e97e1ec5c8686dcd1d4b7e47ebd43eaefbb8fe2f68b0584f79ade7724981bfd2";
+      sha512 = "3fc05929e41b1da505831fd29ddc590b11c8cc68d656e6a29ceb36a8d4f1718d3e2c651bbe57dc6587d6cce08a71b2131e6310e3ea688f2950a5edf4dda5f14f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ro/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ro/firefox-58.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "b45fa5a738d92fb5cedd06b42c5ae4599008f6abc05149e8f47bedd024470421cf8c5d3a56a111b590894c0941d5cef96476aaf0457a1f3e2a5112143572a8e7";
+      sha512 = "8d204165cb4a8b4861f2bdfdee197a621db698c767443ecfe25751345fb651be01d3d2d18de8cba10e684f203a6276ee71ed5b1b99a43d1df943a9b5147e2fd6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ru/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ru/firefox-58.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "0f7655a3f0f290a14027305916b7c4a73a2292e6140677cca137bbd9417473a9c286807f8279dc3e6d723af2c142bdd958f68c748a48fa42b8d0dcc5f88d9407";
+      sha512 = "7b12852be30cba66d33b345fb8976d1edca871eac490d3c49f0ed89c48a772d48a4094dc1e52a32e103a3196f6bb12264b3fe46bf53a14ca0e5ed3eb49164d0c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/si/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/si/firefox-58.0b2.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "da2243a741a095132dda129af616e88fe4daca07e5a3d4ba65f18b9bd407636a3a312494a49cc1d48cf777650e44613dc69b49538d87616ca061264ba20e2447";
+      sha512 = "7079174fdf891f983d0415cb802470899af11e792e3abdc00f8503116a007cec1177fc71f96f8b0b8d15576d2046690824d152cf7b5577f5cfbe0aece16c36d3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/sk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sk/firefox-58.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "3b09eb8284944e6bf490e071b64d3c373fc76f42d056635d4b3179068fba0064582ddd6deed1273fe429eacaeb3f786695824786f09d9ed1b35c4719f5dc97df";
+      sha512 = "820e8465d6b9bae28a572cf7ee3d2b8594fdb6fe54879151ab327f93a1313cb2019687ac335ecdb64c5047421832db50c05b01b0b52303a0cf71d4a320900557";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/sl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sl/firefox-58.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "47cb5682058b1240bf31f2358ee72598956227c3dc344c58d82ce61bae24ec68a6f5c06adf1f39e7f824ac365fffd52dd20e4cf93489b1f7de79fa88faa4d923";
+      sha512 = "d1e55e5cb55c1894a39ec3eb11657c1ffb491f165af8e645f28d2af6e3ae481a04177345a76e91b769a68fcb2a84dc425363c153820be564ad015eaf27ba77d8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/son/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/son/firefox-58.0b2.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "738b5f57c0e7a36e5063ae7daf7dc51212098dcff77b26617a69e87392b26430414985a90ac81ed108f64d7b593e3a9e50d6dbd2eba79e4807309ef64ec351ab";
+      sha512 = "1b46e24fab45edf3aa81535f282b73c8b7e5975b6f329f751a3f3300c7bb01fc77e08660eb01158473bc1c8ce2c1cb831da316d39ef4e89370b26d6fddd68fd3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/sq/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sq/firefox-58.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "7dfb54a4760e58880b2c0acef221c6822deb795f2dbf8e7d9e4d4949c750d1caea87ddbdf7ddce4d39388b318d470aa56d6bdfcbcb2a4f85f21ad0d2a6e76f82";
+      sha512 = "3e6ac70fb3f1c7dd7617caf254abd3f4c725019d56d6ccb15a8dffb6d5e5046ade6e6b50be8cf8239208a4c4458063c435de63ba7e9c6de4b93ebf3d3b7a8ca5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/sr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sr/firefox-58.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "7ff4cfcba96156775744f6332c8ecd931f4e33613ffb78b04ecef0f7cd26fc8131c8de34b5eee250b2860d8c5696899a9e87e1d6d1e34de1730845595d6062a7";
+      sha512 = "fe2164cd54ec4ae280432e26310be2ff167a990a578ec1b6ddbdbdc14563c0e49f87dcd6358b745aaf6acb258b385dae97afb2a1fd6106e5dc269a0845740114";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/sv-SE/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/sv-SE/firefox-58.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "7deb0438f37aff6fe17426fec316b2392823d6d6fbe98309921f305479475e8f8262f0f9566e9fa5d03ac90df65bbc6bf85f7082ea84836de7df016a85f81519";
+      sha512 = "c79e3ff3c3a2cecde79e2e5b24bb9806df816a4a1fc3d0f0aae67471e4b107bbdcf6686414fad8e3626799f12f8d818023f0b71bb393b1770eff38d6169d70c9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ta/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ta/firefox-58.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "e30979bbaf5e66ba05800c23beb050c77658099aeb65819848fe282b00fd73b98e58cfb518f1db3e30132dd3ff5b3478c82db0177b7035952b6474157d9083df";
+      sha512 = "8266408b1f4e0fc2b96c0cde463619675f7038824c3ebb2c97186e79736431b77b35e0ae62fe09064fe631f07b77eb19becf6e435d4fbc096f41020bec291384";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/te/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/te/firefox-58.0b2.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "3bc7727c833709281e998b9201f2bf8e6e327d746ca080c73eb1f95239a30ca55c349040ff5789cadb03454e7ef836ebc3f1f1e47a86a19f3db1aa290a213a54";
+      sha512 = "110dcbd4c13f9d917f78094914a25c8f7d80d44aee9553421130dc526c0d6c29bbead1e5fb2f778d955bf65436d983fea429de6f73b9328066541841f7475e02";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/th/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/th/firefox-58.0b2.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "3ef644ae9d627f2fb46e5d1870f6b9dd71d9c8fce6ec74e027c67b3dfeec0015bd5b59e10e3b255387c86c25d7cf55ac7379d30589ab70548040452921a7f52a";
+      sha512 = "1533d96c6f0e23f38c113515e7fff3caf99915035050cddab0ca021b176d7184b80e9bd5ac79d809a0d31b3be987f9e31367874b4c35adbcf62a2ce685d41338";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/tr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/tr/firefox-58.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "6b67d6386251e7bbac5fee1f0df49d34ac03856b0a22f717e62c1d246c218594b164863edba9f387c4acc3a3e6fd41dad80fac6816fcde672635b8e3f84265ce";
+      sha512 = "da6ce35769007f140b9732d7d429def5267f733d8674a7a80b11aa89aaa7514743a61d1f22210bb7368416f570d7f0748609b31ac72ab80ffe0ef7fea3397bb3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/uk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/uk/firefox-58.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "89c5585413f09f5aab57532aa261d56f5df5b4f466608aea0957856036d5e1cf59763c7864e41bb9feb1313149ed5dff973193dd8c91b77e80ec3ccc9132cbd7";
+      sha512 = "df03b9d2bc39c4d620d1886dc1d22eb70289fe8d6fd7ef429beb8170a95b5fb1fa15526b9b68bf774a3f09170d0573f642173a6302f8dc9acc41bd9f2604773b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/ur/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/ur/firefox-58.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "e3cf517fb7f5894d14833a7febadc14caaabc05211deafc5c0e69604131fc5b566a2898f91117cd556c7d551392fbe0cf35ba4fee357ad53a40a756600371024";
+      sha512 = "a0914042713f9fb91e52e35eafe4b6a666b670e951b4e6c3ed3945804a5640d06c5634eda943927a84ba274871242a4495b754280e4c601fd69c9e054f1b8175";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/uz/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/uz/firefox-58.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "d290e74c418d37cca154f56fbafa4ac9e07ec9e035d513f6b652567f72512c350212748aca15c3baff9b2137309261287cfc947f2cfdf81715e59b83fe6c2b5d";
+      sha512 = "22eb91f33b22b43a81cb0039aa2f11bccf6d83433897d0607d5a52c127366a3b75c18d1df2ab985090a724b278bc703e80370b8ac765bd891981620b0ae36a4c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/vi/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/vi/firefox-58.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "d83f34b3d40faad14a8e9a91e07cb24f2ddfff65923788e258a9fe2455fa812b1b7d35dfc07c628f41b3bbd6b9ffc81dc0d313bacf33c36f5bb85106dc3fbc52";
+      sha512 = "e6801f622d134be7811212ee8ed47bec259eea1463baeac098ec59e5687cd2ebe42d77d42fa0b18f4a054c7a392efcb6121ddba000323998901f46ace3a7fe4a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/xh/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/xh/firefox-58.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "326fdc7d0082257b970a3b38aa7d25e57e558a204da939f061eb6bd43cdeb17c2d65b9f6ff38524c14d5225e3703949a4e6f01dafd926336d404742eb289b156";
+      sha512 = "0c0ec3f3112ba5cb7a8df9c9c69714dfc585539b4a13632bba94c8e58b7e5a44a25ec4206c7d656fb31c883454a337e5c3cf24ba67d758fbe9841207c4b84249";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/zh-CN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/zh-CN/firefox-58.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "04048407183c8607d6ca06b446e6da8b1cbe253b58561cb9635843479a1963474c26db589828c5586da8b76387b34696e3b256da9f978db51a96fbf3f1157bdf";
+      sha512 = "789602749a56379b7edba5bf5ea9acd1d950782408f07f0ecf505575ef5cc94f580a601d26c4225c40d49eced4d844fe4213be2df52c83db7788b4a42fc10952";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-x86_64/zh-TW/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-x86_64/zh-TW/firefox-58.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "aa9ae37761cd9096029e5f83a81eddc0e21964fa637f3af41d4928675f02c2d4f0b7558dd79c374c6cfaaf74e464837e5d0bcb1c5eb55c68aab24d501b163ebf";
+      sha512 = "44b7d87e066ffd2cb83c33dda0ea3edb18cb0439c3ffb45d78fc07109e370b6b8cb7e95379423162928e9f81d5be773377716af774f8b3378d9214049bc73917";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ach/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ach/firefox-58.0b2.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "83e9e88b26a4c5e84560e4248a2c465f0d73a0044c34b219ade4207702abda9355eba16222fee6c825118f70e36298d802cc8bb6e8806ff4fa099f8ac2d8173f";
+      sha512 = "586c8cb8baaea42e694dd5f9886df52c4a34ec8224863127bd3b87bbe2594420b90a644c7b414b85db98714eaaecae88d8b91fe78351cf0e113dcef89d3e0087";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/af/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/af/firefox-58.0b2.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "d08c73098a6b95efc5ba120fe2d9e5c3ba1493333339e48e74346f82a4bd89bf65b1d3aa94f99f511d8716cc665cf5b4021da84aefc6ceb0a9b8fc5c21435447";
+      sha512 = "5d66112bd0b361b7a064efc184bf51d498a61a58ac97ff4a6d542b7c6be6f1802ec7da9cf89fc554f8d3e8ecea28d3d1c694cf47b628a15ddce6bb24589be525";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/an/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/an/firefox-58.0b2.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "c6b460a4b52586795c0d8a9ac51e7990b8a8b0245e91056b0b1ac8290643fae32116fb3769961981da81a7ceff4979b04c923d9bda01a49f93aa08172897a101";
+      sha512 = "3726fa3ebc4d21b02a7165d12b0ef8fe2c3ab5b204fdcf6e8b71994ff48897631dfd220708da0365cb875de8b6e20ea0db416654d0de471989f8cc57f427e64a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ar/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ar/firefox-58.0b2.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "346fe20b1b98c2ea7be7852252a844ccd87b2bc4c6097818198c79af5efcaf905f25157b8249be116afced8955bae9912c08d9decb7eca31050720adfb7856a2";
+      sha512 = "ba99e30e7cd10dad54df7331087a2667d8ee1397c1b184f7deee3ed15f7c6d6b111592e74be320808bf67846d1cb7278270a47cdaf9db1d0fd671387371a203c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/as/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/as/firefox-58.0b2.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "d7f92e268a5ab4b3eb6f6d42f775a35237a529feb19656b895fb33398749024b029a66e639db30c342a753501dfb8c97868a9726cac33419c3d58865fdd24895";
+      sha512 = "db6035cc1b2a6c04ae79e4179dc5f1a64a910a0c8646e8cb93af63460b5d8bb5a07369b93dd4c703d09a39693a07c3bfb913e4ba6d45aaf3e125c407b38f6d6b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ast/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ast/firefox-58.0b2.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "a54e7fcf922ee97824d21fdaa2183fa45709f6989f41a96f913c664fc43d0d45be071c4458b026f8a22a10eb18f2b618778ca560b95dd52a43ff4897680e4eba";
+      sha512 = "42496b6755ef735527419453fab12497a8d6762d176faa8b0af7338c2e62cba2f2560ba0f7a22d6eaf10badeb2caeb6367773b19d2717c1bdad64149d74d0f98";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/az/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/az/firefox-58.0b2.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "8299a0f1a33289485dc92a66600720289645e341eaf862678f6f0ea194c7f11b17a171ffb1f6d582a2810742f97085673bb8fbe58ce21b94e41b46bd1aa60e0f";
+      sha512 = "c16fe3c909a0793cd91f320f94fe309e1f0b559cc84fb01ece5bfe455a1854701b259821f79fa6db8cdb6dd630a477e55e51793947661e0b3fb8aa26f3c4e22b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/be/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/be/firefox-58.0b2.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "6ff4d7d353c4c4273a59d09d1c642bee5245c79e62c9e6a5818785f0c22d02ed03613e93353d59793e214bee1fe34de73271a1ec84d9f74853fd821582bd8ca5";
+      sha512 = "5bc3b984ad38f105a922d1c614e1783d32a84956848f51797d4f1b3b5b9daafeff0730d103bb27313840b07ee97be73c30d6674a527f57ea7d95542742a06a00";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/bg/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/bg/firefox-58.0b2.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "b13a4e6ffbaae528136cfbdbe17f9ad8811cf2fd23d5764d583f63fb3ac2a76fc7ebfd51d8ec649e0f9e33fd618a5108b0cddd32fd25ac98bf83418086b9e364";
+      sha512 = "50f64269f264fe1c31970b43d6a0a8860a563154b8913b9a6d186398a6e6d80baf37bc0f091a6ff49115d44d01fca550cf1d65c16dc77d6498a236595be2779e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/bn-BD/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/bn-BD/firefox-58.0b2.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "678021fce64a2725b8968d3090fe10caad1aac6a883a44c1a3fd7e2a5dcea9e9764f36249a299e9348bdaefe2bd9bdcfc3ae2d2bd864c5e66b022c8f61dc8947";
+      sha512 = "be9cf4bfba0a65d491a586a1ea2ed6a2dd1946bfa715401763b3067c3388b02a86a1d53a7295ea6ed6b47cabdfa342d0f0ac6598e62f396baff74db5858f0c8f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/bn-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/bn-IN/firefox-58.0b2.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "801fefcae2eb5d6959fac142d2ce77c6522b842b63f0a2493652ffe682b4d261a91278cea7777cd4d32575765206a4f7ce81e2fd73afe6466e418c40d99a7400";
+      sha512 = "f448f52a639102c82396633f62741861cb2a3a0434a0e7185c8ed6e70b24153e606a5ed22ff003ea7ac2aaf6996135e7094e5d0226bbb8f143f0f3871daf5ad1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/br/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/br/firefox-58.0b2.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "dd1e074400bf491b833e7ed1dc97d211371be17ff5ca1b3d8221965b5ed67e79594b94eef3a8a778f4fef679debdb106e5c18db4d75989d4e4e9e6c794f05631";
+      sha512 = "f52471ee4b82c820813accebfd6563494d41ce7949449ecfbb86da45c0a4f36c0894b830ac33f96894b02e6785cb8389a965d638f75cdd04018730cbae41c7d2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/bs/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/bs/firefox-58.0b2.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "444c9c97b8aaaadfa6b725709c6f49580f22e004f3d9de2c5b50f0f6c60e1496743c12ecce2b0482f3ff56408cbca14753e58b17337db016f7d217a5d62a3940";
+      sha512 = "9df7d37a1cd531c43cdba491ac5fb844c20f335058858cda88bd9934bea097d9d170e18b3b29ef0fbe5ca2808469b75a4eab767b37ed2e29ac7cf2141ade8f38";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ca/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ca/firefox-58.0b2.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "e59c7ff93df39d6e6365e751ed9fb42170bb17f05cf88d8fd96decef6e7bd69fa60d7efda8ae3100e169bc401f3cbc26c94b67137e960f6684c8f219b934acc1";
+      sha512 = "43fb2e6b9945a4586070d433fe080cd2b9b8c0923c12ca084d6d21dc3e22164f470a3c791b5af181aedbe1d76e78cee3981c7fd1872f45815a8db267a9ccd74c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/cak/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/cak/firefox-58.0b2.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "d0e0fcbc207ea7cd1d69d80add30bcd6f31e0931129328d17760c6681d12d6442c0c1006121ea8a7199756208868d892250be6405ee4d43ba23750fc9b3d7789";
+      sha512 = "7a76be4291a5d3f6bf150f09701df4390d7f74c0046694a220f4511468a815404713062ad560f75d35643548065a2340bc70c439e23ae14272fbc20375f5901d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/cs/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/cs/firefox-58.0b2.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "9e7a35fdd318037a638eede7ae11c4c28b63e8c3893ccc38b50d25bcab229002a0f912e50719a358ebe6f30205f61187a3fe4ed3d93f04545542888bda18c279";
+      sha512 = "d0a8c61960d2289b5402f718db28a6ff355fcdbcda77124949c420c3023b57595559305dc763165550f0453ae0e4a01cbbd3fc37e6af9540c80f857c8b4da00a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/cy/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/cy/firefox-58.0b2.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "1a1edc73f902139e8696c2c6609c763664f61bc654b33d822b60a31140f7f52afafe3878516d705d90196f72aa38fca57e3a085d5d03651f1a8f344235e2f92f";
+      sha512 = "85d9dd9fbaa72ff350d464015f2ca2e810a66d2917f19a7830ef50548ea3b5de1a4e818fcdacaaf9e5c7009cef391bfd3818e196d89483abc43a1badadcfd41b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/da/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/da/firefox-58.0b2.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "6a5833ecde7edea045ab18325a55ffe19f55d0a18af879caaeeac3b00b7412e2f6b9330959068632f3d87b932f544a993c7d836a69f0ab0be310c07c46851b90";
+      sha512 = "f7a87024c27c0b7fcdaf5cee4c31235043c1c506003e04c71e60792dbc9a4cb3fdb972b335c3b6eb10fc9774b36dbb2f6b415ca90f4547c6979bf4568876075b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/de/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/de/firefox-58.0b2.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "c0e0954430d656565ce99d91c15ba7cc74da840034c4f70fb9ccb38ece341c86c500b27a3d1b57e8f5da4bb6484703dc98c6b8ad3d95972a9316a0c549de9814";
+      sha512 = "b4f1fabe3de50583afcdc27a3599dfe9d2a08f2e8b1942aa0045df6059e9686d2f2f1fb3462c2e21d9e6fa1ef5a7849bffe2cbfe1d18bc70879a98ce8fad8718";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/dsb/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/dsb/firefox-58.0b2.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "e5ddd864a5ff73edbf2152828b036095ef1197595cf5ab751cd8037d3fff11c9e119293d4adb427488c20e0bfa13c064c76d4720c709d4ce31eedd74395e8dd5";
+      sha512 = "0d85cd11ad6c28c87d6df4dd9f5f16dfc37f885b1686ff85ea051bddd6f5b2db43db0a6b2f71998eed707533416b6af5e4dba209b43586a76e74c03ba26cecdf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/el/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/el/firefox-58.0b2.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "bde94744268cbceac403a4f166d7cd9d182c18cc8321af72d0197de00737b6f31f7d1a5513d1702d7f29df3d4eb7208d2a5086d6e0bb7a2d9b7fb33088f82f31";
+      sha512 = "014ff2a89bd240bd32399732647b4c0cbb47ddb9e5a7705be56eee3df8c8b2c95339be61ed35893c4a4fe03afbff3e48c9e03d44f0cedd5c3694ead76d4ddd19";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/en-GB/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/en-GB/firefox-58.0b2.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "48d4fb95963853cee8398c168f51da141ed7e5d18c224d15c35f184669997248078756e6da0f619ed287df034c7d9836f75188c5c8ad17b4af9d1dc022336eff";
+      sha512 = "e8746eac5d253cb2e5968b0d2da6b596a3b14baa967622528d03db684f9b507cbcde59fc0ed6ceb64d4eaf5e1767abf1fd8e8b651bfbec1beb9b7a5019c8ae4a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/en-US/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/en-US/firefox-58.0b2.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "22555ce1e9f574e5e2e9b1164071ebf2362bdba7c182b6989b8da5e7fb736c7c6444faa44d52d91041d1862c2ad8c0881868e63c424b84d88ef39136e087f87e";
+      sha512 = "ad0b071d92c3a882f81b7ac3e295e4234b9912bdca1ab70cae0d79f17b3f5fe04d30c70e91f5639b8c8e0f6759988f0f7bca3a0d4771ba3b60c63b08bbc71c8b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/en-ZA/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/en-ZA/firefox-58.0b2.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "2589efe14b8762492d668def0b4149755ec9ace70f581a1fae669249cfdd44d5bfe60a718fbe300bb92a3ba631ec8b0515357587c8d095013916320f8f1a90b6";
+      sha512 = "4434b81ad8cba0b9c380a73feef18eeb1f1c043842b24a13dbe1059285dd0d4c6168f358a38a31a143e2b0f7c2d19bea08734d02a5f7deecd2a185226ae6d694";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/eo/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/eo/firefox-58.0b2.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "1a614091e1638edfcce4d755d4529594bbbc8785ad33af360b9003c76dc64dcd227f71a28e4fcc13b5b2a7afd2858bd9ff6287e7b97b48bee5025ef1de400870";
+      sha512 = "1f3ab8f6e3969cb9aafb4fc8ec1e8af9d2f883e4013851d822bce47153a1d06fd689e0e2230ebb0fb3eea81f140f4cf984a4b5286325a576bbf5668d5c247346";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/es-AR/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/es-AR/firefox-58.0b2.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "508812c53be4877f130dbcf0aa712c6410774370b54571210f3c52e1d92fa0477d43f2f24aa95198059c318e91ba7a8fcbfe476cad03a8256eb37eb88ca9f460";
+      sha512 = "b609c22e7cab67feb44be92f8ea3cdc86a512ee96c56c82273013a02c795bcd8da4ef40f586c94133118ef5ccc7968f21a27cbfef499bcd61be069e55c6f9567";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/es-CL/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/es-CL/firefox-58.0b2.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "bd7c5493a92fb7d6ee5680895ab24bede3f8dbdbe176166599fa918a981d11fbd124f4fab4b2bcd5f88df5c1cdac48c85a2fcde0fb87ea361ca2baed2db9270c";
+      sha512 = "b6bdd2abeff665239e8f246940ee65bfcb54f1831d34aee5264b3e7714ad6819a5dbe9e3107d169cbf8f2532bef1d68bc40d185c281977efd8a3f8d918b06388";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/es-ES/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/es-ES/firefox-58.0b2.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "cde05cd2e4127258cfa26c76c018f2dcf8214a75a8c4cfac5b4dfabb51ffc43f21828e9a89fcd326cda5cd0c6fbd09649259b81212e13e4d15e32d0c1b87c267";
+      sha512 = "672afad688d5a03a1aba52d9ca29073dd2e7636ad049f98552978cc98285b5794b5ab854c78d169a14825455933413e5dea5d4779f5ef24447c1a414361fba37";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/es-MX/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/es-MX/firefox-58.0b2.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "75b8750f830a6353587a9eb555bb2e207b9d7e37894b6b2334be1dd27025d69adefdbd7ae1bff6c7fed823acf2684352e1bfeaae8a5ce5f0721838a82067a6be";
+      sha512 = "d10de0d07161e4cca3a7ca42fa7ec3941062db191f2d80325770f55ebc080be2c8ff9b3b8b52c47cd8422f6811696fd6dcad51cf1c2c4fd6c976bd197dd39251";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/et/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/et/firefox-58.0b2.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "f33bc9d8e107eb70ab039257540e9a3f96826e597771ad86ec416773a1755b1e5551f8a14664e8507e29eb08d0e3abc8e1eb9e00c4320ba82b32c9b7eae7a68d";
+      sha512 = "c3ea53b3422a9cf101eb737d2cb511270fa4b0370453dee86c74f6cf9f36f6d7a2c4f36b85b760ddd089bf655f540f8d12a1d59c259e8beb26b69ab345569785";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/eu/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/eu/firefox-58.0b2.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "94c844674a045f2ef4d2dab12b070e49f6a79e4d86856b29965962df420b4dd57db5f21dab66b7a54317dc908c9b29c9bb3ab74a0b4b8eaf806e2fc2bc45a821";
+      sha512 = "1221a19d5fb265cc86fbe3a1f03d99d0d5a5088432d89624ce7c00f26dcaca5571f8b136be8fa65f4c829e6b5a371d22d49dc7bfd0c31f3c168a4abd7d49e8ba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/fa/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/fa/firefox-58.0b2.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "487d78630469eaa93bfc24b1b3a9d027b57b62c74904d9440e3cb173a86182e17758f98013b3089a173da0f671e2a44f334c61835f1e6f143d3d83704e36f3b8";
+      sha512 = "575757d295a420921db0528a8833cc69a7aafb13e4a51c63804b8c76517497f63e84aeb4972bdae0e7139233be50613c26179b6d7cd066beaec2d8ecdf429d95";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ff/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ff/firefox-58.0b2.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "b6465926764e311aca0a74f6d6fb19396f0475bba5d2c43dd3af124e7d6dd1b0c018fd541d2c4f5916d8bf03db6a93344b558fcc392adf222893716bef95275d";
+      sha512 = "a729c190bb3579ef4fca48c837c886f152bfcb550c29fe01a65f6f1186b7e80b71dde3a4f45ab80f282b04868cbc1291e1949a908b7075752fe0af7409c3fdfd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/fi/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/fi/firefox-58.0b2.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "76f0748b9337bbd7232b0d1a056378f4149b1539bec8c43cc99b14d8036c8b737d71467b8d46fe51a4dbe0cc1fe3a061d749fe3937ad5df045da374ee72d4581";
+      sha512 = "ac7a6844df3a0183d9516e3f526d6e8729b831f241926add256eb790be4d05ab58c62726940eece24b0be6dde8530c62280c744b00117312e937bc024b16d197";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/fr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/fr/firefox-58.0b2.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "84ae5e6b2d6a89bfe20646064f97ecab399cc916ba1c9a17a4787c6e01cffe159fcd563a595f0362c20132dd4dcb143334145a05c7cd6e065678b73f6b5c0017";
+      sha512 = "f46400d33f72dc888ce686e270c981b0fb11b68207d89297288010df325a71b29f48200c34322a5d9ff493d9540aadcf5f30282fc1da0dff75cc63548534378e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/fy-NL/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/fy-NL/firefox-58.0b2.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "e1e8a0d6f1e96b7e4f6e8c315b04130c36717f9cf5a47d3fff06dd1b69ab424674161862296b93fa294a980afe75cdf04ec115e06272cb67cfd74809747a2bb8";
+      sha512 = "17e6da89a57a34e4609acbffdda18679fb446c3d931bf5277e10099f3ceaade22bd9db41e9d38da6db09d9150888544c6619a818a50737b429a6f03def94479b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ga-IE/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ga-IE/firefox-58.0b2.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "3cfa2704c00b21d15445489735753014a481ad5b8eaef25a2c6ca35122aab9313b5cc9885d685c3ff206ed895e14dfdb7518ae5476e86bb35e6b81f06e54aad6";
+      sha512 = "5671564000d63a401e40db275a9ac2f131c9a0811b0165cf1f1d3769324eb481b2de95a29f4b3cb8935ba9808ece9bae4e7760c14764c8521cba1517bfa69626";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/gd/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/gd/firefox-58.0b2.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "b7e4e20f35ffe7275f8009194bd8325c3c8f6c02e185e7a337c85d03232909a44f1d4a41b598d466f560339c0e64cc3babeea2ec2efee0ffed015a791fbe265f";
+      sha512 = "f7c280869b2468c173f0c45a92301c16252365e5cd1fac0b3ec7a3e779325f0cb6a31bb89761e37b697dc5f1a5dcd8160d935769a683dc656f89ffc29995e782";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/gl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/gl/firefox-58.0b2.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "9759d271de728720319dcd30507525a1693d00e6f443a5921eb221da1f0e2c122fe1da36c881b0e4032cd5ef074438da5933e8c10b42370f114dbe572204589e";
+      sha512 = "75e161834e33a4d9e761f85b2cf1de2da88113503c1235d26a2db0a0ebd815ec12e6d5673aeffb368dc6f75877c52d67e59f27ee44e9eddea8f7efa17b4b040a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/gn/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/gn/firefox-58.0b2.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "9d4ee42485ef63e7747538362a4b5baabb4ecfa706b4c8b0c3fd440c48a6d15c4f8a1cf5e2b8ec71672dc529b50c7a6645986a867491e4f14e0cda127db5bc13";
+      sha512 = "5aeffab6468ba08c15d74cbbda355a8c51132d8f09f5d603e61c6caa04f1c57a3cd659463454d967a8fd68a17bda9185a0d281368381bed772d1b7e8c5722fad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/gu-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/gu-IN/firefox-58.0b2.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "45c21939311dc0414716ab272fe72c063b8adad201f2dc7893347a66c5e9abe7f1b215a4d75bd3ed3801b823679fb27f5cfb5fb6691785126ae516f237133ac8";
+      sha512 = "89d204f7b931897a9a782eaf99b5cda7a049d35f7e4f3336b3f941d6234ae3984130c59a352052878a72602d6fd21e9725ec51fc2bf990ab395bfccc1ce202cb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/he/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/he/firefox-58.0b2.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "f17386cf6652a794303dfb24dc439031630239a9e7b82afcab0bd49bc3e018c4ee4f499f3c1557c68d38f74c37b8775a49fc72318a08fdfc2ee8f593426540a9";
+      sha512 = "7e3bfa2d8fc1ab1640bd2310c596451afc25ebdbf5b0827e218afcc7144b126220bd4cc94c8c769c20b6f00c6ab338adf4602dc271a3480caa1db69b28e41409";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/hi-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hi-IN/firefox-58.0b2.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "c7311b1a5d69439b93fc0865394895e3d1776fd940d21838d4681659dd2aa222cf1aa041821f5f385cdf904de13e8ee16e000a582495f9eac91c0542317eec1a";
+      sha512 = "803312f7e912059d05c88a1a6f448fdeede2aee53532fd67d685ad64c4961dd125c81ca9792a2ee781269221da738fdd7c76119a3b9d4ce6b9a5cf579af90388";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/hr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hr/firefox-58.0b2.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "70eff0fd9ec9c9c70ddc4afd3b95e427a945b35dad26dc29b166d784efacf9960738cbb0c62c700cfdcb48b38824d34ce46eef1ce0f55fdf63932beb1a69b04e";
+      sha512 = "bd4c68ee7fd5d7ae80907111f184825b94b1f12d02019cdf1511ec76ea98098b1935953b5c5759f28538f110a71cc7804b2161d29b8b3835a481f6f025b70448";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/hsb/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hsb/firefox-58.0b2.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "973817d6011a72c676b14f9f5b333ae53fd38af8a06c5434eff0debd88f3beea8d209331870620dc3457cf0bb0f24462d2f9fadb302416e0e9ce84928ddc4d23";
+      sha512 = "6d9d67e98cb39884b54e068b471d5e16e38897105ed890f14d322568a910fa29c5a3a927a31215133a8635e47800f8863afcfb7d88243b8cf9414b450c70f44e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/hu/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hu/firefox-58.0b2.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "836aec8829d07baced10aea1b461a4b503bd3887541c6e030cd802ee1a04d6533f7f899c268077a3f79e8ada8fe2606780c506a24f0388e3292e6935afc04048";
+      sha512 = "2f07c74f085e7490ba851448db019d7e0d5deef9a74e53c7e0e3bc13d4be5ba341032b9c63d5f2a7f631883858046d84eae5612166e966c330bd14777015a6ff";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/hy-AM/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/hy-AM/firefox-58.0b2.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "9a411df379d0f900fcabe91515409934da6d51092a4a44df7f7e003f1761504b399e353fc93f69022b91d72c44198d35ad9d7e2cf9be30c549503043bcee9b12";
+      sha512 = "91440eb5832be50208473b6474c0f13d794cc24a37b2f9a160b2f173fadba946b934fe0c0867b7e3bab605da6011f32fe834825f2ef229e0a20813f58097ef7f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/id/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/id/firefox-58.0b2.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "e91a619f10a6b9948bef49a5c21545f3881430d8f6c7b5f0eae112c9b8716519a88c635c37cd89586d8ff4669e31f4b549b4eed6cebf5a13a48df9ccd37e3988";
+      sha512 = "b0a2504f562b902bf0ff11363c44bc6fece5c327d0acf9eb8f0b17d5750846df1ad1414c17387a39bae5f1ac33de9198b05c55b0f2a97590a29e6b9c243ff20b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/is/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/is/firefox-58.0b2.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "aacbee57162998c21c870d541bd453130292211a19aec1d2b3ed0695f143eafff132cd4700f9a381e405e46ee1ec5865017c447771fee7bcd9c0c8586601c1ba";
+      sha512 = "e3518d927758c3e6c0bf73026b3896ec44cd5bb0abc3e0a8e280e458c66b70a32b15d53a27b97671335fa3a00cc7a88032f11458962e48cb1e984aec6c22dea5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/it/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/it/firefox-58.0b2.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "4388a33307067545cbc6c292a5aee825a53d7e38aba4847c347aa4ba3f30df2b2ac15430fd4a28a7fb490efc7c6a6d555d58d61fe753e0f8368d80a2a8034f25";
+      sha512 = "617dacd7122d8920c9b51974136b7834c079adf0486e9476f4e203805621864c47138a6bb79f05496f075071d37e45baf6279815e17a3640a805e80b7489b61a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ja/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ja/firefox-58.0b2.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "f37f851f573e9ae734ad819f5ba22ff97a9081c10f63950ebc52cfd97202b295e035129fb7f4afcccbfface1de188f1ec8dee7bee14bb3f0f779f9cbc00667df";
+      sha512 = "a0e21fe3a2eb933ebbf379294eebcf3c9f59f5331d4ad7959f5a1241aa4c0a90aa018c901d715274b12b2bde9533571ff164bdf71f081024dc0810e838f73fc0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ka/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ka/firefox-58.0b2.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "f06b7589ad1e2d96273be1470032d29816295ee48f05f9da685e210e0ecf35187dfde82cd5a6596ee0a0ecc8143c169eb2e7423c4f9026e3b06851b6ced6e3c4";
+      sha512 = "1f33af1629bd806aea449d429d7348362dcce82a5a02ed4930375e9701c700eebfe5773ef492fd303f68d86dd3ce47cd7c3f73e1a5bbf3d82bda1095e696cb55";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/kab/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/kab/firefox-58.0b2.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "c4ca6d1a50378309bff211138924f7b3ce22705592186c14d5b17501f2c49f04a29b4edb23746efcbc2947e0de0db88d0349c85e5a3b7e993649eace1975965b";
+      sha512 = "84f8b464d56f70ece330d6cb5dcc9d7c65b201b4365bc030c02c4b9892ba8641e8686e0f0419da40d620397842c4dcf0de58e9cc6776108e99e9659fe0997a75";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/kk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/kk/firefox-58.0b2.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "78379ec69c88d1ec8c03feae66d4f4ea3b48de0c324084f8f68a331bba16cef5a66f388d5c0fad4cdeb3ec9b1ade21dcd67e4b5fb026319718daaa8a151d1e5a";
+      sha512 = "83774a6b52db454e9a8b18b1ca7199f52ff215e5e35fe7cf0d86de6ae61af3846eb25510fdc7dbe670fc227688ee97b1ac6f25fb6860575431500a0b02eeb4ae";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/km/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/km/firefox-58.0b2.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "ebcd7d6259f83f7ac9528e1eaabe7f75600ea96c49ab0f55c77688949096d7503973a262761ec0828f233654d0aa2271f338a756335f27b73a6174aee05e6f9b";
+      sha512 = "6d64e1ad6f6ae88c4d32b6ce96c7f72c03cdb1d13fd25c819e8aabfed07b16bc1ea308f991c8671b6812ae2f91114ca14ef8049bf0a95dfa4b79d11a38bc8afa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/kn/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/kn/firefox-58.0b2.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "dc9f84b8d3efb12710c1a245bdf26c54f421fb6b993ed4219f28bbece45c37aa5c118206cc9c4e2e2805a667d90b7993462e57778c0eaf8193c71dd3111285be";
+      sha512 = "46bc7f686d971754d1ca3040fafa5573c1b4c6df63d91511beed6848b15717e4820b1a1ef842ef5704dac42e51cd6102102f0566807a2b1ed86f8fc5d8e1cf2e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ko/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ko/firefox-58.0b2.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "377b555ea022b2a963fc2fa9bd44002485f575710925aa5d7056b2c343e476f599060e50e708322c535a8dda3cb50255519a833c031e2aecb5d4fb1f1c3ae65b";
+      sha512 = "1eecec7d2ba6c2052f26177082384a48505ea2b88fbc5a3880166b11ca061ce77f9e08055776b9904d1d677ce072a87bd9f703dda51667f3fb50b62b42d6bc03";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/lij/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/lij/firefox-58.0b2.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "56985bc727c6c7baafab85cfbc8e3fd83f4770a446aa2e6a894983948af99a36f522898bc35a17c1e91edad7eb3a80eb736a9bc75a0cfbc1cda49f617d649edd";
+      sha512 = "20a4f1a52da9e853a40049d7fbed2435ddd48f748a453ae94c9ea14bfae3082aebf032c8f573104eb07317db4ebb970992db667010d0d8e0af6eef995c6481ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/lt/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/lt/firefox-58.0b2.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "fb3644bf073c9c418ea3db482780d6a409e7761e31cb82641d6021dc90ae81f3f955cdfc3f773e4293a29dfc43e93db3d0feff8124f1dcee23a80e3006cb48ea";
+      sha512 = "b427ef0a9af8c10b52d4ad55da69d314a55da4de8c68572c57a0983f3e8d566f1604f28c06267736e1d3921cf81912a8829bceddd0cf72b60c08cbb49a190c6f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/lv/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/lv/firefox-58.0b2.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "5a273bc8d85095663c6d66915e31c2cec48274db8445a3127b5fe23e1a6b59e0cf398a0631b23d7e8e29c2bdb40ea4b1f98d2d09c34f1f609e2b35f106263785";
+      sha512 = "ff70e130c43b3a5e6b378aa4c048e5b92488a75b8c22a4df4a08ff1a100d63f02dd1bcfa5d4713dec79f65bbac31d3078f786143497c6b0a3d49b545ff43613a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/mai/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/mai/firefox-58.0b2.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "13503b7879ae1c10e151ae85ef0f657dca6bced41bdca7b2ddaf3445c56e712c2b5c084f5490d41c5459ec9c5167c62ed517ca9083dd86cb3523d00a84ced8d1";
+      sha512 = "cfb436e43c1eaa7c5d7b0e4102b79a4e68833591a3c3b09df084533c0ac445bc6ad9a7f4e6f3e3fd0c4ef10c5c177ed7149c992742aa3512c0761a15a64e808c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/mk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/mk/firefox-58.0b2.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "8071102677b25f92dddfe1b5ad16aadd9bccf4a794b9df4655f75777d7d55fdb0c1a5e4ab292c222e61302f1cefc15b649ac17fe58680708bea2223e0c5f0a66";
+      sha512 = "59c02906c3ae7f810d53b04d8eb1ff6255d62dc3062d5938453a37d50bd35565215e6df9cd13eedd552d9121c415ea94f6a7b507c50b510433c41b6451f1f61d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ml/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ml/firefox-58.0b2.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "962cabdb6a3baa3fe6e25885eb27c5f119c37ca27fe75547a704b3409375d7dc61fdc4a1e4e12f0f0e6405f7be08dd628fd53eccf8431645c549bdac6ff6e6cc";
+      sha512 = "84c005fa8b3310ee98ec57e882205a465349481bf4cdd3d2daaecc7104ed82882d93df133f6945a2bab2e0b03ef444435438670674d426f7902ef55ead3ad4d8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/mr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/mr/firefox-58.0b2.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "0758144703046081bf3bf600de84c7a71275d73c3b6f9f27e2797937250b8ad288f41081fbf6f0c31e4d0bd61e1a8c449b546839e2a1da0ecda4097e7de6482b";
+      sha512 = "0bd928955589fe29d3801cd4995d9b20c816262549f96e894d06aea026dfcb621aea12abd161af991ee533491408660e38dd8c95af2cb91f24ae1cd6de949c07";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ms/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ms/firefox-58.0b2.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "015433073ad4703c7636eed2e41645d1505b9ead82a8ea5c6e1e639e28db87d0f5afb1aab0e7bb852b2c5b5be7182bfa6bf7bf62a2cfd29d4948b1243d29ff2b";
+      sha512 = "b9486a558d50b1afd2f7b2dce4a932f233635c2c15c08ca39ca80e83b1319ee1db59aeba679cedee109e4bebe8082017aa7c61ab79bb39238e3c231435a24399";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/my/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/my/firefox-58.0b2.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "603b30c61668fdcb0ee54e0881fe4bddd6a6787062060d28fb0a5b632e178b8396c868c637bb08e0e1b03e51d53e878407505f484d864175e357c9aac790dd9c";
+      sha512 = "d3caac45f5923c01c5c2f7515f2d813351fc8941b8ab11e856b69353f7147bc8c8b06c535642b8c04945c50f923533ac06f87fe3b3a5a818024cd42c08b71a03";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/nb-NO/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/nb-NO/firefox-58.0b2.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "6c761e7827f210386ccbf210246e2a68a200ed98c3c14b18a9a4b9ceb99383cf59ec2873c0c5fd749a8ccb71575691fbfd0ecff62f9a044b3e4d2c272232a15f";
+      sha512 = "56dd91a54b47451bebbd2fdddd5550ee2f8d4339bf46a38d16598e68d54bb853bcc03bd5db946fb800d501c1aa4630f8ed35cd0d8789ce260c78dac0823d7308";
+    }
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ne-NP/firefox-58.0b2.tar.bz2";
+      locale = "ne-NP";
+      arch = "linux-i686";
+      sha512 = "93667ea20de391de78cb8d2a0e06c9015998d00fd4a9fd112912ba93855cae49ce0456fb562bba8b2a32875d4e891ed5e5253517d05ef2b8e6a48bb884f55dc2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/nl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/nl/firefox-58.0b2.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "2847d4ceb5c572c090eb030a3c5ccc03a2a43f43002f4e308695905f7ed164bef73d1342800b7c0d0932d5b84246d68c8d5ef1b84b09690558d5b2b7453312cb";
+      sha512 = "9255942bc49f5fd871b4d1c701175a4b74cf555ebba1b89bc8d5d78b9d1db9fc5409c162c2434b78f3094062eb204765a55f235695e6a8c2dfefd70c14cf9fc9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/nn-NO/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/nn-NO/firefox-58.0b2.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "892eca2b59ae33326c1699afc273c0726b4fc26cea9adf7787310833bb50fac07bb2af18fbdf283f29ea1ac737e654a86bd844e97a0df408c7eb77c931ac4d85";
+      sha512 = "1a72ee04194b5fd4c0799363eb55bba6f993ec51fd920f5a7fe68c06622aa8d92ab7e014275b66fe4406c1f44276d01b34c843c84d16e523632fe2697661a228";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/or/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/or/firefox-58.0b2.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "0c4e996d5d73b1b13ca6fef1ae79a7f4c180cca8c6b5d1666c7172f80767624f5f64f70c2b5597ca22496e161379b37fbfbd20cc94998488eb6ebdbc1c2a9b5b";
+      sha512 = "8b0230279f6d2563e43a0fce11b86c302d852c8acf72a1d27e77d6480d63252518ff5b83ee94b7e5188f687f75bf8929118d01e42e4a7335c0fb5c721bc991af";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/pa-IN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/pa-IN/firefox-58.0b2.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "eb30dba1b3ee43ff2e6e86bb896b36e775ad6a803062aaa5c3ec68e3d579a0ce2ead6527b0dc1a5b4233f3be707c03af03063ef3495019eea04e331df544dae0";
+      sha512 = "d7feaf16ea00a77ab91a9b1017f3589e6ddca518cfdf09634fd74142d0a4ce0a87c06ce373a7dd356236aaed6673b3d274bb59fad6113a10cb285abc663ef6a2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/pl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/pl/firefox-58.0b2.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "d951353704501d27d6fb93da04ecdf8d06a2a6664167976fe018f39f82cf70ec7e59554043e7b4fb7a4b423331bac829f07a9f4d05c3dbe7d66eba3db09284a9";
+      sha512 = "4da447f1beb6eefab3af199090382a1305332802a9e466532a3237271540dc8d1d7b32795196c17a7b41e9884276beef294159db35ca52e3a289e171844838d5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/pt-BR/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/pt-BR/firefox-58.0b2.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "5e8cfd1c70bc72c58c7a7a06d30d9bb701c0c574de4bfffbffd96ac6009c712c0f8b14227c77dd109d16587f906b01c94f18c7d55f08a479cacb4bc479859db7";
+      sha512 = "77bd9d6d893f9c89bbfd6feed241155ce1b6b2d6c3e31985e64fbecac7b254dcae3c4ec7418752d2dc0a9dd820b4358e77011087a61414f320bbf18e93d0ec74";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/pt-PT/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/pt-PT/firefox-58.0b2.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "1035994860329ab318146f1faade952abfc48a50c828efdf73b3a103e7ef331acc82aad1a589b591384f33de1e3f0976eb62b61accb2507069e4055fd7bd5441";
+      sha512 = "29c6bb56aa2652aec25bc46f46aef5743ea6023106a109e50878528755e31ddcb6e641841729415453161c6c3ffea1a2888fddc046077a76aa723b393ae1c90f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/rm/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/rm/firefox-58.0b2.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "3430038ecd626b4056cb95815ca36ab1d9385e4783259cf973dd1ed7fcce12a3c0e1a18555a579d94f1021d1073089c3d9be40ccd003e00057c498e98ce7bcbb";
+      sha512 = "0d28de9c90068bcf336959588e2f202fedc2e5ff47d08fc15b4baf127ea79162d89080ad933cc7e57c03270a5d86100073a403229ccefe590369df4b085eeda2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ro/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ro/firefox-58.0b2.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "488907bf47fdc4a02e2fdcf11c0c4517aacae0421eac41ca75b573c5401ea729e9dbbdce4a176dfca871ab919ca1a07a1db9e61a82f0516902fc80f6a070b9b2";
+      sha512 = "a31114b63d5570327302cad0c1e77d7e6ade42a65f53dda70434e3043d1d5188d96791572433d9fb2acbaa1ff5110c9c24cd022c1696867ff6c2999571568076";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ru/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ru/firefox-58.0b2.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "4bf91ef098ced14a89efefb99a8162a328c583ad0e2276ff3539b9ace7540bf7fadbf057acd9cf604b3fed0359bc208186cc42d8801304bc9dde85c4a12f38af";
+      sha512 = "ee8aaa73834322c22b239297738eb2ced76a1c2eb7431288ebfcf100966599eacac11ba7e00fa9211fad6c8e624a0f0988552ff1674ac0395ce96c755228cc1a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/si/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/si/firefox-58.0b2.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "e214d7fd32c669f0a5367aad50ea9ea9c0f642c4af862251c52f1f1c95cb17a895edaecc2f69b6899ce95cd023480978936007ff26493cba9971624af422a5fc";
+      sha512 = "22bdfb93f5f153d5ec5556fb8c0e04183c892bffd616eac296d2f2b0bd8ff32bc04bd204e1e62a56a52c1fa00c9d8a309bccbc353179cf3ef1b8d74a4e0c7168";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/sk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sk/firefox-58.0b2.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "17206bb3d59a74ec7acf2ea205e2d02db7257484257c8cf63341b99b7cbf9434968d3c16df7ba96438c44e970e53498883ac2744dfecb7993c21fc34dc4d9f2e";
+      sha512 = "3a3cf394d15b11dd95fc0e597fd327d391f06d7a0731b3b57f7a9bea1a05c39b6b65b8a1092f44edd16f08ad2ca8cbd63730650531d1697fdd3fc55a1dcb6c01";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/sl/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sl/firefox-58.0b2.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "d04a0b97ad4f3385e48e7a248d280ac5c46a1d63261ab2a4b3e6b7769d82c70bf523acbb040bc3d341669f6b51a724970fe8e358ccb3e88c9656182dff0d3317";
+      sha512 = "cc27b4356c292b41756eba6debad5b4b18e24435d90c4d2b8afa622328ab96fcc0c854cca03d6ff6fd648d3322bf01a57f9a83fdf5966a7467575dfb1c227db9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/son/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/son/firefox-58.0b2.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "ae95b4d44e9a0287d6696745edd2d9e6b03eeb7bdaf1959334ec4dd28a84154ec075ab25bdd319f92f2173f8d806f95b875d2050ceda125acf8e98e81e6ba47c";
+      sha512 = "7dd44cfdd59e0e1bb71aa3b2ae8243751bafad89e6639d13d0efe4a3ab99ef34d87ac27f249d768c457e6ddd01d574beaa8ba689a7b85e9c1ce841f2506c55f2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/sq/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sq/firefox-58.0b2.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "713dd79c91fc01940c9b102ebbf83d5a9ffb62e77c42d971eeeddc9dcff1b2947268bab5c99285de5826fe3a5ffd55d9ccbd62c809bcbf2a266f019e35451cb3";
+      sha512 = "60d7b94a02b6eed876aa7d8cdad849bf384d0f62efaa0590d19907d18d9f42cab2b77b0ac93ba2eaa721d44237e1256fe092429f7c95de4c38c97e8e3d7cd2e3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/sr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sr/firefox-58.0b2.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "c7ba73cc0df99cb28f5f5bc6a8dd237a3c9d5b67d7c63444ff8b63ed34f0e0e390d233a3f886999d5531ceb9be5b2272b3b282008499c5f09278c9a9043636a3";
+      sha512 = "268fe1e88100cd55fe5ca1b3c2a028e436de0360e0c9e95ae2f77176e67f975f1609e97447eb98eefe82d188a804ffb04c05eae69ef9f6e405296f99794e5f33";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/sv-SE/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/sv-SE/firefox-58.0b2.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "58663250980e784ed5481a31c09b4ee9002004d4026d6743f89c739beceb9a135c587a61a391dd3cb68d53ac34427d0ff00cfb8b6a235eb29d6da4d026ea3504";
+      sha512 = "39c049e89a7e48f9f1d965d8fe43499856c3cd1ff5d86005d90d486b1cd04adddc5ef5246c71908ea38aae995456aae22124386b5a45d53e86e3e74380193bd8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ta/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ta/firefox-58.0b2.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "89fc06a036be7359494eb098def2a7118e0e46449ad7545b148a4194fca4ee446aed7172567a7bc746a202e48aa67a5fd18321f93920c761851a103402dbb008";
+      sha512 = "bc4fc2ea66fb0701d77ebc31c92d0a72775af52ed8ea7273a470783f972576349db571c861835d78fd201cb28d80fe4ccc5fc566af61502e74cc8e72cc1ac3a5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/te/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/te/firefox-58.0b2.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "1c74315d96536cb03e842823e70246bf9597489ea0586db6c474a5a905031e034034a62ea549b202dfd5464684a52d3364d1423f34a5e720b6449981fc8bbe53";
+      sha512 = "73090fb7df13733d6dee28cb6b9bf40aedf19ffa85149a5d0afb24732b9420f13b8d9860494f83a908c54db9d6e864eb73ca80cac549333f6e3a24b87c8f7337";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/th/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/th/firefox-58.0b2.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "4f23ed4c12757f6d472c358af4dcf1366992a8c391bbeaf1f86f735ad2fc1638d516b76b22b118179062ba260154048c179b88bc3178488cfa20be4bcadcafc7";
+      sha512 = "d6f9e42773736a179ed85ab2767f74270d868adb749286c1221484296f269c5087074e40678bf3abd5b420de3487d934982e53f7d094b98b1faf84ae9b19b7ed";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/tr/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/tr/firefox-58.0b2.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "3b45d8d29d6f7f8a08e4fac95ee28b12d482fcd2812ba357252d85bc2bf49dbf640190b3174fdc0e63b9b5d95e87ab3086efb1b1fb717323e971080e0bc5b570";
+      sha512 = "f9714e0d2340ed9c76a67c733936485810cdf2e3b38c32e1958fabdefcca989102c175c77a34eab30fce1270076a81127ae14b68b8371aa86bc2be2051db4a0c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/uk/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/uk/firefox-58.0b2.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "a17831cff53566f313f691ae35f6b7032cd7c11b5501b4e84b70b64323d0dd9988ff422d8b7bbf67436af8c8ec631f9c68e7338c8c6d3d470094034a5766f3ec";
+      sha512 = "784692df6d887e23480cc66730a2e487440d22812398415e412e2d8bdd1f1f9f0235a85be0f1dc55037d3c964996f57a1739f1ae54fc8857d211715a20a40c5d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/ur/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/ur/firefox-58.0b2.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "e0eeb311d9cb0789cd17979057c1f4baa2065dcfa30f33058b2a866b239bb44690263ac408cdcbff8d4f7fce312bcd51dab60b84479917f2c615689ed0e1714d";
+      sha512 = "103d50b878d74827f11c79005f008fb8291cfb8c062e136e2d965bc61200fb6c82998ef3bd9c186a7ce5ae1371e5f21ee6cc6d664fbd60f737b7d05a85abad2f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/uz/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/uz/firefox-58.0b2.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "3d6399921209541e003e8fd83e3eebb39d30682090b0f306fbbae6705cacc7fd1db50426f00084bc1c6b239b57da5587479ffda6bf0b848cf4c458f821936a9f";
+      sha512 = "869230cc3f649a9ab78a2de7dd68cd6c0d416de0f27640c1b2bdd80c88acf71b653bb9ad51a8cc7a8c2be9bcd7cbf5ebe5574577ad00cdec542a85e19902ecfa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/vi/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/vi/firefox-58.0b2.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "3a3d751644d605c92f973b680b4a093fdb8c476aa4eb4473e9350a03128668cfd9c96dc5a1f49dda2647342704e02326ecdda5c02e0b4bd80d73d03d4d5642de";
+      sha512 = "f80a57dc3d505701ba4a79819988133a74913918ba96692ed6e6d4479672e28b5c4acb06b978be3e7494ff868737992b8a34223964b737a7346fecf2a93eec5d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/xh/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/xh/firefox-58.0b2.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "8aca9406db4ec188f0c123a298f4bc89d8b5adf6a1471202dcac40e2abd7fb16c807458a52c2a5e9e31703a67dc792153d7c745219da9ab2c7144bb3f853a7c1";
+      sha512 = "662b14f48738d32b88c14bab1730e73ab208e85317a4abe8215419642299020a491d22299196091b40af41e88fa4fdd6794385152d9eea49f2aa9d6cf800c8bf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/zh-CN/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/zh-CN/firefox-58.0b2.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "ff87569273037e5de47a5c1ff61fc31933f8a4a9147ce8f54b8c9e16413e3546f7ffacf4ef8127363082ae173d4234783e54a7ece55a8afec1a51a57527d4e43";
+      sha512 = "42562df31b9f69b0370c01f281f289bb7bde34f5c82e43d46cf22084dfd12ecfea7a340116ac16744d5f6af04bbb9eb48d31b610dde34def50860327b9caa9fa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/57.0b13/linux-i686/zh-TW/firefox-57.0b13.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/58.0b2/linux-i686/zh-TW/firefox-58.0b2.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "063d9e0f85a04655f41e3e8cf9c875d6ec19d936c9c9aa04eb151dbd3de34493f7bfac557ae5f4f4dcb42037aad787e7e98ee42bf7fdf89c7833a21e5f827404";
+      sha512 = "71965696cd645d00cc0c2f212e89bc63e023f6c36c3182ed0169839550752559d8c1a04ad47c832e5113c321a54209e00ff598dae7cf5a46edb169176f3cd86d";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 1dd7f67c0907..edb19b1701a8 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,955 +1,955 @@
 {
-  version = "56.0.2";
+  version = "57.0";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ach/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ach/firefox-57.0.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha512 = "1488a8d46bcd28b1f70d3338361adc2a7c1c38fb418884d6e0741a269e40be49c1e0d9424fd910c37cd18df2354e02e6f95d26beada0216f71d02f6b1ed08cd6";
+      sha512 = "dd75abc1ff917398dbb8dd6821f6cff4d925870fb4eb654f18329ceabefc537ae3c908abfdf2f2f836aacdef67ca251645bca2a14c7b39ddd7e57b9eda537503";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/af/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/af/firefox-57.0.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha512 = "f04bae02532785fae3cb95a0c8f9708b3ce86a30dd9b560c14c5a58a9f5af1be014a36127933b9b7dcd450f116597ffac1d8dcd1bb1b0d8318197201d1577900";
+      sha512 = "eab1f1eb0e5931adc06525fbc68960b70b80fc070077c10c7eaf7fbe4be8d4db404aa74e35b83d5c1faac6a78782725cff8328d99f20d2a35f1527eb47c3bce7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/an/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/an/firefox-57.0.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha512 = "11920a51c909a6ed72cff80dfcbd90f5133e264a2725fbf48df8c27264271c6f24e1f0ab2233e37d458e8fd7f1415b4bd999a270575508c0205fe46d96e8c394";
+      sha512 = "384b37825ec8a55d91467a26ff9b14a1c707babb9ef5cd8ad0a73581dfe42ccce5915f3f0fa8e3afe41b870f858b4c27b3ad95a2bb34106b0412a7ee53d606bc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ar/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ar/firefox-57.0.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha512 = "e9200a8808be69271e10158ad77e87672478e31d4941448f612beb5ab7fc83a23f809eb928e64c4ee4399c6f59f994ac23ee67181c0ba1fc22991281a377c5a2";
+      sha512 = "a6ded39d52ec035cb71b816c6c61b81236f808a95538e578faf1e61ce72fdf4869845e23094351da2d4d2bdb3e01814d864f257730742b807b92cab008a472d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/as/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/as/firefox-57.0.tar.bz2";
       locale = "as";
       arch = "linux-x86_64";
-      sha512 = "a3c8711dbdfbc0633df658dc1b5b740f216ed3127b37f255a3aa13b6240c42bfc23fb08dbc9006bc6a3832d58c0aa30a0351d4fdbf6cfdb18875abacbd5b2c76";
+      sha512 = "a9e77c4dcb3672f917212baa11417cb5e947a561d4f3e5a2695640183c51b521dd8cae0d269c9cb7df1f608d2e82d620d2dc284c1fccd67fa857612b092c37ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ast/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ast/firefox-57.0.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha512 = "4202d5cd25cd33b169560d3a7fae3a999a692ab5caf3ff9695f20337931c940c4583d20549c60e345cc0b2e23e16094379241c766ed7d089f103c7e0065b0153";
+      sha512 = "07ea65e0c973248c4ed63525e24d09868c879f1eebe2530e8511767867e7954ce3bda16492835187013b134cc085a44d5de3205b1272aab65d16d77573274745";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/az/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/az/firefox-57.0.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha512 = "3414600e12fb48b1055149799c3e5659ffe97e7bf53962db89de3f35c9b82072a307e42a11e4e0d14f12e471d8ca965974ffd3401035bb3619f6036cb77184f7";
+      sha512 = "2810713aef462af14be0729488bd05e2992f263940dc11bf544eace53b639f63267ba8468c50b0a00748e8498a64bfb3d42110debf92e0aa4968baea47617038";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/be/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/be/firefox-57.0.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha512 = "eca58b4e948394d04a55bf0efa4a200d4cb3111aa3e45ee915389faeae78b9a70357f43baaafb81b57df0170a82c972cd991c05dd5825a41aec12adeb0c7d57d";
+      sha512 = "d8856fea5d7f52ce22ff6bf2af600695494f458214a5d2de254509fac7d4208b816583068fabfd5d2a1460bff9cecd13d1c0ba0880470b4975eca1f7a7a2eeae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/bg/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/bg/firefox-57.0.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha512 = "4632a66be47c512451f3c36be34240ae3d9ff86d42dd03a65a9a360c71457085984560c53671af531e22877939f8aab298b623f822b696659413b9b27d12a00b";
+      sha512 = "caae904094224b1c0374a07c22240bf06629b81f475c71ad38835c12cd59de016d05690b1744d5e44384db4c1ca86ab8cca4be6101987c34cb5903d920813f72";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/bn-BD/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/bn-BD/firefox-57.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-x86_64";
-      sha512 = "08a0c899b12159d0e253d0937e1efbf1d2197e724d243f7feae09d0ec97891c6d2d2e8c26ac0a473fb62d274f612b4231d8ce31fc3b411ca24e35b302aa3a2ef";
+      sha512 = "68004a769f2cb81d8f76b66ce713377a83445ca56aa6baf5adfc2617b85ed54cdcd4b410f415b27368c5437f3af5be882cfc701e10ad77938ab7dc2bd9ac87f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/bn-IN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/bn-IN/firefox-57.0.tar.bz2";
       locale = "bn-IN";
       arch = "linux-x86_64";
-      sha512 = "37947b6d1a55847c9fc94e7d20b90b5367453450c6e572179e4be7459e6c6b926f2f6528c10cad168ee1b8ec9f7643f5b46a4602aefdad77911d2fa0b661b7f9";
+      sha512 = "c1cecadd1ba310335cee4fd31a2754c469a8b70725e01e4b33359878cb104a700d6f8c64b8575d09faf843a635a7c26630cc9ed68daf1a9d93a5e075b25a8caa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/br/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/br/firefox-57.0.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha512 = "8464ccfc3f56786e0614449b82a79b4ac4cbffa6860050e09e9c179b2ac95109d8f016cab4c847c70d2d897c15979b9d53691431d3cf505948437aa439301e8b";
+      sha512 = "ba39b82ac0872a958d9fe4c9a20bd7e797c6f20ead48bdc379b56a1d227a6fd6d3f2bae9333a133da8bf86973e98af945431e98d8e18941164c0c6ee10923c84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/bs/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/bs/firefox-57.0.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha512 = "090697aa8355450f2f8329cc7d1c33ae9490cee06597c14c8a14b699b448b989565d96cf6c6a06e1ebed9485adc283f6a3480c190de17d6a4400377f4938bc8b";
+      sha512 = "99e891b6507cfe76700576211e5ca98bec8172c59733102fcc60fcfb036b9e44e44ec8bb50ea568baaad8777aa09b364aed0c419568c3de15d5abaf6e9fba07a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ca/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ca/firefox-57.0.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha512 = "c898dcad4eedd480968a2404206e94a46937092bcb35377a75b291aee92a5e8250c84698ab43cd509f4f87899be0aa16e060c13ae0a2a561355faa400678f19c";
+      sha512 = "87189530b94e49588c323ef388a34f6e3391d31bb7255109d0f25ad256f298576ebf3b3adb436605c1068d6ccb1fd4bd9350d2c48c5ce1a545ad4e28f11d0bdb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/cak/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/cak/firefox-57.0.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha512 = "e05d885e2e1ec9396a6d6d204bd5e94af6e5a02e534b57c5cadcf39e30c7753fb57e05507b2fce5600ca9d815d0be332eac0b3e5d53aa8f0fac1813aef375575";
+      sha512 = "91727c8e30bf12faad978cea98ff2b71c600ec6cbd85ffa603b8de7a70d0d93aafa364275061c7960b4d15e9ac729066fd0b600c1518c73dc1c78d13c93595aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/cs/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/cs/firefox-57.0.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha512 = "a1d7615ce0369274e6109e1b7915c926863554863b8703838b145c662213fc0e2229117de511cd2a35b08cfd3870f480660e45a2cd72f8c65acd800698d951c6";
+      sha512 = "32d9b6e425bac23ca99ce024668995068cf31b2252dd622886bdae395c10a5e4705b9a3bdcf5f72a090fdaf07d4f1f7264f6dcc16be3909d74b51fbc48bac969";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/cy/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/cy/firefox-57.0.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha512 = "c4d3b5825a7e27f0ef77001e793de91abce40fc39e2a8743fce3273ba616915b1be6b50223220fca91e3ece47bb3b125965ea50b4d728316865699a7d1c30c15";
+      sha512 = "aa206dec14352a4289612c6a0e8f11ba9daf3c48cd3943413cf9a2528b81bf25addc9392c47922ba806a29fd717e4c9885f6f0335ed0f4c8e6b2c38c4567983b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/da/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/da/firefox-57.0.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha512 = "13f28b2d0b7043d50156f452abf0786a86f98d63b844a481d3425d6f8ea3f926d5911ef0407f7585929478adc0cc6a538df92f0f8715686cf5b5596b91d55796";
+      sha512 = "af047d43a7898c3f2897d6356d60264b3843fa03c1de95d334a346e5c713303f591dda01d2067677cb3e7d2da465ec4cffc195dfcc5f49ee30e354ebdef0e271";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/de/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/de/firefox-57.0.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha512 = "fde8ace2a67dc8966eb25c0b7eaa6417114999d9f5969d8a846c76c203e6452e91d86639c3419d7dbaf628c4aa79efc3b9bb62b3582e141aba6f674e89f395f9";
+      sha512 = "009ee8f67aac1639437e340f5f6a67b7e881751923af24d45abc0a458ee1186a4dae6a2b049378855e3982aa01de23d063c0090840d55b966130024cae9b8a6b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/dsb/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/dsb/firefox-57.0.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha512 = "5ddc2d792d4fb555b5623ca8a7b214cd3f1e3279fb1b7f261641ebc2268a659ac9b6620a306cad19f7443c87279dd1908fa15d13eea2efcb0e8bfb036680f367";
+      sha512 = "49ac45a821d203e1915536b0c478fb4fffe905b4efba50361f10eadb824337bc44d4be0e9a83dc6d0e8cbcc24bc69ed8b2609b766b893432dfe14c19d7f0804e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/el/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/el/firefox-57.0.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha512 = "d0d22198853cb65fb48eb15d7fd709a8f377de92f39491d53859df7372740eb34b731de6f83bd9511e51ab80ab2d1c98f9e7ef52249265728038c9bbfc9d15b9";
+      sha512 = "055946765db4b9b0b028a94a49cfa21174fa4628c1a6d3d9cdee61fc418f7a0c49fb14515ef57ca802ed4ee90618d5fb3bcf2266f368be1e2c02905e3070298c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/en-GB/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/en-GB/firefox-57.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha512 = "a628f43bc48ea39e921363c820e59d8000890a550032a7fdf0e536ea912ce53055946591af6fb5028af58845297861e76fff9d6d75a888fab44052f4a392dbe5";
+      sha512 = "e9e017ac8f12032928f16e698f61f7a1d9b7ca274c0c365873e1853cb70189a08f5bb424351d46568a13412851c639b6b355a7e34af53a2ac68f42acfa45fdcb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/en-US/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/en-US/firefox-57.0.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha512 = "0aa78818b8eeb8033554b970c31835efb6eb5c9c12d313b0bdfeef8d54136830a66b78acc96cbdd99e8505a078fee84f4ed1dbb315b45471987c8fc6c52dd08c";
+      sha512 = "53918eb367fa58b4e54496d186f918a6b9f8dba7dbe3b19608a2a49cc6f5abd656998ac5006845d75a900ccffdc8595bbcee7c365792f80c3322fe2a09e1f6fd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/en-ZA/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/en-ZA/firefox-57.0.tar.bz2";
       locale = "en-ZA";
       arch = "linux-x86_64";
-      sha512 = "2bf77e13acda72da29302b1107b744a9977019bb58e2795e42feb60a363f2156738a9992172f263c12a70258e5c336534255a44daa52b1ffcc81923dc2d12c12";
+      sha512 = "bd3f538c644c5164f21d7f14bb1d118b1d788b487158aabf085b43a9a10af4df9079ddbad13427d381566f8841198c16f14ec949b8b4c94edb51e5572685993a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/eo/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/eo/firefox-57.0.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha512 = "67f3d380000c6901d6a3f35de6c49392deb209702619ba54ff4a6f1299685d7bad556e659116153a9b2bd84af0c683a558431e9b20b66cbac7b32172efaa123c";
+      sha512 = "e149060c094d856b98fc6fbe3dcea5ff632f2886e872e753e4416a9461956e1ae62491a052d115c4bae879382915d8df8d15c4b1aa6ccd4aa25464e2a2da8a4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/es-AR/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/es-AR/firefox-57.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha512 = "1dbe15c98158091d8b58e16e35a8edc7e4f9c2519d36d20e973ac1e89e10de7f5d8797f4c282f8bffc386d58aeeb7ed51432dae853c439a54ee5729b918c6e96";
+      sha512 = "34b4d77e53ac80dbead9b4bcc32a6de1a08cadd23efbc203318f3b9c312334efddfa5c0cc15b21fd7c21f64fe74f52e4aeb27f9dc5039599f19faa87143a0cca";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/es-CL/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/es-CL/firefox-57.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha512 = "e6cbbdb9e2cbcac69d678932836bed72c9268ebffbb7d85003de6e71578aa980248173bef5468e28473422060ef57f8a18bd973d92685a13cd77976f6b75ca7c";
+      sha512 = "8d379162adce9913f14c4ba9e6bca43fec2e49db6543adde894d1735ed8dc548970a61b2338e088f65a1c9410722bc683436c11f7f62ea46bb8f5a1565b25faf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/es-ES/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/es-ES/firefox-57.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha512 = "610cf7f14595edc7b7c99740ae284382be2d5e3f9a0cc505705392eb9cd9cfad732ee7dc7cbc6be74f9056b12762d51e6ccd74db17545dd2e92b8276a37a0ae9";
+      sha512 = "8b3ab31799d6b636bdb8dd78a2e7e3c482169b9e09dc5b8d403e080c41404fe0a803d315b00b4c047adfb7871ba29fd1aa93c600e3b76747bc3091f1613c48c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/es-MX/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/es-MX/firefox-57.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha512 = "a4c4e98c2af1bc272cabc444184bb8fadd6645e3fc99a3423581d3ea7ebe59429d2e7be5235e0c62ee9ce46380a997a32269f1b851aaf128c133846a22b1f7cf";
+      sha512 = "fdd08f2e2fa4cfa2f88edcdb1781f06b87a8deed929eae5fcad733ceca93db5bf750c83d0d5b5e37eb1094ecd68f5958e65fb5f905e2ff401433b3c6ea4ff869";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/et/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/et/firefox-57.0.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha512 = "ccc077554338fb011d5e64ee198d61abd16f750c834aa59abf90146b66801d2c7069ac294abdea824d5511976a5ab5d4c0f00af9cfa01f28ffba9d58b50958cd";
+      sha512 = "21f4cd8a7f8964f25013c3d3e2c261489790c9ae54ca765da3199c71c887cce955a710eed744b4f763d123bcaaa86c6bb154b1a6f9c933cb4e799cfced8ae153";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/eu/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/eu/firefox-57.0.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha512 = "7a15e0a070cfbfa03592702afc28e75fac4de34b4568fa78b516d9330bac6fe9f909cfbe3b77dc7aefe24543e7e5cc719c4af69431487b27ca6672aaf26c693a";
+      sha512 = "dc8337134ebd464d990ebafb4c04a0a57f84f5a013f7a3dd535be454d0588e62d1df796891593c5e48c4475f4b863cdedccce6548294e1799b8fb8548bf17651";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/fa/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/fa/firefox-57.0.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha512 = "652641ab4d7df5fc2f519bea1daf6503d17f36f6772bbaf511e99ac8d5907d9797f2d01291a31c8517076a34fb7b4c60eec817ea4e3c86903dcd84b559bb0ed3";
+      sha512 = "a8464c89ea4d9df863eb02850fb4a27b2dc5f65c5e85849f4ce302d4a7c0531e1bd0b3c1f2a6696ec101c509a8cdc87c91fb1bcbedb0dffe0cab9359e7d584b2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ff/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ff/firefox-57.0.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha512 = "b988505e4ade02ebf594692ec66d9946da91261a386ae484d5171dc42e992ac18bed1e7982cbcb9508364f3f9a656c267c7bb05912eb51f14f0ab68507393175";
+      sha512 = "92fc49c3f38a3bec9608c1a5aac89eda97e970f64a6ee0f90e1cb1e8ac98a4261307b18d3bb906bb66a20adf161118744a297f2072900b11a17e548c31b8baa8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/fi/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/fi/firefox-57.0.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha512 = "7d19b048d6c09f87b4b3419a53c5b25e5e2c17db13c830c13b79d536a2425833cb4b55271e878466b4558ed95f43a68db05f86812411b0926df38addcf2f0c93";
+      sha512 = "8c03f59ee65e22299aa04296530f6d21f036ae495862f80c4fa0ec97fe728fe440c723599bf0a66f088050bf40518ff15f62b526c3491c26812ffc72336019a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/fr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/fr/firefox-57.0.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha512 = "42cecceb791e7275e140fb9087702a0e6b55dc4b693d206112199545c9aa1411ea222a58de12a1d0d705a6332496090fb6fb208a91ed02f88b5c2111cbbdfc96";
+      sha512 = "3ae19adc3840c503f762e1625cee9b7b009f8b577f1e498ec1f2b05dac0ca827c957b9ac239a4877e151f8e6f4167111630f0f0bfeb4068c8e892d4ead9f13b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/fy-NL/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/fy-NL/firefox-57.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha512 = "53f9d33b8f7eb6ba590a5096e23176b373bd8359ad209c9052add4ddf112d9b4374f3a0be0d83b0cdb679f07cea3d553b2649a6b03f0f09150b63719d7d54092";
+      sha512 = "fc4485f1bcdc129e8199a6e46b8bc4df9a3db3940efde49be569d8d56bd77a932ad69d512d875742e2a2653dfe11c933c83c22303838483ae64e038b947e531c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ga-IE/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ga-IE/firefox-57.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha512 = "f405c2609cb06538647776e7294121995f9b5a1e49ac4bca52c52fc772d6cb3f54d67f983becfed2284f8d283074f1a5e6b1ca91b5c188a53131f653c6f44560";
+      sha512 = "b306831c247b8db75db2b7faedfc382b0da7d9eb54fe25b1b540b65a1127ac1e672aa56e3c87089d6bbbedc984e2f571611cab0fb2c1d839aa1710ebb2868ec7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/gd/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/gd/firefox-57.0.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha512 = "9307cd40b64fc2a3daab44fb01b61aaf55989ed86cbfae47d47d4fd2556de9de0176aa976f3e85f5904e7e19d0c0ea06df3682144c3c418381c38e5196316ded";
+      sha512 = "8d0d4c03ac39fb0b29e328a2cb6a1dec6de0fc9fd956ec5a0c6e431b739e3e98583e42c1bd6a37efe0813fb1d76eb9a881d4e1946ecb98416486e8a6e5d0b181";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/gl/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/gl/firefox-57.0.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha512 = "077d3329036e67877aafe852719c6efa9a9b35580de0f66ab2f01757d4a8a114067f2ea78e78fac6cba8a96cb0e2865c3faed830b68624a23d3c63339c31f40d";
+      sha512 = "d7acaba4ea2ee4a22ee64bb918083eb652db21be450fe3415aeb2e4591624b4aff364d37cab51f718c832838a2f775f42cb517e9ef6a81aef6aa283ebae35297";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/gn/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/gn/firefox-57.0.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha512 = "aa35ce7696847882ffba9db3ffc63c8ca827bc70902ad86716bbbed1d1e9bf8cbaa89a7795cbc430e7adab0987ced12ae950bfd395267bd440b8b5d94d9e9349";
+      sha512 = "65c97e250d7dfef68fb5c9479e2a5af25e90bed2608ed4f573591483e1c8db2267c035180064adcc11049a14e6b56b19456cf46a1072ecc9ce054ed0b76c17af";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/gu-IN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/gu-IN/firefox-57.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha512 = "15d0e2275e4d411ab1bc82f04e6d0d70e49e61a46f1360fa3594669b526f1ea546d1e95268484bc36361dc7c2af8202fd41b40601fdc9cfed42a5920a7040f75";
+      sha512 = "88780984a9f83da05f7bfeb469442796b78c4c1148fd554bb57c2e55d6c56a49c77412358ada670f857e0b1a2b10dc9021bab84ffff2f7d252679c50fd6ea5a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/he/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/he/firefox-57.0.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha512 = "d193df19e352f9ee34af4069e1296f4ec36cb92528ba2ec090aff1bd5d781d071fc7887ae7abbdb302bb1f98b736a3bc06fdf96ee70c36abb2a005fbfd108165";
+      sha512 = "a412169599e4fbe019932751abb67a538870cc3b4c2398d3d021d6176224a8d699291b4b48e5399156a8de8595077bfffea2bd987916c6bcec24487c4dbc916b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/hi-IN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/hi-IN/firefox-57.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha512 = "749bab51a40077f180f37876fd2418ef228275976d15b533c45c1c3054e112754f58a7f16244b9b9036f3a9d6b0dafe66d4cade45960450f98fc17866e8c0949";
+      sha512 = "4956f4086e061bb162b024ea249db8192b1179313aa7735bd42b46483939c4773ab2d3d43ffc056a12500c1873b45a5a6251cd1c89647d375dc605ea8e7b0c1a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/hr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/hr/firefox-57.0.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha512 = "6e2c09245f5d317d60ca51601f3a75f6f873407f64b778fc9a27bb446830a7c4b067860c5dfba5bc7d33e03ef57fc2ab9a6ce58e05fec55b13728e9561a915e4";
+      sha512 = "e0acfa0d4a1b0a228d8f612a742b71b88d9ef569ee263cf0c47d6e7bde108496f36fc60113a3be27a52d45c07ac3878da2bc1c6a47c1a6ef7efe47eea99090db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/hsb/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/hsb/firefox-57.0.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha512 = "a485e38f7de4cb83b28a518028853d2166ef61a3dcbfbb519f308bed16b849ab6b1d2f7658c43d7f103ffb773beeb28eec2d599f11607ff7e1d465a39e519804";
+      sha512 = "689592f815ebad0cb2b347ba214c30ececf13e56c48e57dfbbcb16e39cbb09b5689daa5e90fd5adcedc927cc2c5906f313ead51658a2ffb9ccbaeccd503bfb88";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/hu/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/hu/firefox-57.0.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha512 = "7092c3791312583d7984f36c132700a9e7233948d6769ed5e179ab334297904ab8125ddcb675193d8fc201506a46e35e36860c339d1824513b266412d3393e68";
+      sha512 = "1cd1aa3a62426fcae8879013937ea1059b172c9b1800be9c7aac7a5d716651f2fae270ed99b61a7794d28ef86fcd79f3712f97446136a2f5b06ec3eca8d6818f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/hy-AM/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/hy-AM/firefox-57.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha512 = "50b0858fcf05524bbf54af6f2d1f0f283e20b73c79037aace88af7168d2854f65aa74db95d01b8c97937fdd76070ce113cf44af9b749c47ac07253192ea21745";
+      sha512 = "03709c45ab2771f88ca0ccc2caf3ebf7371d8ef4b52dfb3847f258081ecad6811b4c9885f4f652ad995c41850e322b19078ee5e8019398a015db0dae8ba2e1cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/id/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/id/firefox-57.0.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha512 = "dfbf714329453c41833b3ccada9184e6c016038e9a07b351ad6ef191c760f74b7ac45981f7ecee6a1e2de1a37ac64cb116fc7cfd6973a4d111fd5c58f8eaecae";
+      sha512 = "1dbb481b7863bfbdb0ec7c85bb8ebbc3766799de8f8fc6b6f073d2601771ffdc523d9206d83db9831e8f62e5ef81af2d96b166269e5bbf0dfea9bcb05ff504c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/is/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/is/firefox-57.0.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha512 = "694b5c1a45f98550cf9ab4253ff536b8d6fd00232255e18f7920cdddca1dfc2ea4a5348baaedb4dea671d09ea4afd57ea6c116963776875a2aa92401d8f92bd1";
+      sha512 = "bd21c60715943ac698d2e1dd062328f63d3f5a706efa7d0f31948fc4293b8d644897b0f62352965944324780dcc5e19a0d582aaf699b2c79b5dbb0530aaddb32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/it/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/it/firefox-57.0.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha512 = "cb313f84266093ca3c959ab40391df4ce8f5d0975ce190090d97b4db4ab7402b9ebbf0b34b7281ce44d7e8d8fe989c86515f757aed66a7f356045ad953876b5a";
+      sha512 = "65d991e4be62df38110f301acacc042a56cbdfeb20d6e5d9d52a7a610a5d0ccbb26d7a79b581c1e654400a4f162c09487afa7a8de313b4f483fabc2d9e2428be";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ja/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ja/firefox-57.0.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha512 = "e09e2cf8686aef0d96eb4bccff75694dc799247b35ff4cfefdf8b0ddf650224138994ee9a6904ba4634837883b64317ea90dcf791481b7eb9ada9d978479de2a";
+      sha512 = "ed3ba62d9e158a4d8aeeca8a9b2528146c5970c473e4ce9e088a80aede8b98c5e4d822ccf9996868588b08eac51b946aed202a130b38b2cf408a332dfc932c7e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ka/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ka/firefox-57.0.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha512 = "21d1920ab8a21ef93d74e47ad4d6dae81a721867dcdbf2205b0e2c09c13d0850525cda123cd2f38a418f9127204e8f31baaf49f0a0bf76e43d9b5e916e2f0d52";
+      sha512 = "31180f189e68863a54ef6530befd184abae6e6590117ca6a89fcbe8a24a8b8d180d9500bc931ba0b5adb13a7d0173cda9a6b2f7bddea8f7ab3781620c2ca3077";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/kab/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/kab/firefox-57.0.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha512 = "4e7cfa3a7786158df33605e2c516c29019adb90f1fbf783ddc539acc43784920859936a29d55583c2a2ba4c464ffe062c9780bc6da2f4a2bfea3848b1f27ea2c";
+      sha512 = "55d5de7a1cc6f5133f3031154f25d8e74b253410808acf8020b63a67833a427467d3a4bff74d2cc32bc5f9cbd5c6a1d06d1378281889d4ec78313c3390c8e6d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/kk/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/kk/firefox-57.0.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha512 = "8cf851ad7a4d13655f63f83c136b87aab6b002ca4865601098694cde08a85a2fea8d6b2a9f68560f52fb8f70f964ba3ba5d68491de92cae7396027d3efedad17";
+      sha512 = "e7c3244cececbda5b36b07ad3e9ba3bf3bd17aa11bf3e39f4ba112f1a9cb51d75819d299fe5e027c29f9e8ad115d1722a0ce318288193379f0b0c7d562f21e5d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/km/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/km/firefox-57.0.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha512 = "d1d73336758269c7de6741ad88e8d4428030fe8f48cea98f931ab35d8df96f3b2924eec09a32ce16759de3156d8434c7818bb70a0534be297da86a4d46d5f712";
+      sha512 = "c56b3f1b1bbf610abf38f8751da86a092b57e1caf771548b232049041e9bfe252a5204a1e7bd5035444807b4990fc2631b9fec39dc7f25ccd33f93299708c490";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/kn/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/kn/firefox-57.0.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha512 = "bb05c04ab39115420a912efd25de8fa3c68eed6402313ec8a52115631d62560752f8d0aed51413d8e4aab7ea0020065c5d17e93f9f5408911b95c3ae84e3fa4d";
+      sha512 = "5f3e23febcbcf6d71210c4bc77d684c2deaff72f1bbc6bc2d0a5d0f340ecc063dc332464c4b9d8a6e9539723ad44042aeda88bbc872ea7c0bf93b6c5fee5f5d5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ko/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ko/firefox-57.0.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha512 = "9714993754262e9a39d8c29e515b019bdaf94b77e7965ac374df415a524d5ba1ef1fe74be56c4629ba3065c256e108ee7f03fb0f1ee847eb9746b6887f530da3";
+      sha512 = "3e129cbf532ebd3cfd3067b666c87118054fb5ff12dbf08f4f2f752c4a36cbe5938fa825fb16d9c1f6b39fbcb44f1a36c0a44f9de9b3a62937c931cd46629782";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/lij/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/lij/firefox-57.0.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha512 = "eb9ec79213968585b9578da6aa939a62aad98c58575c69ed7f81baa2a1b2c5f0ad5b0854d24ab1b5ddeaedbf2d71cae5c8f68b6c1f509a4bfb89fb158c7985ee";
+      sha512 = "71ee2a3fc0fbdfb96010dda366a0fbaf446a7082459c8e221e6e9bc8d6e8ecf94088db26a3605aa59a0205e5e2eec7fb6a246c2728de6f15874e350f35d4b64e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/lt/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/lt/firefox-57.0.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha512 = "b1ed129e96fe0e27363bb1f26163fa3c4acd973dbd43f52f92ee7b1682a3761e9858c70c39216e3ad847759b4d5584399dcbf4756034029c9ceaa4168f8f52ac";
+      sha512 = "f8396adc3ea3e924dc2a74f4a2a0ab6f02f5e6985dd92825746c35834bf9d2375b5d6fcb73e3195e08961a0d71e7a56bfff857e436702bdc57a1fff3ec64f387";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/lv/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/lv/firefox-57.0.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha512 = "83055b9a4fd2218696988ad248b041f352884bd3522bcbcf8933bcc44f31c7fdea6a6c7e4c8160b6ced6ac6ac2fd34a120708667e543cf5f6c2dfdafeba882b8";
+      sha512 = "9a03ee1f41168f427f995134ca83c707e7168fc7106405befac319620c9fb0e8a3754ad8072e8bec5a4bc6ba8fcf250cdeb03f4a776a5e5958b401e88bd1cc27";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/mai/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/mai/firefox-57.0.tar.bz2";
       locale = "mai";
       arch = "linux-x86_64";
-      sha512 = "349fb2d38a82a7cbf561cfb92fd439a9dc6114656d9f6e63e810bdda434840db43fece5d14488ecf50fa07bd4beb2adbb1b13092d6eeaddfc691961f901f793f";
+      sha512 = "1bea3eb0befe931908b47fe7220a240c245df6d87001d87476c63f40856c9757ba76a8032b184b71792d746adf1e4a126e1cd735a47916c1fad461b3bf6a0cc3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/mk/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/mk/firefox-57.0.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha512 = "48b67c7e258169c58ff476b6af1b4a07cc3b8f52e3f74cf3f039453679aba943305c3e7ebab589abf6db7520f1ea096c55397f748f896947e9057719dcedd5f9";
+      sha512 = "27fae01181f2c0ca2a2abe3902425c54115dad27d771700ed37d2f7c7e6f1ee23f63c688305eb33475f257605bf3897e9ce080e60be7e4e4aa40883a33fc25da";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ml/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ml/firefox-57.0.tar.bz2";
       locale = "ml";
       arch = "linux-x86_64";
-      sha512 = "30520236e653bef324badb0e4acb63ec9f027ff5c8fed22e256d609791c8c0d923e7b55b1ed69d66a1c6a554f271c9ebf1086ebd8b818c683d2499f6b41e6800";
+      sha512 = "52dcbb17a6dcdf25f6791664a3b0cd58c605a768e29cc50cb6b82b1e84b69dfe8aac9ee533492cf85620521cbd9cc9d7883f0a6f98fb42a72e26a6e813bac1b7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/mr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/mr/firefox-57.0.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha512 = "04bfb26407b529d15880c5b4fc1c20fbd87ec5818d1713fd93241f055eb6206de2ba80e6ed2589e292ec1aa325ceaf891424477c435bd8a353aebb9606e6e05b";
+      sha512 = "68fbff994395426996d8481598f4dbbd9d1d599b62578622e154393257682624deeab680544d69fc89eb3eec3f5258e1766563267d4ae30eddd874d28be8ac43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ms/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ms/firefox-57.0.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha512 = "18c4ff0297dfbf69aa376d21afb3a870c8d121749ad88fd361aec35b426386e3659a7bda48caa030a2ef8f5c4d591c54ec205d22fde27b2eb3343eca9e48e289";
+      sha512 = "5ed20dbb422470379e4a9746c184560143d39e8fa17d60b346080b800f7bd0cc8a9000bc4c07c5e84f9513a08ba7af07a4425b89a403db41c842940f94603a34";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/my/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/my/firefox-57.0.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha512 = "09a61232686acb110da288d5e473b6c28ba0f01ff1a17338ddfc10efa7b60a6400a5c29f81da113655285f63be7fc673b68fb390888046b29752f73461d1dd42";
+      sha512 = "f41e5e44178e1744ac26749dc47b091eaab5cd6538fe341bccf9f0fe32f87439007df1fa1625652ed37e4e81da1b74dbf0b6597074442aad9057df1ed143ffec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/nb-NO/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/nb-NO/firefox-57.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha512 = "ec583cd909bbdfc85b6cb59573e34d5299283328fad02f0ff69392e969ed2c5064a7349dbbeaebb0b87fbacdfb28b2919502b2a5e2a2ea288c6097e82d25c47d";
+      sha512 = "f23d6595d69f656fe7c6f2508b16fc0964eed25444d4fe7601f5b2ced86e732ad4cc5e9e8b11744c9cb84652f4447b1138d664815a026e3476c09886493099a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/nl/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/nl/firefox-57.0.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha512 = "7254a36511c7f1e1fe1f6fce9eed847482238ac178f6c8730edde61c86395fb0bd4938ab0e2ddec77ec2d22d9a1c0e69c2e00a5040acce25cf5aa5cf79cc087f";
+      sha512 = "ac09484341ec63241a5f36d96fcb3fad70d91a5ee1dd76c1262916f9a6d955800abef91f74f533521db9f79d9f73e81320dc8486cdb740ff52a84dfb42b2f922";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/nn-NO/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/nn-NO/firefox-57.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha512 = "545f40ffd96bbd6c285994888d9a8f4622a7075e5f306effe5b4430a7aad69f670b91167e7b5cc0196250fb330d133fb1787df041f77ada58c14f16fa7340741";
+      sha512 = "df79f4edba46642470d7a63bba6095540db649193acb36573edb2e53028919830b68ea3240d3fd6d2ac6f6eea423af806e2935a6158b1f2647f06cd72ebb2c2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/or/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/or/firefox-57.0.tar.bz2";
       locale = "or";
       arch = "linux-x86_64";
-      sha512 = "c76e512c201c27fc39347950ab4fdbc14bfbe6e3ed8fb7d7893119222edb02c56ff313a3263e14418c319a75236c74f74ad5aabf51e4867d9ba0123476b0e7d2";
+      sha512 = "990c0c81ce39d2295e035b03b704245fc68c79be7a6969fa9f1229eaa1e4a2f8dfd36bbc532b8e8809204320eec793754dac4941dec2be86a1014dc7db3d4f57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/pa-IN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/pa-IN/firefox-57.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha512 = "336598460b71d9e019ffd190b7839887a6cc1db01625c182c1d483ef5bd2593534ba5c34b1cf424ec689b36295263cfaa2aff7275f7900fedd544b8f2f5f0d0a";
+      sha512 = "ee7055df27ffc800d30833468de7fa7013caddf19ed8bfd770ccc456069c8076a9fc307be5e320dae3476bc17aaf9095e0d4c8ab2d306579dc7a2088de0545e1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/pl/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/pl/firefox-57.0.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha512 = "d2a955085b4f3f7d7c44553932aad0d7f943656d173fd10024993e59fe97be38c60e8dbf9350f43ff91fb4a27f6fc849a3951f1f790238b642b418267eca0e50";
+      sha512 = "83d698d4a1e4808ec9d5fabd158516e4db9824edbda5f17f85cc0473f033900c86b9a2119bb3533664e29949fa999761bea2f47e61325e37344cb91b86746772";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/pt-BR/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/pt-BR/firefox-57.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha512 = "06eaafd16dd5d9cfd960c1f485de6d41409a50a25ba79e792a9d377f69665be62a36754e7d4e570840a63c6e877e6459d35bc503751b6cbf29481444ad098738";
+      sha512 = "be1e97f4b7c95615598e734f7e09778046e2639b336b404e4b4dfcfc47a2fc9a50f95836dc9b4ebc57a84ca47ae8fe783d352992c6d1dfc256a4eb85fb60bf39";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/pt-PT/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/pt-PT/firefox-57.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha512 = "8f3641797eb0053525278af741254d380b51679d1f7caf262bd519fff72ec0cf0242d03c65e94e758076dd7c5420a8eb8c5563cdecab1313b57556411c12c59a";
+      sha512 = "b3690a9c0e0319273c2f0b2f20eab8b296321e55035f83082cb30581c50030bd4f04ac2d91aaadb9c94bb4c6aa397ee133856c0c322afb884dbe20dcc693c044";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/rm/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/rm/firefox-57.0.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha512 = "00b426505507935c4664437e6ad159acd272d99d6a674611add7466a8e0f1689d2f557d09cbab1604ef1b45fab4dbb814049cd6a806e0515b7a9633a434c4003";
+      sha512 = "2aa88ec2aec0f18a81ba3db642ca2ad7ec4ef522950539a5238a7ddc1779355749f890852dac03678ff2802423584b671c0b10a7d4d3bf67f333a711bd9792e2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ro/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ro/firefox-57.0.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha512 = "17f8ede2c98f5496e8ec3027fd6b35c2a3d8b4c3b3644bb6f2120ee75ad3aded59497df34a91f355fd00ed0f0f08cbf0ee7d22905c9eafdaca73a4dc4f67ee71";
+      sha512 = "011eb6813084b482943237f6ea354400dfd141a17b8415a6c6a65c847b699f1f4f1e3178201014cc787090f88716f3a7d418e080f57df7e4071ed70dc12eed26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ru/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ru/firefox-57.0.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha512 = "706da80de603e54843631225b4a4a5a8e1c3ad3277230cbfc0aae932cc87858935b6ad4472f6aef366be5dd06eb7e87abcdfd6958740d0f3c61ef89d46863ad7";
+      sha512 = "9ca6f6d611f0ea2f9e866aab1b62a648114ad35baef2624281d7cbd1da70e7eaef5371d37ed4bdaaac06d90ff88a5b68bb0211056aeff12da35d9f0003eda47b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/si/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/si/firefox-57.0.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha512 = "5c4fb75c7fdf6c1af7e20b724abd3590ee5a891374dad9ca52a4a3f66a8be094be1e7ea7f7fef492ce507cf02a17432c593cbd7419de653f81e247003b52e4c9";
+      sha512 = "171ea0277b6b96b63aaab0b58eaa401920e7245f60dda6e8b22f7261e788626e6a00f34b6e549def0e09f796a81b98524c1009b4053f11743311717da3dbab2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/sk/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/sk/firefox-57.0.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha512 = "5c72b34e74d7df2dc939d34ed82199232c985ad3125e8244785c081637f43a1b9cc0aa788b881d6749ff64749ac1cbf19a62aea078e5cb972bffc48e28c452fd";
+      sha512 = "402330695a3ba72b1c7b286862b7cdb677799b2eb3d2e2408da0f7e2d1efa1f2fed197d15bf9f18deda19fac01fd91a89d63d535b859b4fc4a1796e7d2457564";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/sl/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/sl/firefox-57.0.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha512 = "f205e1b81d3fa145cfbc960ef97161af098b2607059f0279d94b24dc26fc06172891da20c5f6630b120216033486df19fd866a29182ddb16a176fa7605e45a77";
+      sha512 = "840a062dfd292f27b9aed42682c326e8326294817c44b5269e6ff53bfb7f639f35a100dc031f321f4ba9d90e468eab1483118ea8ded4084cc7df927bd8d2731f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/son/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/son/firefox-57.0.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha512 = "789ba111b0ee5843fc2296430bed5d609476666e4b7b7981e18323f0651c8f3882e45b972f13540d5cb72f7c1c3700ee70c293936b2cd2758c0dc4f8f7ecd70e";
+      sha512 = "d9e8e3490147571c5fa1418e44e9d2739ad3d3efb303cbfe9afe7884af89c4ac185abcd7e2514dad09c880c9a134c1aaea46cfae01b10ff36a2d01e54658aed1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/sq/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/sq/firefox-57.0.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha512 = "2e899d0223dcaa283941e50ae6bfd866a6ac26f3451a76c482379ecb886c6d13ea5084fc2127300473f4fc1f6ce36b4167cd2811971e89c27a950e2dbd753619";
+      sha512 = "996a7e70c32ac0102b087fa11b269f98166a5f53bae4d075db2602e40df40f3c4cbb4b73015c626ee0b856b934dd5da7171a510f297d86995e182632a34f65b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/sr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/sr/firefox-57.0.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha512 = "a50e3c6cb8b0b4b2ab4201b613a0aa0d6c2b8d5b1ea934736681415aba3d2a8a9d4c4dca16b5bb479e0273137ab3b30315b5b2077907adb114bba07da9a413e5";
+      sha512 = "5af926ee5e008b4192af127fecbc7f841886aa0bf9742bec3701ea0e954edf36a605191905981ab5ab4d1bc4dc16a27adce74c05adc5fa03295a06c588e1fa4c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/sv-SE/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/sv-SE/firefox-57.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha512 = "5a81f87d54f0b6bed0372dff02461bf85b6d29045c1e1cf57ccf625fc79ad02831a00d64ad3e3506f2c98b64efd8257a9955653efa14510ce2a56df2eadb5102";
+      sha512 = "a2b860bcad1b1ca27b3e086333496c0a3bec5ef12d138765817445cec52f4ca6e5580da5c60f1182676dd577afeee01560b50a15fb8399ec84d97b4c3144c58d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ta/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ta/firefox-57.0.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha512 = "d486a95034ae5671ab0c65992a0bd4d53cc015f3a89a7c90a7aa2534bc98823428daadf2c72ce891fdf9fa84a6492c61a0ffdb36ca28e05060a020989b3c9f7b";
+      sha512 = "8c379738b92b525b9ba166d0b40a76d1ea20d2c756113588e6253adf53c62d4d0d5657162bb71a68c449553d127b6ee9a2e77ace547f29558072fdc2f5b0d779";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/te/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/te/firefox-57.0.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha512 = "22b04c05ee13140cab8196e218d6d2756fd8b108d0511ebb15d19260a20b3a153bac792bd7ce153d816139429fb1039ead270e80196aae801db9e0ff65c37b93";
+      sha512 = "90e36b08e06bfa6740e57e31cdc44e250facb4d85927f74be61beba13261942276add3abafb5b57c72126e7dbfbd82541e38198c605fba7157e9714917b5d854";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/th/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/th/firefox-57.0.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha512 = "a57bcad31e7682742756cb1b53eb4cd31d531305b0e7bf51ff49c1eb6be0e0c1a9ad054056cc5afde2f4fdf4e4094a558fa0fccb1d2e763dc841708e21c91eda";
+      sha512 = "698d255326a277ec4dd92f9d91221e04794c9f68c1ff9b6c1b1254afb32220b35505df49bdd66f14fb044b6747295cffe15bd145ed8bf9d8c78cdec69ac86869";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/tr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/tr/firefox-57.0.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha512 = "af694bb0faec36e3406f238f9726179ca6f2c5273f46a689f36f32d4b8baccdd69ce096446f0e09c88c065d86bb23058edc4900a96a2d14ed583c83eb0b86e61";
+      sha512 = "de399243e17cf1598467532f2cdda5f87569f07956cadfcf72806e1972c0495a0da11b6cd8a3823076658ee5e8b56ae1e6664296b0e06f9d20000001f216605d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/uk/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/uk/firefox-57.0.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha512 = "8aca0e9be3162dbcd8e9cdcb67cd8eba77bda79f140f5d7aa06902e78d2e3933d5e4e3d0419cc665800505321c55b29d1714d72ed95978dabe39442f35ab2c56";
+      sha512 = "12cf4c40f3f8b2040db20c72fc0a604fe79ca328197ad05bee4b8652ed7769238f15d5ed7d026dc7d51f35c76067d814d873b96efca7a641701099f49963bf30";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/ur/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/ur/firefox-57.0.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha512 = "effca2a2cab3972c2f521ec435c6fe1a5830cf7ad51e6fa3e533841961d55a6ef23ba96057fd82f5b9e34ef4e6936c5a18359969c6d25165267f7c8ae10b5d76";
+      sha512 = "8524c2e24d48645d03b3f6f60c38cb69d16f8d9b665517ef86dd4f1d79d1a83301197784e1e27cfeb9ed0e978c2dd9a5602b3be3c6cf6fdb2e51a0d8f4bde264";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/uz/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/uz/firefox-57.0.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha512 = "6521181bbb32ad0edab639465842d29442871697f22ff566e30959213f34750ee2b77f48ef862b1e60fcb348309c0e2d7211f77005391d6455ec160d113823aa";
+      sha512 = "930df760aea0d9f40414e7d2025c81e3e9752e5d338e0799012b888f10fc5ae2cfc4871a49502bd18ccada0a64c3381c3800bf851bd98d61f8380be2db126eb1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/vi/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/vi/firefox-57.0.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha512 = "fd4de5b14e6855f68a7a5e6fbf8f3def7bc81d8e63f26c98af0e06143f9f8b50375dd24c9f0104c7ca62a916f3921160f1326a862763fdc37205abe8f91e4db9";
+      sha512 = "0e8fdc9ad8aeeda7ab905a81925b8cee9f3aae65516d34f1adfe9e5f8cfe1d392ef98e86cf361503d4d2dc21ea761f878595237039e4adcec2609800ed52152d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/xh/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/xh/firefox-57.0.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha512 = "5a7fc7aede910ddffe3f15815091469b558b5a94dea2a1961442ebe3afe206825d182143a971c6603257760d959c133329418f319a3138833ac6e3a21ad29d81";
+      sha512 = "e4300974b54297361e3e43a20dc790a1ccf54c23d6cf10eb9d8bc4e43347399d90c7bc1e9eaebc262a882250a38ffe4d0008b69426d2179d50dfbc2970fbcb2a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/zh-CN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/zh-CN/firefox-57.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha512 = "8080545c283f17964bdd08a10160633568dbbb3bed79e320f738a4fc1b01c67996d9f286faecf6327df7d28926186a80ef29f8ca1bce4cf049939282858e87af";
+      sha512 = "1647f1f31d0bae5aba3e2823293abf755cd5108f8bbd9ab28c5d2794644995fd394c0ada3b28a2df3f3903741b5ea863624b099c9a99c8714022813165759093";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-x86_64/zh-TW/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-x86_64/zh-TW/firefox-57.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha512 = "d5d4dd2ec14a5982ed77306cd257f76710e5d4191f0f30dc57150c5c6f6f37ad8fbf5521dc81fe66df8d22e70a7bc7e0f9d621f6ef82e8b3c3f7c831eba7c360";
+      sha512 = "55ce566e70a1479bc81542b6205724febad35f61a32a11124558af2132881f0cea6b52d590befb2835fca4af6d31d0ee44c8e55ec2809989a247742c062c9241";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ach/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ach/firefox-57.0.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha512 = "bbad76abb597478e4e7b7cd5bfc6a94b430fcfa5565eb8e4a2acfd01cb5502a883e0823df78567879010126fcebc193e44dee74773fff9a0c66a0adac13d5234";
+      sha512 = "1b9e00b08e50a56c2531656e7deaf3cfbe87928e634459f9c4fb04c8a206457294e16850498cfeee0261a26f4303f863a51bcb025812c8fe1620307f710b1a23";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/af/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/af/firefox-57.0.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha512 = "0dba3b898cf46397336dacb56c2e7e14584ff5da95e0217516697c1b028a1b62a5f62c3875e41e5cecb9f1e1e1008103cdd2f46ee2038f0553459c65d703f094";
+      sha512 = "a0c9190d0864d4424be8ea703aa9f5b8abddcbcaf66a0e38a2a13d991ae34a62e926ddaefceaced72cab6c1c03329ca76279051ab40ebfc9274fef6658bd4336";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/an/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/an/firefox-57.0.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha512 = "f5c7086004df5fa239d2f845bbba19ef7f2a1bfc2d81a42147aed859dc6f94fd0df134eef155b1a55899c2c8e4610d5384e51619e3dfd874b1010dbc5568f7a6";
+      sha512 = "7c1f7dbed7e600fba0c24e0426c53cce1bad28ab260ffa5461045485f1898483127de4622733e9694dbb06af058ef7abdb77d26e3f7297c856d4fe254eb1b18b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ar/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ar/firefox-57.0.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha512 = "710f15ee9fec1cbe7fbed9482c4f4593043626a90be783b63b923cff1bb51417f03240f0feaa605f42a0c0c1984b0a643f3924a1f6ba7f32abd1a4539de13fe4";
+      sha512 = "0d945bc6df592e1ba2cbf6183fe40b2feffc4b747312860780a99be3e4fa9cb1dcfeb18f2fe21a3b4a5f4c382040da2b292ffe45a5869366a67dda639e2bb969";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/as/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/as/firefox-57.0.tar.bz2";
       locale = "as";
       arch = "linux-i686";
-      sha512 = "39b2c110d3eadff569de5a11e32fd1bd487c2318eac97c7a5add79d7734754141c788e5d90a3ad1936e204bee386d082f5af6ef75931b07a682e06ca2300407e";
+      sha512 = "7a28131e997812f9689ca7afd63c3c72f9ad324e996eaf981e066dd8f125895813a5bc63a97f83345d73e04a7a3e0538163f9d7c878197329bdd2e5684fe679a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ast/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ast/firefox-57.0.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha512 = "d064c858258404e8facba40daf6b033d7a99caea2405d369d4cb8864f5baad9ace9ca808a7ed3f5c6a87553e3ffe654c6a34d081e4948a76df9a743099af1638";
+      sha512 = "f0b4e167696f4fa02a1e433914636cbd3d9c3ce4c8c3c61410b54670512d0c7d0c2ead7a1ac880181a6c5b5db262ab5bb14ef10341bcac2eb4b81afa4367bca7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/az/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/az/firefox-57.0.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha512 = "fab2a1283b4f2588c44f5866f2dd8ecff3b9fe22e32bdacfcd825aa8994bd70f6067331946cbec755831bc13de2f97e82685d684a68012b33ee4f1de7e1c9165";
+      sha512 = "71c2313cd4c7f809e9ca4d999ef5a2f8311ff6d14623c76ac53ed74bbd876c816f5d9cc56145f53b6c2a64d924945038a77ab23047b20e866f9ee3a490cac77a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/be/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/be/firefox-57.0.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha512 = "d366fce83eceea67e3fee81d4dbfd607f2afd2ece13125ee0334e23e238fb2cb7bd2f6071abfa3103284aa035cb1d85c3613674709321dc073a5a7f02999b16c";
+      sha512 = "d38d69409618e158cb926c21cff4b30b0e5e6643a4f955e5e16d975d8ed23ee7e5589269603979f9332206d19b676696fb2ebef6cf916789e9f016a2945fc9e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/bg/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/bg/firefox-57.0.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha512 = "3c2cf88be4ad5862cd04fa81fefa2334aa20221fd3ce1ac505bbee2be6adf84e9fcc78db6818d5f7013ad9f3c72ca9a8da71eb98e9a39127d0be85025125bf10";
+      sha512 = "74c9b878c937b29062d8a2f92a89e5e3197e0326a1f629b44739e7d896d753552fb12045b5369881f0106d50d231a56f837fbd2363e2e8f8eb616e61324c1eda";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/bn-BD/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/bn-BD/firefox-57.0.tar.bz2";
       locale = "bn-BD";
       arch = "linux-i686";
-      sha512 = "4af8e284f17919064ad630e32d0c0fddb0ca2d12ae5134c4d3354dcd23a7677d7e4a6223958f1097b47cfdb78afc81909b118130aca94ed491038786289c3842";
+      sha512 = "bd5858cadad888d9392c756eb7c88e4dfbfc42f71459c2a10b992b7be51a08ed22cf5f038ae93b39abf298c47d7063e2dcf91148c080bbb2d56187cfa480dd3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/bn-IN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/bn-IN/firefox-57.0.tar.bz2";
       locale = "bn-IN";
       arch = "linux-i686";
-      sha512 = "5ccd06a65c6c164bfa5fe766a6644fbfcf3852daef8a0d052e446ef78d20c96bb738f62556d83c6c4f72a107f2038636f3db7a4b34c58d456938d13634122841";
+      sha512 = "ee30dbe25537c8376debc9f7d0012034ab05a9034a03b147d242d0d19a2eb31990b8fd68fd14807ec92b3040e469384b191faa002dc8e9956ce4eb8aa79274b3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/br/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/br/firefox-57.0.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha512 = "8ce3cbbaf04799ea97bc4721572b90f82d8de839d2787925d45045571d46f6f7a97f0e6a42c484e486e01e78e937425eaf9a1ac26d74fb7fca173510dfb43313";
+      sha512 = "435225909135570713c333887cc0a31667261710ebc05077aa96d11fc6a9506c8524eab15e6ce09b125a57c25447d8f107556c3808fdccc794714a09dc5948c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/bs/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/bs/firefox-57.0.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha512 = "0eaca44c8f3bda580d58d26d089dab50d232553d3218226e5476b470501dc6d53ad8351043f14686ef77f4534d69d3df9af67fad99d702314c187ac22e15bb78";
+      sha512 = "c702e9f765010f1fd2b17d5790411e7322e78e8b3e86c41f1fa7667e953f805b46a2249e5ce35f3c58dfcd3fb8a93fda6ede6a04284e9d9786bd912c5d5ef71e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ca/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ca/firefox-57.0.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha512 = "810d5d81cbf07a2c62beacd97d1ad602a492d1d0a2ecbaa9cdd328f17fdb98657cccc1764cad9ac1bc71624c9f217c02cb8d3c48f6a7f5b0872e02f6418e75c2";
+      sha512 = "89f93e3681627fc3b170e48f8e2e133609a91eab9eb9026a280359a49d650100bdd482ab0e28c89b80b9a751f5fedd29cdea27c332a5d41ca0d4567f81dba828";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/cak/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/cak/firefox-57.0.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha512 = "14df3c2cab46957dcca106999948b00edc2b570a06aed6091d8c544aa838e7993ed655e8baa41d0c84cab68bf2758816b8216af8bd2789fafe7fc1a0d1741acc";
+      sha512 = "91c822ca0be8366e452c8c40558f1f8235a214c6925dc36e6ab7ebfd93ac158be6a71cb424d3f99ea169b27466a44feaa4621af7ed48dd6681f4035948868b27";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/cs/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/cs/firefox-57.0.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha512 = "baac4efbaeba22c651b625becd24867ccf39acdb744559e1b113811b35503eb5deaf2249565d936983d88f382135bdd28fcbf518c79203fae29730f962b2bcc5";
+      sha512 = "a75ed999a18061f53d3ddf7591b6c342d7eafaec68bb14b0144fa790d2919e1c0426cf46e6c1a30be568f9530951f0b42e65ead2a35dfa747d72ce5feb63c5a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/cy/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/cy/firefox-57.0.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha512 = "ec2687e49101b76c787dedb4c21d886195a0a14aa5e653bb335675c300ae2c69f1cc07d71dd70145c1c52f6dff47d8e75bf9b7006f8e861b86b97df07e4667f5";
+      sha512 = "7ca858d8db178d7e7d2cebd69ac4bdcddd76da3fd893003fc90d24fdcc41329526b3c2cb5099b1e0adcb078a86e1a4e1841376b907a042547efc7870d15d9fb6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/da/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/da/firefox-57.0.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha512 = "c0f9e29b66ed0eb7c47e1fc633a5dd3793d2f843827c2b37f51e48cccccd909031855c0f1d0acb8f3e796a0f74f847b019f01a207261c9c043a8ea6b2c4d3fe4";
+      sha512 = "1895d076abdb32096a94b8f74a879b9a94b474d6a9f12ccdb5bf6281210529cd2df3b28ae4ec243f79f79a537f50ff2c6e2b99ee847ab799d1c4763942599394";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/de/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/de/firefox-57.0.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha512 = "6d079b71b7743c6cdf7f11e0768c122a957ecee5e8ca7094b0b71fda937560480de8222440e160e1b9a4987f4615347dcfd445fa7819efb32ae2985b3f106ae7";
+      sha512 = "bcf7b391d1bf74b9440455461c68736490b63484f842efd9f8e631430e480858c4b3c540f7072a163f56cea32cda75d568de5a957474a90b923b837227a78cd6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/dsb/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/dsb/firefox-57.0.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha512 = "701205540952a95e43b6b45e517f7013f04ecf4565e1fb8eb2d856b590b7249cc9f212c10c711350f030ec4197e53037da812aca15af7429a1376a9f354dbb12";
+      sha512 = "1d09a9229db6879710d36b1e7c9e2aa606fe837e69f0107dafb7c1ad18b4c6cfa0540338aaad2c404f739d8060fea7c317a691c695ed57eca8220081ae43534d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/el/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/el/firefox-57.0.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha512 = "41bee5f59c100d6a5d66ff509286c3c694ed7de2d576a33d9ba1b555c44b75e1174344841f017b6ff86e467d9b5ae1e0318eac3a87dab36bfde8300fd8ffd71e";
+      sha512 = "767fd415fe7d35ddb7a54925568c334ed693d84208ec2338940e1cce887b80fb552ab51c0b11b2c29e2bcc41a5d8663b761529e5d44e652ad2887fac9778c31e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/en-GB/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/en-GB/firefox-57.0.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha512 = "35d159cd9eb069eebe84919cc2c29a2b962ebc62a28b0e6d8913e9dc98405b86f5433def34d14bc6da1eaf7cebd778ea1074e91f09a183c661768ac9bf306451";
+      sha512 = "35e7f16f208eaa6d5cb3a3135c566913bdfe7c9e47aa5c68afcf805ba64a368f0fee7791b85e07f151ed7610ec70a78b457d047eaa01e2010210bc6885d5bfeb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/en-US/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/en-US/firefox-57.0.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha512 = "8bd6cb9e4762f4f5085a790ac1235a88e5b6610d4dc1e34c5bae13a3219b05a35f57b40483b6078ae93d60467ed728d75dce2355c913530974aa47884595a8e7";
+      sha512 = "4d257cc3fba63195c0d74c1ec5c94768dbb29d5f86bb6e9339af4da20bab24000573b33103693cc32f003d974085c4c028f525668cd3e62481b97d2c665d592a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/en-ZA/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/en-ZA/firefox-57.0.tar.bz2";
       locale = "en-ZA";
       arch = "linux-i686";
-      sha512 = "5fa8d2f8186c35d8e6a01e90cf763e35b9a8f99b272bc6dc9d87f80b8ba252b48d0e51e8a60bdb0aafde34dd50c1be374844c87a79917e2b521db1eda4f60a67";
+      sha512 = "4fde656e27840b0763cadd7c833873b5f012f920ba988953e864a89eaae2fe70482ed32221cbd6e9fff770dd4b6b5d93cfcf5226f70a26c12a3fd66abee232fc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/eo/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/eo/firefox-57.0.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha512 = "7beca78e35798d3f0f24c8c87e2e464aa2cead0fb64d5c0ae4a93caa831da4509ffaaf0cc84d0624d389f7f846a6033ef067b2d2c7c5b7be2b276dfc0f2012d0";
+      sha512 = "2aa40148adc4a0997d370099b2a624b44d4c995aa2d150c8bbbb91b9bef49f5424a572585faa3f0756588b6013e7369d5bcfeb051ce80182fbad175e3cac2905";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/es-AR/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/es-AR/firefox-57.0.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha512 = "80110dc1761d36c02ba6d42e11b104c54056fba3b00788398f09ad83444968700487af348ac1d275ec0f303b63264fd0b4782fea02021dee63be044163a2c9da";
+      sha512 = "da078fe38e47025e9130c0512bcbc31410a8e42cc32037e462b7f5ff185029d160e921577e31f52fbd3e43a1962a07133e1fa3f24f950915bd456a752bd8dc0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/es-CL/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/es-CL/firefox-57.0.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha512 = "64c69b812b0fed858aae85f17baa5acabcacbdcf494c164575bdfe18fce25cd26afa8d843003785883fdf3ada347d42cee3f2379692d81cedf841fe1605b47fb";
+      sha512 = "bac5ec18e2f78fcd67533bd8c3a8483a2234f40a9bcfad66ba7772f9b896d16fd492a229e359ab851db829c37cd72604e209cdc9825670301411e5edf5a0a548";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/es-ES/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/es-ES/firefox-57.0.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha512 = "40ff4bc3cd70c2891825a6f68dcd356291957c45d064537fdcc95119235a7764fdb786d586504db1b6fcd92c010ea4559162344d69ccb085883634c4376e0170";
+      sha512 = "ce8f14d68c9aad9ac5d92bd8793a8a07d7e4e08c4ea57ff11511a50a2b815e5e3844fa0a4ea5353883db071789eb61a011806fdd8c45237dc48d678ffdf2f484";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/es-MX/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/es-MX/firefox-57.0.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha512 = "2a05d20aab08a4f8745f93f011b1e1ecbef0920ef80204802c8dab7290ece35d4f351b68c1f417de3d547bd26523bb05cf62dba3d118c21a56b4e2f06433e4bb";
+      sha512 = "3bb2f44e0a00ce26c527397c639dadb7c9c459e40345359728876eec23084463cb89383e27c97c971dc9a1b0bf2fcea4c1fe4ce37c84d59265e0d7d029cafac9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/et/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/et/firefox-57.0.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha512 = "8a18de633eeb34b34c198c28b03914bf885cebe4e3ce15874b4fd99609d5931e703b82683450ab36ef732c99b974c0bb9d757717a3acf51c5567400a8a712e9c";
+      sha512 = "948a05c36edf1662ffb6af1ee090b85408a739b330b81ebc4705ae2fe7803da209ea50bd36da79b48691061bc1eef66213e3a15dbbd958a55527c83d3839210a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/eu/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/eu/firefox-57.0.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha512 = "795683399a11c7e2ffb33566be6e087c8e499f2d7a8511aa36268a5c3372e1cfffa7f6b23402dcd40ea384f4231167fa3408d680e6de1cbb0a0371f2e477c6af";
+      sha512 = "5f994613b3d6f6489c6d9b8fe13a4bcccf93d5663cc493b22d902a0f34bc1a94b7913f3e0e0d5af19b451f44d8a7117da9588c6fb318b610aa306f49804af2a7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/fa/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/fa/firefox-57.0.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha512 = "dcf0c1f5d58826d05d7eef3a7dc9f50590dba939d1ae3f4f1509be246ea1dc7c1c65b5cd642368ca0857db5c31311112d3770f1144c2319c29a4dd93dc1bdbf4";
+      sha512 = "1fc669a66daef43e94e1534d0d25b55b60099e60c437761c7f623529e4d5d39975de0629ecdf4606fc3dd67ff19092e59b7cd14d13426a0c5fbc143c1bf158d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ff/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ff/firefox-57.0.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha512 = "ccb5d1924c730ec816442fc4627680c1638464c42865252834572b7f0c6b163c773750a9885f711b523c119c11cee2049374fe61beb7115bd2ae51d3b7f6beca";
+      sha512 = "5745915b80c46e983845be25a17ac07db8ffce0b688dfaa5329855ec37839a4f00cbfccdcbc88862d51dd97ca7c54c4405190c1d2fc05426412301b3d576f5bb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/fi/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/fi/firefox-57.0.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha512 = "e3422e1f91a9009e2bf29cb034a2ed001c3c2b32db7af4b55414a5db4979e8b7ab4ce415ba23c015e4fa86ff7c87bea8dc7e4d9372c4680923c24068cf0b9ccc";
+      sha512 = "5ff972e73f132f11684bae62a52ec0439378442b578c96d55a1768e45cb2cfcccbcfecd484cfe1297a956f8c6be8a1f63308ebe3e2c3f7b508c19c5485a14cbb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/fr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/fr/firefox-57.0.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha512 = "22fbf62da966b0f922bbc549eac956b74de8057c5acc4d6278f32c643268b809ecc117eb623ec937adb26be78e1f081f1e0eba025597937a613b0ddca085385d";
+      sha512 = "f7147fcfd193b58d0e777e3563edbbf44a9f4b299ba5e8cf0cf2c6932a69ed04b5ce35d108049175680ca5fe3e5c32a3916ec32d5b5b647f4a10e12ec1161bd3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/fy-NL/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/fy-NL/firefox-57.0.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha512 = "20439b3d0826fb166bf928a1b9e509d570b342ff3449a9c6ba5c402537b766ca75522f65cb5f1670b147038a98a5e7fe4d2aaecdd93e1c2b8c6db2d7dd83cdbb";
+      sha512 = "4a5bb7f0c8035a4b6a0286f242b65e2a025a55a05fd861da84b6e11c1d33756f3c5e831cb665608e1ba403d7b24e7c3a2b51256c272fcd3b8c5af3b8ec17fc4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ga-IE/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ga-IE/firefox-57.0.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha512 = "00ece6e619eb647a4ee6643f8f174309b81ffe25c1b491610d0dd25fd3b294db79270cb2791d9818d5629206dac1a003859bf6dfcbbc180650c1ea1c7203c512";
+      sha512 = "d93e6a13384110eb1b8452a9b890ed63ebb96bf1044bda8e0b58ba6c1a19b77ea8e41b4275e4d6d9efa327a6f3d95040336e21e7e6b1109fa2f961409944b40e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/gd/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/gd/firefox-57.0.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha512 = "c20d2cf4fe1748cedd3ea3c38d2b7bfdc72dfdb57009b47146bb0e01ddeae03bc48ed20e4f86c489044da8f06af7e3f67bc07c9149da346f142aef1eddd79a27";
+      sha512 = "d0a1a5f637e59d25a4014be203142ae31a976eaee97591ab3d7a50593c87e235406ddd2136364948c17ee2de9cd8739cbaae6ed817da45e199f81072cfa1dd30";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/gl/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/gl/firefox-57.0.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha512 = "bf06db4a9871174d59fa5d53bd854fd0c3fcbb48e27614e626860fb4e2c248fc65be7047396b4c002c978bf8eb39ecb94d3cda0b80f583aa84aff16acfb4e6e9";
+      sha512 = "5cfd266d1e9ece838bbd45d6e4de824e8956325c097c9c91bf22ceeb31d5e2e6f4f6b2f14a1a124b91d2bec054f12f0aa57ef4c4374bd5d1cb759202d6767850";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/gn/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/gn/firefox-57.0.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha512 = "a7c89f53425a614ce8ed10a7cb5f78a4da581f088ebdd9a7b685779bbeaf1daa26879442c0569b7370f7db38f1db90a894ad22af094653b9cf337bdb5efa403b";
+      sha512 = "b1fa5b9960eafd78d0a9e1e21f0a25cdb527ea69f088db035ca1da97d3b785a570070b0854b368cf73758437acd3047efcc87e1c7295d8cc34eedc93ff340968";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/gu-IN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/gu-IN/firefox-57.0.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha512 = "5beab230f4b7eddc9c7c1818e732a5a3dc3f182112ad8b0149534e6a2a4a948f02e3c8de1a0c4d8512c050a0897abf1f89b52cb085b71426015051510eb03e41";
+      sha512 = "d86f0baadd1dfe89f753fed204cff18867ced55ee0acdb8228d821a8f324da84df2bc79a75a7e50d6be0c3b1c8bcd4e02f8cd2adf66067ce495e0e7b3908fc24";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/he/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/he/firefox-57.0.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha512 = "d5250c04dfd43b154d9a4b2f56912bae0a65c8eda8c393440659ed341d4371ddb543c75ddf254da96bcfbc873ff9d5d685701b0842e80b4e134f1631b7cfe7b2";
+      sha512 = "da29910b1c43d71a674268ea2f8ca2d5345265a5226dff48292da471d340fa3b1885232ffe93af61148a93b6da04563752598acbdcfabed59534657788909cf8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/hi-IN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/hi-IN/firefox-57.0.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha512 = "e3e8a6e5376f566190d9f25527eeae195d54d91c3d213a1d20464c2da197678a31de74030fde8c365b91ac032a711e57ce7a2d4a84a087800bc0c1db16d188a5";
+      sha512 = "f76ad192f1ba83f29f99b0dad313660abf85384803e3d1ee8164d6a917e30b3eec12b64b8a475c27b21134cc394102ac934b283102129947ddb63da3bb8608c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/hr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/hr/firefox-57.0.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha512 = "44d5ee009da2735a042510c197e810116d13d82cf4662c34c44b651890065e4f0a8d1cf515c0a39bb9444764ee8312200e17887786cf5f970f4f02a07a9803fa";
+      sha512 = "5f58ad50c9c287f3722447f95631c5e80523332c64dc7ec9589a669ae68392abc3a7e8ec7a1f822141cb94101ce437b36b74ccf07b6a9535cc659ac5cffdd101";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/hsb/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/hsb/firefox-57.0.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha512 = "5e0388ca340c6273bdef0b2b616c0788de6f0535fc6b25fa1b5c74008bb06b42e8a086655361248716f0d1ef001d27da4ee336bc3ae6851ba282915071ed071f";
+      sha512 = "236232af403496442820285b817ea1c0cfd6a48cc9ebf77cefdc4a242e26248e055e5e6dded371e27257d3d1155f2a45fa183311898a8a386308c0d1f2063836";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/hu/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/hu/firefox-57.0.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha512 = "04bba88955f56737153409553fe52d66bea6d2b0f22d0da520fe40d706d3463ec19c9462b6245a4e6346aa1cfcce583b49efa8089c8db329e4756b1c5875404f";
+      sha512 = "e053b499fbf7e4b134f5f1035377e7c639ffc5dcd31fc5df2192733360616b8f7e818e58befb4f597d101d22b2fabc2d550a9b2872205059944b0639270987f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/hy-AM/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/hy-AM/firefox-57.0.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha512 = "e4515485db9d85291028c06bbe19aff4fa894a7b82d1f826cf2cca91bdf08586009bbbe7b8f4df6f6a20a7a931f8ecad4fda970e01af7ec4f68574b3e99889ab";
+      sha512 = "f6fc4218af3dff916c0117dc6c5fca77fb84ae24d3b39430007f1e1468aba74d2bc6340f3bd48737bac5de0cc76ba01b15875ccaf591691256128e473d495767";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/id/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/id/firefox-57.0.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha512 = "5cc82fbd44b61cb1d48c7b51c91874de20b42b3249efb1b34cb69720a39e08dc52d814efe73be13d1f0a25be9640dbce5fcabcc83a212f1e0e887ebe47a9b7f4";
+      sha512 = "f78efcda46d3f672fb083329f810f174eb5af1da78f601d76a22ae3fa02ad412a383845368d69938fe8d6b3e4e67a86aa111187fed6ea0d8ff4b40f622ebba63";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/is/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/is/firefox-57.0.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha512 = "65d1236d88ef3ea9f4f9b8f86d59dbc4e2dc2522e5485542dff2d747989e7013f8ff1b7cacea00514bd3510ccc145b0a96224d48947b0fd916bd0742354e958a";
+      sha512 = "9c73ac9d89bd7a45b338b74c8cafac4b27e46bd6bdf8162f21ed7d11e114202b1b5b6789ab1c4a6edca65af257b73ae7a962c9d402e4e59b5ebe08437a3de242";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/it/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/it/firefox-57.0.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha512 = "cad3506e98ec810aec450755090217b85145ac0b4bd2faacba35d1051a5a5419f0b8ea2d497040c6f05579875a2f727938be5f964dd6d5d2973cd681ba6a8716";
+      sha512 = "03b905de20e336a49372b51e9e1e977e861359f8e9f515e19151599bf27769cdfe74567e041f3a75b5c8039066686edaad2e2899a3df46513aef64d2963024db";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ja/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ja/firefox-57.0.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha512 = "fc8f6a902b8151479f427f58464acb8bed25dab2ddaa5ad21703cd79f74867c829b9b6838d0fc35f6471d6b0e59f005158bf80946ab8b3abbff9f71e13b10fcf";
+      sha512 = "5769e414b18f095b5f1bc446d8fc68bc16467683f44f4711db9b6d6feaf6d60b801b2760fe6d046c062d30ac4ca7e08d633484a79c64cf218c4df8380d7c6abb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ka/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ka/firefox-57.0.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha512 = "783043bf2a638a5280a72dafcf96b7a4d2870dc91d07e85f7fe4fae7f66dea60def9ed5fac28b7923c5ab3328aea1c9eca38967f3daec57e5de53f501d6c7ce1";
+      sha512 = "244446f400a8270a1c01a3abe73da8840d28e2660233bc5f5d34a654fe78099d0634d7a927c2b46f2127c5f0131acf5f5b3c8518ff892b0b3832b71af9df016d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/kab/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/kab/firefox-57.0.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha512 = "605761315426f05a5cd138804c205ed4e1c6d9ec8e78480f97f2f46e48ab4e040be237086af4dc63fa198ce9364972151d819e7de3add8243426c162b107454d";
+      sha512 = "da679fa35fd7454c820ff5c2fd461f545ecad30cc13891a026244ffdc92867cec7aad71e53a32f98dc06e3679d7571824467b4f6ab70896167cbd762f71113cd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/kk/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/kk/firefox-57.0.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha512 = "ce10569378e0b8b6f77da7534fd60a613a3bfc64726e2c7ce22042439d69e4f6819164029d8ef6e691031d263a0033c42e0921124286dc04afa7c81353b5645a";
+      sha512 = "ff79b1aa99c452e475b61d7e6c773c8471fcd04d8e9fd3eb5427ad1e09db97ffdfede5f706b8c7a5fa82aad2e89341771318a36be55fbe1761bf4dfa4e944295";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/km/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/km/firefox-57.0.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha512 = "e4ef8fc7ad18550ca93f679ec79b4a8e16cc34379ed52917dddcb7bcbdbeb6b82cff2dd16c31001dbe8232bf49cec6eb605ddba059f71c109079e4fea679c81c";
+      sha512 = "cf073c84edc57468a28fb5a1d7c8efd1a7ba00e09783e6660374423a466aa9260e314d6f94140aaa3d5b42985fcfb1295edd0cb3b093487998eccb516c6f9220";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/kn/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/kn/firefox-57.0.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha512 = "9e841f2b2161feebc643956f92b3562db4842528b37180e0ba5d4c1357b6a23d11fed6a2a00f0b252d609a5a43a15dfad21b97e3ce012dc9f30dfc20ba23549d";
+      sha512 = "8e7727b77e6cbcad8c5c87aa12d983b18ebc79dca7b727ce20320a7e384b23281968542eae9ea3207cdcc39d2eaaefaf4c90866071b08f9f944c26e6fd6383d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ko/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ko/firefox-57.0.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha512 = "d5fd6d0826d7a28b69f05cf620cfd45f66223fca21f2642228a4e3475623c34bc4d57bfef513348e96dfee1b7c5b47e994147b7004dfb5efc60d8261aa278651";
+      sha512 = "9f7db828c0c1525d30558b543ac0cc6306ef34d83ed6fd3a25f5899b3fc6e6e2b8355f22b6fcd0f58c8bf7c634243ef878f67c039243b3828be43beff68c7938";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/lij/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/lij/firefox-57.0.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha512 = "150f06608d1f7942277e30f7ba5dbd046dd826152183e30cef8438a7ffefa4297b4476e5fd4c4a2b4f376a1e8f1fe11381df36d41c6705e0ff1f14dd4b90fdd2";
+      sha512 = "9a308c8f7d2000608adf33954ccc2b82b92275563096f801cce4ded8333d786a1c879833f6768b9749dd1d718b33586b84e180971b92ff29387ce53741028381";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/lt/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/lt/firefox-57.0.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha512 = "47fc24786499a5eb770a9d949df4f7b6a0726e7f74a45fb767aaa30e1535d30583e5353223bc3cecafa89284626a5ea03c2633d1a264ec044e51b001b598ee91";
+      sha512 = "c1a57ee983fc10155813431845a1ebb46071da4748a44b2bb4578ac6c4e1d743341df5a8ed0c0c02343c360bcd6f50b13b2ab62b760e079830ea0a82d781b0de";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/lv/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/lv/firefox-57.0.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha512 = "3863b8bbfe87f6ae9787f009a7c3694454d410140a138693ad1419185f398c6d2b5f74111484cc97b5c61217d3af904ceb876efc16d03238901c858840f69338";
+      sha512 = "64fd05ef07e08677efff3f57f2c863bb1b070e9dcc088fa7d5217b59fee9db5b9af58086088b488c34734e3a6e53c683d26a8c5755b71e7af17b8a515854edfe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/mai/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/mai/firefox-57.0.tar.bz2";
       locale = "mai";
       arch = "linux-i686";
-      sha512 = "7a0a97c9ed2ba31e05eb33790f53e1d9d2d4752ed7c556bf7af74b76828d0de2ff36b89a9e4e77fbb8dae5198b142a62e09465210e62c0d23c4fe93fa726ffbd";
+      sha512 = "ca33c7b7f812f6cb8c9b56e969c7f67ade456d9ac6555ffbebd8096e3083d6afd3c1e0bb86ab14ec244c1cb6aa87c55b15d34d06ea0c994867f9e52b38389422";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/mk/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/mk/firefox-57.0.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha512 = "9328d9a5151b6833f594f4ca8c523797a4f75d11f9c5f77cbcfddd7c99f6c3e792903c26d059f4025fd9d5b5e76175d52214963e541b5f01c6f3abdcb667873f";
+      sha512 = "ce4e7d7693e0229a83aab9970d1678c621b58dd481d4c6aa4ffe2d478f15d72984968349ad3e4febb38e96c30847631f0bdd7abd8eb09dfcb2d4092e1539ba97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ml/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ml/firefox-57.0.tar.bz2";
       locale = "ml";
       arch = "linux-i686";
-      sha512 = "53a52a6e4999f116158c2043b2dace9711946ae2ed2638189c38af9677f70afe2b0e2434054b12ac34da531e40d58673b8be78b7dd6b7ef090b1fc8c26d16d41";
+      sha512 = "0383725a278add1e0b78c8c75bb7d541967726d90bcf7264118349615e96ab9db83b8b363bc68f1e9fb220078385de4f92f726555c10c8793aa1a190d5869dea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/mr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/mr/firefox-57.0.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha512 = "90ff4ce1a1fb75fcfc0a2d5a38df9a095108b83cf3e6958793c962683668f5ec95c72274cc330e7bff616a313d1c267b3b55cc7be231f0bcbbb58764dee5e06e";
+      sha512 = "f50849e45b52a34b7cbb02edf3fefdea3c9a9c5a60f8517cbc852cdc5209fe281efd7d182a53e4a793447478d32a79bf529097f1041165d6b1ed37459e4b02bd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ms/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ms/firefox-57.0.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha512 = "cd5c44219bea96b2b1d02dbfd80ed6b84fb40b19d1d0c170716484ddd6e07acda961b824631235f9f300017531e02e12433c39d90799acc2725bdd93cfc524b9";
+      sha512 = "f8ec236546a7dede2b502a254c010724c636b69a1f4b7dc73e2684f9d314b1e4d79cab8a0f9ba2a1942c6afbe0b44152c133bb5c94cf8d1f0ef33c08df38a1dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/my/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/my/firefox-57.0.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha512 = "f9f17da2d15b9f9850b97762b6cd6a7981ef9a64afcf659b280c23f6bc7c741e73537191dbdec90f89fae8ac7a552fac90039820b227b59ebeb197dd6ea63fac";
+      sha512 = "ffae5d1763fa88c57961c3d11c71cb1e3540f109bd553ef0ef86eb5537b3599154943365c7368f4f06a1d5911aec17c52013bc414d899325a5dea8aaa9b92817";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/nb-NO/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/nb-NO/firefox-57.0.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha512 = "61875cea3c200d84a65f2cdbdacd438d6b9437d27f62f903b2f46735c2be5a36385bd2276572244da64ae77be785b268a54db9590c2d375e8205b87b0b859d0d";
+      sha512 = "c8e569886b7470c1856e6b3b6fb756b05d14b21a57dd7337d490d5c7cacec603e9670ca3be8d34b1e8194ef053232d5d758e824a48b66205a5e26698751b0fb2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/nl/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/nl/firefox-57.0.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha512 = "a769956109ce7867b7cab41720051afafc32fd9579b23fe2c2e79e389cc193b7f8521cf27e5e3be805fe3b7347f2f0ccb552e46e140391c800b66bae515f61da";
+      sha512 = "d55277a2e99a63e0a2e7343bfb5250ee70443bec1be8629b858ee17e574e0124d37c6d15a03eea58b0f9122ce17042af94498430517cacb0e59058d53f251aaa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/nn-NO/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/nn-NO/firefox-57.0.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha512 = "84d13b0ecdfd3db9b8b72266a5a3a5fd300170cfb00aa116c006cf29a123d3e6ec87594125dee9f28a5c4a5effadb3a9a5c0ecfdafb32a221a72c043b28e958f";
+      sha512 = "ed01cae9dd21e46a6fae031994e38980b72fbad6dc521571f5d21d8a23c9a2b4f4606ec92435d2aa2deb441b7f9e15d61f443fc6e557bbbc6b36d4c226f2ace3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/or/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/or/firefox-57.0.tar.bz2";
       locale = "or";
       arch = "linux-i686";
-      sha512 = "61a95eb0ab54afa990a809d53039d887e477633462226de9c41f77474fcbbb85ba8ff253f0399cb1fe9a545c38d0a63e03669d34f5e0d34c94d781490c6235d4";
+      sha512 = "2007dcbb344395d80ba05a8a4f87c2f7c19254966cfc08c728ee7363cb763a93c50d616756ab3e601d7a98114e89a6bf97e76e88fbc1ec48decfe028f5aa04b9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/pa-IN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/pa-IN/firefox-57.0.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha512 = "f27f374a770dee7b91751993b15e86c818a8c4d6758b3e9498e14f81fd7b3a5fb0397b99e87b2a4f95141d4ad788c120d32a94f37a70b5aa30b6d64dd7c92c08";
+      sha512 = "bcf6175628c4ee73746ec8337fe3dd2ab329ed971ee3044684d5ea92bb500b4c708dbed46c97848e56026f00cf26659402cf2f213e106b0b7eece28b87b26ff5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/pl/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/pl/firefox-57.0.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha512 = "ace6225fefc5149ade7ac1bc30992847529183c6aa903220ad2b366c0e233b9304322cf0fa546891d9ee040c3cc6e8d3ee769f0290130aafefbb2a4606c48fe9";
+      sha512 = "b8f51a95786571aabf58cb81e4cd52edabfca23686a481157a11de47adbf14cb39c317c02e9f4ec313bfe282f326d70e531f83735095c51df40ed58ebf068a7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/pt-BR/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/pt-BR/firefox-57.0.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha512 = "84876999b3f0717f34212d01014b2a3b2a4f95e73e7364fa53ad5366030df5c7dea65da6a468f7017f25a22dd659f314cae9ddf0167f413eacd2eb6e7ffd3501";
+      sha512 = "f53076ea2a933f2c30aa93e222cad9a73d981ff0e7ca9fb98df0f1db97ea4393a1b5a37388549e63ebf7a7f44fcaecace20725ce6c7cbb33626de9c9754ab999";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/pt-PT/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/pt-PT/firefox-57.0.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha512 = "5d720a2d2bd56d6dcff128c267815a6c65af5f34011965f04ea1b789ed2e0a6b03cf682bdc9e3e1cd4a69aec45191eae32c7ed1e1d905b3c288dd68cd7f2e8c4";
+      sha512 = "3032b7338b6540086edc86a8c5f1298ad546b77982c02013ba96df564c4c99670db6eefffac8f56f540fee6c3a8887e81fff5de2391cb5b29a8429f72b9ada64";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/rm/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/rm/firefox-57.0.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha512 = "9a0e915233bd0465fb8d336b1c54ac330d7d994d51018d9b28877f45d8c22a2d7f6ce0ad0d308967ff09789e7870c2954b570a552ed050e6ba3566b2b1f6743e";
+      sha512 = "7dcc1f088c20687d322f83e6eece96d48fd43a63cfa44816e729e623f161867af3725ee88fe0904ea826640c89f0c84d6f46d7bf847dfef51a671dd2dfc2c044";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ro/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ro/firefox-57.0.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha512 = "dfde4ed0df604a0c62b177b3c6579236d75568551b9c522ea128fa3117ef2ded531a7b83982e618dc111620de9eec47931a89429b56a5a6b301433f325b1d695";
+      sha512 = "b8f6f3f5b10755ec2b13fb68d1add7cbdabe799dca9077036be3750c7f4f753c89c5a0382e45f1b02da5b3842ab095153ec1f48029515f6513d35bb28012be02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ru/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ru/firefox-57.0.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha512 = "82011e90e588f6e1bd75fa9caf388ca928615ad21424c4f3ed4dde363a8ae90e96f520b8bafa66922a921ab81571f31582a695c10a29f9b57156e5113495eda4";
+      sha512 = "7aaec71a4dd8588ad432ccd2f8a44aafe0d5b502f2a15b11e25065c9a04cce5c76e48492f99c6a14ead274d6180564cca3eef7d9bb9e98cee2960d0433cbef71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/si/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/si/firefox-57.0.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha512 = "d9e1618815b1ab5f166a4d11c3744dc89ead59b1fff58bd2ae866074fa31cac52204ca086f5ada9466103e7a3d97feeb777f4eef65a706c15c27db322298cc51";
+      sha512 = "6d9032566a45fab13a685258f94bbe9eb937219655924224873635a41fae3d9973f762eeba206b72f3990b5517a96cd984464c86d30618130c1e3429ccd0b00b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/sk/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/sk/firefox-57.0.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha512 = "93e44d8a94ed21c314a932e37acbfc7431231cec2660fc8301263e928000a4be6ff43966c0394587d5d1a0434a9467dfa87416c1554797d457ab835c8b12e39a";
+      sha512 = "6f5359765802799631ca6654a32f74bb27fcb8d81bdc23cfc912805fd10ad9ecd80ac0d24f23e4fc28bcb104891a0846ce7be1a1fd80d7b91e1b3b89f3644c8a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/sl/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/sl/firefox-57.0.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha512 = "810bc5d5a2cc55de6360cbd0837d1f301c3e02757f5607abb93e7bb0155a1a4a724b175a4e837580ff28c2329d861ce4440e3787237395b41abd03872da6d2c4";
+      sha512 = "d18cb826761333b7fbf1e7d056cfdc4bf2871f39da0ff93d89efc97e808dd79bb8837b9a2656688bd1658737933d60d5cb069d6ce832e72a7d83836887672e7d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/son/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/son/firefox-57.0.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha512 = "9f5596fb8f6b341cbdc7a9989d4c1cb3a177228c478028d5d1463224dbbb0ed9a234a5c900760fad64428a5c44602d410032f1c7d60afb24ee23165995739c4f";
+      sha512 = "90e86f1cc8b35d28e96f417589d69f2ca016495297d54c74d0243daeeb39b9564cb56e4b66685ba708463284b004b17bb157bd55bde3cc962457d56cdd1dcee0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/sq/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/sq/firefox-57.0.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha512 = "53c3ccd14572fea76a4e0fd7bd25c3dab69b7f0c920c4bd880124f127dd95815500917368f6930b2869338bc8010224bc0f8d5fb4fa52e8349ef99c6ef01ea94";
+      sha512 = "5c90e9dd76aceaf1ca6995349ab2cae5425764eef75303b3d803544d156b67ce5d353429f3acb15b55d32d5a9f37c6f753dd1a1081cd073ea27b3f88972928ec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/sr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/sr/firefox-57.0.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha512 = "6dfe740e959ec3e9fc3276d47f21fccf7f7c1c316b8b597fd2820a9928d62eda046701fda74c5ffc2c661f15cfe5e96f1677ca8ea36746925becddf4cd514d8d";
+      sha512 = "32cc44f8aeafa861004326dde6ea99690be06c4960436c4eece48353b4de11b1691d347628ee239d7bcebfed14bf1da20180c04ffc5d62096172cbb183e4ad3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/sv-SE/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/sv-SE/firefox-57.0.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha512 = "7cfab1450c3524cd9201eb9b99620dad1941c03ffe5f428f444e688d87d76d348185870e5bfd6d123dd6b3a45ac5687ed4e405bd541b07060952806c9df1d437";
+      sha512 = "c9d0f7eb815474fb866e519a00b6adbe47b6e86b6ee16af3d3d72ba9ea52eac202b3c36aad3245abf25ca88845c65d079a1fba219dd77a5da161a667c06676ed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ta/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ta/firefox-57.0.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha512 = "6542059db48fddfbe40b57fd14ceab40481f9452e8450c3ca3708a9eabf480750b908526a7ea9d52dd085825ca9f6ebd1220718c7ac686628ca6eb3e460e830e";
+      sha512 = "af662b476aa060895e50cb43d49d2b509af24ed3294d5f15d1a5c5d7f00021cc60bfcb77476375e0146f6d247243e2f3701a271a246f08a3ef408cd9cac42753";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/te/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/te/firefox-57.0.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha512 = "a455b8b07ef4525d99901eaffd475d172bd78b45322b300ca9281f4be3394d6bd4e86ee6c0b09dfc68ec78497accd892c1008d9744408e71840137554f683fa2";
+      sha512 = "e7d7fd6b38d654c72b34b186fea49b7707b2051600d87628a3a8ea02c48bbc810153928bfd556bb88aa9134c1bdac7fdd6f47954519391bc83e478ea5bfedac2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/th/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/th/firefox-57.0.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha512 = "b9096450cacc6c959a4cba831f85bde93c99f78eb0840296522f294edd4d671ab51a6426901630dd950687557cc66499188d2fb255cdeda1683baa6c05a97248";
+      sha512 = "6bc2827c5de337c7fee9ac97ae31911361661ce107231da80ccc13afba8606944976003bd013ca01adf91c5282dbb956791b47e94363c0f18f25eb40159b2871";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/tr/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/tr/firefox-57.0.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha512 = "ab70b6887618fff2be785a46a886acce9daa2a7729016aba55e0b20dfae5bfbf6c2a6489956f2e753d8ee6984096d11551dd3b742933bd85bdadce0d2ebc10ad";
+      sha512 = "b03f28b336b1c59ba4a2f5b061f950e9e0491ab6b7173864b3dfb5588d52c397120dc86e9a8beaea47184c6b519ed42380ee6d94d30edd02b8ea8166e9e9f33b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/uk/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/uk/firefox-57.0.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha512 = "14c81a64dd663e5244cee0846a36d0bdbd75c1abbf6155cf96f3eae999a9c487dbf4326ed1a7bc5f9cba7ad8fe40c5acf1e44a6811611195043e62bbc1350d0a";
+      sha512 = "bf9f67458a280a1ce7c27119680a5b5d37c2aeaef3fc79967a61d0e06b0a688faf3c591d843b8783eac203b60886d298c68d6bf2cd318b982fa91abd98551236";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/ur/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/ur/firefox-57.0.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha512 = "9b8d3387406d36a299716eceed02ea5e61456b3ff5f51071ca4411873fc2904713c7e7719d92199b112476aa27d477e818a696d406edf1b09502f66ec5359e58";
+      sha512 = "069ca0a5ccf90f6a8be96b2db90534473045241abb55be13611ddce7815d37db4cf82fbeab753b3c04a898574a3ca6ecf954e30b860b6d70395c0b24ac9b8a1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/uz/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/uz/firefox-57.0.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha512 = "22ba14001b2b19362c9a89911152154c72212e557ea557f8092287d3f3e56d2b7d532557ec4725338f54926a990a866a3c1ce5765740593cfccfa909c5ade974";
+      sha512 = "45b1f0eecf3b6c05be541d764608964db65861f937e94ac011d10befd0e71c7942658a5a02c0a482a22abd164730dffb45b28aa9b8ca4ac87a21a32050b183a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/vi/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/vi/firefox-57.0.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha512 = "a21554b9e20b626896e3af8032911a9fdd67fa459bd20f068c2e7d6682187ecfd613c53616e048360786e786f77eb63d52dbee3553abc2ce58da5bc00b567168";
+      sha512 = "4d1c3418dfae7b8929ab117efb1febca6c7569f163ae0d805a27592c00aecdc9f7956aa56c01e898cdc09bffc5d9a55654d5d98712a9ab685ac1f6061c03680e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/xh/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/xh/firefox-57.0.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha512 = "751a8257df614c570c215c8888e593de84182087c3bf1c339b573872d3289498fcb05290cb6f819eb4f691a239291d475a26a05fcf2d98e2f4bf99088846a7d9";
+      sha512 = "a79e103d319ed72e28b011a658436a3036d1f280b733db2433e36c6c25bd5192a8e44527f591b92e0d6836ec17e23decb9d41ec50623e051484e7fbd20733cc1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/zh-CN/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/zh-CN/firefox-57.0.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha512 = "49fd08071f5bdc5ad425ea3be8cb6526342bebfa648c75f735982266d2e7aef0bcea23b492a70b1c99cdd6c38e934146d222b28ce136d22e9f45366a99328c49";
+      sha512 = "d27040490378d8c61d68359715ebfc06bbcce8637936fe399b42c4e38c0935f0bdad34e379c852d00961c22fe97d2b43c0214cc951855acb41cc5c7ef3824e8f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/56.0.2/linux-i686/zh-TW/firefox-56.0.2.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/57.0/linux-i686/zh-TW/firefox-57.0.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha512 = "09c61ea179a2b8331eae57dd3f435edf72d9b3afdc2892953ef3ce80d7f96ee59258e984d1d70e96d9994affac2062a5c552d4236027a38c4dd6c2e5dfab8eec";
+      sha512 = "99efd3df2a3dc1a3e4950add00c6768d694b6d349ca7c36c7c7ba5c53650fb553942795923c40c7bc0fadf76e209e9b5f357ab9648f57bc3ae1f30c85878fb65";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index b8f57eb2edb8..ccf762afbec3 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -29,11 +29,9 @@
 # Set to `privacySupport` or `false`.
 
 , webrtcSupport ? !privacySupport
-, geolocationSupport ? !privacySupport
-, googleAPISupport ? geolocationSupport
+, googleAPISupport ? !privacySupport
 , crashreporterSupport ? false
 
-, safeBrowsingSupport ? false
 , drmSupport ? false
 
 ## other
@@ -161,10 +159,8 @@ stdenv.mkDerivation (rec {
   ++ flag gssSupport "negotiateauth"
   ++ lib.optional (!ffmpegSupport) "--disable-gstreamer"
   ++ flag webrtcSupport "webrtc"
-  ++ flag geolocationSupport "mozril-geoloc"
   ++ lib.optional googleAPISupport "--with-google-api-keyfile=ga"
   ++ flag crashreporterSupport "crashreporter"
-  ++ flag safeBrowsingSupport "safe-browsing"
   ++ lib.optional drmSupport "--enable-eme=widevine"
 
   ++ (if debugBuild then [ "--enable-debug" "--enable-profiling" ]
diff --git a/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch b/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch
new file mode 100644
index 000000000000..a0f581d84733
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/env_var_for_system_dir.patch
@@ -0,0 +1,14 @@
+diff --git a/toolkit/xre/nsXREDirProvider.cpp b/toolkit/xre/nsXREDirProvider.cpp
+index 380c1c1..255539f 100644
+--- a/toolkit/xre/nsXREDirProvider.cpp
++++ b/toolkit/xre/nsXREDirProvider.cpp
+@@ -306,7 +306,8 @@ GetSystemParentDirectory(nsIFile** aFile)
+                            "/usr/lib/mozilla"
+ #endif
+                            );
+-  rv = NS_NewNativeLocalFile(dirname, false, getter_AddRefs(localDir));
++  const char* pathVar = PR_GetEnv("MOZ_SYSTEM_DIR");
++  rv = NS_NewNativeLocalFile((pathVar && *pathVar) ? nsDependentCString(pathVar) : reinterpret_cast<const nsCString&>(dirname), false, getter_AddRefs(localDir));
+ #endif
+ 
+   if (NS_SUCCEEDED(rv)) {
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index a1d5df5029c1..440119358de7 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -6,14 +6,14 @@ rec {
 
   firefox = common rec {
     pname = "firefox";
-    version = "56.0.2";
+    version = "57.0";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "35f81e8163a254b7e134fc073acbcff63aa1025b9c6392377650a8f2d0a5f0c77211adb0ae3d8ac85f036bb387246934b8847f14a03fceb7fcbc5b3cf94c9392";
+      sha512 = "bd99ff97a2a6f824e6fbd36fd00193903159e309506b1e6945dcbc43a17a95aaa54a05f32131c56872e8860878ba6063008667955550f03aa8c7084f834d14fc";
     };
 
     patches =
-      [ ./no-buildconfig.patch ]
+      [ ./no-buildconfig.patch ./env_var_for_system_dir.patch ]
       ++ lib.optional stdenv.isi686 (fetchpatch {
         url = "https://hg.mozilla.org/mozilla-central/raw-rev/15517c5a5d37";
         sha256 = "1ba487p3hk4w2w7qqfxgv1y57vp86b8g3xhav2j20qd3j3phbbn7";
@@ -32,12 +32,15 @@ rec {
 
   firefox-esr = common rec {
     pname = "firefox-esr";
-    version = "52.4.1esr";
+    version = "52.5.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "d80c7219548391d8a47b6e404662ea41e6acfa264a67d69365e76dd8943077e388ab24b030850919f8fc6681c11486bdbaaf170d441c861f4a12cedbe08955ab";
+      sha512 = "fe724108ba538e590b87a5c1b817471d3cca9b038ba2755642e4d7b8ebb6174322be1fe074f24ef181946f9a027106b50b500d2fa541d8a99ef44905822eda18";
     };
 
+    patches =
+      [ ./env_var_for_system_dir.patch ];
+
     meta = firefox.meta // {
       description = "A web browser built from Firefox Extended Support Release source tree";
     };
@@ -128,6 +131,9 @@ in rec {
       rev   = "tor-browser-52.3.0esr-7.0-1-slnos";
       sha256 = "0szbf8gjbl4dnrb4igy4mq5858i1y6ki4skhdw63iqqdd8w9v4yv";
     };
+
+    patches =
+      [ ./env_var_for_system_dir.patch ];
   } // commonAttrs) {};
 
   tor-browser = tor-browser-7-0;
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 7a7d1368cb23..7daa96ed8733 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, makeDesktopItem, makeWrapper, config
+{ stdenv, lib, makeDesktopItem, makeWrapper, lndir, config
 
 ## various stuff that can be plugged in
 , flashplayer, hal-flash
@@ -47,6 +47,9 @@ let
       ++ lib.optional (cfg.enableEsteid or false) esteidfirefoxplugin
       ++ lib.optional (cfg.enableVLC or false) vlc_npapi
      );
+  nativeMessagingHosts =
+     ([ ]
+     );
   libs = (if ffmpegSupport then [ ffmpeg ] else with gst_all; [ gstreamer gst-plugins-base ])
          ++ lib.optional gssSupport kerberos
          ++ lib.optionals (cfg.enableQuakeLive or false)
@@ -98,6 +101,7 @@ in stdenv.mkDerivation {
         --prefix-contents PATH ':' "$(filterExisting $(addSuffix /extra-bin-path $plugins))" \
         --suffix PATH ':' "$out/bin" \
         --set MOZ_APP_LAUNCHER "${browserName}${nameSuffix}" \
+        --set MOZ_SYSTEM_DIR "$out/lib/mozilla" \
         ${lib.optionalString (!ffmpegSupport)
             ''--prefix GST_PLUGIN_SYSTEM_PATH : "$GST_PLUGIN_SYSTEM_PATH"''
         + lib.optionalString (browser ? gtk3)
@@ -117,6 +121,11 @@ in stdenv.mkDerivation {
 
     install -D -t $out/share/applications $desktopItem/share/applications/*
 
+    mkdir -p $out/lib/mozilla
+    for ext in ${toString nativeMessagingHosts}; do
+        ${lndir}/bin/lndir -silent $ext/lib/mozilla $out/lib/mozilla
+    done
+
     # For manpages, in case the program supplies them
     mkdir -p $out/nix-support
     echo ${browser} > $out/nix-support/propagated-user-env-packages
diff --git a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
index 8e24a3fb619a..ecd4026821a8 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/default.nix
@@ -73,7 +73,7 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-${version}";
-  version = "27.0.0.183";
+  version = "27.0.0.187";
 
   src = fetchurl {
     url =
@@ -84,14 +84,14 @@ stdenv.mkDerivation rec {
     sha256 =
       if debug then
         if arch == "x86_64" then
-          "1qn9hm9c303jihksfc8sb5yjpcasj711s66lhqlqmj5hd0r8bzya"
+          "1ii97fa1diyggarh1gkg43ia42ws7x84hpjzvrdhxcf6s47lh2ld"
         else
-          "19d0d4fn2p2wvh27gshybgc4xpjp0ibgm2gg8g0jzrvbc3cqdz0j"
+          "1gphlgy64ddzn4bbgr2k1kh8xwq9ghf0z0c6zilry0nq33i64xa1"
       else
         if arch == "x86_64" then
-          "0df8lbbvr226k9z6p2jwxandjb6yy0bqz5kaz79hpj0dwkiqwax1"
+          "1hfcphcvdam62k983rm6r42mnkih4nfwyrnx0v88z3nw14mjr4c3"
         else
-          "0vs63rlra5ccm24j908zrcxhffjlmvjr6pb2bb7a4fmnfjrk4idf";
+          "06jb4jd5840w125wd4l35f0b1iqjak07ajy02k9j8srglwi0ffmw";
   };
 
   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 cf00f303e993..92e73e475581 100644
--- a/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
+++ b/pkgs/applications/networking/browsers/mozilla-plugins/flashplayer/standalone.nix
@@ -55,7 +55,7 @@ let
 in
 stdenv.mkDerivation rec {
   name = "flashplayer-standalone-${version}";
-  version = "27.0.0.183";
+  version = "27.0.0.187";
 
   src = fetchurl {
     url =
@@ -65,9 +65,9 @@ stdenv.mkDerivation rec {
         "https://fpdownload.macromedia.com/pub/flashplayer/updaters/27/flash_player_sa_linux.x86_64.tar.gz";
     sha256 =
       if debug then
-        "0vf28qdhb1ly5w3hhy3n20r4nyvwsxj5csb969s0r328nf1xaflj"
+        "1857g4yy62pj02pnw7p9bpqazp98jf17yv2xdh1fkqiibzahjc6m"
       else
-        "0jqbnbpdrmxh2jnai0bv4c8jzsvqmcnhsp1hzaygsvp0ri4vncs8";
+        "0kywx7c3qb1hfljc14ddzm1cyhvwygbbdfxp1rdhqw8s3b6ns0hw";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 52a2ce9164c9..0852b5c9d434 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -37,7 +37,7 @@
 let
 
   mirror = https://get.geo.opera.com/pub/opera/desktop;
-  version = "46.0.2597.39";
+  version = "48.0.2685.52";
 
   rpath = stdenv.lib.makeLibraryPath [
 
@@ -87,19 +87,10 @@ in stdenv.mkDerivation {
 
   name = "opera-${version}";
 
-  src =
-    #if stdenv.system == "i686-linux" then
-    #  fetchurl {
-    #    url = "${mirror}/${version}/linux/opera-stable_${version}_i386.deb";
-    #    sha256 = "...";
-    #  }
-    #else 
-    if stdenv.system == "x86_64-linux" then
-      fetchurl {
-        url = "${mirror}/${version}/linux/opera-stable_${version}_amd64.deb";
-        sha256 = "1ladvqilm5rr222wjybvribnyii2l0p8jbsd10xr06wps63g1kia";
-      }
-    else throw "Opera is not supported on ${stdenv.system} (only x86_64 linux is supported)";
+  src = fetchurl {
+    url = "${mirror}/${version}/linux/opera-stable_${version}_amd64.deb";
+    sha256 = "027njqh2as4d0xsnvzamqiplghb8cxqnc19y0vqkvjnsw57v828p";
+  };
 
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
 
@@ -123,6 +114,7 @@ in stdenv.mkDerivation {
   meta = {
     homepage = http://www.opera.com;
     description = "Web browser";
+    platforms = [ "x86_64-linux" ];
     license = stdenv.lib.licenses.unfree;
   };
 }
diff --git a/pkgs/applications/networking/browsers/palemoon/default.nix b/pkgs/applications/networking/browsers/palemoon/default.nix
index d5e6e47e9285..e24c21b535bf 100644
--- a/pkgs/applications/networking/browsers/palemoon/default.nix
+++ b/pkgs/applications/networking/browsers/palemoon/default.nix
@@ -10,14 +10,14 @@
 
 stdenv.mkDerivation rec {
   name = "palemoon-${version}";
-  version = "27.5.0";
+  version = "27.6.0";
 
   src = fetchFromGitHub {
     name   = "palemoon-src";
     owner  = "MoonchildProductions";
     repo   = "Pale-Moon";
     rev    = version + "_Release";
-    sha256 = "0m4fgwxn6hs8r240i6acaajx76cvqy1b7cqmdsxd33qpjrrj1h9d";
+    sha256 = "1v5rbam93fcc7c1l69clr9chi2l0zv0dhjq12v535n8vv9lhahhl";
   };
 
   desktopItem = makeDesktopItem {
diff --git a/pkgs/applications/networking/browsers/qutebrowser/default.nix b/pkgs/applications/networking/browsers/qutebrowser/default.nix
index da3c826adcd7..4f0e891dc496 100644
--- a/pkgs/applications/networking/browsers/qutebrowser/default.nix
+++ b/pkgs/applications/networking/browsers/qutebrowser/default.nix
@@ -28,13 +28,14 @@ let
   };
 
 in buildPythonApplication rec {
-  name = "qutebrowser-${version}";
-  version = "1.0.2";
+  name = "qutebrowser-${version}${fix_postfix}";
+  fix_postfix = "-1";
+  version = "1.0.3";
   namePrefix = "";
 
   src = fetchurl {
-    url = "https://github.com/The-Compiler/qutebrowser/releases/download/v${version}/${name}.tar.gz";
-    sha256 = "093nmvl9x3ykrpmvnmx98g9npg4wmq0mmf7qzgbzmg93dnyq2cpk";
+    url = "https://github.com/qutebrowser/qutebrowser/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "04d6hg2yf2wjwn0sd05bpx3zngnb93g7rizbdq17bbpmnwxchzap";
   };
 
   # Needs tox
diff --git a/pkgs/applications/networking/browsers/surf/default.nix b/pkgs/applications/networking/browsers/surf/default.nix
index 04d475f36f07..1aa9bf044b05 100644
--- a/pkgs/applications/networking/browsers/surf/default.nix
+++ b/pkgs/applications/networking/browsers/surf/default.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   version = "2.0";
 
   src = fetchurl {
-    url = "http://dl.suckless.org/surf/surf-${version}.tar.gz";
+    url = "https://dl.suckless.org/surf/surf-${version}.tar.gz";
     sha256 = "07cmajyafljigy10d21kkyvv5jf3hxkx06pz3rwwk3y3c9x4rvps";
   };
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
       possible to embed it in another application. Furthermore, one can point
       surf to another URI by setting its XProperties.
     '';
-    homepage = http://surf.suckless.org;
+    homepage = https://surf.suckless.org;
     license = licenses.mit;
     platforms = webkitgtk.meta.platforms;
     maintainers = with maintainers; [ joachifm ];
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 4464d490bc82..1b6bf2ac3002 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -98,7 +98,7 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "7.0.8";
+  version = "7.0.10";
 
   lang = "en-US";
 
@@ -108,7 +108,7 @@ let
         "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 = "0bi4l4ma40ifsajvjpwv6ixphijqvb7yrci2jcyykh3j41ndfjf2";
+      sha256 = "0d1yvb1gmswlzyivr53xxfbd58bvr7nyangd85j36kar4bzbzvhh";
     };
 
     "i686-linux" = fetchurl {
@@ -116,7 +116,7 @@ let
         "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 = "182q1gb8jnk92wxr7m977yxcksa8d3zg90qbsja1raym2vhqaf73";
+      sha256 = "0mjw8z76pbm1hshz875shkmjmxqhpan5la52r3y20v6rc0gfd9p5";
     };
   };
 in
diff --git a/pkgs/applications/networking/browsers/vimprobable2/default.nix b/pkgs/applications/networking/browsers/vimprobable2/default.nix
index abb7013d1062..e6275b2f9592 100644
--- a/pkgs/applications/networking/browsers/vimprobable2/default.nix
+++ b/pkgs/applications/networking/browsers/vimprobable2/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
       featureset might be considered "minimalistic", but not as minimalistic as
       being completely featureless.
     '';
-    homepage = http://sourceforge.net/apps/trac/vimprobable;
+    homepage = https://sourceforge.net/apps/trac/vimprobable;
     license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.aforemny ];
     platforms = with stdenv.lib.platforms; linux;
diff --git a/pkgs/applications/networking/cluster/mesos/default.nix b/pkgs/applications/networking/cluster/mesos/default.nix
index 116e74326908..909242273930 100644
--- a/pkgs/applications/networking/cluster/mesos/default.nix
+++ b/pkgs/applications/networking/cluster/mesos/default.nix
@@ -60,6 +60,8 @@ in stdenv.mkDerivation rec {
       "CXXFLAGS=-O2 -Wno-error=strict-aliasing"
     )
 
+    substituteInPlace 3rdparty/stout/include/stout/jsonify.hpp \
+      --replace '<xlocale.h>' '<locale.h>'
     # Fix cases where makedev(),major(),minor() are referenced through
     # <sys/types.h> instead of <sys/sysmacros.h>
     sed 1i'#include <sys/sysmacros.h>' -i src/linux/fs.cpp
diff --git a/pkgs/applications/networking/cluster/spark/default.nix b/pkgs/applications/networking/cluster/spark/default.nix
index 837447fe60fb..79500a33bf80 100644
--- a/pkgs/applications/networking/cluster/spark/default.nix
+++ b/pkgs/applications/networking/cluster/spark/default.nix
@@ -10,9 +10,9 @@ let
                 hadoopVersion = "cdh4";
                 sparkSha256 = "00il083cjb9xqzsma2ifphq9ggichwndrj6skh2z5z9jk3z0lgyn";
               };
-    "2.1.0" = {
-                hadoopVersion = "hadoop2.4";
-                sparkSha256 = "0pbsmbjwijsfgbnm56kgwnmnlqkz3w010ma0d7vzlkdklj40vqn2";
+    "2.2.0" = {
+                hadoopVersion = "hadoop2.7";
+                sparkSha256 = "0wjjn2pgalrcji8avhj5d48kl1mf7rhrdxhzf29dbiszq4fkx0s6";
               };
   };
 in
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index d15b1d545b44..e9d6c5f306f0 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -34,8 +34,9 @@ buildFHSUserEnv {
 
   targetPkgs = pkgs: with pkgs; with xlibs; [
     libICE libSM libX11 libXcomposite libXdamage libXext libXfixes libXrender
-    libXxf86vm libxcb
-    curl dbus fontconfig freetype gcc glib gnutar libxml2 libxslt zlib
+    libXxf86vm libxcb xkeyboardconfig
+    curl dbus firefox-bin fontconfig freetype gcc glib gnutar libxml2 libxslt
+    procps zlib
   ];
 
   extraInstallCommands = ''
@@ -44,13 +45,34 @@ buildFHSUserEnv {
   '';
 
   runScript = writeScript "install-and-start-dropbox" ''
+    export BROWSER=firefox
+
+    set -e
+
+    do_install=
     if ! [ -d "$HOME/.dropbox-dist" ]; then
+        do_install=1
+    else
+        installed_version=$(cat "$HOME/.dropbox-dist/VERSION")
+        latest_version=$(printf "${version}\n$installed_version\n" | sort -V | head -n 1)
+        if [ "x$installed_version" != "x$latest_version" ]; then
+            do_install=1
+        fi
+    fi
+
+    if [ -n "$do_install" ]; then
+        installer=$(mktemp)
         # Dropbox is not installed.
         # Download and unpack the client. If a newer version is available,
         # the client will update itself when run.
-        curl '${installer}' | tar -C "$HOME" -x -z
+        curl '${installer}' >"$installer"
+        pkill dropbox || true
+        rm -fr "$HOME/.dropbox-dist"
+        tar -C "$HOME" -x -z -f "$installer"
+        rm "$installer"
     fi
-    exec "$HOME/.dropbox-dist/dropboxd"
+
+    exec "$HOME/.dropbox-dist/dropboxd" "$@"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/flexget/default.nix b/pkgs/applications/networking/flexget/default.nix
index 9e5e90996bcb..105239aca024 100644
--- a/pkgs/applications/networking/flexget/default.nix
+++ b/pkgs/applications/networking/flexget/default.nix
@@ -24,9 +24,6 @@ buildPythonApplication rec {
   # unicode-capable filesystem (and setting LC_ALL doesn't work).
   # setlocale: LC_ALL: cannot change locale (en_US.UTF-8)
   postPatch = ''
-    sed -i '/def test_non_ascii/i\    import pytest\
-        @pytest.mark.skip' flexget/tests/test_filesystem.py
-
     substituteInPlace requirements.txt \
       --replace "chardet==3.0.3" "chardet" \
       --replace "rebulk==0.8.2" "rebulk" \
@@ -35,7 +32,13 @@ buildPythonApplication rec {
       --replace "sqlalchemy==1.1.10" "sqlalchemy" \
       --replace "zxcvbn-python==4.4.15" "zxcvbn-python" \
       --replace "flask-cors==3.0.2" "flask-cors" \
-      --replace "certifi==2017.4.17" "certifi"
+      --replace "certifi==2017.4.17" "certifi" \
+      --replace "apscheduler==3.3.1" "apscheduler" \
+      --replace "path.py==10.3.1" "path.py" \
+      --replace "tempora==1.8" "tempora" \
+      --replace "cheroot==5.5.0" "cheroot" \
+      --replace "six==1.10.0" "six" \
+      --replace "aniso8601==1.2.1" "aniso8601"
   '';
 
   checkPhase = ''
@@ -47,7 +50,8 @@ buildPythonApplication rec {
                                           and not test_double_episodes \
                                           and not test_inject_force \
                                           and not test_double_prefered \
-                                          and not test_double"
+                                          and not test_double \
+                                          and not test_non_ascii"
   '';
 
   buildInputs = [ pytest mock vcrpy pytest-catchlog boto3 ];
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 86b4a1fd6ea7..210d78369da6 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, dbus, gnutls, wxGTK30, libidn, tinyxml, gettext
 , pkgconfig, xdg_utils, gtk2, sqlite, pugixml, libfilezilla, nettle }:
 
-let version = "3.28.0"; in
+let version = "3.29.0"; in
 stdenv.mkDerivation {
   name = "filezilla-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/filezilla/FileZilla_Client/${version}/FileZilla_${version}_src.tar.bz2";
-    sha256 = "1dxzmpqrb3a29ln9vx10n438w5i649729vy911sm92bwn2p235p4";
+    sha256 = "0najf2w6p5j4qc8jmglx6j63mph749s5p90lz2nkmwwwy5sfvlga";
   };
 
   configureFlags = [
diff --git a/pkgs/applications/networking/gns3/default.nix b/pkgs/applications/networking/gns3/default.nix
index bee3062a5a22..72ffbb6e6d3a 100644
--- a/pkgs/applications/networking/gns3/default.nix
+++ b/pkgs/applications/networking/gns3/default.nix
@@ -1,8 +1,8 @@
 { callPackage, stdenv }:
 
 let
-  stableVersion = "2.0.3";
-  previewVersion = "2.1.0rc3";
+  stableVersion = "2.1.0";
+  previewVersion = "2.1.0rc4"; # == 2.1.0
   addVersion = args:
     let version = if args.stable then stableVersion else previewVersion;
         branch = if args.stable then "stable" else "preview";
@@ -12,19 +12,19 @@ let
 in {
   guiStable = mkGui {
     stable = true;
-    sha256Hash = "10qp6430md8d0h2wamgfaq7pai59mqmcw6sw3i1gvb20m0avvsvb";
+    sha256Hash = "0fms8469daa8jhmsdqnadm18gc27g18q4m974wjfpz9n1rn78sjk";
   };
   guiPreview = mkGui {
     stable = false;
-    sha256Hash = "0yc5lr01xb7lk4dsrwx79mimbr91vldpvqbrx37j3kym6p5m84cn";
+    sha256Hash = "10p8i45n6qsf431d0xpy5dk3g5qh6zdlnfj82jn9xdyccgxs4x3s";
   };
 
   serverStable = mkServer {
     stable = true;
-    sha256Hash = "1c7mzj1r2zh90a7vs3s17jakfp9s43b8nnj29rpamqxvl3qhbdy7";
+    sha256Hash = "1s66qnkhd9rqak13m57i266bgrk8f1ky2wxdha1jj0q9gxdsqa39";
   };
   serverPreview = mkServer {
     stable = false;
-    sha256Hash = "1lac88d9cmlhrwmlvxv1sk86600rwznw3lpsm440bax6qbdfcis3";
+    sha256Hash = "1z8a3s90k86vmi4rwsd3v74gwvml68ci6f3zgxaji3z1sm22zcyd";
   };
 }
diff --git a/pkgs/applications/networking/gns3/gui.nix b/pkgs/applications/networking/gns3/gui.nix
index 1352774953df..df3093504044 100644
--- a/pkgs/applications/networking/gns3/gui.nix
+++ b/pkgs/applications/networking/gns3/gui.nix
@@ -19,7 +19,7 @@ in pythonPackages.buildPythonPackage rec {
   propagatedBuildInputs = with pythonPackages; [
     raven psutil jsonschema # tox for check
     # Runtime dependencies
-    sip pyqt5
+    sip (pyqt5.override { withWebSockets = true; })
   ];
 
   doCheck = false; # Failing
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index 9d7bf6f5a3ab..59380cf6965e 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -4,42 +4,39 @@
 
 let
   pythonPackages = python3Packages;
-  yarl = if (!stable) then pythonPackages.yarl
-    else (stdenv.lib.overrideDerivation pythonPackages.yarl (oldAttrs:
+  # TODO: Not sure if all these overwrites are really required...
+  # Upstream seems to have some reasons (bugs, incompatibilities) though.
+  multidict_3_1_3 =
+    (stdenv.lib.overrideDerivation pythonPackages.multidict (oldAttrs:
       rec {
-        pname = "yarl";
-        version = "0.9.8";
+        pname = "multidict";
+        version = "3.1.3";
         name = "${pname}-${version}";
         src = pythonPackages.fetchPypi {
           inherit pname version;
-          sha256 = "1v2dsmr7bqp0yx51pwhbxyvzza8m2f88prsnbd926mi6ah38p0d7";
+          sha256 = "04kdxh19m41c6vbshwk8jfbidsfsqn7mn0abvx09nyg78sh80pw7";
         };
+        doInstallCheck = false;
       }));
-  aiohttp = if (!stable) then pythonPackages.aiohttp
-    else (stdenv.lib.overrideDerivation pythonPackages.aiohttp (oldAttrs:
+  yarl = (stdenv.lib.overrideDerivation pythonPackages.yarl
+    (oldAttrs:
+      { propagatedBuildInputs = [ multidict_3_1_3 ]; }));
+  aiohttp = (stdenv.lib.overrideDerivation pythonPackages.aiohttp
+    (oldAttrs:
       rec {
         pname = "aiohttp";
-        version = "1.3.5";
+        version = "2.2.5";
         name = "${pname}-${version}";
         src = pythonPackages.fetchPypi {
           inherit pname version;
-          sha256 = "0hpqdiaifgyfqmxkyzwypwvrnvz5rqzgzylzhihfidc5ldfs856d";
+          sha256 = "1g6kzkf5in0briyscwxsihgps833dq2ggcq6lfh1hq95ck8zsnxg";
         };
-        propagatedBuildInputs = [ yarl ]
-          ++ (with pythonPackages; [ async-timeout chardet multidict ]);
-      }));
-  aiohttp-cors = if (!stable) then pythonPackages.aiohttp-cors
-    else (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors (oldAttrs:
-      rec {
-        pname = "aiohttp-cors";
-        version = "0.5.1";
-        name = "${pname}-${version}";
-        src = pythonPackages.fetchPypi {
-          inherit pname version;
-          sha256 = "0szma27ri25fq4nwwvs36myddggw3jz4pyzmq63yz4xpw0jjdxck";
-        };
-        propagatedBuildInputs = [ aiohttp ];
+        propagatedBuildInputs = [ yarl multidict_3_1_3 ]
+          ++ (with pythonPackages; [ async-timeout chardet ]);
       }));
+  aiohttp-cors = (stdenv.lib.overrideDerivation pythonPackages.aiohttp-cors
+    (oldAttrs:
+      { propagatedBuildInputs = [ aiohttp ]; }));
 in pythonPackages.buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "gns3-server";
@@ -57,7 +54,7 @@ in pythonPackages.buildPythonPackage rec {
       prompt_toolkit
     ]);
 
-  postPatch = stdenv.lib.optionalString (!stable) ''
+  postPatch = ''
     sed -i 's/yarl>=0.11,<0.12/yarl/g' requirements.txt
   '';
 
diff --git a/pkgs/applications/networking/instant-messengers/baresip/default.nix b/pkgs/applications/networking/instant-messengers/baresip/default.nix
index c2d17fd3308d..10f246957d7a 100644
--- a/pkgs/applications/networking/instant-messengers/baresip/default.nix
+++ b/pkgs/applications/networking/instant-messengers/baresip/default.nix
@@ -4,11 +4,11 @@
 , gsm, speex, portaudio, spandsp, libuuid, ccache, libvpx
 }:
 stdenv.mkDerivation rec {
-  version = "0.5.1";
+  version = "0.5.6";
   name = "baresip-${version}";
   src=fetchurl {
     url = "http://www.creytiv.com/pub/baresip-${version}.tar.gz";
-    sha256 = "0yi80gi2vb600n7wi6mk81zfdi1n5pg1dsz7458sb3z5cv5gj8yg";
+    sha256 = "036hvl652zndqj3kmkv8z9pv7r4d1jxq8b7rg8jf0hh82vpyz38l";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [zlib openssl libre librem
diff --git a/pkgs/applications/networking/instant-messengers/hipchat/default.nix b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
index 326f95630707..4e116e685c60 100644
--- a/pkgs/applications/networking/instant-messengers/hipchat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/hipchat/default.nix
@@ -4,7 +4,7 @@
 
 let
 
-  version = "4.29.4.1662";
+  version = "4.30.0.1663";
 
   rpath = stdenv.lib.makeLibraryPath [
     xdg_utils
@@ -44,7 +44,7 @@ let
     if stdenv.system == "x86_64-linux" then
       fetchurl {
         url = "https://atlassian.artifactoryonline.com/atlassian/hipchat-apt-client/pool/HipChat4-${version}-Linux.deb";
-        sha256 = "1cz9zv9aj8xdrjs6dgi7fpm4q9l9find4m8l0nmvac2s4r60vw6y";
+        sha256 = "13mh49nx75pvaygzi70sg96iad3mn9ym0p4p3ja46amkxbdkq7h7";
       }
     else
       throw "HipChat is not supported on ${stdenv.system}";
diff --git a/pkgs/applications/networking/instant-messengers/mcabber/default.nix b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
index 607fdbc7e3e1..edd7b012e217 100644
--- a/pkgs/applications/networking/instant-messengers/mcabber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mcabber/default.nix
@@ -25,6 +25,7 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ pSub ];
     platforms = with platforms; linux;
     updateWalker = true;
+    downloadPage = "http://mcabber.com/files/";
     downloadURLRegexp = "mcabber-[0-9.]+[.]tar[.][a-z0-9]+$";
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
index a0b7cfa45f2c..75251b21aea1 100644
--- a/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pidgin-plugins/sipe/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, pidgin, intltool, libxml2, nss, nspr }:
 
-let version = "1.22.1"; in
+let version = "1.23.0"; in
 
 stdenv.mkDerivation {
   name = "pidgin-sipe-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/sipe/pidgin-sipe-${version}.tar.gz";
-    sha256 = "f6b7b7475e349c0214eb02814b808b04850113a91dd8e8d2c26e7179a3fd1ae8";
+    sha256 = "795811ced33fcc5affae259828f6452bfc0e0b02737ea68483e1bd9ec0459013";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/instant-messengers/qtox/default.nix b/pkgs/applications/networking/instant-messengers/qtox/default.nix
index aee739256746..9cf6f4f2a408 100644
--- a/pkgs/applications/networking/instant-messengers/qtox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/qtox/default.nix
@@ -2,29 +2,29 @@
   libtoxcore,
   libpthreadstubs, libXdmcp, libXScrnSaver,
   qtbase, qtsvg, qttools, qttranslations,
-  ffmpeg, filter-audio, libsodium, libopus,
+  ffmpeg, filter-audio, libexif, libsodium, libopus,
   libvpx, openal, opencv, pcre, qrencode, sqlcipher }:
 
 mkDerivation rec {
   name = "qtox-${version}";
-  version = "1.11.0";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
-    owner  = "tux3";
+    owner  = "qTox";
     repo   = "qTox";
     rev    = "v${version}";
-    sha256 = "0h8v359h1xn2xm6xa9q56mjiw58ap1bpiwx1dxxmphjildxadwck";
+    sha256 = "1l1k8s10jj6nm9i33m8xhjwdhikvp7csdp6x1gxjxdj526aak8q9";
   };
 
   buildInputs = [
     libtoxcore
     libpthreadstubs libXdmcp libXScrnSaver
-    qtbase qtsvg qttools qttranslations
-    ffmpeg filter-audio libopus libsodium
+    qtbase qtsvg qttranslations
+    ffmpeg filter-audio libexif libopus libsodium
     libvpx openal opencv pcre qrencode sqlcipher
   ];
 
-  nativeBuildInputs = [ cmake pkgconfig ];
+  nativeBuildInputs = [ cmake pkgconfig qttools ];
 
   enableParallelBuilding = true;
 
@@ -37,6 +37,7 @@ mkDerivation rec {
 
   meta = with lib; {
     description = "Qt Tox client";
+    homepage    = https://tox.chat;
     license     = licenses.gpl3;
     maintainers = with maintainers; [ viric jgeerds akaWolf peterhoeg ];
     platforms   = platforms.all;
diff --git a/pkgs/applications/networking/instant-messengers/rambox/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
new file mode 100644
index 000000000000..543bf6425250
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/rambox/bare.nix
@@ -0,0 +1,55 @@
+{ stdenv, fetchFromGitHub, fetchNodeModules, nodejs-8_x, ruby, sencha, auth0ClientID, auth0Domain }:
+
+stdenv.mkDerivation rec {
+  name = "rambox-bare-${version}";
+  version = "0.5.13";
+
+  src = fetchFromGitHub {
+    owner = "saenzramiro";
+    repo = "rambox";
+    rev = version;
+    sha256 = "0c770a9z017y6gcrpyri7s1gifm8zi5f29bq5nvh3zzg4wgqh326";
+  };
+
+  nativeBuildInputs = [ nodejs-8_x ruby sencha ];
+
+  node_modules = fetchNodeModules {
+    inherit src;
+
+    nodejs = nodejs-8_x;
+    sha256 = "1y3q8ggyvfywxqi5hn9mvr1sjfylspis43iyf4b7snyr1a1br3r4";
+  };
+
+  patches = [ ./hide-check-for-updates.patch ./isDev.patch ];
+
+  configurePhase = ''
+    echo 'var auth0Cfg = { clientID: "${auth0ClientID}", domain: "${auth0Domain}" };' > env.js
+    ln -s ${node_modules} node_modules
+  '';
+
+  buildPhase = ''
+    mkdir ../rambox-build
+    npm run sencha:compile:build
+  '';
+
+  installPhase = ''
+    mv ../rambox-build/ $out
+
+    # https://github.com/saenzramiro/rambox/issues/1281
+    echo '{"name": "rambox", "version": "${version}", "main": "electron/main.js"}' > $out/package.json
+
+    # https://github.com/saenzramiro/rambox/issues/1282
+    cp --parents ext/packages/ext-locale/build/ext-locale-*.js $out
+
+    # Symbolic link causes `Uncaught Error: Cannot find module 'immutable'`
+    cp -r ${node_modules} $out/node_modules
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Messaging and emailing app that combines common web applications into one";
+    homepage = http://rambox.pro;
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ gnidorah ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/rambox/default.nix b/pkgs/applications/networking/instant-messengers/rambox/default.nix
index 7c8367d7f7fb..05e1d902dd7b 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/default.nix
@@ -1,64 +1,43 @@
-{ stdenv, fetchurl, dpkg, makeWrapper
-, xorg, gtk2, atk, glib, pango, gdk_pixbuf, cairo, freetype, fontconfig
-, gnome2, dbus, nss, nspr, alsaLib, cups, expat, udev, libnotify, xdg_utils }:
+{ stdenv, newScope, makeWrapper, electron, xdg_utils, makeDesktopItem
+# These credentials are only for this derivation. If you want to get credentials
+# for another distribution, go to https://auth0.com. If you want to reuse the same
+# domain, drop a line at yegortimoshenko@gmail.com!
+, auth0ClientID ? "0spuNKfIGeLAQ_Iki9t3fGxbfJl3k8SU"
+, auth0Domain ? "nixpkgs.auth0.com" }:
 
 let
-  bits = if stdenv.system == "x86_64-linux" then "x64"
-         else "ia32";
-
-  version = "0.5.13";
-
-  runtimeDeps = [
-    udev libnotify
-  ];
-  deps = (with xorg; [
-    libXi libXcursor libXdamage libXrandr libXcomposite libXext libXfixes
-    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
-  ] ++ runtimeDeps;
-in stdenv.mkDerivation rec {
-  name = "rambox-${version}";
-  src = fetchurl {
-    url = "https://github.com/saenzramiro/rambox/releases/download/${version}/Rambox_${version}-${bits}.deb";
-    sha256 = if bits == "x64" then
-      "0bn562fr1wsnn3xsd4q2rrxi6c56vckrkfmjl2dqb30hpmj2vn0d" else
-      "180ndvkil5mk5idwnn7spfygnhhll6pjc342pfzgmzk46a723qs4";
+  callPackage = newScope self;
+  self = {
+    fetchNodeModules = callPackage ./fetchNodeModules.nix {};
+    rambox-bare = callPackage ./bare.nix {
+      inherit auth0ClientID auth0Domain;
+    };
+    sencha = callPackage ./sencha {};
   };
+  desktopItem = makeDesktopItem rec {
+    name = "Rambox";
+    exec = "rambox";
+    icon = "${self.rambox-bare}/resources/Icon.png";
+    desktopName = name;
+    genericName = "Rambox messenger";
+    categories = "Network;";
+  };
+in
 
-  # don't remove runtime deps
-  dontPatchELF = true;
-
-  buildInputs = [ dpkg makeWrapper ];
-
-  unpackPhase = "dpkg-deb -x $src .";
+with self;
 
-  installPhase = ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" opt/Rambox/rambox
-    patchelf --set-rpath "$out/opt/Rambox:${stdenv.lib.makeLibraryPath deps}" opt/Rambox/rambox
+stdenv.mkDerivation {
+  name = "rambox-${rambox-bare.version}";
 
-    mkdir -p $out/bin
-    cp -r opt $out
-    ln -s $out/opt/Rambox/rambox $out/bin
+  nativeBuildInputs = [ makeWrapper ];
 
-    # provide resources
-    cp -r usr/share $out
-    substituteInPlace $out/share/applications/rambox.desktop \
-      --replace Exec=\"/opt/Rambox/rambox\" Exec=rambox
-  '';
+  unpackPhase = ":";
 
-  postFixup = ''
-    paxmark m $out/opt/Rambox/rambox
-    wrapProgram $out/opt/Rambox/rambox --prefix PATH : ${xdg_utils}/bin
+  installPhase = ''
+    makeWrapper ${electron}/bin/electron $out/bin/rambox \
+      --add-flags "${rambox-bare} --without-update" \
+      --prefix PATH : ${xdg_utils}/bin
+    mkdir -p $out/share/applications
+    ln -s ${desktopItem}/share/applications/* $out/share/applications
   '';
-
-  meta = with stdenv.lib; {
-    description = "Free and Open Source messaging and emailing app that combines common web applications into one";
-    homepage = http://rambox.pro;
-    license = licenses.mit;
-    maintainers = [ maintainers.gnidorah ];
-    platforms = ["i686-linux" "x86_64-linux"];
-    hydraPlatforms = [];
-  };
 }
diff --git a/pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix b/pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix
new file mode 100644
index 000000000000..047890a932ca
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/rambox/fetchNodeModules.nix
@@ -0,0 +1,26 @@
+{ stdenv, jq }: { src, nodejs, sha256 }:
+
+# Only npm >= 5.4.2 is deterministic, see:
+# https://github.com/npm/npm/issues/17979#issuecomment-332701215
+assert stdenv.lib.versionAtLeast nodejs.version "8.9.0";
+
+stdenv.mkDerivation {
+  name = "node_modules";
+
+  outputHashAlgo = "sha256";
+  outputHash = sha256;
+  outputHashMode = "recursive";
+
+  nativeBuildInputs = [ jq nodejs ];
+
+  buildCommand = ''
+    cp -r ${src}/* .
+    HOME=. npm install --force --ignore-scripts --only=production
+    for f in $(find node_modules -name package.json); do
+      # https://github.com/npm/npm/issues/10393
+      jq -S 'delpaths(keys | map(select(startswith("_")) | [.]))' $f > $f.tmp
+      mv $f.tmp $f
+    done
+    mv node_modules $out
+  '';
+}
diff --git a/pkgs/applications/networking/instant-messengers/rambox/hide-check-for-updates.patch b/pkgs/applications/networking/instant-messengers/rambox/hide-check-for-updates.patch
new file mode 100644
index 000000000000..8363baef2dfc
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/rambox/hide-check-for-updates.patch
@@ -0,0 +1,35 @@
+https://github.com/saenzramiro/rambox/issues/1283
+
+diff -urNZ a/electron/menu.js b/electron/menu.js
+--- a/electron/menu.js	2017-11-02 22:02:59.753119865 +0000
++++ b/electron/menu.js	2017-11-02 22:08:34.419698562 +0000
+@@ -220,14 +220,6 @@
+ 					}
+ 				},
+ 				{
+-					label: locale['menu.help[5]'],
+-					click(item, win) {
+-						const webContents = win.webContents;
+-						const send = webContents.send.bind(win.webContents);
+-						send('autoUpdater:check-update');
+-					}
+-				},
+-				{
+ 					label: locale['menu.help[6]'],
+ 					click() {
+ 						sendAction('showAbout')
+@@ -290,14 +282,6 @@
+ 			type: 'separator'
+ 		});
+ 		helpSubmenu.push({
+-			label: `&`+locale['menu.help[5]'],
+-			click(item, win) {
+-				const webContents = win.webContents;
+-				const send = webContents.send.bind(win.webContents);
+-				send('autoUpdater:check-update');
+-			}
+-		});
+-		helpSubmenu.push({
+ 			label: `&`+locale['menu.help[6]'],
+ 			click() {
+ 				sendAction('showAbout')
diff --git a/pkgs/applications/networking/instant-messengers/rambox/isDev.patch b/pkgs/applications/networking/instant-messengers/rambox/isDev.patch
new file mode 100644
index 000000000000..b918144c7662
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/rambox/isDev.patch
@@ -0,0 +1,14 @@
+https://github.com/saenzramiro/rambox/issues/1280
+
+diff -urNZ a/electron/main.js b/electron/main.js
+--- a/electron/main.js	2017-11-02 14:58:06.085127616 +0000
++++ b/electron/main.js	2017-11-02 14:58:18.316887679 +0000
+@@ -8,7 +8,7 @@
+ // Configuration
+ const Config = require('electron-config');
+ // Development
+-const isDev = require('electron-is-dev');
++const isDev = false;
+ // Updater
+ const updater = require('./updater');
+ // File System
diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix b/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix
new file mode 100644
index 000000000000..5f68e6d86295
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/rambox/sencha/bare.nix
@@ -0,0 +1,43 @@
+{ stdenv, fetchurl, gzip, which, unzip, jdk }:
+
+let
+  version = "6.5.2";
+  srcs = {
+    i686-linux = fetchurl {
+      url = "https://cdn.sencha.com/cmd/${version}/no-jre/SenchaCmd-${version}-linux-i386.sh.zip";
+      sha256 = "18gcqw9434xab97skcb97iw4p4s2pgggvq7jaisblap0ja00kqjr";
+    };
+    x86_64-linux = fetchurl {
+      url = "https://cdn.sencha.com/cmd/${version}/no-jre/SenchaCmd-${version}-linux-amd64.sh.zip";
+      sha256 = "1b8jv99k37q1bi7b29f23lfzxc66v5fqdmr1rxsrqchwcrllc0z7";
+    };
+  };
+in
+
+stdenv.mkDerivation rec {
+  inherit version;
+
+  name = "sencha-bare-${version}";
+  src = srcs.${stdenv.system};
+
+  nativeBuildInputs = [ gzip which unzip ];
+  buildInputs = [ jdk ];
+
+  sourceRoot = ".";
+
+  configurePhase = ''
+    substituteAll ${./response.varfile} response.varfile
+  '';
+
+  installPhase = ''
+    ./SenchaCmd*.sh -q -dir $out -varfile response.varfile
+    # disallow sencha writing into /nix/store/repo
+    echo "repo.local.dir=$TMP/repo" >> $out/sencha.cfg
+    rm $out/shell-wrapper.sh $out/Uninstaller
+  '';
+
+  meta = with stdenv.lib; {
+    license = licenses.unfree;
+    platforms = attrNames srcs;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix b/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix
new file mode 100644
index 000000000000..1ca04a9e1686
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/rambox/sencha/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, callPackage, makeWrapper }:
+
+let
+  sencha-bare = callPackage ./bare.nix {};
+in
+
+stdenv.mkDerivation {
+  name = "sencha-${sencha-bare.version}";
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  unpackPhase = ":";
+
+  installPhase = ''
+    makeWrapper ${sencha-bare}/sencha $out/bin/sencha
+  '';
+}
diff --git a/pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile b/pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile
new file mode 100644
index 000000000000..0ff6f0a30d50
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/rambox/sencha/response.varfile
@@ -0,0 +1,13 @@
+addToPath$Integer=1
+parentDir=.
+sys.adminRights$Boolean=false
+sys.component.148$Boolean=true
+sys.component.157$Boolean=true
+sys.component.26$Boolean=true
+sys.component.30$Boolean=true
+sys.component.90$Boolean=true
+sys.component.91$Boolean=true
+sys.component.92$Boolean=true
+sys.component.94$Boolean=true
+sys.installationDir=@out@
+sys.languageId=en
\ No newline at end of file
diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
index 4f360c831a25..9ff1799ddd2d 100644
--- a/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/default.nix
@@ -1,7 +1,12 @@
-{stdenv, fetchurl, python27Packages, file }:
+{ stdenv, fetchurl, python27Packages, file }:
 
 let
   inherit (python27Packages) python;
+  requirements = (import ./requirements.nix {
+    inherit stdenv fetchurl;
+    pythonPackages = python27Packages;
+  });
+
 in
   stdenv.mkDerivation rec {
     name = "salut-a-toi";
@@ -13,12 +18,15 @@ in
       sha256 = "0kn9403n8fpzl0hsb9kkzicsmzq2fjl627l31yykbqzc4nsr780d";
     };
 
-    buildInputs = with python27Packages; 
+    buildInputs = with python27Packages;
     [
       python twisted urwid wxPython pygobject2
-      wokkel dbus-python pyfeed wrapPython setuptools file 
+      dbus-python wrapPython setuptools file
       pycrypto pyxdg
-    ];
+    ] ++  (with requirements; [
+      pyfeed
+      wokkel
+    ]);
 
     configurePhase = ''
       sed -i "/use_setuptools/d" setup.py
@@ -26,7 +34,7 @@ in
       sed -e "1aexport PATH=\"\$PATH\":\"$out/bin\":\"${python27Packages.twisted}/bin\"" -i src/sat.sh
       sed -e "1aexport PYTHONPATH=\"\$PYTHONPATHPATH\":\"$PYTHONPATH\":"$out/${python.sitePackages}"" -i src/sat.sh
 
-      echo 'import wokkel.muc' | python 
+      echo 'import wokkel.muc' | python
     '';
 
     buildPhase = ''
@@ -39,7 +47,7 @@ in
       for i in "$out/bin"/*; do
       head -n 1 "$i" | grep -E '[/ ]python( |$)' && {
         wrapProgram "$i" --prefix PYTHONPATH : "$PYTHONPATH:$out/${python.sitePackages}"
-      } || true 
+      } || true
       done
     '';
 
diff --git a/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix b/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix
new file mode 100644
index 000000000000..1a6811182453
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/salut-a-toi/requirements.nix
@@ -0,0 +1,67 @@
+{ fetchurl
+, stdenv
+, pythonPackages
+}:
+
+let
+  buildPythonPackage = pythonPackages.buildPythonPackage;
+
+  xe = buildPythonPackage rec {
+    url = "http://www.blarg.net/%7Esteveha/xe-0.7.4.tar.gz";
+    name = stdenv.lib.nameFromURL url ".tar";
+    src = fetchurl {
+      inherit url;
+      sha256 = "0v9878cl0y9cczdsr6xjy8v9l139lc23h4m5f86p4kpf2wlnpi42";
+    };
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = {
+      homepage = "http://home.blarg.net/~steveha/xe.html";
+      description = "XML elements";
+    };
+  };
+
+in {
+
+  pyfeed = (buildPythonPackage rec {
+    url = "http://www.blarg.net/%7Esteveha/pyfeed-0.7.4.tar.gz";
+
+    name = stdenv.lib.nameFromURL url ".tar";
+
+    src = fetchurl {
+      inherit url;
+      sha256 = "1h4msq573m7wm46h3cqlx4rsn99f0l11rhdqgf50lv17j8a8vvy1";
+    };
+
+    propagatedBuildInputs = [ xe ];
+
+    # error: invalid command 'test'
+    doCheck = false;
+
+    meta = with stdenv.lib; {
+      homepage = "http://home.blarg.net/~steveha/pyfeed.html";
+      description = "Tools for syndication feeds";
+    };
+
+  });
+
+  wokkel = buildPythonPackage (rec {
+    url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz";
+    name = stdenv.lib.nameFromURL url ".tar";
+    src = fetchurl {
+      inherit url;
+      sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml";
+    };
+
+    propagatedBuildInputs = with pythonPackages; [twisted dateutil];
+
+    meta = with stdenv.lib; {
+      description = "Some (mainly XMPP-related) additions to twisted";
+      homepage = "http://wokkel.ik.nu/";
+      license = licenses.mit;
+    };
+  });
+
+}
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
new file mode 100644
index 000000000000..0376fb79c9be
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -0,0 +1,88 @@
+{ stdenv, lib, fetchurl, dpkg, gnome2, atk, cairo, gdk_pixbuf, glib, freetype,
+fontconfig, dbus, libX11, xlibs, libXi, libXcursor, libXdamage, libXrandr,
+libXcomposite, libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss,
+nspr, alsaLib, cups, expat, udev
+}:
+let
+  rpath = lib.makeLibraryPath [
+    alsaLib
+    atk
+    cairo
+    cups
+    dbus
+    expat
+    fontconfig
+    freetype
+    gdk_pixbuf
+    glib
+    gnome2.GConf
+    gnome2.gtk
+    gnome2.pango
+    libX11
+    libXScrnSaver
+    libXcomposite
+    libXcursor
+    libXdamage
+    libXext
+    libXfixes
+    libXi
+    libXrandr
+    libXrender
+    libXtst
+    nspr
+    nss
+    stdenv.cc.cc
+    udev
+    xlibs.libxcb
+  ];
+
+in
+  stdenv.mkDerivation rec {
+    name = "signal-desktop-${version}";
+
+    version = "1.0.35";
+
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl {
+          url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
+          sha256 = "d9f9d4d54f4121efc8eadf1cf0ff957828088b313e53b66dc540b851c44c1860";
+        }
+      else
+        throw "Signal for Desktop is not currently supported on ${stdenv.system}";
+
+    phases = [ "unpackPhase" "installPhase" ];
+    nativeBuildInputs = [ dpkg ];
+    unpackPhase = "dpkg-deb -x $src .";
+    installPhase = ''
+      mkdir -p $out
+      cp -R opt $out
+
+      mv ./usr/share $out/share
+      mv $out/opt/Signal $out/libexec
+      rmdir $out/opt
+
+      chmod -R g-w $out
+
+      # Patch signal
+      patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+               --set-rpath ${rpath}:$out/libexec $out/libexec/signal-desktop
+
+      # Symlink to bin
+      mkdir -p $out/bin
+      ln -s $out/libexec/signal-desktop $out/bin/signal-desktop
+
+      # Fix the desktop link
+      substituteInPlace $out/share/applications/signal-desktop.desktop \
+        --replace /opt/Signal/signal-desktop $out/bin/signal-desktop
+    '';
+
+    meta = {
+      description = "Signal Private Messenger for the Desktop.";
+      homepage = https://signal.org/;
+      license = lib.licenses.gpl3;
+      platforms = [
+        "x86_64-linux"
+      ];
+    };
+  }
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index b56a10128067..3f438c625088 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -1,6 +1,6 @@
 { mkDerivation, lib, fetchgit, pkgconfig, gyp, cmake
 , qtbase, qtimageformats
-, breakpad, gtk3, libappindicator-gtk3, dee
+, gtk3, libappindicator-gtk3, dee
 , ffmpeg, openalSoft, minizip, libopus, alsaLib, libpulseaudio
 , gcc
 }:
diff --git a/pkgs/applications/networking/instant-messengers/utox/default.nix b/pkgs/applications/networking/instant-messengers/utox/default.nix
index 9c4d88761b87..9c208dd52a83 100644
--- a/pkgs/applications/networking/instant-messengers/utox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/utox/default.nix
@@ -25,9 +25,9 @@ stdenv.mkDerivation rec {
 
   cmakeFlags = [
     "-DENABLE_UPDATER=OFF"
-  ];
+  ] ++ stdenv.lib.optional (!doCheck) "-DENABLE_TESTS=OFF";
 
-  doCheck = false;
+  doCheck = true;
 
   checkTarget = "test";
 
diff --git a/pkgs/applications/networking/instant-messengers/viber/default.nix b/pkgs/applications/networking/instant-messengers/viber/default.nix
index 71d1bccc2b1d..d7e960d2329e 100644
--- a/pkgs/applications/networking/instant-messengers/viber/default.nix
+++ b/pkgs/applications/networking/instant-messengers/viber/default.nix
@@ -7,11 +7,11 @@ assert stdenv.system == "x86_64-linux";
 
 stdenv.mkDerivation rec {
   name = "viber-${version}";
-  version = "6.5.5.1481";
+  version = "7.0.0.1035";
 
   src = fetchurl {
     url = "http://download.cdn.viber.com/cdn/desktop/Linux/viber.deb";
-    sha256 = "0gvpaprfki04x66ga2ljksspdxd4cz455h92a7i2dnd69w1kik5s";
+    sha256 = "06mp2wvqx4y6rd5gs2mh442qcykjrrvwnkhlpx0lara331i2p0lj";
   };
 
   buildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/networking/irc/quassel-webserver/default.nix b/pkgs/applications/networking/irc/quassel-webserver/default.nix
deleted file mode 100644
index d198674ecc06..000000000000
--- a/pkgs/applications/networking/irc/quassel-webserver/default.nix
+++ /dev/null
@@ -1,43 +0,0 @@
-{ stdenv, lib, fetchFromGitHub, callPackage, python, utillinux}:
-
-with lib;
-
-let
-  nodePackages = callPackage ../../../../top-level/node-packages.nix {
-    neededNatives = [ python ];
-    self = nodePackages;
-    generated = ./quassel-webserver.nix;
-  };
-
-in nodePackages.buildNodePackage rec {
-  name = "quassel-webserver-${version}";
-  version = "2.1.1";
-  src = fetchFromGitHub {
-    owner  = "magne4000";
-    repo   = "quassel-webserver";
-    rev    = "dda457f38795d15565557a8629085063fa6a7378";
-    sha256 = "0syglfdmjnssxdiak1dw8cns5f736v58zmlsh81dvxww90gx3k7h";
-  };
-  buildInputs = nodePackages.nativeDeps."quassel-webserver" or [];
-  deps = [ nodePackages.by-spec."body-parser"."^1.15.2"
-           nodePackages.by-spec."commander"."^2.9.0"
-           nodePackages.by-spec."cookie-parser"."~1.4.3"
-           nodePackages.by-spec."express"."^4.14.0"
-           nodePackages.by-spec."jade"."~1.11.0"
-           nodePackages.by-spec."less"."^2.7.1"
-           nodePackages.by-spec."less-middleware"."^2.2.0"
-           nodePackages.by-spec."libquassel"."~2.0.5"
-           nodePackages.by-spec."morgan"."^1.7.0"
-           nodePackages.by-spec."net-browserify-alt"."^1.0.0"
-           nodePackages.by-spec."serve-favicon"."~2.3.0"
-         ];
-  peerDependencies = [];
-
-  meta = {
-    description = "A web server/client for Quassel";
-    license = licenses.mit;
-    homepage = https://github.com/magne4000/quassel-webserver;
-    maintainers = with maintainers; [ uwap ];
-    platforms = platforms.unix;
-  }; 
-}
diff --git a/pkgs/applications/networking/irc/quassel-webserver/quassel-webserver.nix b/pkgs/applications/networking/irc/quassel-webserver/quassel-webserver.nix
deleted file mode 100644
index 954762dc46f2..000000000000
--- a/pkgs/applications/networking/irc/quassel-webserver/quassel-webserver.nix
+++ /dev/null
@@ -1,2436 +0,0 @@
-{ self, fetchurl, fetchgit ? null, lib }:
-
-{
-  by-spec."accepts"."~1.3.3" =
-    self.by-version."accepts"."1.3.3";
-  by-version."accepts"."1.3.3" = self.buildNodePackage {
-    name = "accepts-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz";
-      name = "accepts-1.3.3.tgz";
-      sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca";
-    };
-    deps = {
-      "mime-types-2.1.12" = self.by-version."mime-types"."2.1.12";
-      "negotiator-0.6.1" = self.by-version."negotiator"."0.6.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."acorn"."^1.0.1" =
-    self.by-version."acorn"."1.2.2";
-  by-version."acorn"."1.2.2" = self.buildNodePackage {
-    name = "acorn-1.2.2";
-    version = "1.2.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz";
-      name = "acorn-1.2.2.tgz";
-      sha1 = "c8ce27de0acc76d896d2b1fad3df588d9e82f014";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."acorn"."^2.1.0" =
-    self.by-version."acorn"."2.7.0";
-  by-version."acorn"."2.7.0" = self.buildNodePackage {
-    name = "acorn-2.7.0";
-    version = "2.7.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz";
-      name = "acorn-2.7.0.tgz";
-      sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."acorn-globals"."^1.0.3" =
-    self.by-version."acorn-globals"."1.0.9";
-  by-version."acorn-globals"."1.0.9" = self.buildNodePackage {
-    name = "acorn-globals-1.0.9";
-    version = "1.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz";
-      name = "acorn-globals-1.0.9.tgz";
-      sha1 = "55bb5e98691507b74579d0513413217c380c54cf";
-    };
-    deps = {
-      "acorn-2.7.0" = self.by-version."acorn"."2.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."align-text"."^0.1.1" =
-    self.by-version."align-text"."0.1.4";
-  by-version."align-text"."0.1.4" = self.buildNodePackage {
-    name = "align-text-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
-      name = "align-text-0.1.4.tgz";
-      sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
-    };
-    deps = {
-      "kind-of-3.0.4" = self.by-version."kind-of"."3.0.4";
-      "longest-1.0.1" = self.by-version."longest"."1.0.1";
-      "repeat-string-1.5.4" = self.by-version."repeat-string"."1.5.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."align-text"."^0.1.3" =
-    self.by-version."align-text"."0.1.4";
-  by-spec."amdefine".">=0.0.4" =
-    self.by-version."amdefine"."1.0.0";
-  by-version."amdefine"."1.0.0" = self.buildNodePackage {
-    name = "amdefine-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz";
-      name = "amdefine-1.0.0.tgz";
-      sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-flatten"."1.1.1" =
-    self.by-version."array-flatten"."1.1.1";
-  by-version."array-flatten"."1.1.1" = self.buildNodePackage {
-    name = "array-flatten-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
-      name = "array-flatten-1.1.1.tgz";
-      sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asap"."~1.0.0" =
-    self.by-version."asap"."1.0.0";
-  by-version."asap"."1.0.0" = self.buildNodePackage {
-    name = "asap-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
-      name = "asap-1.0.0.tgz";
-      sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asap"."~2.0.3" =
-    self.by-version."asap"."2.0.5";
-  by-version."asap"."2.0.5" = self.buildNodePackage {
-    name = "asap-2.0.5";
-    version = "2.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/asap/-/asap-2.0.5.tgz";
-      name = "asap-2.0.5.tgz";
-      sha1 = "522765b50c3510490e52d7dcfe085ef9ba96958f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."~0.2.6" =
-    self.by-version."async"."0.2.10";
-  by-version."async"."0.2.10" = self.buildNodePackage {
-    name = "async-0.2.10";
-    version = "0.2.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
-      name = "async-0.2.10.tgz";
-      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."basic-auth"."~1.0.3" =
-    self.by-version."basic-auth"."1.0.4";
-  by-version."basic-auth"."1.0.4" = self.buildNodePackage {
-    name = "basic-auth-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz";
-      name = "basic-auth-1.0.4.tgz";
-      sha1 = "030935b01de7c9b94a824b29f3fccb750d3a5290";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."body-parser"."^1.15.2" =
-    self.by-version."body-parser"."1.15.2";
-  by-version."body-parser"."1.15.2" = self.buildNodePackage {
-    name = "body-parser-1.15.2";
-    version = "1.15.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.15.2.tgz";
-      name = "body-parser-1.15.2.tgz";
-      sha1 = "d7578cf4f1d11d5f6ea804cef35dc7a7ff6dae67";
-    };
-    deps = {
-      "bytes-2.4.0" = self.by-version."bytes"."2.4.0";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "http-errors-1.5.0" = self.by-version."http-errors"."1.5.0";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "qs-6.2.0" = self.by-version."qs"."6.2.0";
-      "raw-body-2.1.7" = self.by-version."raw-body"."2.1.7";
-      "type-is-1.6.13" = self.by-version."type-is"."1.6.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "body-parser" = self.by-version."body-parser"."1.15.2";
-  by-spec."bytes"."2.4.0" =
-    self.by-version."bytes"."2.4.0";
-  by-version."bytes"."2.4.0" = self.buildNodePackage {
-    name = "bytes-2.4.0";
-    version = "2.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytes/-/bytes-2.4.0.tgz";
-      name = "bytes-2.4.0.tgz";
-      sha1 = "7d97196f9d5baf7f6935e25985549edd2a6c2339";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."camelcase"."^1.0.2" =
-    self.by-version."camelcase"."1.2.1";
-  by-version."camelcase"."1.2.1" = self.buildNodePackage {
-    name = "camelcase-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
-      name = "camelcase-1.2.1.tgz";
-      sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."center-align"."^0.1.1" =
-    self.by-version."center-align"."0.1.3";
-  by-version."center-align"."0.1.3" = self.buildNodePackage {
-    name = "center-align-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
-      name = "center-align-0.1.3.tgz";
-      sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
-    };
-    deps = {
-      "align-text-0.1.4" = self.by-version."align-text"."0.1.4";
-      "lazy-cache-1.0.4" = self.by-version."lazy-cache"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."character-parser"."1.2.1" =
-    self.by-version."character-parser"."1.2.1";
-  by-version."character-parser"."1.2.1" = self.buildNodePackage {
-    name = "character-parser-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz";
-      name = "character-parser-1.2.1.tgz";
-      sha1 = "c0dde4ab182713b919b970959a123ecc1a30fcd6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."clean-css"."^3.1.9" =
-    self.by-version."clean-css"."3.4.20";
-  by-version."clean-css"."3.4.20" = self.buildNodePackage {
-    name = "clean-css-3.4.20";
-    version = "3.4.20";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/clean-css/-/clean-css-3.4.20.tgz";
-      name = "clean-css-3.4.20.tgz";
-      sha1 = "c0d8963b5448e030f0bcd3ddd0dac4dfe3dea501";
-    };
-    deps = {
-      "commander-2.8.1" = self.by-version."commander"."2.8.1";
-      "source-map-0.4.4" = self.by-version."source-map"."0.4.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cliui"."^2.1.0" =
-    self.by-version."cliui"."2.1.0";
-  by-version."cliui"."2.1.0" = self.buildNodePackage {
-    name = "cliui-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
-      name = "cliui-2.1.0.tgz";
-      sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
-    };
-    deps = {
-      "center-align-0.1.3" = self.by-version."center-align"."0.1.3";
-      "right-align-0.1.3" = self.by-version."right-align"."0.1.3";
-      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."2.8.x" =
-    self.by-version."commander"."2.8.1";
-  by-version."commander"."2.8.1" = self.buildNodePackage {
-    name = "commander-2.8.1";
-    version = "2.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz";
-      name = "commander-2.8.1.tgz";
-      sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4";
-    };
-    deps = {
-      "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."^2.9.0" =
-    self.by-version."commander"."2.9.0";
-  by-version."commander"."2.9.0" = self.buildNodePackage {
-    name = "commander-2.9.0";
-    version = "2.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
-      name = "commander-2.9.0.tgz";
-      sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
-    };
-    deps = {
-      "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "commander" = self.by-version."commander"."2.9.0";
-  by-spec."commander"."~2.6.0" =
-    self.by-version."commander"."2.6.0";
-  by-version."commander"."2.6.0" = self.buildNodePackage {
-    name = "commander-2.6.0";
-    version = "2.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz";
-      name = "commander-2.6.0.tgz";
-      sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."constantinople"."~3.0.1" =
-    self.by-version."constantinople"."3.0.2";
-  by-version."constantinople"."3.0.2" = self.buildNodePackage {
-    name = "constantinople-3.0.2";
-    version = "3.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz";
-      name = "constantinople-3.0.2.tgz";
-      sha1 = "4b945d9937907bcd98ee575122c3817516544141";
-    };
-    deps = {
-      "acorn-2.7.0" = self.by-version."acorn"."2.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."content-disposition"."0.5.1" =
-    self.by-version."content-disposition"."0.5.1";
-  by-version."content-disposition"."0.5.1" = self.buildNodePackage {
-    name = "content-disposition-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz";
-      name = "content-disposition-0.5.1.tgz";
-      sha1 = "87476c6a67c8daa87e32e87616df883ba7fb071b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."content-type"."~1.0.2" =
-    self.by-version."content-type"."1.0.2";
-  by-version."content-type"."1.0.2" = self.buildNodePackage {
-    name = "content-type-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz";
-      name = "content-type-1.0.2.tgz";
-      sha1 = "b7d113aee7a8dd27bd21133c4dc2529df1721eed";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.3.1" =
-    self.by-version."cookie"."0.3.1";
-  by-version."cookie"."0.3.1" = self.buildNodePackage {
-    name = "cookie-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz";
-      name = "cookie-0.3.1.tgz";
-      sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-parser"."~1.4.3" =
-    self.by-version."cookie-parser"."1.4.3";
-  by-version."cookie-parser"."1.4.3" = self.buildNodePackage {
-    name = "cookie-parser-1.4.3";
-    version = "1.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz";
-      name = "cookie-parser-1.4.3.tgz";
-      sha1 = "0fe31fa19d000b95f4aadf1f53fdc2b8a203baa5";
-    };
-    deps = {
-      "cookie-0.3.1" = self.by-version."cookie"."0.3.1";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "cookie-parser" = self.by-version."cookie-parser"."1.4.3";
-  by-spec."cookie-signature"."1.0.6" =
-    self.by-version."cookie-signature"."1.0.6";
-  by-version."cookie-signature"."1.0.6" = self.buildNodePackage {
-    name = "cookie-signature-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
-      name = "cookie-signature-1.0.6.tgz";
-      sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."css"."~1.0.8" =
-    self.by-version."css"."1.0.8";
-  by-version."css"."1.0.8" = self.buildNodePackage {
-    name = "css-1.0.8";
-    version = "1.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/css/-/css-1.0.8.tgz";
-      name = "css-1.0.8.tgz";
-      sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
-    };
-    deps = {
-      "css-parse-1.0.4" = self.by-version."css-parse"."1.0.4";
-      "css-stringify-1.0.5" = self.by-version."css-stringify"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."css-parse"."1.0.4" =
-    self.by-version."css-parse"."1.0.4";
-  by-version."css-parse"."1.0.4" = self.buildNodePackage {
-    name = "css-parse-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
-      name = "css-parse-1.0.4.tgz";
-      sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."css-stringify"."1.0.5" =
-    self.by-version."css-stringify"."1.0.5";
-  by-version."css-stringify"."1.0.5" = self.buildNodePackage {
-    name = "css-stringify-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
-      name = "css-stringify-1.0.5.tgz";
-      sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."^2.2.0" =
-    self.by-version."debug"."2.2.0";
-  by-version."debug"."2.2.0" = self.buildNodePackage {
-    name = "debug-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
-      name = "debug-2.2.0.tgz";
-      sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
-    };
-    deps = {
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."~2.2.0" =
-    self.by-version."debug"."2.2.0";
-  by-spec."decamelize"."^1.0.0" =
-    self.by-version."decamelize"."1.2.0";
-  by-version."decamelize"."1.2.0" = self.buildNodePackage {
-    name = "decamelize-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
-      name = "decamelize-1.2.0.tgz";
-      sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."depd"."~1.1.0" =
-    self.by-version."depd"."1.1.0";
-  by-version."depd"."1.1.0" = self.buildNodePackage {
-    name = "depd-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz";
-      name = "depd-1.1.0.tgz";
-      sha1 = "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."destroy"."~1.0.4" =
-    self.by-version."destroy"."1.0.4";
-  by-version."destroy"."1.0.4" = self.buildNodePackage {
-    name = "destroy-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
-      name = "destroy-1.0.4.tgz";
-      sha1 = "978857442c44749e4206613e37946205826abd80";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ee-first"."1.1.1" =
-    self.by-version."ee-first"."1.1.1";
-  by-version."ee-first"."1.1.1" = self.buildNodePackage {
-    name = "ee-first-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
-      name = "ee-first-1.1.1.tgz";
-      sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."encodeurl"."~1.0.1" =
-    self.by-version."encodeurl"."1.0.1";
-  by-version."encodeurl"."1.0.1" = self.buildNodePackage {
-    name = "encodeurl-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz";
-      name = "encodeurl-1.0.1.tgz";
-      sha1 = "79e3d58655346909fe6f0f45a5de68103b294d20";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."errno"."^0.1.1" =
-    self.by-version."errno"."0.1.4";
-  by-version."errno"."0.1.4" = self.buildNodePackage {
-    name = "errno-0.1.4";
-    version = "0.1.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz";
-      name = "errno-0.1.4.tgz";
-      sha1 = "b896e23a9e5e8ba33871fc996abd3635fc9a1c7d";
-    };
-    deps = {
-      "prr-0.0.0" = self.by-version."prr"."0.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-html"."~1.0.3" =
-    self.by-version."escape-html"."1.0.3";
-  by-version."escape-html"."1.0.3" = self.buildNodePackage {
-    name = "escape-html-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
-      name = "escape-html-1.0.3.tgz";
-      sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."etag"."~1.7.0" =
-    self.by-version."etag"."1.7.0";
-  by-version."etag"."1.7.0" = self.buildNodePackage {
-    name = "etag-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz";
-      name = "etag-1.7.0.tgz";
-      sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eventemitter2"."^2.1.3" =
-    self.by-version."eventemitter2"."2.1.3";
-  by-version."eventemitter2"."2.1.3" = self.buildNodePackage {
-    name = "eventemitter2-2.1.3";
-    version = "2.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/eventemitter2/-/eventemitter2-2.1.3.tgz";
-      name = "eventemitter2-2.1.3.tgz";
-      sha1 = "bd7201f85c59548380e1e43b3f6a7286d4da7349";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."^4.14.0" =
-    self.by-version."express"."4.14.0";
-  by-version."express"."4.14.0" = self.buildNodePackage {
-    name = "express-4.14.0";
-    version = "4.14.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-4.14.0.tgz";
-      name = "express-4.14.0.tgz";
-      sha1 = "c1ee3f42cdc891fb3dc650a8922d51ec847d0d66";
-    };
-    deps = {
-      "accepts-1.3.3" = self.by-version."accepts"."1.3.3";
-      "array-flatten-1.1.1" = self.by-version."array-flatten"."1.1.1";
-      "content-disposition-0.5.1" = self.by-version."content-disposition"."0.5.1";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "cookie-0.3.1" = self.by-version."cookie"."0.3.1";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "encodeurl-1.0.1" = self.by-version."encodeurl"."1.0.1";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "finalhandler-0.5.0" = self.by-version."finalhandler"."0.5.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "merge-descriptors-1.0.1" = self.by-version."merge-descriptors"."1.0.1";
-      "methods-1.1.2" = self.by-version."methods"."1.1.2";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "path-to-regexp-0.1.7" = self.by-version."path-to-regexp"."0.1.7";
-      "proxy-addr-1.1.2" = self.by-version."proxy-addr"."1.1.2";
-      "qs-6.2.0" = self.by-version."qs"."6.2.0";
-      "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0";
-      "send-0.14.1" = self.by-version."send"."0.14.1";
-      "serve-static-1.11.1" = self.by-version."serve-static"."1.11.1";
-      "type-is-1.6.13" = self.by-version."type-is"."1.6.13";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-      "vary-1.1.0" = self.by-version."vary"."1.1.0";
-      "jade-1.11.0" = self.by-version."jade"."1.11.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "express" = self.by-version."express"."4.14.0";
-  by-spec."finalhandler"."0.5.0" =
-    self.by-version."finalhandler"."0.5.0";
-  by-version."finalhandler"."0.5.0" = self.buildNodePackage {
-    name = "finalhandler-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.5.0.tgz";
-      name = "finalhandler-0.5.0.tgz";
-      sha1 = "e9508abece9b6dba871a6942a1d7911b91911ac7";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "statuses-1.3.0" = self.by-version."statuses"."1.3.0";
-      "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."forwarded"."~0.1.0" =
-    self.by-version."forwarded"."0.1.0";
-  by-version."forwarded"."0.1.0" = self.buildNodePackage {
-    name = "forwarded-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
-      name = "forwarded-0.1.0.tgz";
-      sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fresh"."0.3.0" =
-    self.by-version."fresh"."0.3.0";
-  by-version."fresh"."0.3.0" = self.buildNodePackage {
-    name = "fresh-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz";
-      name = "fresh-0.3.0.tgz";
-      sha1 = "651f838e22424e7566de161d8358caa199f83d4f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-fs"."^4.1.2" =
-    self.by-version."graceful-fs"."4.1.9";
-  by-version."graceful-fs"."4.1.9" = self.buildNodePackage {
-    name = "graceful-fs-4.1.9";
-    version = "4.1.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.9.tgz";
-      name = "graceful-fs-4.1.9.tgz";
-      sha1 = "baacba37d19d11f9d146d3578bc99958c3787e29";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-readlink".">= 1.0.0" =
-    self.by-version."graceful-readlink"."1.0.1";
-  by-version."graceful-readlink"."1.0.1" = self.buildNodePackage {
-    name = "graceful-readlink-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-      name = "graceful-readlink-1.0.1.tgz";
-      sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-errors"."~1.5.0" =
-    self.by-version."http-errors"."1.5.0";
-  by-version."http-errors"."1.5.0" = self.buildNodePackage {
-    name = "http-errors-1.5.0";
-    version = "1.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz";
-      name = "http-errors-1.5.0.tgz";
-      sha1 = "b1cb3d8260fd8e2386cad3189045943372d48211";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "setprototypeof-1.0.1" = self.by-version."setprototypeof"."1.0.1";
-      "statuses-1.3.0" = self.by-version."statuses"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iconv-lite"."0.4.13" =
-    self.by-version."iconv-lite"."0.4.13";
-  by-version."iconv-lite"."0.4.13" = self.buildNodePackage {
-    name = "iconv-lite-0.4.13";
-    version = "0.4.13";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz";
-      name = "iconv-lite-0.4.13.tgz";
-      sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."image-size"."~0.5.0" =
-    self.by-version."image-size"."0.5.0";
-  by-version."image-size"."0.5.0" = self.buildNodePackage {
-    name = "image-size-0.5.0";
-    version = "0.5.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/image-size/-/image-size-0.5.0.tgz";
-      name = "image-size-0.5.0.tgz";
-      sha1 = "be7aed1c37b5ac3d9ba1d66a24b4c47ff8397651";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inherits"."2.0.1" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = self.buildNodePackage {
-    name = "inherits-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-      name = "inherits-2.0.1.tgz";
-      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."int64-buffer"."^0.1.4" =
-    self.by-version."int64-buffer"."0.1.9";
-  by-version."int64-buffer"."0.1.9" = self.buildNodePackage {
-    name = "int64-buffer-0.1.9";
-    version = "0.1.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.9.tgz";
-      name = "int64-buffer-0.1.9.tgz";
-      sha1 = "9e039da043b24f78b196b283e04653ef5e990f61";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ipaddr.js"."1.1.1" =
-    self.by-version."ipaddr.js"."1.1.1";
-  by-version."ipaddr.js"."1.1.1" = self.buildNodePackage {
-    name = "ipaddr.js-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.1.1.tgz";
-      name = "ipaddr.js-1.1.1.tgz";
-      sha1 = "c791d95f52b29c1247d5df80ada39b8a73647230";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is"."^3.1.0" =
-    self.by-version."is"."3.1.0";
-  by-version."is"."3.1.0" = self.buildNodePackage {
-    name = "is-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is/-/is-3.1.0.tgz";
-      name = "is-3.1.0.tgz";
-      sha1 = "2945d205d691cbfe4833e3f8a11c8ae94673f2a7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-buffer"."^1.0.2" =
-    self.by-version."is-buffer"."1.1.4";
-  by-version."is-buffer"."1.1.4" = self.buildNodePackage {
-    name = "is-buffer-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.4.tgz";
-      name = "is-buffer-1.1.4.tgz";
-      sha1 = "cfc86ccd5dc5a52fa80489111c6920c457e2d98b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-promise"."^2.0.0" =
-    self.by-version."is-promise"."2.1.0";
-  by-version."is-promise"."2.1.0" = self.buildNodePackage {
-    name = "is-promise-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
-      name = "is-promise-2.1.0.tgz";
-      sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-promise"."~1" =
-    self.by-version."is-promise"."1.0.1";
-  by-version."is-promise"."1.0.1" = self.buildNodePackage {
-    name = "is-promise-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz";
-      name = "is-promise-1.0.1.tgz";
-      sha1 = "31573761c057e33c2e91aab9e96da08cefbe76e5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jade"."~1.11.0" =
-    self.by-version."jade"."1.11.0";
-  by-version."jade"."1.11.0" = self.buildNodePackage {
-    name = "jade-1.11.0";
-    version = "1.11.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz";
-      name = "jade-1.11.0.tgz";
-      sha1 = "9c80e538c12d3fb95c8d9bb9559fa0cc040405fd";
-    };
-    deps = {
-      "character-parser-1.2.1" = self.by-version."character-parser"."1.2.1";
-      "clean-css-3.4.20" = self.by-version."clean-css"."3.4.20";
-      "commander-2.6.0" = self.by-version."commander"."2.6.0";
-      "constantinople-3.0.2" = self.by-version."constantinople"."3.0.2";
-      "jstransformer-0.0.2" = self.by-version."jstransformer"."0.0.2";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
-      "uglify-js-2.7.3" = self.by-version."uglify-js"."2.7.3";
-      "void-elements-2.0.1" = self.by-version."void-elements"."2.0.1";
-      "with-4.0.3" = self.by-version."with"."4.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "jade" = self.by-version."jade"."1.11.0";
-  by-spec."jstransformer"."0.0.2" =
-    self.by-version."jstransformer"."0.0.2";
-  by-version."jstransformer"."0.0.2" = self.buildNodePackage {
-    name = "jstransformer-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz";
-      name = "jstransformer-0.0.2.tgz";
-      sha1 = "7aae29a903d196cfa0973d885d3e47947ecd76ab";
-    };
-    deps = {
-      "is-promise-2.1.0" = self.by-version."is-promise"."2.1.0";
-      "promise-6.1.0" = self.by-version."promise"."6.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."kind-of"."^3.0.2" =
-    self.by-version."kind-of"."3.0.4";
-  by-version."kind-of"."3.0.4" = self.buildNodePackage {
-    name = "kind-of-3.0.4";
-    version = "3.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/kind-of/-/kind-of-3.0.4.tgz";
-      name = "kind-of-3.0.4.tgz";
-      sha1 = "7b8ecf18a4e17f8269d73b501c9f232c96887a74";
-    };
-    deps = {
-      "is-buffer-1.1.4" = self.by-version."is-buffer"."1.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lazy-cache"."^1.0.3" =
-    self.by-version."lazy-cache"."1.0.4";
-  by-version."lazy-cache"."1.0.4" = self.buildNodePackage {
-    name = "lazy-cache-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
-      name = "lazy-cache-1.0.4.tgz";
-      sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."less"."^2.7.1" =
-    self.by-version."less"."2.7.1";
-  by-version."less"."2.7.1" = self.buildNodePackage {
-    name = "less-2.7.1";
-    version = "2.7.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/less/-/less-2.7.1.tgz";
-      name = "less-2.7.1.tgz";
-      sha1 = "6cbfea22b3b830304e9a5fb371d54fa480c9d7cf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "errno-0.1.4" = self.by-version."errno"."0.1.4";
-      "graceful-fs-4.1.9" = self.by-version."graceful-fs"."4.1.9";
-      "image-size-0.5.0" = self.by-version."image-size"."0.5.0";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "promise-7.1.1" = self.by-version."promise"."7.1.1";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "less" = self.by-version."less"."2.7.1";
-  by-spec."less"."~2.7.1" =
-    self.by-version."less"."2.7.1";
-  by-spec."less-middleware"."^2.2.0" =
-    self.by-version."less-middleware"."2.2.0";
-  by-version."less-middleware"."2.2.0" = self.buildNodePackage {
-    name = "less-middleware-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/less-middleware/-/less-middleware-2.2.0.tgz";
-      name = "less-middleware-2.2.0.tgz";
-      sha1 = "c3e4d512c8403685204add7bdaad7398c535c674";
-    };
-    deps = {
-      "less-2.7.1" = self.by-version."less"."2.7.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "node.extend-1.1.6" = self.by-version."node.extend"."1.1.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "less-middleware" = self.by-version."less-middleware"."2.2.0";
-  by-spec."libquassel"."~2.0.5" =
-    self.by-version."libquassel"."2.0.5";
-  by-version."libquassel"."2.0.5" = self.buildNodePackage {
-    name = "libquassel-2.0.5";
-    version = "2.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/libquassel/-/libquassel-2.0.5.tgz";
-      name = "libquassel-2.0.5.tgz";
-      sha1 = "faeba62e381b37527b1d6dea2e2c2f4c7a0f220f";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "eventemitter2-2.1.3" = self.by-version."eventemitter2"."2.1.3";
-      "net-browserify-alt-1.0.0" = self.by-version."net-browserify-alt"."1.0.0";
-      "qtdatastream-0.6.6" = self.by-version."qtdatastream"."0.6.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "libquassel" = self.by-version."libquassel"."2.0.5";
-  by-spec."longest"."^1.0.1" =
-    self.by-version."longest"."1.0.1";
-  by-version."longest"."1.0.1" = self.buildNodePackage {
-    name = "longest-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
-      name = "longest-1.0.1.tgz";
-      sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."media-typer"."0.3.0" =
-    self.by-version."media-typer"."0.3.0";
-  by-version."media-typer"."0.3.0" = self.buildNodePackage {
-    name = "media-typer-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
-      name = "media-typer-0.3.0.tgz";
-      sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."merge-descriptors"."1.0.1" =
-    self.by-version."merge-descriptors"."1.0.1";
-  by-version."merge-descriptors"."1.0.1" = self.buildNodePackage {
-    name = "merge-descriptors-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
-      name = "merge-descriptors-1.0.1.tgz";
-      sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."methods"."~1.1.2" =
-    self.by-version."methods"."1.1.2";
-  by-version."methods"."1.1.2" = self.buildNodePackage {
-    name = "methods-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
-      name = "methods-1.1.2.tgz";
-      sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime"."1.3.4" =
-    self.by-version."mime"."1.3.4";
-  by-version."mime"."1.3.4" = self.buildNodePackage {
-    name = "mime-1.3.4";
-    version = "1.3.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-      name = "mime-1.3.4.tgz";
-      sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime"."^1.2.11" =
-    self.by-version."mime"."1.3.4";
-  by-spec."mime-db"."~1.24.0" =
-    self.by-version."mime-db"."1.24.0";
-  by-version."mime-db"."1.24.0" = self.buildNodePackage {
-    name = "mime-db-1.24.0";
-    version = "1.24.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime-db/-/mime-db-1.24.0.tgz";
-      name = "mime-db-1.24.0.tgz";
-      sha1 = "e2d13f939f0016c6e4e9ad25a8652f126c467f0c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-types"."~2.1.11" =
-    self.by-version."mime-types"."2.1.12";
-  by-version."mime-types"."2.1.12" = self.buildNodePackage {
-    name = "mime-types-2.1.12";
-    version = "2.1.12";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.12.tgz";
-      name = "mime-types-2.1.12.tgz";
-      sha1 = "152ba256777020dd4663f54c2e7bc26381e71729";
-    };
-    deps = {
-      "mime-db-1.24.0" = self.by-version."mime-db"."1.24.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimist"."0.0.8" =
-    self.by-version."minimist"."0.0.8";
-  by-version."minimist"."0.0.8" = self.buildNodePackage {
-    name = "minimist-0.0.8";
-    version = "0.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-      name = "minimist-0.0.8.tgz";
-      sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."^0.5.0" =
-    self.by-version."mkdirp"."0.5.1";
-  by-version."mkdirp"."0.5.1" = self.buildNodePackage {
-    name = "mkdirp-0.5.1";
-    version = "0.5.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-      name = "mkdirp-0.5.1.tgz";
-      sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
-    };
-    deps = {
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."~0.5.0" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp"."~0.5.1" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."morgan"."^1.7.0" =
-    self.by-version."morgan"."1.7.0";
-  by-version."morgan"."1.7.0" = self.buildNodePackage {
-    name = "morgan-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/morgan/-/morgan-1.7.0.tgz";
-      name = "morgan-1.7.0.tgz";
-      sha1 = "eb10ca8e50d1abe0f8d3dad5c0201d052d981c62";
-    };
-    deps = {
-      "basic-auth-1.0.4" = self.by-version."basic-auth"."1.0.4";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "morgan" = self.by-version."morgan"."1.7.0";
-  by-spec."ms"."0.7.1" =
-    self.by-version."ms"."0.7.1";
-  by-version."ms"."0.7.1" = self.buildNodePackage {
-    name = "ms-0.7.1";
-    version = "0.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
-      name = "ms-0.7.1.tgz";
-      sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."negotiator"."0.6.1" =
-    self.by-version."negotiator"."0.6.1";
-  by-version."negotiator"."0.6.1" = self.buildNodePackage {
-    name = "negotiator-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz";
-      name = "negotiator-0.6.1.tgz";
-      sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."net-browserify-alt"."^1.0.0" =
-    self.by-version."net-browserify-alt"."1.0.0";
-  by-version."net-browserify-alt"."1.0.0" = self.buildNodePackage {
-    name = "net-browserify-alt-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/net-browserify-alt/-/net-browserify-alt-1.0.0.tgz";
-      name = "net-browserify-alt-1.0.0.tgz";
-      sha1 = "d85326b4940ba4630db5ea7644cc07c5551a0e7e";
-    };
-    deps = {
-      "body-parser-1.15.2" = self.by-version."body-parser"."1.15.2";
-      "ws-1.1.1" = self.by-version."ws"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "net-browserify-alt" = self.by-version."net-browserify-alt"."1.0.0";
-  by-spec."node.extend"."~1.1.5" =
-    self.by-version."node.extend"."1.1.6";
-  by-version."node.extend"."1.1.6" = self.buildNodePackage {
-    name = "node.extend-1.1.6";
-    version = "1.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node.extend/-/node.extend-1.1.6.tgz";
-      name = "node.extend-1.1.6.tgz";
-      sha1 = "a7b882c82d6c93a4863a5504bd5de8ec86258b96";
-    };
-    deps = {
-      "is-3.1.0" = self.by-version."is"."3.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."on-finished"."~2.3.0" =
-    self.by-version."on-finished"."2.3.0";
-  by-version."on-finished"."2.3.0" = self.buildNodePackage {
-    name = "on-finished-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
-      name = "on-finished-2.3.0.tgz";
-      sha1 = "20f1336481b083cd75337992a16971aa2d906947";
-    };
-    deps = {
-      "ee-first-1.1.1" = self.by-version."ee-first"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."on-headers"."~1.0.1" =
-    self.by-version."on-headers"."1.0.1";
-  by-version."on-headers"."1.0.1" = self.buildNodePackage {
-    name = "on-headers-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz";
-      name = "on-headers-1.0.1.tgz";
-      sha1 = "928f5d0f470d49342651ea6794b0857c100693f7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optimist"."~0.3.5" =
-    self.by-version."optimist"."0.3.7";
-  by-version."optimist"."0.3.7" = self.buildNodePackage {
-    name = "optimist-0.3.7";
-    version = "0.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-      name = "optimist-0.3.7.tgz";
-      sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-    };
-    deps = {
-      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."options".">=0.0.5" =
-    self.by-version."options"."0.0.6";
-  by-version."options"."0.0.6" = self.buildNodePackage {
-    name = "options-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz";
-      name = "options-0.0.6.tgz";
-      sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseurl"."~1.3.0" =
-    self.by-version."parseurl"."1.3.1";
-  by-version."parseurl"."1.3.1" = self.buildNodePackage {
-    name = "parseurl-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz";
-      name = "parseurl-1.3.1.tgz";
-      sha1 = "c8ab8c9223ba34888aa64a297b28853bec18da56";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseurl"."~1.3.1" =
-    self.by-version."parseurl"."1.3.1";
-  by-spec."path-to-regexp"."0.1.7" =
-    self.by-version."path-to-regexp"."0.1.7";
-  by-version."path-to-regexp"."0.1.7" = self.buildNodePackage {
-    name = "path-to-regexp-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
-      name = "path-to-regexp-0.1.7.tgz";
-      sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."promise"."^6.0.1" =
-    self.by-version."promise"."6.1.0";
-  by-version."promise"."6.1.0" = self.buildNodePackage {
-    name = "promise-6.1.0";
-    version = "6.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz";
-      name = "promise-6.1.0.tgz";
-      sha1 = "2ce729f6b94b45c26891ad0602c5c90e04c6eef6";
-    };
-    deps = {
-      "asap-1.0.0" = self.by-version."asap"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."promise"."^7.1.1" =
-    self.by-version."promise"."7.1.1";
-  by-version."promise"."7.1.1" = self.buildNodePackage {
-    name = "promise-7.1.1";
-    version = "7.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz";
-      name = "promise-7.1.1.tgz";
-      sha1 = "489654c692616b8aa55b0724fa809bb7db49c5bf";
-    };
-    deps = {
-      "asap-2.0.5" = self.by-version."asap"."2.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."promise"."~2.0" =
-    self.by-version."promise"."2.0.0";
-  by-version."promise"."2.0.0" = self.buildNodePackage {
-    name = "promise-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
-      name = "promise-2.0.0.tgz";
-      sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
-    };
-    deps = {
-      "is-promise-1.0.1" = self.by-version."is-promise"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."proxy-addr"."~1.1.2" =
-    self.by-version."proxy-addr"."1.1.2";
-  by-version."proxy-addr"."1.1.2" = self.buildNodePackage {
-    name = "proxy-addr-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.1.2.tgz";
-      name = "proxy-addr-1.1.2.tgz";
-      sha1 = "b4cc5f22610d9535824c123aef9d3cf73c40ba37";
-    };
-    deps = {
-      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
-      "ipaddr.js-1.1.1" = self.by-version."ipaddr.js"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."prr"."~0.0.0" =
-    self.by-version."prr"."0.0.0";
-  by-version."prr"."0.0.0" = self.buildNodePackage {
-    name = "prr-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz";
-      name = "prr-0.0.0.tgz";
-      sha1 = "1a84b85908325501411853d0081ee3fa86e2926a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."6.2.0" =
-    self.by-version."qs"."6.2.0";
-  by-version."qs"."6.2.0" = self.buildNodePackage {
-    name = "qs-6.2.0";
-    version = "6.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz";
-      name = "qs-6.2.0.tgz";
-      sha1 = "3b7848c03c2dece69a9522b0fae8c4126d745f3b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qtdatastream"."^0.6.6" =
-    self.by-version."qtdatastream"."0.6.6";
-  by-version."qtdatastream"."0.6.6" = self.buildNodePackage {
-    name = "qtdatastream-0.6.6";
-    version = "0.6.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qtdatastream/-/qtdatastream-0.6.6.tgz";
-      name = "qtdatastream-0.6.6.tgz";
-      sha1 = "c572113d4a2174acb4062e58c06644723b50e1c1";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "int64-buffer-0.1.9" = self.by-version."int64-buffer"."0.1.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."range-parser"."~1.2.0" =
-    self.by-version."range-parser"."1.2.0";
-  by-version."range-parser"."1.2.0" = self.buildNodePackage {
-    name = "range-parser-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz";
-      name = "range-parser-1.2.0.tgz";
-      sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."raw-body"."~2.1.7" =
-    self.by-version."raw-body"."2.1.7";
-  by-version."raw-body"."2.1.7" = self.buildNodePackage {
-    name = "raw-body-2.1.7";
-    version = "2.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/raw-body/-/raw-body-2.1.7.tgz";
-      name = "raw-body-2.1.7.tgz";
-      sha1 = "adfeace2e4fb3098058014d08c072dcc59758774";
-    };
-    deps = {
-      "bytes-2.4.0" = self.by-version."bytes"."2.4.0";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."repeat-string"."^1.5.2" =
-    self.by-version."repeat-string"."1.5.4";
-  by-version."repeat-string"."1.5.4" = self.buildNodePackage {
-    name = "repeat-string-1.5.4";
-    version = "1.5.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz";
-      name = "repeat-string-1.5.4.tgz";
-      sha1 = "64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."right-align"."^0.1.1" =
-    self.by-version."right-align"."0.1.3";
-  by-version."right-align"."0.1.3" = self.buildNodePackage {
-    name = "right-align-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
-      name = "right-align-0.1.3.tgz";
-      sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
-    };
-    deps = {
-      "align-text-0.1.4" = self.by-version."align-text"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.14.1" =
-    self.by-version."send"."0.14.1";
-  by-version."send"."0.14.1" = self.buildNodePackage {
-    name = "send-0.14.1";
-    version = "0.14.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.14.1.tgz";
-      name = "send-0.14.1.tgz";
-      sha1 = "a954984325392f51532a7760760e459598c89f7a";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "destroy-1.0.4" = self.by-version."destroy"."1.0.4";
-      "encodeurl-1.0.1" = self.by-version."encodeurl"."1.0.1";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "http-errors-1.5.0" = self.by-version."http-errors"."1.5.0";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0";
-      "statuses-1.3.0" = self.by-version."statuses"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."serve-favicon"."~2.3.0" =
-    self.by-version."serve-favicon"."2.3.0";
-  by-version."serve-favicon"."2.3.0" = self.buildNodePackage {
-    name = "serve-favicon-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.0.tgz";
-      name = "serve-favicon-2.3.0.tgz";
-      sha1 = "aed36cc6834069a6f189cc7222c6a1a811dc5b39";
-    };
-    deps = {
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "serve-favicon" = self.by-version."serve-favicon"."2.3.0";
-  by-spec."serve-static"."~1.11.1" =
-    self.by-version."serve-static"."1.11.1";
-  by-version."serve-static"."1.11.1" = self.buildNodePackage {
-    name = "serve-static-1.11.1";
-    version = "1.11.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serve-static/-/serve-static-1.11.1.tgz";
-      name = "serve-static-1.11.1.tgz";
-      sha1 = "d6cce7693505f733c759de57befc1af76c0f0805";
-    };
-    deps = {
-      "encodeurl-1.0.1" = self.by-version."encodeurl"."1.0.1";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "send-0.14.1" = self.by-version."send"."0.14.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."setprototypeof"."1.0.1" =
-    self.by-version."setprototypeof"."1.0.1";
-  by-version."setprototypeof"."1.0.1" = self.buildNodePackage {
-    name = "setprototypeof-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz";
-      name = "setprototypeof-1.0.1.tgz";
-      sha1 = "52009b27888c4dc48f591949c0a8275834c1ca7e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."0.4.x" =
-    self.by-version."source-map"."0.4.4";
-  by-version."source-map"."0.4.4" = self.buildNodePackage {
-    name = "source-map-0.4.4";
-    version = "0.4.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
-      name = "source-map-0.4.4.tgz";
-      sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."^0.5.3" =
-    self.by-version."source-map"."0.5.6";
-  by-version."source-map"."0.5.6" = self.buildNodePackage {
-    name = "source-map-0.5.6";
-    version = "0.5.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
-      name = "source-map-0.5.6.tgz";
-      sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."~0.1.7" =
-    self.by-version."source-map"."0.1.43";
-  by-version."source-map"."0.1.43" = self.buildNodePackage {
-    name = "source-map-0.1.43";
-    version = "0.1.43";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
-      name = "source-map-0.1.43.tgz";
-      sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."~0.5.1" =
-    self.by-version."source-map"."0.5.6";
-  by-spec."statuses".">= 1.3.0 < 2" =
-    self.by-version."statuses"."1.3.0";
-  by-version."statuses"."1.3.0" = self.buildNodePackage {
-    name = "statuses-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz";
-      name = "statuses-1.3.0.tgz";
-      sha1 = "8e55758cb20e7682c1f4fce8dcab30bf01d1e07a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."statuses"."~1.3.0" =
-    self.by-version."statuses"."1.3.0";
-  by-spec."transformers"."2.1.0" =
-    self.by-version."transformers"."2.1.0";
-  by-version."transformers"."2.1.0" = self.buildNodePackage {
-    name = "transformers-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
-      name = "transformers-2.1.0.tgz";
-      sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7";
-    };
-    deps = {
-      "promise-2.0.0" = self.by-version."promise"."2.0.0";
-      "css-1.0.8" = self.by-version."css"."1.0.8";
-      "uglify-js-2.2.5" = self.by-version."uglify-js"."2.2.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."type-is"."~1.6.13" =
-    self.by-version."type-is"."1.6.13";
-  by-version."type-is"."1.6.13" = self.buildNodePackage {
-    name = "type-is-1.6.13";
-    version = "1.6.13";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz";
-      name = "type-is-1.6.13.tgz";
-      sha1 = "6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08";
-    };
-    deps = {
-      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "mime-types-2.1.12" = self.by-version."mime-types"."2.1.12";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-js"."^2.4.19" =
-    self.by-version."uglify-js"."2.7.3";
-  by-version."uglify-js"."2.7.3" = self.buildNodePackage {
-    name = "uglify-js-2.7.3";
-    version = "2.7.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.7.3.tgz";
-      name = "uglify-js-2.7.3.tgz";
-      sha1 = "39b3a7329b89f5ec507e344c6e22568698ef4868";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
-      "yargs-3.10.0" = self.by-version."yargs"."3.10.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-js"."~2.2.5" =
-    self.by-version."uglify-js"."2.2.5";
-  by-version."uglify-js"."2.2.5" = self.buildNodePackage {
-    name = "uglify-js-2.2.5";
-    version = "2.2.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
-      name = "uglify-js-2.2.5.tgz";
-      sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
-    };
-    deps = {
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-to-browserify"."~1.0.0" =
-    self.by-version."uglify-to-browserify"."1.0.2";
-  by-version."uglify-to-browserify"."1.0.2" = self.buildNodePackage {
-    name = "uglify-to-browserify-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
-      name = "uglify-to-browserify-1.0.2.tgz";
-      sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ultron"."1.0.x" =
-    self.by-version."ultron"."1.0.2";
-  by-version."ultron"."1.0.2" = self.buildNodePackage {
-    name = "ultron-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz";
-      name = "ultron-1.0.2.tgz";
-      sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unpipe"."1.0.0" =
-    self.by-version."unpipe"."1.0.0";
-  by-version."unpipe"."1.0.0" = self.buildNodePackage {
-    name = "unpipe-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
-      name = "unpipe-1.0.0.tgz";
-      sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unpipe"."~1.0.0" =
-    self.by-version."unpipe"."1.0.0";
-  by-spec."utils-merge"."1.0.0" =
-    self.by-version."utils-merge"."1.0.0";
-  by-version."utils-merge"."1.0.0" = self.buildNodePackage {
-    name = "utils-merge-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
-      name = "utils-merge-1.0.0.tgz";
-      sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vary"."~1.1.0" =
-    self.by-version."vary"."1.1.0";
-  by-version."vary"."1.1.0" = self.buildNodePackage {
-    name = "vary-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz";
-      name = "vary-1.1.0.tgz";
-      sha1 = "e1e5affbbd16ae768dd2674394b9ad3022653140";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."void-elements"."~2.0.1" =
-    self.by-version."void-elements"."2.0.1";
-  by-version."void-elements"."2.0.1" = self.buildNodePackage {
-    name = "void-elements-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz";
-      name = "void-elements-2.0.1.tgz";
-      sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."window-size"."0.1.0" =
-    self.by-version."window-size"."0.1.0";
-  by-version."window-size"."0.1.0" = self.buildNodePackage {
-    name = "window-size-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
-      name = "window-size-0.1.0.tgz";
-      sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."with"."~4.0.0" =
-    self.by-version."with"."4.0.3";
-  by-version."with"."4.0.3" = self.buildNodePackage {
-    name = "with-4.0.3";
-    version = "4.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/with/-/with-4.0.3.tgz";
-      name = "with-4.0.3.tgz";
-      sha1 = "eefd154e9e79d2c8d3417b647a8f14d9fecce14e";
-    };
-    deps = {
-      "acorn-1.2.2" = self.by-version."acorn"."1.2.2";
-      "acorn-globals-1.0.9" = self.by-version."acorn-globals"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap"."0.0.2" =
-    self.by-version."wordwrap"."0.0.2";
-  by-version."wordwrap"."0.0.2" = self.buildNodePackage {
-    name = "wordwrap-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-      name = "wordwrap-0.0.2.tgz";
-      sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap"."~0.0.2" =
-    self.by-version."wordwrap"."0.0.3";
-  by-version."wordwrap"."0.0.3" = self.buildNodePackage {
-    name = "wordwrap-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
-      name = "wordwrap-0.0.3.tgz";
-      sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ws"."^1.1.1" =
-    self.by-version."ws"."1.1.1";
-  by-version."ws"."1.1.1" = self.buildNodePackage {
-    name = "ws-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ws/-/ws-1.1.1.tgz";
-      name = "ws-1.1.1.tgz";
-      sha1 = "082ddb6c641e85d4bb451f03d52f06eabdb1f018";
-    };
-    deps = {
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-      "ultron-1.0.2" = self.by-version."ultron"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yargs"."~3.10.0" =
-    self.by-version."yargs"."3.10.0";
-  by-version."yargs"."3.10.0" = self.buildNodePackage {
-    name = "yargs-3.10.0";
-    version = "3.10.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
-      name = "yargs-3.10.0.tgz";
-      sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
-    };
-    deps = {
-      "camelcase-1.2.1" = self.by-version."camelcase"."1.2.1";
-      "cliui-2.1.0" = self.by-version."cliui"."2.1.0";
-      "decamelize-1.2.0" = self.by-version."decamelize"."1.2.0";
-      "window-size-0.1.0" = self.by-version."window-size"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-}
diff --git a/pkgs/applications/networking/irc/shout/default.nix b/pkgs/applications/networking/irc/shout/default.nix
deleted file mode 100644
index bf041a8845a3..000000000000
--- a/pkgs/applications/networking/irc/shout/default.nix
+++ /dev/null
@@ -1,49 +0,0 @@
-{ stdenv, fetchFromGitHub, callPackage, python, utillinux }:
-
-with stdenv.lib;
-
-let
-  nodePackages = callPackage (import ../../../../top-level/node-packages.nix) {
-    neededNatives = [ python ] ++ optional (stdenv.isLinux) utillinux;
-    self = nodePackages;
-    generated = ./package.nix;
-  };
-
-in nodePackages.buildNodePackage rec {
-  name = "shout-${version}";
-  version = "0.53.0";
-
-  src = fetchFromGitHub {
-    owner = "erming";
-    repo = "shout";
-    rev = "2cee0ea6ef5ee51de0190332f976934b55bbc8e4";
-    sha256 = "1kci1qha1csb9sqb4ig487q612hgdn5lycbcpad7m9r6chn835qg";
-  };
-
-  buildInputs = nodePackages.nativeDeps."shout" or [];
-
-  deps = [
-    nodePackages.by-spec."bcrypt-nodejs"."0.0.3"
-    nodePackages.by-spec."cheerio"."^0.17.0"
-    nodePackages.by-spec."commander"."^2.3.0"
-    nodePackages.by-spec."event-stream"."^3.1.7"
-    nodePackages.by-spec."express"."^4.9.5"
-    nodePackages.by-spec."lodash"."~2.4.1"
-    nodePackages.by-spec."mkdirp"."^0.5.0"
-    nodePackages.by-spec."moment"."~2.7.0"
-    nodePackages.by-spec."read"."^1.0.5"
-    nodePackages.by-spec."request"."^2.51.0"
-    nodePackages.by-spec."slate-irc"."~0.7.3"
-    nodePackages.by-spec."socket.io"."~1.0.6"
-  ];
-
-  peerDependencies = [];
-
-  meta = {
-    description = "Web IRC client that you host on your own server";
-    license = licenses.mit;
-    homepage = http://shout-irc.com/;
-    maintainers = with maintainers; [ benley ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/applications/networking/irc/shout/package.nix b/pkgs/applications/networking/irc/shout/package.nix
deleted file mode 100644
index cd9677e1ccc7..000000000000
--- a/pkgs/applications/networking/irc/shout/package.nix
+++ /dev/null
@@ -1,5049 +0,0 @@
-{ self, fetchurl, fetchgit ? null, lib }:
-
-{
-  by-spec."CSSselect"."~0.4.0" =
-    self.by-version."CSSselect"."0.4.1";
-  by-version."CSSselect"."0.4.1" = self.buildNodePackage {
-    name = "CSSselect-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz";
-      name = "CSSselect-0.4.1.tgz";
-      sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2";
-    };
-    deps = {
-      "CSSwhat-0.4.7" = self.by-version."CSSwhat"."0.4.7";
-      "domutils-1.4.3" = self.by-version."domutils"."1.4.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."CSSwhat"."0.4" =
-    self.by-version."CSSwhat"."0.4.7";
-  by-version."CSSwhat"."0.4.7" = self.buildNodePackage {
-    name = "CSSwhat-0.4.7";
-    version = "0.4.7";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz";
-      name = "CSSwhat-0.4.7.tgz";
-      sha1 = "867da0ff39f778613242c44cfea83f0aa4ebdf9b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."abbrev"."1" =
-    self.by-version."abbrev"."1.0.7";
-  by-version."abbrev"."1.0.7" = self.buildNodePackage {
-    name = "abbrev-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz";
-      name = "abbrev-1.0.7.tgz";
-      sha1 = "5b6035b2ee9d4fb5cf859f08a9be81b208491843";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."accepts"."~1.2.10" =
-    self.by-version."accepts"."1.2.11";
-  by-version."accepts"."1.2.11" = self.buildNodePackage {
-    name = "accepts-1.2.11";
-    version = "1.2.11";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/accepts/-/accepts-1.2.11.tgz";
-      name = "accepts-1.2.11.tgz";
-      sha1 = "d341c6e3b420489632f0f4f8d2ad4fd9ddf374e0";
-    };
-    deps = {
-      "mime-types-2.1.3" = self.by-version."mime-types"."2.1.3";
-      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."after"."0.8.1" =
-    self.by-version."after"."0.8.1";
-  by-version."after"."0.8.1" = self.buildNodePackage {
-    name = "after-0.8.1";
-    version = "0.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/after/-/after-0.8.1.tgz";
-      name = "after-0.8.1.tgz";
-      sha1 = "ab5d4fb883f596816d3515f8f791c0af486dd627";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."amdefine".">=0.0.4" =
-    self.by-version."amdefine"."1.0.0";
-  by-version."amdefine"."1.0.0" = self.buildNodePackage {
-    name = "amdefine-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz";
-      name = "amdefine-1.0.0.tgz";
-      sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-regex"."^0.2.0" =
-    self.by-version."ansi-regex"."0.2.1";
-  by-version."ansi-regex"."0.2.1" = self.buildNodePackage {
-    name = "ansi-regex-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
-      name = "ansi-regex-0.2.1.tgz";
-      sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-regex"."^0.2.1" =
-    self.by-version."ansi-regex"."0.2.1";
-  by-spec."ansi-regex"."^2.0.0" =
-    self.by-version."ansi-regex"."2.0.0";
-  by-version."ansi-regex"."2.0.0" = self.buildNodePackage {
-    name = "ansi-regex-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz";
-      name = "ansi-regex-2.0.0.tgz";
-      sha1 = "c5061b6e0ef8a81775e50f5d66151bf6bf371107";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-styles"."^1.1.0" =
-    self.by-version."ansi-styles"."1.1.0";
-  by-version."ansi-styles"."1.1.0" = self.buildNodePackage {
-    name = "ansi-styles-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
-      name = "ansi-styles-1.1.0.tgz";
-      sha1 = "eaecbf66cd706882760b2f4691582b8f55d7a7de";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-styles"."^2.1.0" =
-    self.by-version."ansi-styles"."2.1.0";
-  by-version."ansi-styles"."2.1.0" = self.buildNodePackage {
-    name = "ansi-styles-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ansi-styles/-/ansi-styles-2.1.0.tgz";
-      name = "ansi-styles-2.1.0.tgz";
-      sha1 = "990f747146927b559a932bf92959163d60c0d0e2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."argparse"."~ 0.1.11" =
-    self.by-version."argparse"."0.1.16";
-  by-version."argparse"."0.1.16" = self.buildNodePackage {
-    name = "argparse-0.1.16";
-    version = "0.1.16";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz";
-      name = "argparse-0.1.16.tgz";
-      sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
-    };
-    deps = {
-      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
-      "underscore.string-2.4.0" = self.by-version."underscore.string"."2.4.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-flatten"."1.1.0" =
-    self.by-version."array-flatten"."1.1.0";
-  by-version."array-flatten"."1.1.0" = self.buildNodePackage {
-    name = "array-flatten-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/array-flatten/-/array-flatten-1.1.0.tgz";
-      name = "array-flatten-1.1.0.tgz";
-      sha1 = "ac3efac717b0e7bbdc778ce0bde7381ac6604393";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."arraybuffer.slice"."0.0.6" =
-    self.by-version."arraybuffer.slice"."0.0.6";
-  by-version."arraybuffer.slice"."0.0.6" = self.buildNodePackage {
-    name = "arraybuffer.slice-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz";
-      name = "arraybuffer.slice-0.0.6.tgz";
-      sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asn1"."0.1.11" =
-    self.by-version."asn1"."0.1.11";
-  by-version."asn1"."0.1.11" = self.buildNodePackage {
-    name = "asn1-0.1.11";
-    version = "0.1.11";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
-      name = "asn1-0.1.11.tgz";
-      sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assert-plus"."^0.1.5" =
-    self.by-version."assert-plus"."0.1.5";
-  by-version."assert-plus"."0.1.5" = self.buildNodePackage {
-    name = "assert-plus-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
-      name = "assert-plus-0.1.5.tgz";
-      sha1 = "ee74009413002d84cec7219c6ac811812e723160";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."^1.2.1" =
-    self.by-version."async"."1.4.0";
-  by-version."async"."1.4.0" = self.buildNodePackage {
-    name = "async-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-1.4.0.tgz";
-      name = "async-1.4.0.tgz";
-      sha1 = "35f86f83c59e0421d099cd9a91d8278fb578c00d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."~0.1.22" =
-    self.by-version."async"."0.1.22";
-  by-version."async"."0.1.22" = self.buildNodePackage {
-    name = "async-0.1.22";
-    version = "0.1.22";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-0.1.22.tgz";
-      name = "async-0.1.22.tgz";
-      sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."~0.2.6" =
-    self.by-version."async"."0.2.10";
-  by-version."async"."0.2.10" = self.buildNodePackage {
-    name = "async-0.2.10";
-    version = "0.2.10";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/async/-/async-0.2.10.tgz";
-      name = "async-0.2.10.tgz";
-      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."~0.2.9" =
-    self.by-version."async"."0.2.10";
-  by-spec."aws-sign2"."~0.5.0" =
-    self.by-version."aws-sign2"."0.5.0";
-  by-version."aws-sign2"."0.5.0" = self.buildNodePackage {
-    name = "aws-sign2-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
-      name = "aws-sign2-0.5.0.tgz";
-      sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64-arraybuffer"."0.1.2" =
-    self.by-version."base64-arraybuffer"."0.1.2";
-  by-version."base64-arraybuffer"."0.1.2" = self.buildNodePackage {
-    name = "base64-arraybuffer-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz";
-      name = "base64-arraybuffer-0.1.2.tgz";
-      sha1 = "474df4a9f2da24e05df3158c3b1db3c3cd46a154";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64id"."0.1.0" =
-    self.by-version."base64id"."0.1.0";
-  by-version."base64id"."0.1.0" = self.buildNodePackage {
-    name = "base64id-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
-      name = "base64id-0.1.0.tgz";
-      sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bcrypt-nodejs"."0.0.3" =
-    self.by-version."bcrypt-nodejs"."0.0.3";
-  by-version."bcrypt-nodejs"."0.0.3" = self.buildNodePackage {
-    name = "bcrypt-nodejs-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bcrypt-nodejs/-/bcrypt-nodejs-0.0.3.tgz";
-      name = "bcrypt-nodejs-0.0.3.tgz";
-      sha1 = "c60917f26dc235661566c681061c303c2b28842b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bcrypt-nodejs" = self.by-version."bcrypt-nodejs"."0.0.3";
-  by-spec."better-assert"."~1.0.0" =
-    self.by-version."better-assert"."1.0.2";
-  by-version."better-assert"."1.0.2" = self.buildNodePackage {
-    name = "better-assert-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz";
-      name = "better-assert-1.0.2.tgz";
-      sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522";
-    };
-    deps = {
-      "callsite-1.0.0" = self.by-version."callsite"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bl"."~1.0.0" =
-    self.by-version."bl"."1.0.0";
-  by-version."bl"."1.0.0" = self.buildNodePackage {
-    name = "bl-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bl/-/bl-1.0.0.tgz";
-      name = "bl-1.0.0.tgz";
-      sha1 = "ada9a8a89a6d7ac60862f7dec7db207873e0c3f5";
-    };
-    deps = {
-      "readable-stream-2.0.2" = self.by-version."readable-stream"."2.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."blob"."0.0.2" =
-    self.by-version."blob"."0.0.2";
-  by-version."blob"."0.0.2" = self.buildNodePackage {
-    name = "blob-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/blob/-/blob-0.0.2.tgz";
-      name = "blob-0.0.2.tgz";
-      sha1 = "b89562bd6994af95ba1e812155536333aa23cf24";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bluebird"."^2.9.30" =
-    self.by-version."bluebird"."2.9.34";
-  by-version."bluebird"."2.9.34" = self.buildNodePackage {
-    name = "bluebird-2.9.34";
-    version = "2.9.34";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/bluebird/-/bluebird-2.9.34.tgz";
-      name = "bluebird-2.9.34.tgz";
-      sha1 = "2f7b4ec80216328a9fddebdf69c8d4942feff7d8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."boom"."2.x.x" =
-    self.by-version."boom"."2.8.0";
-  by-version."boom"."2.8.0" = self.buildNodePackage {
-    name = "boom-2.8.0";
-    version = "2.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/boom/-/boom-2.8.0.tgz";
-      name = "boom-2.8.0.tgz";
-      sha1 = "317bdfd47018fe7dd79b0e9da73efe244119fdf1";
-    };
-    deps = {
-      "hoek-2.14.0" = self.by-version."hoek"."2.14.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."boom"."^2.8.x" =
-    self.by-version."boom"."2.8.0";
-  by-spec."browserify-zlib"."^0.1.4" =
-    self.by-version."browserify-zlib"."0.1.4";
-  by-version."browserify-zlib"."0.1.4" = self.buildNodePackage {
-    name = "browserify-zlib-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
-      name = "browserify-zlib-0.1.4.tgz";
-      sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
-    };
-    deps = {
-      "pako-0.2.7" = self.by-version."pako"."0.2.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."callsite"."1.0.0" =
-    self.by-version."callsite"."1.0.0";
-  by-version."callsite"."1.0.0" = self.buildNodePackage {
-    name = "callsite-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
-      name = "callsite-1.0.0.tgz";
-      sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."camelcase"."^1.0.2" =
-    self.by-version."camelcase"."1.1.0";
-  by-version."camelcase"."1.1.0" = self.buildNodePackage {
-    name = "camelcase-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/camelcase/-/camelcase-1.1.0.tgz";
-      name = "camelcase-1.1.0.tgz";
-      sha1 = "953b25c3bc98671ee59a44cb9d542672da7331b9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."caseless"."~0.11.0" =
-    self.by-version."caseless"."0.11.0";
-  by-version."caseless"."0.11.0" = self.buildNodePackage {
-    name = "caseless-0.11.0";
-    version = "0.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz";
-      name = "caseless-0.11.0.tgz";
-      sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chalk"."^0.5.0" =
-    self.by-version."chalk"."0.5.1";
-  by-version."chalk"."0.5.1" = self.buildNodePackage {
-    name = "chalk-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
-      name = "chalk-0.5.1.tgz";
-      sha1 = "663b3a648b68b55d04690d49167aa837858f2174";
-    };
-    deps = {
-      "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
-      "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3";
-      "has-ansi-0.1.0" = self.by-version."has-ansi"."0.1.0";
-      "strip-ansi-0.3.0" = self.by-version."strip-ansi"."0.3.0";
-      "supports-color-0.2.0" = self.by-version."supports-color"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chalk"."^0.5.1" =
-    self.by-version."chalk"."0.5.1";
-  by-spec."chalk"."^1.0.0" =
-    self.by-version."chalk"."1.1.0";
-  by-version."chalk"."1.1.0" = self.buildNodePackage {
-    name = "chalk-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/chalk/-/chalk-1.1.0.tgz";
-      name = "chalk-1.1.0.tgz";
-      sha1 = "09b453cec497a75520e4a60ae48214a8700e0921";
-    };
-    deps = {
-      "ansi-styles-2.1.0" = self.by-version."ansi-styles"."2.1.0";
-      "escape-string-regexp-1.0.3" = self.by-version."escape-string-regexp"."1.0.3";
-      "has-ansi-2.0.0" = self.by-version."has-ansi"."2.0.0";
-      "strip-ansi-3.0.0" = self.by-version."strip-ansi"."3.0.0";
-      "supports-color-2.0.0" = self.by-version."supports-color"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cheerio"."^0.17.0" =
-    self.by-version."cheerio"."0.17.0";
-  by-version."cheerio"."0.17.0" = self.buildNodePackage {
-    name = "cheerio-0.17.0";
-    version = "0.17.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz";
-      name = "cheerio-0.17.0.tgz";
-      sha1 = "fa5ae42cc60121133d296d0b46d983215f7268ea";
-    };
-    deps = {
-      "CSSselect-0.4.1" = self.by-version."CSSselect"."0.4.1";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-      "htmlparser2-3.7.3" = self.by-version."htmlparser2"."3.7.3";
-      "dom-serializer-0.0.1" = self.by-version."dom-serializer"."0.0.1";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "cheerio" = self.by-version."cheerio"."0.17.0";
-  by-spec."coffee-script"."~1.3.3" =
-    self.by-version."coffee-script"."1.3.3";
-  by-version."coffee-script"."1.3.3" = self.buildNodePackage {
-    name = "coffee-script-1.3.3";
-    version = "1.3.3";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
-      name = "coffee-script-1.3.3.tgz";
-      sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."colors"."~0.6.2" =
-    self.by-version."colors"."0.6.2";
-  by-version."colors"."0.6.2" = self.buildNodePackage {
-    name = "colors-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-      name = "colors-0.6.2.tgz";
-      sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combined-stream"."^1.0.3" =
-    self.by-version."combined-stream"."1.0.5";
-  by-version."combined-stream"."1.0.5" = self.buildNodePackage {
-    name = "combined-stream-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
-      name = "combined-stream-1.0.5.tgz";
-      sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
-    };
-    deps = {
-      "delayed-stream-1.0.0" = self.by-version."delayed-stream"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combined-stream"."~1.0.1" =
-    self.by-version."combined-stream"."1.0.5";
-  by-spec."commander"."0.6.1" =
-    self.by-version."commander"."0.6.1";
-  by-version."commander"."0.6.1" = self.buildNodePackage {
-    name = "commander-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-      name = "commander-0.6.1.tgz";
-      sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."2.3.0" =
-    self.by-version."commander"."2.3.0";
-  by-version."commander"."2.3.0" = self.buildNodePackage {
-    name = "commander-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
-      name = "commander-2.3.0.tgz";
-      sha1 = "fd430e889832ec353b9acd1de217c11cb3eef873";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."^2.3.0" =
-    self.by-version."commander"."2.8.1";
-  by-version."commander"."2.8.1" = self.buildNodePackage {
-    name = "commander-2.8.1";
-    version = "2.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/commander/-/commander-2.8.1.tgz";
-      name = "commander-2.8.1.tgz";
-      sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4";
-    };
-    deps = {
-      "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "commander" = self.by-version."commander"."2.8.1";
-  by-spec."commander"."^2.8.1" =
-    self.by-version."commander"."2.8.1";
-  by-spec."commander"."~0.6.1" =
-    self.by-version."commander"."0.6.1";
-  by-spec."component-bind"."1.0.0" =
-    self.by-version."component-bind"."1.0.0";
-  by-version."component-bind"."1.0.0" = self.buildNodePackage {
-    name = "component-bind-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz";
-      name = "component-bind-1.0.0.tgz";
-      sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."component-emitter"."1.1.2" =
-    self.by-version."component-emitter"."1.1.2";
-  by-version."component-emitter"."1.1.2" = self.buildNodePackage {
-    name = "component-emitter-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
-      name = "component-emitter-1.1.2.tgz";
-      sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."component-inherit"."0.0.3" =
-    self.by-version."component-inherit"."0.0.3";
-  by-version."component-inherit"."0.0.3" = self.buildNodePackage {
-    name = "component-inherit-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz";
-      name = "component-inherit-0.0.3.tgz";
-      sha1 = "645fc4adf58b72b649d5cae65135619db26ff143";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."concat-stream"."^1.4.1" =
-    self.by-version."concat-stream"."1.5.0";
-  by-version."concat-stream"."1.5.0" = self.buildNodePackage {
-    name = "concat-stream-1.5.0";
-    version = "1.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz";
-      name = "concat-stream-1.5.0.tgz";
-      sha1 = "53f7d43c51c5e43f81c8fdd03321c631be68d611";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "typedarray-0.0.6" = self.by-version."typedarray"."0.0.6";
-      "readable-stream-2.0.2" = self.by-version."readable-stream"."2.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."content-disposition"."0.5.0" =
-    self.by-version."content-disposition"."0.5.0";
-  by-version."content-disposition"."0.5.0" = self.buildNodePackage {
-    name = "content-disposition-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
-      name = "content-disposition-0.5.0.tgz";
-      sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."content-type"."~1.0.1" =
-    self.by-version."content-type"."1.0.1";
-  by-version."content-type"."1.0.1" = self.buildNodePackage {
-    name = "content-type-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/content-type/-/content-type-1.0.1.tgz";
-      name = "content-type-1.0.1.tgz";
-      sha1 = "a19d2247327dc038050ce622b7a154ec59c5e600";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.1.3" =
-    self.by-version."cookie"."0.1.3";
-  by-version."cookie"."0.1.3" = self.buildNodePackage {
-    name = "cookie-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz";
-      name = "cookie-0.1.3.tgz";
-      sha1 = "e734a5c1417fce472d5aef82c381cabb64d1a435";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-signature"."1.0.6" =
-    self.by-version."cookie-signature"."1.0.6";
-  by-version."cookie-signature"."1.0.6" = self.buildNodePackage {
-    name = "cookie-signature-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
-      name = "cookie-signature-1.0.6.tgz";
-      sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."core-util-is"."~1.0.0" =
-    self.by-version."core-util-is"."1.0.1";
-  by-version."core-util-is"."1.0.1" = self.buildNodePackage {
-    name = "core-util-is-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
-      name = "core-util-is-1.0.1.tgz";
-      sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cryptiles"."2.x.x" =
-    self.by-version."cryptiles"."2.0.4";
-  by-version."cryptiles"."2.0.4" = self.buildNodePackage {
-    name = "cryptiles-2.0.4";
-    version = "2.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/cryptiles/-/cryptiles-2.0.4.tgz";
-      name = "cryptiles-2.0.4.tgz";
-      sha1 = "09ea1775b9e1c7de7e60a99d42ab6f08ce1a1285";
-    };
-    deps = {
-      "boom-2.8.0" = self.by-version."boom"."2.8.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ctype"."0.5.3" =
-    self.by-version."ctype"."0.5.3";
-  by-version."ctype"."0.5.3" = self.buildNodePackage {
-    name = "ctype-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
-      name = "ctype-0.5.3.tgz";
-      sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dateformat"."1.0.2-1.2.3" =
-    self.by-version."dateformat"."1.0.2-1.2.3";
-  by-version."dateformat"."1.0.2-1.2.3" = self.buildNodePackage {
-    name = "dateformat-1.0.2-1.2.3";
-    version = "1.0.2-1.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
-      name = "dateformat-1.0.2-1.2.3.tgz";
-      sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."*" =
-    self.by-version."debug"."2.2.0";
-  by-version."debug"."2.2.0" = self.buildNodePackage {
-    name = "debug-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
-      name = "debug-2.2.0.tgz";
-      sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
-    };
-    deps = {
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."0.6.0" =
-    self.by-version."debug"."0.6.0";
-  by-version."debug"."0.6.0" = self.buildNodePackage {
-    name = "debug-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-0.6.0.tgz";
-      name = "debug-0.6.0.tgz";
-      sha1 = "ce9d5d025d5294b3f0748a494bebaf3c9fd8734f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."0.7.4" =
-    self.by-version."debug"."0.7.4";
-  by-version."debug"."0.7.4" = self.buildNodePackage {
-    name = "debug-0.7.4";
-    version = "0.7.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
-      name = "debug-0.7.4.tgz";
-      sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."2.0.0" =
-    self.by-version."debug"."2.0.0";
-  by-version."debug"."2.0.0" = self.buildNodePackage {
-    name = "debug-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
-      name = "debug-2.0.0.tgz";
-      sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
-    };
-    deps = {
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."~0.7.0" =
-    self.by-version."debug"."0.7.4";
-  by-spec."debug"."~0.7.2" =
-    self.by-version."debug"."0.7.4";
-  by-spec."debug"."~2.2.0" =
-    self.by-version."debug"."2.2.0";
-  by-spec."decamelize"."^1.0.0" =
-    self.by-version."decamelize"."1.0.0";
-  by-version."decamelize"."1.0.0" = self.buildNodePackage {
-    name = "decamelize-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/decamelize/-/decamelize-1.0.0.tgz";
-      name = "decamelize-1.0.0.tgz";
-      sha1 = "5287122f71691d4505b18ff2258dc400a5b23847";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."delayed-stream"."~1.0.0" =
-    self.by-version."delayed-stream"."1.0.0";
-  by-version."delayed-stream"."1.0.0" = self.buildNodePackage {
-    name = "delayed-stream-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
-      name = "delayed-stream-1.0.0.tgz";
-      sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."depd"."~1.0.1" =
-    self.by-version."depd"."1.0.1";
-  by-version."depd"."1.0.1" = self.buildNodePackage {
-    name = "depd-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
-      name = "depd-1.0.1.tgz";
-      sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."destroy"."1.0.3" =
-    self.by-version."destroy"."1.0.3";
-  by-version."destroy"."1.0.3" = self.buildNodePackage {
-    name = "destroy-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
-      name = "destroy-1.0.3.tgz";
-      sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."diff"."1.0.8" =
-    self.by-version."diff"."1.0.8";
-  by-version."diff"."1.0.8" = self.buildNodePackage {
-    name = "diff-1.0.8";
-    version = "1.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
-      name = "diff-1.0.8.tgz";
-      sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dom-serializer"."0" =
-    self.by-version."dom-serializer"."0.1.0";
-  by-version."dom-serializer"."0.1.0" = self.buildNodePackage {
-    name = "dom-serializer-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
-      name = "dom-serializer-0.1.0.tgz";
-      sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
-    };
-    deps = {
-      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dom-serializer"."~0.0.0" =
-    self.by-version."dom-serializer"."0.0.1";
-  by-version."dom-serializer"."0.0.1" = self.buildNodePackage {
-    name = "dom-serializer-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz";
-      name = "dom-serializer-0.0.1.tgz";
-      sha1 = "9589827f1e32d22c37c829adabd59b3247af8eaf";
-    };
-    deps = {
-      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domelementtype"."1" =
-    self.by-version."domelementtype"."1.3.0";
-  by-version."domelementtype"."1.3.0" = self.buildNodePackage {
-    name = "domelementtype-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
-      name = "domelementtype-1.3.0.tgz";
-      sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domelementtype"."~1.1.1" =
-    self.by-version."domelementtype"."1.1.3";
-  by-version."domelementtype"."1.1.3" = self.buildNodePackage {
-    name = "domelementtype-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
-      name = "domelementtype-1.1.3.tgz";
-      sha1 = "bd28773e2642881aec51544924299c5cd822185b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domhandler"."2.2" =
-    self.by-version."domhandler"."2.2.1";
-  by-version."domhandler"."2.2.1" = self.buildNodePackage {
-    name = "domhandler-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz";
-      name = "domhandler-2.2.1.tgz";
-      sha1 = "59df9dcd227e808b365ae73e1f6684ac3d946fc2";
-    };
-    deps = {
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domutils"."1.4" =
-    self.by-version."domutils"."1.4.3";
-  by-version."domutils"."1.4.3" = self.buildNodePackage {
-    name = "domutils-1.4.3";
-    version = "1.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz";
-      name = "domutils-1.4.3.tgz";
-      sha1 = "0865513796c6b306031850e175516baf80b72a6f";
-    };
-    deps = {
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domutils"."1.5" =
-    self.by-version."domutils"."1.5.1";
-  by-version."domutils"."1.5.1" = self.buildNodePackage {
-    name = "domutils-1.5.1";
-    version = "1.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
-      name = "domutils-1.5.1.tgz";
-      sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
-    };
-    deps = {
-      "dom-serializer-0.1.0" = self.by-version."dom-serializer"."0.1.0";
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."duplexer"."~0.1.1" =
-    self.by-version."duplexer"."0.1.1";
-  by-version."duplexer"."0.1.1" = self.buildNodePackage {
-    name = "duplexer-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
-      name = "duplexer-0.1.1.tgz";
-      sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ee-first"."1.1.1" =
-    self.by-version."ee-first"."1.1.1";
-  by-version."ee-first"."1.1.1" = self.buildNodePackage {
-    name = "ee-first-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
-      name = "ee-first-1.1.1.tgz";
-      sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."emitter"."http://github.com/component/emitter/archive/1.0.1.tar.gz" =
-    self.by-version."emitter"."1.0.1";
-  by-version."emitter"."1.0.1" = self.buildNodePackage {
-    name = "emitter-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://github.com/component/emitter/archive/1.0.1.tar.gz";
-      name = "emitter-1.0.1.tgz";
-      sha256 = "0eae744826723877457f7a7ac7f31d68a5a060673b3a883f6a8e325bf48f313d";
-    };
-    deps = {
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."engine.io"."1.3.1" =
-    self.by-version."engine.io"."1.3.1";
-  by-version."engine.io"."1.3.1" = self.buildNodePackage {
-    name = "engine.io-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/engine.io/-/engine.io-1.3.1.tgz";
-      name = "engine.io-1.3.1.tgz";
-      sha1 = "2d968308fffae5d17f5209b6775246e90d8a705e";
-    };
-    deps = {
-      "debug-0.6.0" = self.by-version."debug"."0.6.0";
-      "ws-0.4.31" = self.by-version."ws"."0.4.31";
-      "engine.io-parser-1.0.6" = self.by-version."engine.io-parser"."1.0.6";
-      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."engine.io-client"."1.3.1" =
-    self.by-version."engine.io-client"."1.3.1";
-  by-version."engine.io-client"."1.3.1" = self.buildNodePackage {
-    name = "engine.io-client-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/engine.io-client/-/engine.io-client-1.3.1.tgz";
-      name = "engine.io-client-1.3.1.tgz";
-      sha1 = "1c5a65d5c5af6d04b44c22c3dbcd95c39ed1c989";
-    };
-    deps = {
-      "has-cors-1.0.3" = self.by-version."has-cors"."1.0.3";
-      "ws-0.4.31" = self.by-version."ws"."0.4.31";
-      "xmlhttprequest-1.5.0" = self.by-version."xmlhttprequest"."1.5.0";
-      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-      "engine.io-parser-1.0.6" = self.by-version."engine.io-parser"."1.0.6";
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "parseuri-0.0.2" = self.by-version."parseuri"."0.0.2";
-      "parsejson-0.0.1" = self.by-version."parsejson"."0.0.1";
-      "parseqs-0.0.2" = self.by-version."parseqs"."0.0.2";
-      "component-inherit-0.0.3" = self.by-version."component-inherit"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."engine.io-parser"."1.0.6" =
-    self.by-version."engine.io-parser"."1.0.6";
-  by-version."engine.io-parser"."1.0.6" = self.buildNodePackage {
-    name = "engine.io-parser-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.0.6.tgz";
-      name = "engine.io-parser-1.0.6.tgz";
-      sha1 = "d38813143a411cb3b914132ab05bf99e6f7a248e";
-    };
-    deps = {
-      "base64-arraybuffer-0.1.2" = self.by-version."base64-arraybuffer"."0.1.2";
-      "after-0.8.1" = self.by-version."after"."0.8.1";
-      "arraybuffer.slice-0.0.6" = self.by-version."arraybuffer.slice"."0.0.6";
-      "blob-0.0.2" = self.by-version."blob"."0.0.2";
-      "utf8-2.0.0" = self.by-version."utf8"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."entities"."1.0" =
-    self.by-version."entities"."1.0.0";
-  by-version."entities"."1.0.0" = self.buildNodePackage {
-    name = "entities-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
-      name = "entities-1.0.0.tgz";
-      sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."entities"."~1.1.1" =
-    self.by-version."entities"."1.1.1";
-  by-version."entities"."1.1.1" = self.buildNodePackage {
-    name = "entities-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
-      name = "entities-1.1.1.tgz";
-      sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-html"."1.0.2" =
-    self.by-version."escape-html"."1.0.2";
-  by-version."escape-html"."1.0.2" = self.buildNodePackage {
-    name = "escape-html-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz";
-      name = "escape-html-1.0.2.tgz";
-      sha1 = "d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-string-regexp"."1.0.2" =
-    self.by-version."escape-string-regexp"."1.0.2";
-  by-version."escape-string-regexp"."1.0.2" = self.buildNodePackage {
-    name = "escape-string-regexp-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz";
-      name = "escape-string-regexp-1.0.2.tgz";
-      sha1 = "4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-string-regexp"."^1.0.0" =
-    self.by-version."escape-string-regexp"."1.0.3";
-  by-version."escape-string-regexp"."1.0.3" = self.buildNodePackage {
-    name = "escape-string-regexp-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.3.tgz";
-      name = "escape-string-regexp-1.0.3.tgz";
-      sha1 = "9e2d8b25bc2555c3336723750e03f099c2735bb5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-string-regexp"."^1.0.2" =
-    self.by-version."escape-string-regexp"."1.0.3";
-  by-spec."esprima"."~ 1.0.2" =
-    self.by-version."esprima"."1.0.4";
-  by-version."esprima"."1.0.4" = self.buildNodePackage {
-    name = "esprima-1.0.4";
-    version = "1.0.4";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-      name = "esprima-1.0.4.tgz";
-      sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."etag"."~1.7.0" =
-    self.by-version."etag"."1.7.0";
-  by-version."etag"."1.7.0" = self.buildNodePackage {
-    name = "etag-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/etag/-/etag-1.7.0.tgz";
-      name = "etag-1.7.0.tgz";
-      sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."event-stream"."^3.1.7" =
-    self.by-version."event-stream"."3.3.1";
-  by-version."event-stream"."3.3.1" = self.buildNodePackage {
-    name = "event-stream-3.3.1";
-    version = "3.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/event-stream/-/event-stream-3.3.1.tgz";
-      name = "event-stream-3.3.1.tgz";
-      sha1 = "b8cf6c00119181e688f335363daa7915ce890bdb";
-    };
-    deps = {
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
-      "from-0.1.3" = self.by-version."from"."0.1.3";
-      "map-stream-0.1.0" = self.by-version."map-stream"."0.1.0";
-      "pause-stream-0.0.11" = self.by-version."pause-stream"."0.0.11";
-      "split-0.3.3" = self.by-version."split"."0.3.3";
-      "stream-combiner-0.0.4" = self.by-version."stream-combiner"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "event-stream" = self.by-version."event-stream"."3.3.1";
-  by-spec."eventemitter2"."~0.4.13" =
-    self.by-version."eventemitter2"."0.4.14";
-  by-version."eventemitter2"."0.4.14" = self.buildNodePackage {
-    name = "eventemitter2-0.4.14";
-    version = "0.4.14";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
-      name = "eventemitter2-0.4.14.tgz";
-      sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."exit"."~0.1.1" =
-    self.by-version."exit"."0.1.2";
-  by-version."exit"."0.1.2" = self.buildNodePackage {
-    name = "exit-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
-      name = "exit-0.1.2.tgz";
-      sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."^4.9.5" =
-    self.by-version."express"."4.13.1";
-  by-version."express"."4.13.1" = self.buildNodePackage {
-    name = "express-4.13.1";
-    version = "4.13.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/express/-/express-4.13.1.tgz";
-      name = "express-4.13.1.tgz";
-      sha1 = "f117aa1d1f6bedbc8de5b6d71fc31a5acd0f63df";
-    };
-    deps = {
-      "accepts-1.2.11" = self.by-version."accepts"."1.2.11";
-      "array-flatten-1.1.0" = self.by-version."array-flatten"."1.1.0";
-      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
-      "content-type-1.0.1" = self.by-version."content-type"."1.0.1";
-      "cookie-0.1.3" = self.by-version."cookie"."0.1.3";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "finalhandler-0.4.0" = self.by-version."finalhandler"."0.4.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "merge-descriptors-1.0.0" = self.by-version."merge-descriptors"."1.0.0";
-      "methods-1.1.1" = self.by-version."methods"."1.1.1";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "path-to-regexp-0.1.6" = self.by-version."path-to-regexp"."0.1.6";
-      "proxy-addr-1.0.8" = self.by-version."proxy-addr"."1.0.8";
-      "qs-4.0.0" = self.by-version."qs"."4.0.0";
-      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
-      "send-0.13.0" = self.by-version."send"."0.13.0";
-      "serve-static-1.10.0" = self.by-version."serve-static"."1.10.0";
-      "type-is-1.6.5" = self.by-version."type-is"."1.6.5";
-      "vary-1.0.1" = self.by-version."vary"."1.0.1";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "express" = self.by-version."express"."4.13.1";
-  by-spec."extend"."~3.0.0" =
-    self.by-version."extend"."3.0.0";
-  by-version."extend"."3.0.0" = self.buildNodePackage {
-    name = "extend-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
-      name = "extend-3.0.0.tgz";
-      sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."faye-websocket"."~0.4.3" =
-    self.by-version."faye-websocket"."0.4.4";
-  by-version."faye-websocket"."0.4.4" = self.buildNodePackage {
-    name = "faye-websocket-0.4.4";
-    version = "0.4.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/faye-websocket/-/faye-websocket-0.4.4.tgz";
-      name = "faye-websocket-0.4.4.tgz";
-      sha1 = "c14c5b3bf14d7417ffbfd990c0a7495cd9f337bc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."figures"."^1.0.1" =
-    self.by-version."figures"."1.3.5";
-  by-version."figures"."1.3.5" = self.buildNodePackage {
-    name = "figures-1.3.5";
-    version = "1.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/figures/-/figures-1.3.5.tgz";
-      name = "figures-1.3.5.tgz";
-      sha1 = "d1a31f4e1d2c2938ecde5c06aa16134cf29f4771";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."finalhandler"."0.4.0" =
-    self.by-version."finalhandler"."0.4.0";
-  by-version."finalhandler"."0.4.0" = self.buildNodePackage {
-    name = "finalhandler-0.4.0";
-    version = "0.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz";
-      name = "finalhandler-0.4.0.tgz";
-      sha1 = "965a52d9e8d05d2b857548541fb89b53a2497d9b";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."findup-sync"."~0.1.2" =
-    self.by-version."findup-sync"."0.1.3";
-  by-version."findup-sync"."0.1.3" = self.buildNodePackage {
-    name = "findup-sync-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
-      name = "findup-sync-0.1.3.tgz";
-      sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
-    };
-    deps = {
-      "glob-3.2.11" = self.by-version."glob"."3.2.11";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."forever-agent"."~0.6.0" =
-    self.by-version."forever-agent"."0.6.1";
-  by-version."forever-agent"."0.6.1" = self.buildNodePackage {
-    name = "forever-agent-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
-      name = "forever-agent-0.6.1.tgz";
-      sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."form-data"."~1.0.0-rc1" =
-    self.by-version."form-data"."1.0.0-rc2";
-  by-version."form-data"."1.0.0-rc2" = self.buildNodePackage {
-    name = "form-data-1.0.0-rc2";
-    version = "1.0.0-rc2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/form-data/-/form-data-1.0.0-rc2.tgz";
-      name = "form-data-1.0.0-rc2.tgz";
-      sha1 = "5bc9c9b3dd3dec1977b0abf58790192081d95235";
-    };
-    deps = {
-      "async-1.4.0" = self.by-version."async"."1.4.0";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "mime-types-2.1.3" = self.by-version."mime-types"."2.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."forwarded"."~0.1.0" =
-    self.by-version."forwarded"."0.1.0";
-  by-version."forwarded"."0.1.0" = self.buildNodePackage {
-    name = "forwarded-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
-      name = "forwarded-0.1.0.tgz";
-      sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fresh"."0.3.0" =
-    self.by-version."fresh"."0.3.0";
-  by-version."fresh"."0.3.0" = self.buildNodePackage {
-    name = "fresh-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz";
-      name = "fresh-0.3.0.tgz";
-      sha1 = "651f838e22424e7566de161d8358caa199f83d4f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."from"."~0" =
-    self.by-version."from"."0.1.3";
-  by-version."from"."0.1.3" = self.buildNodePackage {
-    name = "from-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/from/-/from-0.1.3.tgz";
-      name = "from-0.1.3.tgz";
-      sha1 = "ef63ac2062ac32acf7862e0d40b44b896f22f3bc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gaze"."~0.5.1" =
-    self.by-version."gaze"."0.5.1";
-  by-version."gaze"."0.5.1" = self.buildNodePackage {
-    name = "gaze-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/gaze/-/gaze-0.5.1.tgz";
-      name = "gaze-0.5.1.tgz";
-      sha1 = "22e731078ef3e49d1c4ab1115ac091192051824c";
-    };
-    deps = {
-      "globule-0.1.0" = self.by-version."globule"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."generate-function"."^2.0.0" =
-    self.by-version."generate-function"."2.0.0";
-  by-version."generate-function"."2.0.0" = self.buildNodePackage {
-    name = "generate-function-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
-      name = "generate-function-2.0.0.tgz";
-      sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."generate-object-property"."^1.1.0" =
-    self.by-version."generate-object-property"."1.2.0";
-  by-version."generate-object-property"."1.2.0" = self.buildNodePackage {
-    name = "generate-object-property-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
-      name = "generate-object-property-1.2.0.tgz";
-      sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
-    };
-    deps = {
-      "is-property-1.0.2" = self.by-version."is-property"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."getobject"."~0.1.0" =
-    self.by-version."getobject"."0.1.0";
-  by-version."getobject"."0.1.0" = self.buildNodePackage {
-    name = "getobject-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
-      name = "getobject-0.1.0.tgz";
-      sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."3.2.3" =
-    self.by-version."glob"."3.2.3";
-  by-version."glob"."3.2.3" = self.buildNodePackage {
-    name = "glob-3.2.3";
-    version = "3.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/glob/-/glob-3.2.3.tgz";
-      name = "glob-3.2.3.tgz";
-      sha1 = "e313eeb249c7affaa5c475286b0e115b59839467";
-    };
-    deps = {
-      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
-      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."~3.1.21" =
-    self.by-version."glob"."3.1.21";
-  by-version."glob"."3.1.21" = self.buildNodePackage {
-    name = "glob-3.1.21";
-    version = "3.1.21";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
-      name = "glob-3.1.21.tgz";
-      sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
-    };
-    deps = {
-      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
-      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
-      "inherits-1.0.0" = self.by-version."inherits"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."~3.2.9" =
-    self.by-version."glob"."3.2.11";
-  by-version."glob"."3.2.11" = self.buildNodePackage {
-    name = "glob-3.2.11";
-    version = "3.2.11";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
-      name = "glob-3.2.11.tgz";
-      sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."global"."https://github.com/component/global/archive/v2.0.1.tar.gz" =
-    self.by-version."global"."2.0.1";
-  by-version."global"."2.0.1" = self.buildNodePackage {
-    name = "global-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://github.com/component/global/archive/v2.0.1.tar.gz";
-      name = "global-2.0.1.tgz";
-      sha256 = "42be02b7148745447f6ba21137c972ca82d2cad92d30d63bd4fc310623901785";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."globule"."~0.1.0" =
-    self.by-version."globule"."0.1.0";
-  by-version."globule"."0.1.0" = self.buildNodePackage {
-    name = "globule-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
-      name = "globule-0.1.0.tgz";
-      sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
-    };
-    deps = {
-      "lodash-1.0.2" = self.by-version."lodash"."1.0.2";
-      "glob-3.1.21" = self.by-version."glob"."3.1.21";
-      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-fs"."~1.2.0" =
-    self.by-version."graceful-fs"."1.2.3";
-  by-version."graceful-fs"."1.2.3" = self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    version = "1.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-      name = "graceful-fs-1.2.3.tgz";
-      sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-fs"."~2.0.0" =
-    self.by-version."graceful-fs"."2.0.3";
-  by-version."graceful-fs"."2.0.3" = self.buildNodePackage {
-    name = "graceful-fs-2.0.3";
-    version = "2.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
-      name = "graceful-fs-2.0.3.tgz";
-      sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-readlink".">= 1.0.0" =
-    self.by-version."graceful-readlink"."1.0.1";
-  by-version."graceful-readlink"."1.0.1" = self.buildNodePackage {
-    name = "graceful-readlink-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-      name = "graceful-readlink-1.0.1.tgz";
-      sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."growl"."1.8.1" =
-    self.by-version."growl"."1.8.1";
-  by-version."growl"."1.8.1" = self.buildNodePackage {
-    name = "growl-1.8.1";
-    version = "1.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/growl/-/growl-1.8.1.tgz";
-      name = "growl-1.8.1.tgz";
-      sha1 = "4b2dec8d907e93db336624dcec0183502f8c9428";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt"."~0.4.0" =
-    self.by-version."grunt"."0.4.5";
-  by-version."grunt"."0.4.5" = self.buildNodePackage {
-    name = "grunt-0.4.5";
-    version = "0.4.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz";
-      name = "grunt-0.4.5.tgz";
-      sha1 = "56937cd5194324adff6d207631832a9d6ba4e7f0";
-    };
-    deps = {
-      "async-0.1.22" = self.by-version."async"."0.1.22";
-      "coffee-script-1.3.3" = self.by-version."coffee-script"."1.3.3";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "dateformat-1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3";
-      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
-      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
-      "glob-3.1.21" = self.by-version."glob"."3.1.21";
-      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
-      "iconv-lite-0.2.11" = self.by-version."iconv-lite"."0.2.11";
-      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
-      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
-      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
-      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
-      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
-      "which-1.0.9" = self.by-version."which"."1.0.9";
-      "js-yaml-2.0.5" = self.by-version."js-yaml"."2.0.5";
-      "exit-0.1.2" = self.by-version."exit"."0.1.2";
-      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
-      "grunt-legacy-util-0.2.0" = self.by-version."grunt-legacy-util"."0.2.0";
-      "grunt-legacy-log-0.1.2" = self.by-version."grunt-legacy-log"."0.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt"."~0.4.5" =
-    self.by-version."grunt"."0.4.5";
-  "grunt" = self.by-version."grunt"."0.4.5";
-  by-spec."grunt-contrib-uglify"."~0.5.0" =
-    self.by-version."grunt-contrib-uglify"."0.5.1";
-  by-version."grunt-contrib-uglify"."0.5.1" = self.buildNodePackage {
-    name = "grunt-contrib-uglify-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-0.5.1.tgz";
-      name = "grunt-contrib-uglify-0.5.1.tgz";
-      sha1 = "15f0aa5e8e8ba421aea980879ee505bc712b6cde";
-    };
-    deps = {
-      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-      "maxmin-0.2.2" = self.by-version."maxmin"."0.2.2";
-      "uglify-js-2.4.24" = self.by-version."uglify-js"."2.4.24";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."grunt"."0.4.5"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."0.5.1";
-  by-spec."grunt-contrib-watch"."^0.6.1" =
-    self.by-version."grunt-contrib-watch"."0.6.1";
-  by-version."grunt-contrib-watch"."0.6.1" = self.buildNodePackage {
-    name = "grunt-contrib-watch-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/grunt-contrib-watch/-/grunt-contrib-watch-0.6.1.tgz";
-      name = "grunt-contrib-watch-0.6.1.tgz";
-      sha1 = "64fdcba25a635f5b4da1b6ce6f90da0aeb6e3f15";
-    };
-    deps = {
-      "gaze-0.5.1" = self.by-version."gaze"."0.5.1";
-      "tiny-lr-fork-0.0.5" = self.by-version."tiny-lr-fork"."0.0.5";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."grunt"."0.4.5"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-contrib-watch" = self.by-version."grunt-contrib-watch"."0.6.1";
-  by-spec."grunt-legacy-log"."~0.1.0" =
-    self.by-version."grunt-legacy-log"."0.1.2";
-  by-version."grunt-legacy-log"."0.1.2" = self.buildNodePackage {
-    name = "grunt-legacy-log-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.2.tgz";
-      name = "grunt-legacy-log-0.1.2.tgz";
-      sha1 = "15ee03b61e262e1b36f13762d967923cd1ce515e";
-    };
-    deps = {
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "grunt-legacy-log-utils-0.1.1" = self.by-version."grunt-legacy-log-utils"."0.1.1";
-      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-legacy-log-utils"."^0.1.1" =
-    self.by-version."grunt-legacy-log-utils"."0.1.1";
-  by-version."grunt-legacy-log-utils"."0.1.1" = self.buildNodePackage {
-    name = "grunt-legacy-log-utils-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz";
-      name = "grunt-legacy-log-utils-0.1.1.tgz";
-      sha1 = "c0706b9dd9064e116f36f23fe4e6b048672c0f7e";
-    };
-    deps = {
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-legacy-util"."~0.2.0" =
-    self.by-version."grunt-legacy-util"."0.2.0";
-  by-version."grunt-legacy-util"."0.2.0" = self.buildNodePackage {
-    name = "grunt-legacy-util-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
-      name = "grunt-legacy-util-0.2.0.tgz";
-      sha1 = "93324884dbf7e37a9ff7c026dff451d94a9e554b";
-    };
-    deps = {
-      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
-      "async-0.1.22" = self.by-version."async"."0.1.22";
-      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
-      "exit-0.1.2" = self.by-version."exit"."0.1.2";
-      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
-      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
-      "which-1.0.9" = self.by-version."which"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gzip-size"."^0.2.0" =
-    self.by-version."gzip-size"."0.2.0";
-  by-version."gzip-size"."0.2.0" = self.buildNodePackage {
-    name = "gzip-size-0.2.0";
-    version = "0.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/gzip-size/-/gzip-size-0.2.0.tgz";
-      name = "gzip-size-0.2.0.tgz";
-      sha1 = "e3a2a191205fe56ee326f5c271435dfaecfb3e1c";
-    };
-    deps = {
-      "concat-stream-1.5.0" = self.by-version."concat-stream"."1.5.0";
-      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."handlebars"."^2.0.0" =
-    self.by-version."handlebars"."2.0.0";
-  by-version."handlebars"."2.0.0" = self.buildNodePackage {
-    name = "handlebars-2.0.0";
-    version = "2.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz";
-      name = "handlebars-2.0.0.tgz";
-      sha1 = "6e9d7f8514a3467fa5e9f82cc158ecfc1d5ac76f";
-    };
-    deps = {
-      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
-    };
-    optionalDependencies = {
-      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "handlebars" = self.by-version."handlebars"."2.0.0";
-  by-spec."har-validator"."^1.6.1" =
-    self.by-version."har-validator"."1.8.0";
-  by-version."har-validator"."1.8.0" = self.buildNodePackage {
-    name = "har-validator-1.8.0";
-    version = "1.8.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz";
-      name = "har-validator-1.8.0.tgz";
-      sha1 = "d83842b0eb4c435960aeb108a067a3aa94c0eeb2";
-    };
-    deps = {
-      "bluebird-2.9.34" = self.by-version."bluebird"."2.9.34";
-      "chalk-1.1.0" = self.by-version."chalk"."1.1.0";
-      "commander-2.8.1" = self.by-version."commander"."2.8.1";
-      "is-my-json-valid-2.12.1" = self.by-version."is-my-json-valid"."2.12.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-ansi"."^0.1.0" =
-    self.by-version."has-ansi"."0.1.0";
-  by-version."has-ansi"."0.1.0" = self.buildNodePackage {
-    name = "has-ansi-0.1.0";
-    version = "0.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
-      name = "has-ansi-0.1.0.tgz";
-      sha1 = "84f265aae8c0e6a88a12d7022894b7568894c62e";
-    };
-    deps = {
-      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-ansi"."^2.0.0" =
-    self.by-version."has-ansi"."2.0.0";
-  by-version."has-ansi"."2.0.0" = self.buildNodePackage {
-    name = "has-ansi-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
-      name = "has-ansi-2.0.0.tgz";
-      sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
-    };
-    deps = {
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-binary-data"."0.1.1" =
-    self.by-version."has-binary-data"."0.1.1";
-  by-version."has-binary-data"."0.1.1" = self.buildNodePackage {
-    name = "has-binary-data-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/has-binary-data/-/has-binary-data-0.1.1.tgz";
-      name = "has-binary-data-0.1.1.tgz";
-      sha1 = "e10749fb87828a52df96f4086587eb4a03966439";
-    };
-    deps = {
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-cors"."1.0.3" =
-    self.by-version."has-cors"."1.0.3";
-  by-version."has-cors"."1.0.3" = self.buildNodePackage {
-    name = "has-cors-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/has-cors/-/has-cors-1.0.3.tgz";
-      name = "has-cors-1.0.3.tgz";
-      sha1 = "502acb9b3104dac33dd2630eaf2f888b0baf4cb3";
-    };
-    deps = {
-      "global-2.0.1" = self.by-version."global"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hawk"."~3.1.0" =
-    self.by-version."hawk"."3.1.0";
-  by-version."hawk"."3.1.0" = self.buildNodePackage {
-    name = "hawk-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/hawk/-/hawk-3.1.0.tgz";
-      name = "hawk-3.1.0.tgz";
-      sha1 = "8a13ae19977ec607602f3f0b9fd676f18c384e44";
-    };
-    deps = {
-      "hoek-2.14.0" = self.by-version."hoek"."2.14.0";
-      "boom-2.8.0" = self.by-version."boom"."2.8.0";
-      "cryptiles-2.0.4" = self.by-version."cryptiles"."2.0.4";
-      "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hoek"."2.x.x" =
-    self.by-version."hoek"."2.14.0";
-  by-version."hoek"."2.14.0" = self.buildNodePackage {
-    name = "hoek-2.14.0";
-    version = "2.14.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/hoek/-/hoek-2.14.0.tgz";
-      name = "hoek-2.14.0.tgz";
-      sha1 = "81211691f52a5a835ae49edbf1e89c9003476aa4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hooker"."~0.2.3" =
-    self.by-version."hooker"."0.2.3";
-  by-version."hooker"."0.2.3" = self.buildNodePackage {
-    name = "hooker-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
-      name = "hooker-0.2.3.tgz";
-      sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."htmlparser2"."~3.7.2" =
-    self.by-version."htmlparser2"."3.7.3";
-  by-version."htmlparser2"."3.7.3" = self.buildNodePackage {
-    name = "htmlparser2-3.7.3";
-    version = "3.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz";
-      name = "htmlparser2-3.7.3.tgz";
-      sha1 = "6a64c77637c08c6f30ec2a8157a53333be7cb05e";
-    };
-    deps = {
-      "domhandler-2.2.1" = self.by-version."domhandler"."2.2.1";
-      "domutils-1.5.1" = self.by-version."domutils"."1.5.1";
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-      "readable-stream-1.1.13" = self.by-version."readable-stream"."1.1.13";
-      "entities-1.0.0" = self.by-version."entities"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-errors"."~1.3.1" =
-    self.by-version."http-errors"."1.3.1";
-  by-version."http-errors"."1.3.1" = self.buildNodePackage {
-    name = "http-errors-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz";
-      name = "http-errors-1.3.1.tgz";
-      sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-signature"."~0.11.0" =
-    self.by-version."http-signature"."0.11.0";
-  by-version."http-signature"."0.11.0" = self.buildNodePackage {
-    name = "http-signature-0.11.0";
-    version = "0.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz";
-      name = "http-signature-0.11.0.tgz";
-      sha1 = "1796cf67a001ad5cd6849dca0991485f09089fe6";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
-      "ctype-0.5.3" = self.by-version."ctype"."0.5.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iconv-lite"."~0.2.11" =
-    self.by-version."iconv-lite"."0.2.11";
-  by-version."iconv-lite"."0.2.11" = self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
-    version = "0.2.11";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-      name = "iconv-lite-0.2.11.tgz";
-      sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."indexof"."0.0.1" =
-    self.by-version."indexof"."0.0.1";
-  by-version."indexof"."0.0.1" = self.buildNodePackage {
-    name = "indexof-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
-      name = "indexof-0.0.1.tgz";
-      sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inherits"."1" =
-    self.by-version."inherits"."1.0.0";
-  by-version."inherits"."1.0.0" = self.buildNodePackage {
-    name = "inherits-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/inherits/-/inherits-1.0.0.tgz";
-      name = "inherits-1.0.0.tgz";
-      sha1 = "38e1975285bf1f7ba9c84da102bb12771322ac48";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inherits"."2" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = self.buildNodePackage {
-    name = "inherits-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-      name = "inherits-2.0.1.tgz";
-      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inherits"."~2.0.1" =
-    self.by-version."inherits"."2.0.1";
-  by-spec."ipaddr.js"."1.0.1" =
-    self.by-version."ipaddr.js"."1.0.1";
-  by-version."ipaddr.js"."1.0.1" = self.buildNodePackage {
-    name = "ipaddr.js-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.1.tgz";
-      name = "ipaddr.js-1.0.1.tgz";
-      sha1 = "5f38801dc73e0400fc7076386f6ed5215fbd8f95";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."irc-replies"."~2.0.0" =
-    self.by-version."irc-replies"."2.0.1";
-  by-version."irc-replies"."2.0.1" = self.buildNodePackage {
-    name = "irc-replies-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/irc-replies/-/irc-replies-2.0.1.tgz";
-      name = "irc-replies-2.0.1.tgz";
-      sha1 = "5bf4125fb6ec0f3929a89647b26e653232942b79";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-my-json-valid"."^2.12.0" =
-    self.by-version."is-my-json-valid"."2.12.1";
-  by-version."is-my-json-valid"."2.12.1" = self.buildNodePackage {
-    name = "is-my-json-valid-2.12.1";
-    version = "2.12.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.12.1.tgz";
-      name = "is-my-json-valid-2.12.1.tgz";
-      sha1 = "0ee5c19c9e93bae2760410cc72ef2798b52cc871";
-    };
-    deps = {
-      "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0";
-      "generate-object-property-1.2.0" = self.by-version."generate-object-property"."1.2.0";
-      "jsonpointer-1.1.0" = self.by-version."jsonpointer"."1.1.0";
-      "xtend-4.0.0" = self.by-version."xtend"."4.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-property"."^1.0.0" =
-    self.by-version."is-property"."1.0.2";
-  by-version."is-property"."1.0.2" = self.buildNodePackage {
-    name = "is-property-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
-      name = "is-property-1.0.2.tgz";
-      sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isarray"."0.0.1" =
-    self.by-version."isarray"."0.0.1";
-  by-version."isarray"."0.0.1" = self.buildNodePackage {
-    name = "isarray-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
-      name = "isarray-0.0.1.tgz";
-      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isstream"."~0.1.1" =
-    self.by-version."isstream"."0.1.2";
-  by-version."isstream"."0.1.2" = self.buildNodePackage {
-    name = "isstream-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
-      name = "isstream-0.1.2.tgz";
-      sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jade"."0.26.3" =
-    self.by-version."jade"."0.26.3";
-  by-version."jade"."0.26.3" = self.buildNodePackage {
-    name = "jade-0.26.3";
-    version = "0.26.3";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
-      name = "jade-0.26.3.tgz";
-      sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
-    };
-    deps = {
-      "commander-0.6.1" = self.by-version."commander"."0.6.1";
-      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."js-yaml"."~2.0.5" =
-    self.by-version."js-yaml"."2.0.5";
-  by-version."js-yaml"."2.0.5" = self.buildNodePackage {
-    name = "js-yaml-2.0.5";
-    version = "2.0.5";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
-      name = "js-yaml-2.0.5.tgz";
-      sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
-    };
-    deps = {
-      "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
-      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json-stringify-safe"."~5.0.0" =
-    self.by-version."json-stringify-safe"."5.0.1";
-  by-version."json-stringify-safe"."5.0.1" = self.buildNodePackage {
-    name = "json-stringify-safe-5.0.1";
-    version = "5.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-      name = "json-stringify-safe-5.0.1.tgz";
-      sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json3"."3.2.6" =
-    self.by-version."json3"."3.2.6";
-  by-version."json3"."3.2.6" = self.buildNodePackage {
-    name = "json3-3.2.6";
-    version = "3.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/json3/-/json3-3.2.6.tgz";
-      name = "json3-3.2.6.tgz";
-      sha1 = "f6efc93c06a04de9aec53053df2559bb19e2038b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonpointer"."^1.1.0" =
-    self.by-version."jsonpointer"."1.1.0";
-  by-version."jsonpointer"."1.1.0" = self.buildNodePackage {
-    name = "jsonpointer-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/jsonpointer/-/jsonpointer-1.1.0.tgz";
-      name = "jsonpointer-1.1.0.tgz";
-      sha1 = "c3c72efaed3b97154163dc01dd349e1cfe0f80fc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."linewise"."0.0.3" =
-    self.by-version."linewise"."0.0.3";
-  by-version."linewise"."0.0.3" = self.buildNodePackage {
-    name = "linewise-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/linewise/-/linewise-0.0.3.tgz";
-      name = "linewise-0.0.3.tgz";
-      sha1 = "bf967ba0dd31faaf09ab5bdb3676ad7f2aa18493";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."^2.4.1" =
-    self.by-version."lodash"."2.4.2";
-  by-version."lodash"."2.4.2" = self.buildNodePackage {
-    name = "lodash-2.4.2";
-    version = "2.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
-      name = "lodash-2.4.2.tgz";
-      sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."~0.9.2" =
-    self.by-version."lodash"."0.9.2";
-  by-version."lodash"."0.9.2" = self.buildNodePackage {
-    name = "lodash-0.9.2";
-    version = "0.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
-      name = "lodash-0.9.2.tgz";
-      sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."~1.0.1" =
-    self.by-version."lodash"."1.0.2";
-  by-version."lodash"."1.0.2" = self.buildNodePackage {
-    name = "lodash-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz";
-      name = "lodash-1.0.2.tgz";
-      sha1 = "8f57560c83b59fc270bd3d561b690043430e2551";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."~2.4.1" =
-    self.by-version."lodash"."2.4.2";
-  "lodash" = self.by-version."lodash"."2.4.2";
-  by-spec."lru-cache"."2" =
-    self.by-version."lru-cache"."2.6.5";
-  by-version."lru-cache"."2.6.5" = self.buildNodePackage {
-    name = "lru-cache-2.6.5";
-    version = "2.6.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/lru-cache/-/lru-cache-2.6.5.tgz";
-      name = "lru-cache-2.6.5.tgz";
-      sha1 = "e56d6354148ede8d7707b58d143220fd08df0fd5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."map-stream"."~0.1.0" =
-    self.by-version."map-stream"."0.1.0";
-  by-version."map-stream"."0.1.0" = self.buildNodePackage {
-    name = "map-stream-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz";
-      name = "map-stream-0.1.0.tgz";
-      sha1 = "e56aa94c4c8055a16404a0674b78f215f7c8e194";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."maxmin"."^0.2.0" =
-    self.by-version."maxmin"."0.2.2";
-  by-version."maxmin"."0.2.2" = self.buildNodePackage {
-    name = "maxmin-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/maxmin/-/maxmin-0.2.2.tgz";
-      name = "maxmin-0.2.2.tgz";
-      sha1 = "a36ced8cc22e3abcd108cfb797a3a4b40275593f";
-    };
-    deps = {
-      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
-      "figures-1.3.5" = self.by-version."figures"."1.3.5";
-      "gzip-size-0.2.0" = self.by-version."gzip-size"."0.2.0";
-      "pretty-bytes-0.1.2" = self.by-version."pretty-bytes"."0.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."media-typer"."0.3.0" =
-    self.by-version."media-typer"."0.3.0";
-  by-version."media-typer"."0.3.0" = self.buildNodePackage {
-    name = "media-typer-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
-      name = "media-typer-0.3.0.tgz";
-      sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."merge-descriptors"."1.0.0" =
-    self.by-version."merge-descriptors"."1.0.0";
-  by-version."merge-descriptors"."1.0.0" = self.buildNodePackage {
-    name = "merge-descriptors-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz";
-      name = "merge-descriptors-1.0.0.tgz";
-      sha1 = "2169cf7538e1b0cc87fb88e1502d8474bbf79864";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."methods"."~1.1.1" =
-    self.by-version."methods"."1.1.1";
-  by-version."methods"."1.1.1" = self.buildNodePackage {
-    name = "methods-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/methods/-/methods-1.1.1.tgz";
-      name = "methods-1.1.1.tgz";
-      sha1 = "17ea6366066d00c58e375b8ec7dfd0453c89822a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime"."1.3.4" =
-    self.by-version."mime"."1.3.4";
-  by-version."mime"."1.3.4" = self.buildNodePackage {
-    name = "mime-1.3.4";
-    version = "1.3.4";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-      name = "mime-1.3.4.tgz";
-      sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-db"."~1.15.0" =
-    self.by-version."mime-db"."1.15.0";
-  by-version."mime-db"."1.15.0" = self.buildNodePackage {
-    name = "mime-db-1.15.0";
-    version = "1.15.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mime-db/-/mime-db-1.15.0.tgz";
-      name = "mime-db-1.15.0.tgz";
-      sha1 = "d219e6214bbcae23a6fa69c0868c4fadc1405e8a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-types"."^2.1.1" =
-    self.by-version."mime-types"."2.1.3";
-  by-version."mime-types"."2.1.3" = self.buildNodePackage {
-    name = "mime-types-2.1.3";
-    version = "2.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mime-types/-/mime-types-2.1.3.tgz";
-      name = "mime-types-2.1.3.tgz";
-      sha1 = "f259849c7eb1f85b8f5f826187278a7f74f0c966";
-    };
-    deps = {
-      "mime-db-1.15.0" = self.by-version."mime-db"."1.15.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-types"."~2.1.2" =
-    self.by-version."mime-types"."2.1.3";
-  by-spec."mime-types"."~2.1.3" =
-    self.by-version."mime-types"."2.1.3";
-  by-spec."minimatch"."0.3" =
-    self.by-version."minimatch"."0.3.0";
-  by-version."minimatch"."0.3.0" = self.buildNodePackage {
-    name = "minimatch-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
-      name = "minimatch-0.3.0.tgz";
-      sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
-    };
-    deps = {
-      "lru-cache-2.6.5" = self.by-version."lru-cache"."2.6.5";
-      "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimatch"."~0.2.11" =
-    self.by-version."minimatch"."0.2.14";
-  by-version."minimatch"."0.2.14" = self.buildNodePackage {
-    name = "minimatch-0.2.14";
-    version = "0.2.14";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
-      name = "minimatch-0.2.14.tgz";
-      sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
-    };
-    deps = {
-      "lru-cache-2.6.5" = self.by-version."lru-cache"."2.6.5";
-      "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimatch"."~0.2.12" =
-    self.by-version."minimatch"."0.2.14";
-  by-spec."minimist"."0.0.8" =
-    self.by-version."minimist"."0.0.8";
-  by-version."minimist"."0.0.8" = self.buildNodePackage {
-    name = "minimist-0.0.8";
-    version = "0.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-      name = "minimist-0.0.8.tgz";
-      sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.3.0" =
-    self.by-version."mkdirp"."0.3.0";
-  by-version."mkdirp"."0.3.0" = self.buildNodePackage {
-    name = "mkdirp-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
-      name = "mkdirp-0.3.0.tgz";
-      sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.5.0" =
-    self.by-version."mkdirp"."0.5.0";
-  by-version."mkdirp"."0.5.0" = self.buildNodePackage {
-    name = "mkdirp-0.5.0";
-    version = "0.5.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
-      name = "mkdirp-0.5.0.tgz";
-      sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
-    };
-    deps = {
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."^0.5.0" =
-    self.by-version."mkdirp"."0.5.1";
-  by-version."mkdirp"."0.5.1" = self.buildNodePackage {
-    name = "mkdirp-0.5.1";
-    version = "0.5.1";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-      name = "mkdirp-0.5.1.tgz";
-      sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
-    };
-    deps = {
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mkdirp" = self.by-version."mkdirp"."0.5.1";
-  by-spec."mocha"."~2.0.1" =
-    self.by-version."mocha"."2.0.1";
-  by-version."mocha"."2.0.1" = self.buildNodePackage {
-    name = "mocha-2.0.1";
-    version = "2.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mocha/-/mocha-2.0.1.tgz";
-      name = "mocha-2.0.1.tgz";
-      sha1 = "5a16e88b856d0c4145d8c6888c27ebd4fab13e90";
-    };
-    deps = {
-      "commander-2.3.0" = self.by-version."commander"."2.3.0";
-      "debug-2.0.0" = self.by-version."debug"."2.0.0";
-      "diff-1.0.8" = self.by-version."diff"."1.0.8";
-      "escape-string-regexp-1.0.2" = self.by-version."escape-string-regexp"."1.0.2";
-      "glob-3.2.3" = self.by-version."glob"."3.2.3";
-      "growl-1.8.1" = self.by-version."growl"."1.8.1";
-      "jade-0.26.3" = self.by-version."jade"."0.26.3";
-      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mocha" = self.by-version."mocha"."2.0.1";
-  by-spec."moment"."~2.7.0" =
-    self.by-version."moment"."2.7.0";
-  by-version."moment"."2.7.0" = self.buildNodePackage {
-    name = "moment-2.7.0";
-    version = "2.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/moment/-/moment-2.7.0.tgz";
-      name = "moment-2.7.0.tgz";
-      sha1 = "359a19ec634cda3c706c8709adda54c0329aaec4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "moment" = self.by-version."moment"."2.7.0";
-  by-spec."ms"."0.6.2" =
-    self.by-version."ms"."0.6.2";
-  by-version."ms"."0.6.2" = self.buildNodePackage {
-    name = "ms-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
-      name = "ms-0.6.2.tgz";
-      sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ms"."0.7.1" =
-    self.by-version."ms"."0.7.1";
-  by-version."ms"."0.7.1" = self.buildNodePackage {
-    name = "ms-0.7.1";
-    version = "0.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
-      name = "ms-0.7.1.tgz";
-      sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mute-stream"."~0.0.4" =
-    self.by-version."mute-stream"."0.0.5";
-  by-version."mute-stream"."0.0.5" = self.buildNodePackage {
-    name = "mute-stream-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz";
-      name = "mute-stream-0.0.5.tgz";
-      sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."~0.3.0" =
-    self.by-version."nan"."0.3.2";
-  by-version."nan"."0.3.2" = self.buildNodePackage {
-    name = "nan-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/nan/-/nan-0.3.2.tgz";
-      name = "nan-0.3.2.tgz";
-      sha1 = "0df1935cab15369075ef160ad2894107aa14dc2d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."negotiator"."0.5.3" =
-    self.by-version."negotiator"."0.5.3";
-  by-version."negotiator"."0.5.3" = self.buildNodePackage {
-    name = "negotiator-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
-      name = "negotiator-0.5.3.tgz";
-      sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-uuid"."~1.4.0" =
-    self.by-version."node-uuid"."1.4.3";
-  by-version."node-uuid"."1.4.3" = self.buildNodePackage {
-    name = "node-uuid-1.4.3";
-    version = "1.4.3";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz";
-      name = "node-uuid-1.4.3.tgz";
-      sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nopt"."~1.0.10" =
-    self.by-version."nopt"."1.0.10";
-  by-version."nopt"."1.0.10" = self.buildNodePackage {
-    name = "nopt-1.0.10";
-    version = "1.0.10";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
-      name = "nopt-1.0.10.tgz";
-      sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nopt"."~2.0.0" =
-    self.by-version."nopt"."2.0.0";
-  by-version."nopt"."2.0.0" = self.buildNodePackage {
-    name = "nopt-2.0.0";
-    version = "2.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
-      name = "nopt-2.0.0.tgz";
-      sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."noptify"."~0.0.3" =
-    self.by-version."noptify"."0.0.3";
-  by-version."noptify"."0.0.3" = self.buildNodePackage {
-    name = "noptify-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/noptify/-/noptify-0.0.3.tgz";
-      name = "noptify-0.0.3.tgz";
-      sha1 = "58f654a73d9753df0c51d9686dc92104a67f4bbb";
-    };
-    deps = {
-      "nopt-2.0.0" = self.by-version."nopt"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth-sign"."~0.8.0" =
-    self.by-version."oauth-sign"."0.8.0";
-  by-version."oauth-sign"."0.8.0" = self.buildNodePackage {
-    name = "oauth-sign-0.8.0";
-    version = "0.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.0.tgz";
-      name = "oauth-sign-0.8.0.tgz";
-      sha1 = "938fdc875765ba527137d8aec9d178e24debc553";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object-component"."0.0.3" =
-    self.by-version."object-component"."0.0.3";
-  by-version."object-component"."0.0.3" = self.buildNodePackage {
-    name = "object-component-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz";
-      name = "object-component-0.0.3.tgz";
-      sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."on-finished"."~2.3.0" =
-    self.by-version."on-finished"."2.3.0";
-  by-version."on-finished"."2.3.0" = self.buildNodePackage {
-    name = "on-finished-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
-      name = "on-finished-2.3.0.tgz";
-      sha1 = "20f1336481b083cd75337992a16971aa2d906947";
-    };
-    deps = {
-      "ee-first-1.1.1" = self.by-version."ee-first"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optimist"."~0.3" =
-    self.by-version."optimist"."0.3.7";
-  by-version."optimist"."0.3.7" = self.buildNodePackage {
-    name = "optimist-0.3.7";
-    version = "0.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-      name = "optimist-0.3.7.tgz";
-      sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-    };
-    deps = {
-      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optimist"."~0.3.5" =
-    self.by-version."optimist"."0.3.7";
-  by-spec."options".">=0.0.5" =
-    self.by-version."options"."0.0.6";
-  by-version."options"."0.0.6" = self.buildNodePackage {
-    name = "options-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/options/-/options-0.0.6.tgz";
-      name = "options-0.0.6.tgz";
-      sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pako"."~0.2.0" =
-    self.by-version."pako"."0.2.7";
-  by-version."pako"."0.2.7" = self.buildNodePackage {
-    name = "pako-0.2.7";
-    version = "0.2.7";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pako/-/pako-0.2.7.tgz";
-      name = "pako-0.2.7.tgz";
-      sha1 = "90e8917affd5ee2b69dfe943ec16b783c4e0c441";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parsejson"."0.0.1" =
-    self.by-version."parsejson"."0.0.1";
-  by-version."parsejson"."0.0.1" = self.buildNodePackage {
-    name = "parsejson-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz";
-      name = "parsejson-0.0.1.tgz";
-      sha1 = "9b10c6c0d825ab589e685153826de0a3ba278bcc";
-    };
-    deps = {
-      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseqs"."0.0.2" =
-    self.by-version."parseqs"."0.0.2";
-  by-version."parseqs"."0.0.2" = self.buildNodePackage {
-    name = "parseqs-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz";
-      name = "parseqs-0.0.2.tgz";
-      sha1 = "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7";
-    };
-    deps = {
-      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseuri"."0.0.2" =
-    self.by-version."parseuri"."0.0.2";
-  by-version."parseuri"."0.0.2" = self.buildNodePackage {
-    name = "parseuri-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz";
-      name = "parseuri-0.0.2.tgz";
-      sha1 = "db41878f2d6964718be870b3140973d8093be156";
-    };
-    deps = {
-      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseurl"."~1.3.0" =
-    self.by-version."parseurl"."1.3.0";
-  by-version."parseurl"."1.3.0" = self.buildNodePackage {
-    name = "parseurl-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
-      name = "parseurl-1.3.0.tgz";
-      sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-to-regexp"."0.1.6" =
-    self.by-version."path-to-regexp"."0.1.6";
-  by-version."path-to-regexp"."0.1.6" = self.buildNodePackage {
-    name = "path-to-regexp-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.6.tgz";
-      name = "path-to-regexp-0.1.6.tgz";
-      sha1 = "f01fd5734047b6bfbc5f208c6135a33d7af09c36";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pause-stream"."0.0.11" =
-    self.by-version."pause-stream"."0.0.11";
-  by-version."pause-stream"."0.0.11" = self.buildNodePackage {
-    name = "pause-stream-0.0.11";
-    version = "0.0.11";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz";
-      name = "pause-stream-0.0.11.tgz";
-      sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
-    };
-    deps = {
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pretty-bytes"."^0.1.0" =
-    self.by-version."pretty-bytes"."0.1.2";
-  by-version."pretty-bytes"."0.1.2" = self.buildNodePackage {
-    name = "pretty-bytes-0.1.2";
-    version = "0.1.2";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/pretty-bytes/-/pretty-bytes-0.1.2.tgz";
-      name = "pretty-bytes-0.1.2.tgz";
-      sha1 = "cd90294d58a1ca4e8a5d0fb9c8225998881acf00";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."process-nextick-args"."~1.0.0" =
-    self.by-version."process-nextick-args"."1.0.2";
-  by-version."process-nextick-args"."1.0.2" = self.buildNodePackage {
-    name = "process-nextick-args-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.2.tgz";
-      name = "process-nextick-args-1.0.2.tgz";
-      sha1 = "8b4d3fc586668bd5b6573e732edf2b71c1c1d8aa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."proxy-addr"."~1.0.8" =
-    self.by-version."proxy-addr"."1.0.8";
-  by-version."proxy-addr"."1.0.8" = self.buildNodePackage {
-    name = "proxy-addr-1.0.8";
-    version = "1.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.8.tgz";
-      name = "proxy-addr-1.0.8.tgz";
-      sha1 = "db54ec878bcc1053d57646609219b3715678bafe";
-    };
-    deps = {
-      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
-      "ipaddr.js-1.0.1" = self.by-version."ipaddr.js"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."4.0.0" =
-    self.by-version."qs"."4.0.0";
-  by-version."qs"."4.0.0" = self.buildNodePackage {
-    name = "qs-4.0.0";
-    version = "4.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-4.0.0.tgz";
-      name = "qs-4.0.0.tgz";
-      sha1 = "c31d9b74ec27df75e543a86c78728ed8d4623607";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."~0.5.2" =
-    self.by-version."qs"."0.5.6";
-  by-version."qs"."0.5.6" = self.buildNodePackage {
-    name = "qs-0.5.6";
-    version = "0.5.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
-      name = "qs-0.5.6.tgz";
-      sha1 = "31b1ad058567651c526921506b9a8793911a0384";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."~4.0.0" =
-    self.by-version."qs"."4.0.0";
-  by-spec."range-parser"."~1.0.2" =
-    self.by-version."range-parser"."1.0.2";
-  by-version."range-parser"."1.0.2" = self.buildNodePackage {
-    name = "range-parser-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/range-parser/-/range-parser-1.0.2.tgz";
-      name = "range-parser-1.0.2.tgz";
-      sha1 = "06a12a42e5131ba8e457cd892044867f2344e549";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read"."^1.0.5" =
-    self.by-version."read"."1.0.6";
-  by-version."read"."1.0.6" = self.buildNodePackage {
-    name = "read-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/read/-/read-1.0.6.tgz";
-      name = "read-1.0.6.tgz";
-      sha1 = "09873c14ecc114d063fad43b8ca5a33d304721c8";
-    };
-    deps = {
-      "mute-stream-0.0.5" = self.by-version."mute-stream"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "read" = self.by-version."read"."1.0.6";
-  by-spec."readable-stream"."1.1" =
-    self.by-version."readable-stream"."1.1.13";
-  by-version."readable-stream"."1.1.13" = self.buildNodePackage {
-    name = "readable-stream-1.1.13";
-    version = "1.1.13";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.1.13.tgz";
-      name = "readable-stream-1.1.13.tgz";
-      sha1 = "f6eef764f514c89e2b9e23146a75ba106756d23e";
-    };
-    deps = {
-      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readable-stream"."~2.0.0" =
-    self.by-version."readable-stream"."2.0.2";
-  by-version."readable-stream"."2.0.2" = self.buildNodePackage {
-    name = "readable-stream-2.0.2";
-    version = "2.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/readable-stream/-/readable-stream-2.0.2.tgz";
-      name = "readable-stream-2.0.2.tgz";
-      sha1 = "bec81beae8cf455168bc2e5b2b31f5bcfaed9b1b";
-    };
-    deps = {
-      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "process-nextick-args-1.0.2" = self.by-version."process-nextick-args"."1.0.2";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "util-deprecate-1.0.1" = self.by-version."util-deprecate"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."^2.51.0" =
-    self.by-version."request"."2.60.0";
-  by-version."request"."2.60.0" = self.buildNodePackage {
-    name = "request-2.60.0";
-    version = "2.60.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/request/-/request-2.60.0.tgz";
-      name = "request-2.60.0.tgz";
-      sha1 = "498820957fcdded1d37749069610c85f61a29f2d";
-    };
-    deps = {
-      "bl-1.0.0" = self.by-version."bl"."1.0.0";
-      "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
-      "form-data-1.0.0-rc2" = self.by-version."form-data"."1.0.0-rc2";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-2.1.3" = self.by-version."mime-types"."2.1.3";
-      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
-      "qs-4.0.0" = self.by-version."qs"."4.0.0";
-      "tunnel-agent-0.4.1" = self.by-version."tunnel-agent"."0.4.1";
-      "tough-cookie-2.0.0" = self.by-version."tough-cookie"."2.0.0";
-      "http-signature-0.11.0" = self.by-version."http-signature"."0.11.0";
-      "oauth-sign-0.8.0" = self.by-version."oauth-sign"."0.8.0";
-      "hawk-3.1.0" = self.by-version."hawk"."3.1.0";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "har-validator-1.8.0" = self.by-version."har-validator"."1.8.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "request" = self.by-version."request"."2.60.0";
-  by-spec."rimraf"."~2.2.8" =
-    self.by-version."rimraf"."2.2.8";
-  by-version."rimraf"."2.2.8" = self.buildNodePackage {
-    name = "rimraf-2.2.8";
-    version = "2.2.8";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
-      name = "rimraf-2.2.8.tgz";
-      sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.13.0" =
-    self.by-version."send"."0.13.0";
-  by-version."send"."0.13.0" = self.buildNodePackage {
-    name = "send-0.13.0";
-    version = "0.13.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/send/-/send-0.13.0.tgz";
-      name = "send-0.13.0.tgz";
-      sha1 = "518f921aeb0560aec7dcab2990b14cf6f3cce5de";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
-      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "range-parser-1.0.2" = self.by-version."range-parser"."1.0.2";
-      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."serve-static"."~1.10.0" =
-    self.by-version."serve-static"."1.10.0";
-  by-version."serve-static"."1.10.0" = self.buildNodePackage {
-    name = "serve-static-1.10.0";
-    version = "1.10.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/serve-static/-/serve-static-1.10.0.tgz";
-      name = "serve-static-1.10.0.tgz";
-      sha1 = "be632faa685820e4a43ed3df1379135cc4f370d7";
-    };
-    deps = {
-      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "send-0.13.0" = self.by-version."send"."0.13.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sigmund"."~1.0.0" =
-    self.by-version."sigmund"."1.0.1";
-  by-version."sigmund"."1.0.1" = self.buildNodePackage {
-    name = "sigmund-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
-      name = "sigmund-1.0.1.tgz";
-      sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."slate-irc"."~0.7.3" =
-    self.by-version."slate-irc"."0.7.3";
-  by-version."slate-irc"."0.7.3" = self.buildNodePackage {
-    name = "slate-irc-0.7.3";
-    version = "0.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/slate-irc/-/slate-irc-0.7.3.tgz";
-      name = "slate-irc-0.7.3.tgz";
-      sha1 = "8d01f2bc809e00a5b2faca7d8d3130d155422a77";
-    };
-    deps = {
-      "irc-replies-2.0.1" = self.by-version."irc-replies"."2.0.1";
-      "slate-irc-parser-0.0.2" = self.by-version."slate-irc-parser"."0.0.2";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "slate-irc" = self.by-version."slate-irc"."0.7.3";
-  by-spec."slate-irc-parser"."0.0.2" =
-    self.by-version."slate-irc-parser"."0.0.2";
-  by-version."slate-irc-parser"."0.0.2" = self.buildNodePackage {
-    name = "slate-irc-parser-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/slate-irc-parser/-/slate-irc-parser-0.0.2.tgz";
-      name = "slate-irc-parser-0.0.2.tgz";
-      sha1 = "0c5f8f20d817bb85329da9fca135c66b05947d80";
-    };
-    deps = {
-      "linewise-0.0.3" = self.by-version."linewise"."0.0.3";
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sntp"."1.x.x" =
-    self.by-version."sntp"."1.0.9";
-  by-version."sntp"."1.0.9" = self.buildNodePackage {
-    name = "sntp-1.0.9";
-    version = "1.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
-      name = "sntp-1.0.9.tgz";
-      sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
-    };
-    deps = {
-      "hoek-2.14.0" = self.by-version."hoek"."2.14.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io"."~1.0.6" =
-    self.by-version."socket.io"."1.0.6";
-  by-version."socket.io"."1.0.6" = self.buildNodePackage {
-    name = "socket.io-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/socket.io/-/socket.io-1.0.6.tgz";
-      name = "socket.io-1.0.6.tgz";
-      sha1 = "b566532888dae3ac9058a12f294015ebdfa8084a";
-    };
-    deps = {
-      "engine.io-1.3.1" = self.by-version."engine.io"."1.3.1";
-      "socket.io-parser-2.2.0" = self.by-version."socket.io-parser"."2.2.0";
-      "socket.io-client-1.0.6" = self.by-version."socket.io-client"."1.0.6";
-      "socket.io-adapter-0.2.0" = self.by-version."socket.io-adapter"."0.2.0";
-      "has-binary-data-0.1.1" = self.by-version."has-binary-data"."0.1.1";
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "socket.io" = self.by-version."socket.io"."1.0.6";
-  by-spec."socket.io-adapter"."0.2.0" =
-    self.by-version."socket.io-adapter"."0.2.0";
-  by-version."socket.io-adapter"."0.2.0" = self.buildNodePackage {
-    name = "socket.io-adapter-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.2.0.tgz";
-      name = "socket.io-adapter-0.2.0.tgz";
-      sha1 = "bd39329b8961371787e24f345b074ec9cf000e33";
-    };
-    deps = {
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "socket.io-parser-2.1.2" = self.by-version."socket.io-parser"."2.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-client"."1.0.6" =
-    self.by-version."socket.io-client"."1.0.6";
-  by-version."socket.io-client"."1.0.6" = self.buildNodePackage {
-    name = "socket.io-client-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/socket.io-client/-/socket.io-client-1.0.6.tgz";
-      name = "socket.io-client-1.0.6.tgz";
-      sha1 = "c86cb3e507ab2f96da4500bd34fcf46a1e9dfe5e";
-    };
-    deps = {
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "engine.io-client-1.3.1" = self.by-version."engine.io-client"."1.3.1";
-      "component-bind-1.0.0" = self.by-version."component-bind"."1.0.0";
-      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
-      "object-component-0.0.3" = self.by-version."object-component"."0.0.3";
-      "socket.io-parser-2.2.0" = self.by-version."socket.io-parser"."2.2.0";
-      "has-binary-data-0.1.1" = self.by-version."has-binary-data"."0.1.1";
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-      "parseuri-0.0.2" = self.by-version."parseuri"."0.0.2";
-      "to-array-0.1.3" = self.by-version."to-array"."0.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-parser"."2.1.2" =
-    self.by-version."socket.io-parser"."2.1.2";
-  by-version."socket.io-parser"."2.1.2" = self.buildNodePackage {
-    name = "socket.io-parser-2.1.2";
-    version = "2.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.1.2.tgz";
-      name = "socket.io-parser-2.1.2.tgz";
-      sha1 = "876655b9edd555c5bdf7301cedf30a436c67b8b0";
-    };
-    deps = {
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "json3-3.2.6" = self.by-version."json3"."3.2.6";
-      "emitter-1.0.1" = self.by-version."emitter"."1.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-parser"."2.2.0" =
-    self.by-version."socket.io-parser"."2.2.0";
-  by-version."socket.io-parser"."2.2.0" = self.buildNodePackage {
-    name = "socket.io-parser-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.0.tgz";
-      name = "socket.io-parser-2.2.0.tgz";
-      sha1 = "2609601f59e6a7fab436a53be3d333fbbfcbd30a";
-    };
-    deps = {
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "json3-3.2.6" = self.by-version."json3"."3.2.6";
-      "emitter-1.0.1" = self.by-version."emitter"."1.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."0.1.34" =
-    self.by-version."source-map"."0.1.34";
-  by-version."source-map"."0.1.34" = self.buildNodePackage {
-    name = "source-map-0.1.34";
-    version = "0.1.34";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz";
-      name = "source-map-0.1.34.tgz";
-      sha1 = "a7cfe89aec7b1682c3b198d0acfb47d7d090566b";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."~0.1.7" =
-    self.by-version."source-map"."0.1.43";
-  by-version."source-map"."0.1.43" = self.buildNodePackage {
-    name = "source-map-0.1.43";
-    version = "0.1.43";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
-      name = "source-map-0.1.43.tgz";
-      sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."split"."0.3" =
-    self.by-version."split"."0.3.3";
-  by-version."split"."0.3.3" = self.buildNodePackage {
-    name = "split-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/split/-/split-0.3.3.tgz";
-      name = "split-0.3.3.tgz";
-      sha1 = "cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f";
-    };
-    deps = {
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."statuses"."1" =
-    self.by-version."statuses"."1.2.1";
-  by-version."statuses"."1.2.1" = self.buildNodePackage {
-    name = "statuses-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
-      name = "statuses-1.2.1.tgz";
-      sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."statuses"."~1.2.1" =
-    self.by-version."statuses"."1.2.1";
-  by-spec."stream-combiner"."~0.0.4" =
-    self.by-version."stream-combiner"."0.0.4";
-  by-version."stream-combiner"."0.0.4" = self.buildNodePackage {
-    name = "stream-combiner-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
-      name = "stream-combiner-0.0.4.tgz";
-      sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
-    };
-    deps = {
-      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string_decoder"."~0.10.x" =
-    self.by-version."string_decoder"."0.10.31";
-  by-version."string_decoder"."0.10.31" = self.buildNodePackage {
-    name = "string_decoder-0.10.31";
-    version = "0.10.31";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
-      name = "string_decoder-0.10.31.tgz";
-      sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stringstream"."~0.0.4" =
-    self.by-version."stringstream"."0.0.4";
-  by-version."stringstream"."0.0.4" = self.buildNodePackage {
-    name = "stringstream-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
-      name = "stringstream-0.0.4.tgz";
-      sha1 = "0f0e3423f942960b5692ac324a57dd093bc41a92";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-ansi"."^0.3.0" =
-    self.by-version."strip-ansi"."0.3.0";
-  by-version."strip-ansi"."0.3.0" = self.buildNodePackage {
-    name = "strip-ansi-0.3.0";
-    version = "0.3.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
-      name = "strip-ansi-0.3.0.tgz";
-      sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
-    };
-    deps = {
-      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-ansi"."^3.0.0" =
-    self.by-version."strip-ansi"."3.0.0";
-  by-version."strip-ansi"."3.0.0" = self.buildNodePackage {
-    name = "strip-ansi-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.0.tgz";
-      name = "strip-ansi-3.0.0.tgz";
-      sha1 = "7510b665567ca914ccb5d7e072763ac968be3724";
-    };
-    deps = {
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."supports-color"."^0.2.0" =
-    self.by-version."supports-color"."0.2.0";
-  by-version."supports-color"."0.2.0" = self.buildNodePackage {
-    name = "supports-color-0.2.0";
-    version = "0.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
-      name = "supports-color-0.2.0.tgz";
-      sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."supports-color"."^2.0.0" =
-    self.by-version."supports-color"."2.0.0";
-  by-version."supports-color"."2.0.0" = self.buildNodePackage {
-    name = "supports-color-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
-      name = "supports-color-2.0.0.tgz";
-      sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through"."2" =
-    self.by-version."through"."2.3.8";
-  by-version."through"."2.3.8" = self.buildNodePackage {
-    name = "through-2.3.8";
-    version = "2.3.8";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/through/-/through-2.3.8.tgz";
-      name = "through-2.3.8.tgz";
-      sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through"."~2.3" =
-    self.by-version."through"."2.3.8";
-  by-spec."through"."~2.3.1" =
-    self.by-version."through"."2.3.8";
-  by-spec."tiny-lr-fork"."0.0.5" =
-    self.by-version."tiny-lr-fork"."0.0.5";
-  by-version."tiny-lr-fork"."0.0.5" = self.buildNodePackage {
-    name = "tiny-lr-fork-0.0.5";
-    version = "0.0.5";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/tiny-lr-fork/-/tiny-lr-fork-0.0.5.tgz";
-      name = "tiny-lr-fork-0.0.5.tgz";
-      sha1 = "1e99e1e2a8469b736ab97d97eefa98c71f76ed0a";
-    };
-    deps = {
-      "qs-0.5.6" = self.by-version."qs"."0.5.6";
-      "faye-websocket-0.4.4" = self.by-version."faye-websocket"."0.4.4";
-      "noptify-0.0.3" = self.by-version."noptify"."0.0.3";
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tinycolor"."0.x" =
-    self.by-version."tinycolor"."0.0.1";
-  by-version."tinycolor"."0.0.1" = self.buildNodePackage {
-    name = "tinycolor-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
-      name = "tinycolor-0.0.1.tgz";
-      sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."to-array"."0.1.3" =
-    self.by-version."to-array"."0.1.3";
-  by-version."to-array"."0.1.3" = self.buildNodePackage {
-    name = "to-array-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/to-array/-/to-array-0.1.3.tgz";
-      name = "to-array-0.1.3.tgz";
-      sha1 = "d45dadc6363417f60f28474fea50ecddbb4f4991";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tough-cookie".">=0.12.0" =
-    self.by-version."tough-cookie"."2.0.0";
-  by-version."tough-cookie"."2.0.0" = self.buildNodePackage {
-    name = "tough-cookie-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-2.0.0.tgz";
-      name = "tough-cookie-2.0.0.tgz";
-      sha1 = "41ce08720b35cf90beb044dd2609fb19e928718f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tunnel-agent"."~0.4.0" =
-    self.by-version."tunnel-agent"."0.4.1";
-  by-version."tunnel-agent"."0.4.1" = self.buildNodePackage {
-    name = "tunnel-agent-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.1.tgz";
-      name = "tunnel-agent-0.4.1.tgz";
-      sha1 = "bbeecff4d679ce753db9462761a88dfcec3c5ab3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."type-is"."~1.6.4" =
-    self.by-version."type-is"."1.6.5";
-  by-version."type-is"."1.6.5" = self.buildNodePackage {
-    name = "type-is-1.6.5";
-    version = "1.6.5";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/type-is/-/type-is-1.6.5.tgz";
-      name = "type-is-1.6.5.tgz";
-      sha1 = "92129495c7b7563eaf923b447382c6c471f95de4";
-    };
-    deps = {
-      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "mime-types-2.1.3" = self.by-version."mime-types"."2.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."typedarray"."~0.0.5" =
-    self.by-version."typedarray"."0.0.6";
-  by-version."typedarray"."0.0.6" = self.buildNodePackage {
-    name = "typedarray-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
-      name = "typedarray-0.0.6.tgz";
-      sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-js"."^2.4.0" =
-    self.by-version."uglify-js"."2.4.24";
-  by-version."uglify-js"."2.4.24" = self.buildNodePackage {
-    name = "uglify-js-2.4.24";
-    version = "2.4.24";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz";
-      name = "uglify-js-2.4.24.tgz";
-      sha1 = "fad5755c1e1577658bb06ff9ab6e548c95bebd6e";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "source-map-0.1.34" = self.by-version."source-map"."0.1.34";
-      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
-      "yargs-3.5.4" = self.by-version."yargs"."3.5.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-js"."~2.3" =
-    self.by-version."uglify-js"."2.3.6";
-  by-version."uglify-js"."2.3.6" = self.buildNodePackage {
-    name = "uglify-js-2.3.6";
-    version = "2.3.6";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
-      name = "uglify-js-2.3.6.tgz";
-      sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-to-browserify"."~1.0.0" =
-    self.by-version."uglify-to-browserify"."1.0.2";
-  by-version."uglify-to-browserify"."1.0.2" = self.buildNodePackage {
-    name = "uglify-to-browserify-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
-      name = "uglify-to-browserify-1.0.2.tgz";
-      sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."~1.7.0" =
-    self.by-version."underscore"."1.7.0";
-  by-version."underscore"."1.7.0" = self.buildNodePackage {
-    name = "underscore-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
-      name = "underscore-1.7.0.tgz";
-      sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore.string"."~2.2.1" =
-    self.by-version."underscore.string"."2.2.1";
-  by-version."underscore.string"."2.2.1" = self.buildNodePackage {
-    name = "underscore.string-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
-      name = "underscore.string-2.2.1.tgz";
-      sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore.string"."~2.3.3" =
-    self.by-version."underscore.string"."2.3.3";
-  by-version."underscore.string"."2.3.3" = self.buildNodePackage {
-    name = "underscore.string-2.3.3";
-    version = "2.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
-      name = "underscore.string-2.3.3.tgz";
-      sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore.string"."~2.4.0" =
-    self.by-version."underscore.string"."2.4.0";
-  by-version."underscore.string"."2.4.0" = self.buildNodePackage {
-    name = "underscore.string-2.4.0";
-    version = "2.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz";
-      name = "underscore.string-2.4.0.tgz";
-      sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unpipe"."~1.0.0" =
-    self.by-version."unpipe"."1.0.0";
-  by-version."unpipe"."1.0.0" = self.buildNodePackage {
-    name = "unpipe-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
-      name = "unpipe-1.0.0.tgz";
-      sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utf8"."2.0.0" =
-    self.by-version."utf8"."2.0.0";
-  by-version."utf8"."2.0.0" = self.buildNodePackage {
-    name = "utf8-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/utf8/-/utf8-2.0.0.tgz";
-      name = "utf8-2.0.0.tgz";
-      sha1 = "79ce59eced874809cab9a71fc7102c7d45d4118d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."util-deprecate"."~1.0.1" =
-    self.by-version."util-deprecate"."1.0.1";
-  by-version."util-deprecate"."1.0.1" = self.buildNodePackage {
-    name = "util-deprecate-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.1.tgz";
-      name = "util-deprecate-1.0.1.tgz";
-      sha1 = "3556a3d13c4c6aa7983d7e2425478197199b7881";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utils-merge"."1.0.0" =
-    self.by-version."utils-merge"."1.0.0";
-  by-version."utils-merge"."1.0.0" = self.buildNodePackage {
-    name = "utils-merge-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
-      name = "utils-merge-1.0.0.tgz";
-      sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vary"."~1.0.0" =
-    self.by-version."vary"."1.0.1";
-  by-version."vary"."1.0.1" = self.buildNodePackage {
-    name = "vary-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/vary/-/vary-1.0.1.tgz";
-      name = "vary-1.0.1.tgz";
-      sha1 = "99e4981566a286118dfb2b817357df7993376d10";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."which"."~1.0.5" =
-    self.by-version."which"."1.0.9";
-  by-version."which"."1.0.9" = self.buildNodePackage {
-    name = "which-1.0.9";
-    version = "1.0.9";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/which/-/which-1.0.9.tgz";
-      name = "which-1.0.9.tgz";
-      sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."window-size"."0.1.0" =
-    self.by-version."window-size"."0.1.0";
-  by-version."window-size"."0.1.0" = self.buildNodePackage {
-    name = "window-size-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
-      name = "window-size-0.1.0.tgz";
-      sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap"."0.0.2" =
-    self.by-version."wordwrap"."0.0.2";
-  by-version."wordwrap"."0.0.2" = self.buildNodePackage {
-    name = "wordwrap-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-      name = "wordwrap-0.0.2.tgz";
-      sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap"."~0.0.2" =
-    self.by-version."wordwrap"."0.0.3";
-  by-version."wordwrap"."0.0.3" = self.buildNodePackage {
-    name = "wordwrap-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
-      name = "wordwrap-0.0.3.tgz";
-      sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ws"."0.4.31" =
-    self.by-version."ws"."0.4.31";
-  by-version."ws"."0.4.31" = self.buildNodePackage {
-    name = "ws-0.4.31";
-    version = "0.4.31";
-    bin = true;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/ws/-/ws-0.4.31.tgz";
-      name = "ws-0.4.31.tgz";
-      sha1 = "5a4849e7a9ccd1ed5a81aeb4847c9fedf3122927";
-    };
-    deps = {
-      "commander-0.6.1" = self.by-version."commander"."0.6.1";
-      "nan-0.3.2" = self.by-version."nan"."0.3.2";
-      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlhttprequest"."https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" =
-    self.by-version."xmlhttprequest"."1.5.0";
-  by-version."xmlhttprequest"."1.5.0" = self.buildNodePackage {
-    name = "xmlhttprequest-1.5.0";
-    version = "1.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz";
-      name = "xmlhttprequest-1.5.0.tgz";
-      sha256 = "28dd0394d85befe8be4e9cd9f6803102780c62cbb09298cb174b52ff9777624f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xtend"."^4.0.0" =
-    self.by-version."xtend"."4.0.0";
-  by-version."xtend"."4.0.0" = self.buildNodePackage {
-    name = "xtend-4.0.0";
-    version = "4.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/xtend/-/xtend-4.0.0.tgz";
-      name = "xtend-4.0.0.tgz";
-      sha1 = "8bc36ff87aedbe7ce9eaf0bca36b2354a743840f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yargs"."~3.5.4" =
-    self.by-version."yargs"."3.5.4";
-  by-version."yargs"."3.5.4" = self.buildNodePackage {
-    name = "yargs-3.5.4";
-    version = "3.5.4";
-    bin = false;
-    src = fetchurl {
-      url = "http://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz";
-      name = "yargs-3.5.4.tgz";
-      sha1 = "d8aff8f665e94c34bd259bdebd1bfaf0ddd35361";
-    };
-    deps = {
-      "camelcase-1.1.0" = self.by-version."camelcase"."1.1.0";
-      "decamelize-1.0.0" = self.by-version."decamelize"."1.0.0";
-      "window-size-0.1.0" = self.by-version."window-size"."0.1.0";
-      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-}
diff --git a/pkgs/applications/networking/irc/weechat/default.nix b/pkgs/applications/networking/irc/weechat/default.nix
index 49cbe29eaf22..1b730af54fea 100644
--- a/pkgs/applications/networking/irc/weechat/default.nix
+++ b/pkgs/applications/networking/irc/weechat/default.nix
@@ -1,81 +1,129 @@
-{ stdenv, fetchurl, ncurses, openssl, aspell, gnutls
-, zlib, curl , pkgconfig, libgcrypt
+{ stdenv, fetchurl, fetchpatch, lib
+, ncurses, openssl, aspell, gnutls
+, zlib, curl, pkgconfig, libgcrypt
 , cmake, makeWrapper, libobjc, libresolv, libiconv
+, writeScriptBin, symlinkJoin # for withPlugins
 , asciidoctor # manpages
 , guileSupport ? true, guile
 , luaSupport ? true, lua5
 , perlSupport ? true, perl
-, pythonPackages
+, pythonSupport ? true, pythonPackages
 , rubySupport ? true, ruby
 , tclSupport ? true, tcl
-, extraBuildInputs ? [] }:
-
-assert guileSupport -> guile != null;
-assert luaSupport -> lua5 != null;
-assert perlSupport -> perl != null;
-assert rubySupport -> ruby != null;
-assert tclSupport -> tcl != null;
+, extraBuildInputs ? []
+, configure ? null
+, runCommand }:
 
 let
   inherit (pythonPackages) python pycrypto pync;
-in
+  plugins = [
+    { name = "perl"; enabled = perlSupport; cmakeFlag = "ENABLE_PERL"; buildInputs = [ perl ]; }
+    { name = "tcl"; enabled = tclSupport; cmakeFlag = "ENABLE_TCL"; buildInputs = [ tcl ]; }
+    { name = "ruby"; enabled = rubySupport; cmakeFlag = "ENABLE_RUBY"; buildInputs = [ ruby ]; }
+    { name = "guile"; enabled = guileSupport; cmakeFlag = "ENABLE_GUILE"; buildInputs = [ guile ]; }
+    { name = "lua"; enabled = luaSupport; cmakeFlag = "ENABLE_LUA"; buildInputs = [ lua5 ]; }
+    { name = "python"; enabled = pythonSupport; cmakeFlag = "ENABLE_PYTHON"; buildInputs = [ python ]; }
+  ];
+  enabledPlugins = builtins.filter (p: p.enabled) plugins;
 
-stdenv.mkDerivation rec {
-  version = "1.9.1";
-  name = "weechat-${version}";
+  weechat =
+    assert lib.all (p: p.enabled -> ! (builtins.elem null p.buildInputs)) plugins;
+    stdenv.mkDerivation rec {
+      version = "1.9.1";
+      name = "weechat-${version}";
 
-  src = fetchurl {
-    url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
-    sha256 = "1kgi079bq4n0wb7hc7mz8p7ay1b2m0a4wpvb92sfsxrnh10qr5m1";
-  };
+      src = fetchurl {
+        url = "http://weechat.org/files/src/weechat-${version}.tar.bz2";
+        sha256 = "1kgi079bq4n0wb7hc7mz8p7ay1b2m0a4wpvb92sfsxrnh10qr5m1";
+      };
 
-  outputs = [ "out" "man" ];
+      patches = [
+        # TODO: Remove this patch when weechat is updated to a release that
+        # incorporates weechat/weechat#971
+        (fetchpatch {
+          url = https://github.com/lheckemann/weechat/commit/45a4f0565cc745b9c6e943f20199015185696df0.patch;
+          sha256 = "0x7vv7g0k3b2hj444x2cinyv1mq5bkr6m18grfnyy6swbymzc9bj";
+        })
+      ];
 
-  enableParallelBuilding = true;
-  cmakeFlags = with stdenv.lib; [
-    "-DENABLE_MAN=ON"
-    "-DENABLE_DOC=ON"
-  ]
-    ++ optionals stdenv.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib" "-DCMAKE_FIND_FRAMEWORK=LAST"]
-    ++ optional (!guileSupport) "-DENABLE_GUILE=OFF"
-    ++ optional (!luaSupport)   "-DENABLE_LUA=OFF"
-    ++ optional (!perlSupport)  "-DENABLE_PERL=OFF"
-    ++ optional (!rubySupport)  "-DENABLE_RUBY=OFF"
-    ++ optional (!tclSupport)   "-DENABLE_TCL=OFF"
-    ;
+      outputs = [ "out" "man" ] ++ map (p: p.name) enabledPlugins;
 
-  buildInputs = with stdenv.lib; [
-      ncurses python openssl aspell gnutls zlib curl pkgconfig
-      libgcrypt pycrypto makeWrapper
-      cmake
-      asciidoctor
+      enableParallelBuilding = true;
+      cmakeFlags = with stdenv.lib; [
+        "-DENABLE_MAN=ON"
+        "-DENABLE_DOC=ON"
       ]
-    ++ optionals stdenv.isDarwin [ pync libobjc libresolv ]
-    ++ optional  guileSupport    guile
-    ++ optional  luaSupport      lua5
-    ++ optional  perlSupport     perl
-    ++ optional  rubySupport     ruby
-    ++ optional  tclSupport      tcl
-    ++ extraBuildInputs;
+        ++ optionals stdenv.isDarwin ["-DICONV_LIBRARY=${libiconv}/lib/libiconv.dylib" "-DCMAKE_FIND_FRAMEWORK=LAST"]
+        ++ map (p: "-D${p.cmakeFlag}=" + (if p.enabled then "ON" else "OFF")) plugins
+        ;
+
+      buildInputs = with stdenv.lib; [
+          ncurses openssl aspell gnutls zlib curl pkgconfig
+          libgcrypt makeWrapper cmake asciidoctor
+          ]
+        ++ optionals stdenv.isDarwin [ libobjc libresolv ]
+        ++ concatMap (p: p.buildInputs) enabledPlugins
+        ++ extraBuildInputs;
+
+      NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}"
+        # Fix '_res_9_init: undefined symbol' error
+        + (stdenv.lib.optionalString stdenv.isDarwin "-DBIND_8_COMPAT=1 -lresolv");
+
+      postInstall = with stdenv.lib; ''
+        for p in ${concatMapStringsSep " " (p: p.name) enabledPlugins}; do
+          from=$out/lib/weechat/plugins/$p.so
+          to=''${!p}/lib/weechat/plugins/$p.so
+          mkdir -p $(dirname $to)
+          mv $from $to
+        done
+      '';
 
-  NIX_CFLAGS_COMPILE = "-I${python}/include/${python.libPrefix}"
-    # Fix '_res_9_init: undefined symbol' error
-    + (stdenv.lib.optionalString stdenv.isDarwin "-DBIND_8_COMPAT=1 -lresolv");
+      meta = {
+        homepage = http://www.weechat.org/;
+        description = "A fast, light and extensible chat client";
+        license = stdenv.lib.licenses.gpl3;
+        maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny lheckemann ];
+        platforms = stdenv.lib.platforms.unix;
+      };
+    };
+in if configure == null then weechat else
+  let
+    perlInterpreter = perl;
+    config = configure {
+      availablePlugins = let
+          simplePlugin = name: {pluginFile = "${weechat.${name}}/lib/weechat/plugins/${name}.so";};
+        in rec {
+          python = {
+            pluginFile = "${weechat.python}/lib/weechat/plugins/python.so";
+            withPackages = pkgsFun: (python // {
+              extraEnv = ''
+                export PYTHONHOME="${pythonPackages.python.withPackages pkgsFun}"
+              '';
+            });
+          };
+          perl = (simplePlugin "perl") // {
+            extraEnv = ''
+              export PATH="${perlInterpreter}/bin:$PATH"
+            '';
+          };
+          tcl = simplePlugin "tcl";
+          ruby = simplePlugin "ruby";
+          guile = simplePlugin "guile";
+          lua = simplePlugin "lua";
+        };
+      };
 
-  postInstall = with stdenv.lib; ''
-    NIX_PYTHONPATH="$out/lib/${python.libPrefix}/site-packages"
-    wrapProgram "$out/bin/weechat" \
-      ${optionalString perlSupport "--prefix PATH : ${perl}/bin"} \
-      --prefix PATH : ${pythonPackages.python}/bin \
-      --prefix PYTHONPATH : "$PYTHONPATH" \
-      --prefix PYTHONPATH : "$NIX_PYTHONPATH"
-  '';
+    inherit (config) plugins;
 
-  meta = {
-    homepage = http://www.weechat.org/;
-    description = "A fast, light and extensible chat client";
-    license = stdenv.lib.licenses.gpl3;
-    maintainers = with stdenv.lib.maintainers; [ lovek323 garbas the-kenny ];
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
+    pluginsDir = runCommand "weechat-plugins" {} ''
+      mkdir -p $out/plugins
+      for plugin in ${lib.concatMapStringsSep " " (p: p.pluginFile) plugins} ; do
+        ln -s $plugin $out/plugins
+      done
+    '';
+  in writeScriptBin "weechat" ''
+    #!${stdenv.shell}
+    export WEECHAT_EXTRA_LIBDIR=${pluginsDir}
+    ${lib.concatMapStringsSep "\n" (p: lib.optionalString (p ? extraEnv) p.extraEnv) plugins}
+    exec ${weechat}/bin/weechat "$@"
+  ''
diff --git a/pkgs/applications/networking/linssid/default.nix b/pkgs/applications/networking/linssid/default.nix
index 109ab2417af3..4bd0f2e73e6f 100644
--- a/pkgs/applications/networking/linssid/default.nix
+++ b/pkgs/applications/networking/linssid/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Graphical wireless scanning for Linux";
-    homepage = http://sourceforge.net/projects/linssid/;
+    homepage = https://sourceforge.net/projects/linssid/;
     license = licenses.gpl3;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/applications/networking/mailreaders/mailnag/default.nix b/pkgs/applications/networking/mailreaders/mailnag/default.nix
index 281bc690bad5..b1ca80fc7e47 100644
--- a/pkgs/applications/networking/mailreaders/mailnag/default.nix
+++ b/pkgs/applications/networking/mailreaders/mailnag/default.nix
@@ -2,11 +2,13 @@
 , gdk_pixbuf, libnotify, gst_all_1
 , libgnome_keyring3, networkmanager
 , wrapGAppsHook, gnome3
-, withGnomeKeyring ? false
-, withNetworkManager ? true
+# otherwise passwords are stored unencrypted
+, withGnomeKeyring ? true
 }:
 
-pythonPackages.buildPythonApplication rec {
+let
+  inherit (pythonPackages) python;
+in pythonPackages.buildPythonApplication rec {
   name = "mailnag-${version}";
   version = "1.2.1";
 
@@ -20,8 +22,7 @@ pythonPackages.buildPythonApplication rec {
     gst_all_1.gst-plugins-base gst_all_1.gst-plugins-good
     gst_all_1.gst-plugins-bad
     gnome3.defaultIconTheme
-  ] ++ stdenv.lib.optional withGnomeKeyring libgnome_keyring3
-    ++ stdenv.lib.optional withNetworkManager networkmanager;
+  ] ++ stdenv.lib.optional withGnomeKeyring libgnome_keyring3;
 
   nativeBuildInputs = [
     wrapGAppsHook
@@ -31,6 +32,10 @@ pythonPackages.buildPythonApplication rec {
     pygobject3 dbus-python pyxdg
   ];
 
+  buildPhase = "";
+
+  installPhase = "${python}/bin/python setup.py install --prefix=$out";
+
   doCheck = false;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/mailreaders/neomutt/default.nix b/pkgs/applications/networking/mailreaders/neomutt/default.nix
index 4b522518e3f2..e0e2a42c4b5b 100644
--- a/pkgs/applications/networking/mailreaders/neomutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/neomutt/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchFromGitHub, which, autoreconfHook, writeScript, ncurses, perl
-, cyrus_sasl, gss, gpgme, kerberos, libidn, notmuch, openssl, lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42 }:
+{ stdenv, fetchFromGitHub, which, autoreconfHook, makeWrapper, writeScript,
+ncurses, perl , cyrus_sasl, gss, gpgme, kerberos, libidn, notmuch, openssl,
+lmdb, libxslt, docbook_xsl, docbook_xml_dtd_42 }:
 
 let
   muttWrapper = writeScript "mutt" ''
@@ -29,7 +30,9 @@ in stdenv.mkDerivation rec {
     notmuch openssl perl lmdb
   ];
 
-  nativeBuildInputs = [ autoreconfHook docbook_xsl docbook_xml_dtd_42 libxslt.bin which ];
+  nativeBuildInputs = [
+    autoreconfHook docbook_xsl docbook_xml_dtd_42 libxslt.bin which makeWrapper
+  ];
 
   enableParallelBuilding = true;
 
@@ -39,6 +42,10 @@ in stdenv.mkDerivation rec {
         --replace http://docbook.sourceforge.net/release/xsl/current     ${docbook_xsl}/share/xml/docbook-xsl \
         --replace http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd ${docbook_xml_dtd_42}/xml/dtd/docbook/docbookx.dtd
     done
+
+    # allow neomutt to map attachments to their proper mime.types if specified wrongly
+    substituteInPlace sendlib.c \
+      --replace /etc/mime.types $out/etc/mime.types
   '';
 
   configureFlags = [
@@ -65,6 +72,8 @@ in stdenv.mkDerivation rec {
 
   postInstall = ''
     cp ${muttWrapper} $out/bin/mutt
+    mv $out/share/doc/neomutt/mime.types $out/etc
+    wrapProgram "$out/bin/neomutt" --prefix PATH : "$out/lib/neomutt"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/networking/msmtp/default.nix b/pkgs/applications/networking/msmtp/default.nix
index 1a409fc885a2..a2c947730e09 100644
--- a/pkgs/applications/networking/msmtp/default.nix
+++ b/pkgs/applications/networking/msmtp/default.nix
@@ -8,7 +8,8 @@ let
   journal = if stdenv.isLinux then "y" else "n";
 
 in stdenv.mkDerivation rec {
-  name = "msmtp-${version}";
+  pname = "msmtp";
+  name = "${pname}-${version}";
   version = "1.6.6";
 
   src = fetchurl {
@@ -30,6 +31,10 @@ in stdenv.mkDerivation rec {
     stdenv.lib.optional stdenv.isDarwin [ "--with-macosx-keyring" ];
 
   postInstall = ''
+    install -d $out/share/doc/${pname}/scripts
+    cp -r scripts/{find_alias,msmtpqueue,msmtpq,set_sendmail} $out/share/doc/${pname}/scripts
+    install -Dm644 doc/*.example $out/share/doc/${pname}
+
     substitute scripts/msmtpq/msmtpq $out/bin/msmtpq \
       --replace @msmtp@      $out/bin/msmtp \
       --replace @nc@         ${netcat-gnu}/bin/nc \
diff --git a/pkgs/applications/networking/netperf/default.nix b/pkgs/applications/networking/netperf/default.nix
index 3cea203a0257..fe58b1d3e28a 100644
--- a/pkgs/applications/networking/netperf/default.nix
+++ b/pkgs/applications/networking/netperf/default.nix
@@ -1,11 +1,13 @@
-{stdenv, fetchurl}:
+{ stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   name = "netperf-2.7.0";
 
-  src = fetchurl {
-    url = "ftp://ftp.netperf.org/netperf/${name}.tar.bz2";
-    sha256 = "0nip8178pdry0pqx2gkz0sl2gcvc7qww621q43kqnp43amvg2al4";
+  src = fetchFromGitHub {
+    owner = "HewlettPackard";
+    repo = "netperf";
+    rev = name;
+    sha256 = "034indn3hicwbvyzgw9f32bv2i7c5iv8b4a11imyn03pw97jzh10";
   };
 
   meta = {
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index 9b6f2f1f1bb1..03178b5cb75d 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -22,9 +22,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ boost libtorrentRasterbar qtbase qttools ]
     ++ optional guiSupport dbus_libs;
 
-  preConfigure = ''
-    export QT_QMAKE=$(dirname "$QMAKE")
-  '';
+  # Otherwise qm_gen.pri assumes lrelease-qt5, which does not exist.
+  QMAKE_LRELEASE = "lrelease";
 
   configureFlags = [
     "--with-boost-libdir=${boost.out}/lib"
diff --git a/pkgs/applications/networking/p2p/tixati/default.nix b/pkgs/applications/networking/p2p/tixati/default.nix
new file mode 100644
index 000000000000..d37f5293ef80
--- /dev/null
+++ b/pkgs/applications/networking/p2p/tixati/default.nix
@@ -0,0 +1,30 @@
+{ stdenv, fetchurl, glib, zlib, dbus, dbus_glib, gtk2, gdk_pixbuf, cairo, pango }:
+
+stdenv.mkDerivation rec {
+  name = "tixati-${version}";
+  version = "2.55";
+
+  src = fetchurl {
+    url = "https://download2.tixati.com/download/tixati-${version}-1.x86_64.manualinstall.tar.gz";
+    sha256 = "02mha6lfcb0mg0y977bxa6xg8krpbsbzpm4b5xw6y6wign4d8a8w";
+  };
+
+  installPhase = ''
+    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+             --set-rpath ${stdenv.lib.makeLibraryPath [ glib zlib dbus dbus_glib gtk2 gdk_pixbuf cairo pango ]} \
+             tixati
+    install -D tixati         $out/bin/tixati
+    install -D tixati.desktop $out/share/applications/tixati.desktop
+    install -D tixati.png     $out/share/icons/tixati.png
+  '';
+
+  dontStrip = true;
+
+  meta = with stdenv.lib; {
+    description = "Torrent client";
+    homepage = http://www.tixati.com;
+    license = licenses.unfree;
+    platforms = [ "x86_64-linux" ];
+    maintainers = with maintainers; [ volth ];
+  };
+}
diff --git a/pkgs/applications/networking/pyload/beautifulsoup.nix b/pkgs/applications/networking/pyload/beautifulsoup.nix
new file mode 100644
index 000000000000..571df924e1f8
--- /dev/null
+++ b/pkgs/applications/networking/pyload/beautifulsoup.nix
@@ -0,0 +1,20 @@
+{ pythonPackages, isPy3k, pkgs }:
+
+pythonPackages.buildPythonPackage rec {
+  name = "beautifulsoup-3.2.1";
+  disabled = isPy3k;
+
+  src = pkgs.fetchurl {
+    url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz";
+    sha256 = "1nshbcpdn0jpcj51x0spzjp519pkmqz0n0748j7dgpz70zlqbfpm";
+  };
+
+  # error: invalid command 'test'
+  doCheck = false;
+
+  meta = {
+    homepage = http://www.crummy.com/software/BeautifulSoup/;
+    license = "bsd";
+    description = "Undemanding HTML/XML parser";
+  };
+}
diff --git a/pkgs/applications/networking/pyload/default.nix b/pkgs/applications/networking/pyload/default.nix
index f8cd1ab1d00b..c331c4f287e6 100644
--- a/pkgs/applications/networking/pyload/default.nix
+++ b/pkgs/applications/networking/pyload/default.nix
@@ -1,5 +1,12 @@
-{ stdenv, fetchFromGitHub, fetchpatch, pythonPackages, gocr, unrar, rhino, spidermonkey }:
-pythonPackages.buildPythonApplication rec {
+{ stdenv, fetchFromGitHub, fetchpatch, pythonPackages, gocr, unrar, rhino, spidermonkey
+, pkgs }:
+
+let
+  beautifulsoup = pythonPackages.callPackage ./beautifulsoup.nix {
+    inherit pythonPackages;
+  };
+
+in pythonPackages.buildPythonApplication rec {
   version = "0.4.9-next";
   name = "pyLoad-" + version;
 
diff --git a/pkgs/applications/networking/syncthing/default.nix b/pkgs/applications/networking/syncthing/default.nix
index f2ffcac452ea..ecdecd07eeb9 100644
--- a/pkgs/applications/networking/syncthing/default.nix
+++ b/pkgs/applications/networking/syncthing/default.nix
@@ -1,14 +1,14 @@
 { stdenv, lib, fetchFromGitHub, go, procps, removeReferencesTo }:
 
 stdenv.mkDerivation rec {
-  version = "0.14.39";
+  version = "0.14.40";
   name = "syncthing-${version}";
 
   src = fetchFromGitHub {
     owner  = "syncthing";
     repo   = "syncthing";
     rev    = "v${version}";
-    sha256 = "0bq2vdfnl77qldg1zvfhdbmhsj80qz8pds4slqlwjmmjmk19sqnh";
+    sha256 = "0fd4k09sb91d1bjqj2v1fh7raq98fdw45aaa58kramwhidsf9sy5";
   };
 
   buildInputs = [ go removeReferencesTo ];
diff --git a/pkgs/applications/office/abiword/default.nix b/pkgs/applications/office/abiword/default.nix
index 18ece7a74019..1563cdf3d056 100644
--- a/pkgs/applications/office/abiword/default.nix
+++ b/pkgs/applications/office/abiword/default.nix
@@ -5,15 +5,19 @@
 
 stdenv.mkDerivation rec {
   name = "abiword-${version}";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchurl {
-    url = "http://www.abisource.org/downloads/abiword/${version}/source/${name}.tar.gz";
-    sha256 = "1ik591rx15nn3n1297cwykl8wvrlgj78i528id9wbidgy3xzd570";
+    url = "http://www.abisource.com/downloads/abiword/${version}/source/${name}.tar.gz";
+    sha256 = "08imry821g81apdwym3gcs4nss0l9j5blqk31j5rv602zmcd9gxg";
   };
 
   enableParallelBuilding = true;
 
+  patches = [
+    ./patches/fix-13791.patch
+  ];
+
   buildInputs =
     [ pkgconfig gtk3 libglade librsvg bzip2 libgnomecanvas fribidi libpng popt
       libgsf enchant wv libjpeg perl boost libxslt goffice makeWrapper iconTheme
@@ -29,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = http://www.abisource.com/;
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ pSub ];
+    maintainers = with maintainers; [ pSub ylwghst ];
   };
 }
diff --git a/pkgs/applications/office/abiword/patches/fix-13791.patch b/pkgs/applications/office/abiword/patches/fix-13791.patch
new file mode 100644
index 000000000000..98004f01bcba
--- /dev/null
+++ b/pkgs/applications/office/abiword/patches/fix-13791.patch
@@ -0,0 +1,161 @@
+From 46388f407c893123d9b3824a7570b050fc3b049b Mon Sep 17 00:00:00 2001
+From: James Cameron <quozl@laptop.org>
+Date: Thu, 17 Aug 2017 15:05:39 +1000
+Subject: [PATCH] Fix flickering
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+- in GR_Caret::s_blink_timeout, avoid repeated calls by stopping the
+  timer, it will be restarted when needed,
+
+- in GR_Caret::s_enable, avoid extra unnecessary _blink calls when blink
+  is enabled, as they serve no purpose,
+
+- in XAP_UnixFrameImpl::_fe::expose, use the Cairo clip rectangle
+  instead of the expose event area, thanks to Hubert Figuière in
+  865c1dda7e13deff04573ffc42028b71fee07f9c,
+
+- in XAP_UnixFrameImpl::_fe::expose, do not return FALSE, as other
+  handlers will need to handle the draw event,
+
+- in GR_UnixCairoGraphics::flush, fix excessive draw events;
+  gtk_widget_queue_draw only marks the widget as needing redrawing,
+  which causes a draw event for each call to flush, therefore every
+  caret blink, so use gdk_flush instead,
+
+Fixes AbiSource #13791.
+Fixes Debian #851052.
+Fixes Fedora #1287835.
+Fixes Ubuntu LP: #1574278.
+Fixes Sugar Labs #4915.
+
+Signed-off-by: James Cameron <quozl@laptop.org>
+---
+ src/af/gr/gtk/gr_UnixCairoGraphics.cpp |  4 +---
+ src/af/gr/xp/gr_Caret.cpp              | 13 ++++---------
+ src/af/xap/gtk/xap_UnixFrameImpl.cpp   | 27 ++++++++++++++++++---------
+ src/af/xap/gtk/xap_UnixFrameImpl.h     |  2 +-
+ 4 files changed, 24 insertions(+), 22 deletions(-)
+
+diff --git a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp
+index 509bd37..7c3c06f 100644
+--- a/src/af/gr/gtk/gr_UnixCairoGraphics.cpp
++++ b/src/af/gr/gtk/gr_UnixCairoGraphics.cpp
+@@ -577,9 +577,7 @@ void GR_UnixCairoGraphics::_endPaint()
+ 
+ void GR_UnixCairoGraphics::flush(void)
+ {
+-	if (m_Widget) {
+-		gtk_widget_queue_draw(m_Widget);
+-	}
++	gdk_flush();
+ }
+ 
+ bool GR_UnixCairoGraphics::queryProperties(GR_Graphics::Properties gp) const
+diff --git a/src/af/gr/xp/gr_Caret.cpp b/src/af/gr/xp/gr_Caret.cpp
+index 5d5d116..a8aa451 100644
+--- a/src/af/gr/xp/gr_Caret.cpp
++++ b/src/af/gr/xp/gr_Caret.cpp
+@@ -155,22 +155,17 @@ void GR_Caret::s_enable(UT_Worker * _w)
+ {
+ 	GR_Caret * c = static_cast<GR_Caret *>(_w->getInstanceData());
+ 
++	c->m_enabler->stop();
+ 	c->m_worker->stop();
+-	c->_blink(true);
+-	if (!c->m_bCursorIsOn)
+-		c->_blink(true); // blink again
+-	else
+-	{
+-		c->_blink(true); // ?? - MARCM
+-		c->_blink(true);
+-	}
+ 	c->m_worker->start();
+-	c->m_enabler->stop();
++	c->_blink(true);
+ }
+ 
+ void GR_Caret::s_blink_timeout(UT_Worker * _w)
+ {
+ 	GR_Caret * c = static_cast<GR_Caret *>(_w->getInstanceData());
++
++	c->m_blinkTimeout->stop();
+ 	if (c->isEnabled())
+ 		c->disable();
+ }
+diff --git a/src/af/xap/gtk/xap_UnixFrameImpl.cpp b/src/af/xap/gtk/xap_UnixFrameImpl.cpp
+index 780000e..e81961a 100644
+--- a/src/af/xap/gtk/xap_UnixFrameImpl.cpp
++++ b/src/af/xap/gtk/xap_UnixFrameImpl.cpp
+@@ -1208,15 +1208,23 @@ gint XAP_UnixFrameImpl::_fe::delete_event(GtkWidget * w, GdkEvent * /*event*/, g
+ }
+ 
+ #if GTK_CHECK_VERSION(3,0,0)
+-gint XAP_UnixFrameImpl::_fe::draw(GtkWidget * w, cairo_t * cr)
++gboolean XAP_UnixFrameImpl::_fe::draw(GtkWidget * w, cairo_t * cr)
+ #else
+ gint XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
+ #endif
+ {
+ 	XAP_UnixFrameImpl * pUnixFrameImpl = static_cast<XAP_UnixFrameImpl *>(g_object_get_data(G_OBJECT(w), "user_data"));
+ 	FV_View * pView = static_cast<FV_View *>(pUnixFrameImpl->getFrame()->getCurrentView());
++	double x, y, width, height;
+ #if GTK_CHECK_VERSION(3,0,0)
+-	GdkEventExpose *pExposeEvent = reinterpret_cast<GdkEventExpose *>(gtk_get_current_event());
++	cairo_clip_extents (cr, &x, &y, &width, &height);
++	width -= x;
++	height -= y;
++#else
++	x = pExposeEvent->area.x;
++	y = pExposeEvent->area.y;
++	width = pExposeEvent->area.width;
++	height = pExposeEvent->area.height;
+ #endif
+ /* Jean: commenting out next lines since the zoom update code does draw only
+  * part of what needs to be updated. */
+@@ -1230,20 +1238,21 @@ gint XAP_UnixFrameImpl::_fe::expose(GtkWidget * w, GdkEventExpose* pExposeEvent)
+ 		UT_Rect rClip;
+ 		if (pGr->getPaintCount () > 0)
+ 			return TRUE;
+-		xxx_UT_DEBUGMSG(("Expose area: x %d y %d width %d  height %d \n",pExposeEvent->area.x,pExposeEvent->area.y,pExposeEvent->area.width,pExposeEvent->area.height));
+-		rClip.left = pGr->tlu(pExposeEvent->area.x);
+-		rClip.top = pGr->tlu(pExposeEvent->area.y);
+-		rClip.width = pGr->tlu(pExposeEvent->area.width)+1;
+-		rClip.height = pGr->tlu(pExposeEvent->area.height)+1;
+-#if GTK_CHECK_VERSION(3,0,0)
++		rClip.left = pGr->tlu(x);
++		rClip.top = pGr->tlu(y);
++ #if GTK_CHECK_VERSION(3,0,0)
++		rClip.width = pGr->tlu(width);
++		rClip.height = pGr->tlu(height);
+ 		static_cast<GR_CairoGraphics *>(pGr)->setCairo(cr);
+ 		pView->draw(&rClip);
+ 		static_cast<GR_CairoGraphics *>(pGr)->setCairo(NULL);
+ #else
++		rClip.width = pGr->tlu(width)+1;
++		rClip.height = pGr->tlu(height)+1;
+ 		pView->draw(&rClip);
+ #endif
+ 	}
+-	return FALSE;
++	return TRUE;
+ }
+ 
+ static bool bScrollWait = false;
+diff --git a/src/af/xap/gtk/xap_UnixFrameImpl.h b/src/af/xap/gtk/xap_UnixFrameImpl.h
+index 30ee5d8..26fbb2e 100644
+--- a/src/af/xap/gtk/xap_UnixFrameImpl.h
++++ b/src/af/xap/gtk/xap_UnixFrameImpl.h
+@@ -152,7 +152,7 @@ protected:
+ 			static gint key_release_event(GtkWidget* w, GdkEventKey* e);
+ 			static gint delete_event(GtkWidget * w, GdkEvent * /*event*/, gpointer /*data*/);
+ #if GTK_CHECK_VERSION(3,0,0)
+-			static gint draw(GtkWidget * w, cairo_t * cr);
++			static gboolean draw(GtkWidget * w, cairo_t * cr);
+ #else
+ 			static gint expose(GtkWidget * w, GdkEventExpose* pExposeEvent);
+ #endif
+-- 
+2.11.0
+
diff --git a/pkgs/applications/office/calligra/2.nix b/pkgs/applications/office/calligra/2.nix
index 76027f29a707..959a44a35c10 100644
--- a/pkgs/applications/office/calligra/2.nix
+++ b/pkgs/applications/office/calligra/2.nix
@@ -51,5 +51,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ phreedom ebzzry ];
     inherit (kdelibs4.meta) platforms;
     license = licenses.gpl2;
+    broken = true;
   };
 }
diff --git a/pkgs/applications/office/fava/default.nix b/pkgs/applications/office/fava/default.nix
index 7bc549dd0fc5..fdbf9183d751 100644
--- a/pkgs/applications/office/fava/default.nix
+++ b/pkgs/applications/office/fava/default.nix
@@ -1,42 +1,26 @@
-{ stdenv, pkgs, fetchurl, python3Packages, fetchFromGitHub, fetchzip, python3, beancount }:
-
-python3Packages.buildPythonApplication rec {
-  version = "1.3";
-  name = "fava-${version}";
-
-  src = fetchFromGitHub {
-    owner = "beancount";
-    repo = "fava";
-    rev = "v${version}";
-    sha256 = "0g0aj0qcmpny6dipi00nks7h3mf5a4jfd6bxjm1rb5807wswcpg8";
-  };
-
-  assets = fetchzip {
-    url = "https://github.com/beancount/fava/releases/download/v${version}/fava-${version}.tar.gz";
-    sha256 = "0yn2psbn436g1w5ixn94z8ca6dfd54izg98979arn0k7slpiccvz";
+{ stdenv, python3, beancount }:
+
+let
+  inherit (python3.pkgs) buildPythonApplication fetchPypi;
+in
+buildPythonApplication rec {
+  pname = "fava";
+  version = "1.6";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0iif4imx76ra0lsisksrq5vf54wbivnrb3xqz6mkx9lik3pp5sbx";
   };
 
-  checkInputs = with python3Packages; [ pytest ];
-
-  checkPhase = ''
-    # pyexcel is optional
-    # the other 2 tests fail due non-unicode locales
-    PATH=$out/bin:$PATH pytest tests \
-      --ignore tests/test_util_excel.py \
-      --ignore tests/test_cli.py \
-      --ignore tests/test_translations.py \
-  '';
-
-  postInstall = ''
-    cp -r $assets/fava/static/gen $out/${python3.sitePackages}/fava/static
-  '';
+  doCheck = false;
 
-  propagatedBuildInputs = with python3Packages;
+  propagatedBuildInputs = with python3.pkgs;
     [ flask dateutil pygments wheel markdown2 flaskbabel tornado
       click beancount ];
 
   meta = {
-    homepage = https://github.com/aumayr/fava;
+    homepage = https://beancount.github.io/fava;
     description = "Web interface for beancount";
     license = stdenv.lib.licenses.mit;
     maintainers = with stdenv.lib.maintainers; [ matthiasbeyer ];
diff --git a/pkgs/applications/office/mendeley/default.nix b/pkgs/applications/office/mendeley/default.nix
index c5ef0e8a277a..6ce003ff25d9 100644
--- a/pkgs/applications/office/mendeley/default.nix
+++ b/pkgs/applications/office/mendeley/default.nix
@@ -37,14 +37,14 @@ let
     then "i386"
     else "amd64";
 
-  shortVersion = "1.17.10-stable";
+  shortVersion = "1.17.11-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 "0sc9fsprdpl39q8wqbjp59pnr10c1a8gss60b81h54agjni55yrg"
-    else "02ncfdxcrdwghpch2nlfhc7d0vgjsfqn8sxjkb5yn4bf5wi8z9bq";
+    then "033855ix5qj1gwd3pa6qws5k94hgbp6rvibrrxl3rn5bvhrvvbkq"
+    else "09h6br8qhvphkvzy28y1pnh7dhyigb3w41w3kjwqj6027i46chi7";
 
   deps = [
     qt5.qtbase
diff --git a/pkgs/applications/office/paperwork/backend.nix b/pkgs/applications/office/paperwork/backend.nix
new file mode 100644
index 000000000000..557529964649
--- /dev/null
+++ b/pkgs/applications/office/paperwork/backend.nix
@@ -0,0 +1,39 @@
+{ buildPythonPackage, lib, fetchFromGitHub
+
+, isPy3k, isPyPy
+
+, pyenchant, simplebayes, pillow, pycountry, whoosh, termcolor
+, python-Levenshtein, pyinsane2, pygobject3, pyocr, natsort
+
+, pkgs
+}:
+
+buildPythonPackage rec {
+  name = "paperwork-backend-${version}";
+  version = "1.2.1";
+
+  src = fetchFromGitHub {
+    owner = "openpaperwork";
+    repo = "paperwork-backend";
+    rev = version;
+    sha256 = "1lrawibm6jnykj1bkrl8196kcxrhndzp7r0brdrb4hs54gql7j5x";
+  };
+
+  # Python 2.x is not supported.
+  disabled = !isPy3k && !isPyPy;
+
+  preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend";
+
+  propagatedBuildInputs = [
+    pyenchant simplebayes pillow pycountry whoosh termcolor
+    python-Levenshtein pyinsane2 pygobject3 pyocr natsort
+    pkgs.poppler_gi pkgs.gtk3
+  ];
+
+  meta = {
+    description = "Backend part of Paperwork (Python API, no UI)";
+    homepage = https://openpaper.work/;
+    license = lib.licenses.gpl3Plus;
+    maintainers = [ lib.maintainers.aszlig ];
+  };
+}
diff --git a/pkgs/applications/office/paperwork/default.nix b/pkgs/applications/office/paperwork/default.nix
index 07a09fbfc0ab..f0592aa0e687 100644
--- a/pkgs/applications/office/paperwork/default.nix
+++ b/pkgs/applications/office/paperwork/default.nix
@@ -1,19 +1,19 @@
 { lib, python3Packages, fetchFromGitHub, gtk3, cairo
 , aspellDicts, buildEnv
-, gnome3, hicolor_icon_theme
+, gnome3, hicolor_icon_theme, librsvg
 , xvfb_run, dbus, libnotify
 }:
 
 python3Packages.buildPythonApplication rec {
   name = "paperwork-${version}";
   # Don't forget to also update paperwork-backend when updating this!
-  version = "1.2";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     repo = "paperwork";
-    owner = "jflesch";
+    owner = "openpaperwork";
     rev = version;
-    sha256 = "1cb9wnhhpm3dyxjrkyl9bbva56xx85vlwlb7z07m1icflcln14x5";
+    sha256 = "0lqnq74hdjj778j2k0syibwy4i37l8w932gmibs8617s4yi34rxz";
   };
 
   # Patch out a few paths that assume that we're using the FHS:
@@ -47,7 +47,9 @@ python3Packages.buildPythonApplication rec {
   }}/lib/aspell";
 
   checkInputs = [ xvfb_run dbus.daemon ];
-  buildInputs = [ gnome3.defaultIconTheme hicolor_icon_theme libnotify ];
+  buildInputs = [
+    gnome3.defaultIconTheme hicolor_icon_theme libnotify librsvg
+  ];
 
   # A few parts of chkdeps need to have a display and a dbus session, so we not
   # only need to run a virtual X server + dbus but also have a large enough
@@ -64,13 +66,14 @@ python3Packages.buildPythonApplication rec {
 
   makeWrapperArgs = [
     "--set GI_TYPELIB_PATH \"$GI_TYPELIB_PATH\""
+    "--set GDK_PIXBUF_MODULE_FILE \"$GDK_PIXBUF_MODULE_FILE\""
     "--prefix XDG_DATA_DIRS : \"$out/share\""
     "--suffix XDG_DATA_DIRS : \"$XDG_ICON_DIRS:$GSETTINGS_SCHEMAS_PATH\""
   ];
 
   meta = {
     description = "A personal document manager for scanned documents";
-    homepage = https://github.com/jflesch/paperwork;
+    homepage = https://openpaper.work/;
     license = lib.licenses.gpl3Plus;
     maintainers = [ lib.maintainers.aszlig ];
     platforms = lib.platforms.linux;
diff --git a/pkgs/applications/office/wordgrinder/default.nix b/pkgs/applications/office/wordgrinder/default.nix
new file mode 100644
index 000000000000..67f7e2816a48
--- /dev/null
+++ b/pkgs/applications/office/wordgrinder/default.nix
@@ -0,0 +1,47 @@
+{ stdenv, fetchFromGitHub, pkgconfig, makeWrapper
+, lua52Packages, libXft, ncurses, readline, zlib }:
+
+stdenv.mkDerivation rec {
+  name = "wordgrinder-${version}";
+  version = "0.6-db14181";
+
+  src = fetchFromGitHub {
+    repo = "wordgrinder";
+    owner = "davidgiven";
+    rev = "db141815e8bd1da6e684a1142a59492e516f3041";
+    sha256 = "1l1jqzcqiwnc8r1igfi7ay4pzzhdhss81znnmfr4rc1ia8bpdjc2";
+  };
+
+  makeFlags = [
+    "PREFIX=$(out)"
+    "LUA_INCLUDE=${lua52Packages.lua}/include"
+    "LUA_LIB=${lua52Packages.lua}/lib/liblua.so"
+  ];
+
+  nativeBuildInputs = [ pkgconfig makeWrapper ];
+
+  buildInputs = [
+    libXft
+    lua52Packages.lua
+    ncurses
+    readline
+    zlib
+  ];
+
+  # To be able to find <Xft.h>
+  NIX_CFLAGS_COMPILE = "-I${libXft.dev}/include/X11";
+
+  # Binaries look for LuaFileSystem library (lfs.so) at runtime
+  postInstall = ''
+    wrapProgram $out/bin/wordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so";
+    wrapProgram $out/bin/xwordgrinder --set LUA_CPATH "${lua52Packages.luafilesystem}/lib/lua/5.2/lfs.so";
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Text-based word processor";
+    homepage = https://cowlark.com/wordgrinder;
+    license = licenses.mit;
+    maintainers = with maintainers; [ matthiasbeyer ];
+    platforms = with stdenv.lib.platforms; linux;
+  };
+}
diff --git a/pkgs/applications/office/wpsoffice/default.nix b/pkgs/applications/office/wpsoffice/default.nix
index 41dd8595c30d..a55a98b1f5eb 100644
--- a/pkgs/applications/office/wpsoffice/default.nix
+++ b/pkgs/applications/office/wpsoffice/default.nix
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec{
       "0mi3n9kplf82gd0g2m0np957agy53p4g1qh81pbban49r4n0ajcz" else
       "1dk400ap5qwdhjvn8lnk602f5akayr391fkljxdkrpn5xac01m97";
   };
-  
+
   meta = {
     description = "Office program originally named Kingsoft Office";
     homepage = http://wps-community.org/;
@@ -42,6 +42,10 @@ in stdenv.mkDerivation rec{
 
   dontPatchELF = true;
 
+  # wpsoffice uses `/build` in its own build system making nix things there
+  # references to nix own build directory
+  noAuditTmpdir = true;
+
   installPhase = ''
     prefix=$out/opt/kingsoft/wps-office
     mkdir -p $prefix
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index a4b15b6626e7..b259623bf91e 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -1,82 +1,66 @@
-{ stdenv, fetchurl, lib, bash, firefox, perl, unzipNLS, xorg }:
+{ stdenv, fetchurl, buildFHSUserEnv, makeDesktopItem, runCommand, bash, wrapGAppsHook, gsettings_desktop_schemas, gtk3, gnome3 }:
 
 let
-
-  xpi = fetchurl {
-    url = "https://download.zotero.org/extension/zotero-${version}.xpi";
-    sha256 = "1dyf578yfj3xr9kkhmsvbkvraw2arghmh67ksi5c8qlxczx5i1xy";
-  };
-
-  version = "4.0.29";
-
-in
-stdenv.mkDerivation {
-  name = "zotero-${version}";
+version = "5.0.25";
+meta = with stdenv.lib; {
+  homepage = https://www.zotero.org;
+  description = "Collect, organize, cite, and share your research sources";
+  license = licenses.agpl3;
+  platforms = platforms.linux;
+};
+
+zoteroSrc = stdenv.mkDerivation rec {
   inherit version;
+  name = "zotero-${version}-pkg";
 
   src = fetchurl {
-    url = "https://github.com/zotero/zotero-standalone-build/archive/4.0.29.2.tar.gz";
-    sha256 = "0pfip6s5dawp7wp8r5czvzlnxvvdwjja64g71h9dxyxrh49v2mxa";
+    url = "https://download.zotero.org/client/release/${version}/Zotero-${version}_linux-x86_64.tar.bz2";
+    sha256 = "1y3q5582xp4inpz137x0r9iscs1g0cjlqcfjpzl3klsq3yas688k";
   };
 
-  nativeBuildInputs = [ perl unzipNLS ];
-
-  inherit bash firefox;
-
-  phases = "unpackPhase installPhase fixupPhase";
+  buildInputs= [ wrapGAppsHook gsettings_desktop_schemas gtk3 gnome3.adwaita-icon-theme gnome3.dconf ];
+  phases = [ "unpackPhase" "installPhase" "fixupPhase"];
 
   installPhase = ''
-    mkdir -p "$out/libexec/zotero"
-    unzip "${xpi}" -d "$out/libexec/zotero"
-
-    BUILDID=`date +%Y%m%d`
-    GECKO_VERSION="${lib.removeSuffix "esr" firefox.passthru.version}"
-    UPDATE_CHANNEL="default"
-
-    # Copy branding
-    cp -R assets/branding "$out/libexec/zotero/chrome/branding"
-
-    # Adjust chrome.manifest
-    echo "" >> "$out/libexec/zotero/chrome.manifest"
-    cat assets/chrome.manifest >> "$out/libexec/zotero/chrome.manifest"
-
-    # Copy updater.ini
-    cp assets/updater.ini "$out/libexec/zotero"
-
-    # Adjust connector pref
-    perl -pi -e 's/pref\("extensions\.zotero\.httpServer\.enabled", false\);/pref("extensions.zotero.httpServer.enabled", true);/g' "$out/libexec/zotero/defaults/preferences/zotero.js"
-    perl -pi -e 's/pref\("extensions\.zotero\.connector\.enabled", false\);/pref("extensions.zotero.connector.enabled", true);/g' "$out/libexec/zotero/defaults/preferences/zotero.js"
-
-    # Copy icons
-    cp -r assets/icons "$out/libexec/zotero/chrome/icons"
-
-    # Copy application.ini and modify
-    cp assets/application.ini "$out/libexec/zotero/application.ini"
-    perl -pi -e "s/\{\{VERSION}}/$version/" "$out/libexec/zotero/application.ini"
-    perl -pi -e "s/\{\{BUILDID}}/$BUILDID/" "$out/libexec/zotero/application.ini"
-    perl -pi -e "s/^MaxVersion.*\$/MaxVersion=$GECKO_VERSION/" "$out/libexec/zotero/application.ini"
-
-    # Copy prefs.js and modify
-    cp assets/prefs.js "$out/libexec/zotero/defaults/preferences"
-    perl -pi -e 's/pref\("app\.update\.channel", "[^"]*"\);/pref\("app\.update\.channel", "'"$UPDATE_CHANNEL"'");/' "$out/libexec/zotero/defaults/preferences/prefs.js"
-    perl -pi -e 's/%GECKO_VERSION%/'"$GECKO_VERSION"'/g' "$out/libexec/zotero/defaults/preferences/prefs.js"
-
-    # Add platform-specific standalone assets
-    cp -R assets/unix "$out/libexec/zotero"
-
-    mkdir -p "$out/bin"
-    substituteAll "${./zotero.sh}" "$out/bin/zotero"
-    chmod +x "$out/bin/zotero"
+    mkdir -p $out/data
+    cp -r * $out/data
+    mkdir $out/bin
+    ln -s $out/data/zotero $out/bin/zotero
   '';
+};
 
-  doInstallCheck = true;
-  installCheckPhase = "$out/bin/zotero --version";
+fhsEnv = buildFHSUserEnv {
+  name = "zotero-fhs-env";
+  targetPkgs = pkgs: with pkgs; with xlibs; [
+    gtk3 dbus_glib
+    libXt nss
+  ];
+};
 
-  meta = with stdenv.lib; {
-    homepage = https://www.zotero.org;
-    description = "Collect, organize, cite, and share your research sources";
-    license = licenses.agpl3;
-    platforms = platforms.linux;
-    broken = true; # probably; see #20049
-  };
-}
+desktopItem = makeDesktopItem rec {
+  name = "zotero-${version}";
+  exec = "zotero -url %U";
+  icon = "zotero";
+  type = "Application";
+  comment = meta.description;
+  desktopName = "Zotero";
+  genericName = "Reference Management";
+  categories = "Office;Database;";
+  startupNotify = "true";
+};
+
+in runCommand "zotero-${version}" { inherit meta; } ''
+  mkdir -p $out/bin $out/share/applications
+  cat >$out/bin/zotero <<EOF
+#!${bash}/bin/bash
+${fhsEnv}/bin/zotero-fhs-env ${zoteroSrc}/bin/zotero
+EOF
+  chmod +x $out/bin/zotero
+
+  cp ${desktopItem}/share/applications/* $out/share/applications/
+
+  for size in 16 32 48 256; do
+    install -Dm444 ${zoteroSrc}/data/chrome/icons/default/default$size.png \
+      $out/share/icons/hicolor/''${size}x''${size}/apps/zotero.png
+  done
+''
diff --git a/pkgs/applications/science/biology/vcftools/default.nix b/pkgs/applications/science/biology/vcftools/default.nix
new file mode 100755
index 000000000000..ab3050955df7
--- /dev/null
+++ b/pkgs/applications/science/biology/vcftools/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, htslib, zlib, autoreconfHook, pkgconfig, perl }:
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "vcftools";
+  version = "0.1.15";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "vcftools";
+    rev = "v${version}";
+    sha256 = "15yxr4kidqb42gkbd6rjra6b07wpl6rgivlh9q73yavh5myafqk4";
+  };
+
+  buildInputs = [ autoreconfHook pkgconfig zlib perl ];
+
+  meta = with stdenv.lib; {
+    description = "A set of tools written in Perl and C++ for working with VCF files, such as those generated by the 1000 Genomes Project";
+    license = licenses.lgpl3;
+    platforms = platforms.linux;
+    homepage = https://vcftools.github.io/index.html;
+    maintainers = [ maintainers.rybern ];
+  };
+}
diff --git a/pkgs/applications/science/electronics/ngspice/default.nix b/pkgs/applications/science/electronics/ngspice/default.nix
index 2588ee39addc..ee7c0a5844d4 100644
--- a/pkgs/applications/science/electronics/ngspice/default.nix
+++ b/pkgs/applications/science/electronics/ngspice/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation {
 
   buildInputs = [ readline libX11 flex bison libICE libXaw libXext ];
 
-  configureFlags = [ "--enable-x" "--with-x" "--with-readline" "--enable-xspice" "--enable-cider" ];
+  configureFlags = [ "--enable-x" "--with-x" "--with-readline" "--enable-xspice" "--enable-cider" "--with-ngshared" ];
 
   meta = with stdenv.lib; {
     description = "The Next Generation Spice (Electronic Circuit Simulator)";
diff --git a/pkgs/applications/science/electronics/pulseview/default.nix b/pkgs/applications/science/electronics/pulseview/default.nix
index f4d8d2bea5db..a3f3b6b8933f 100644
--- a/pkgs/applications/science/electronics/pulseview/default.nix
+++ b/pkgs/applications/science/electronics/pulseview/default.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, pkgconfig, cmake, glib, qt5, boost, libsigrok
+{ stdenv, fetchurl, pkgconfig, cmake, glib, boost, libsigrok
 , libsigrokdecode, libserialport, libzip, udev, libusb1, libftdi1, glibmm
+, pcre, librevisa, python3, qtbase, qtsvg
 }:
 
 stdenv.mkDerivation rec {
@@ -10,11 +11,15 @@ stdenv.mkDerivation rec {
     sha256 = "1f8f2342d5yam98mmcb8f9g2vslcwv486bmi4x45pxn68l82ky3q";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake glib qt5.full boost libsigrok
-    libsigrokdecode libserialport libzip udev libusb1 libftdi1 glibmm
+  nativeBuildInputs = [ cmake pkgconfig ];
+
+  buildInputs = [
+    glib boost libsigrok libsigrokdecode libserialport libzip udev libusb1 libftdi1 glibmm
+    pcre librevisa python3 qtbase qtsvg
   ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Qt-based LA/scope/MSO GUI for sigrok (a signal analysis software suite)";
     homepage = http://sigrok.org/;
diff --git a/pkgs/applications/science/logic/cvc4/default.nix b/pkgs/applications/science/logic/cvc4/default.nix
index df7eac02513c..6b213226635d 100644
--- a/pkgs/applications/science/logic/cvc4/default.nix
+++ b/pkgs/applications/science/logic/cvc4/default.nix
@@ -1,15 +1,15 @@
-{ stdenv, fetchFromGitHub, cln, gmp, swig, pkgconfig, readline, libantlr3c,
-boost, jdk, autoreconfHook, python2, antlr3_4 }:
+{ stdenv, fetchurl, cln, gmp, swig, pkgconfig
+, readline, libantlr3c, boost, jdk, autoreconfHook
+, python2, antlr3_4
+}:
 
 stdenv.mkDerivation rec {
-  name = "cvc4-unstable-${version}";
-  version = "2017-05-18";
+  name = "cvc4-${version}";
+  version = "1.5";
 
-  src = fetchFromGitHub {
-    owner = "CVC4";
-    repo = "CVC4";
-    rev = "d77107cc56b0a089364c3d1512813701c155ea93";
-    sha256 = "085bjrrm33rl5pwqx13af9sgni9cfbg70wag6lm08jj41ws411xs";
+  src = fetchurl {
+    url = "http://cvc4.cs.stanford.edu/downloads/builds/src/cvc4-${version}.tar.gz";
+    sha256 = "0yxxawgc9vd2cz883swjlm76rbdkj48n7a8dfppsami530y2rvhi";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -21,6 +21,7 @@ stdenv.mkDerivation rec {
     "--with-readline"
     "--with-boost=${boost.dev}"
   ];
+
   preConfigure = ''
     patchShebangs ./src/
   '';
diff --git a/pkgs/applications/science/logic/glucose/default.nix b/pkgs/applications/science/logic/glucose/default.nix
index 5b318be16649..a0035f965392 100644
--- a/pkgs/applications/science/logic/glucose/default.nix
+++ b/pkgs/applications/science/logic/glucose/default.nix
@@ -1,19 +1,21 @@
 { stdenv, fetchurl, zlib }:
 stdenv.mkDerivation rec {
   name = "glucose-${version}";
-  version = "4.0";
+  version = "4.1";
 
   src = fetchurl {
-    url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup.tgz";
-    sha256 = "0bq5l2jabhdfhng002qfk0mcj4pfi1v5853x3c7igwfrgx0jmfld";
+    url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup-${version}.tgz";
+    sha256 = "0aahrkaq7n0z986fpqz66yz946nxardfi6dh8calzcfjpvqiraji";
   };
 
   buildInputs = [ zlib ];
 
-  sourceRoot = "glucose-syrup/simp";
+  sourceRoot = "glucose-syrup-${version}/simp";
   makeFlags = [ "r" ];
   installPhase = ''
     install -Dm0755 glucose_release $out/bin/glucose
+    mkdir -p "$out/share/doc/${name}/"
+    install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${name}/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/logic/glucose/syrup.nix b/pkgs/applications/science/logic/glucose/syrup.nix
index 7604ebc1a3d9..fd59a53fd2ae 100644
--- a/pkgs/applications/science/logic/glucose/syrup.nix
+++ b/pkgs/applications/science/logic/glucose/syrup.nix
@@ -1,19 +1,18 @@
-{ stdenv, fetchurl, zlib }:
+{ stdenv, fetchurl, zlib, glucose }:
 stdenv.mkDerivation rec {
   name = "glucose-syrup-${version}";
-  version = "4.0";
+  version = glucose.version;
 
-  src = fetchurl {
-    url = "http://www.labri.fr/perso/lsimon/downloads/softwares/glucose-syrup.tgz";
-    sha256 = "0bq5l2jabhdfhng002qfk0mcj4pfi1v5853x3c7igwfrgx0jmfld";
-  };
+  src = glucose.src;
 
   buildInputs = [ zlib ];
 
-  sourceRoot = "glucose-syrup/parallel";
+  sourceRoot = "glucose-syrup-${version}/parallel";
   makeFlags = [ "r" ];
   installPhase = ''
     install -Dm0755 glucose-syrup_release $out/bin/glucose-syrup
+    mkdir -p "$out/share/doc/${name}/"
+    install -Dm0755 ../{LICEN?E,README*,Changelog*} "$out/share/doc/${name}/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/science/logic/potassco/clingo.nix b/pkgs/applications/science/logic/potassco/clingo.nix
new file mode 100644
index 000000000000..a73feba97b64
--- /dev/null
+++ b/pkgs/applications/science/logic/potassco/clingo.nix
@@ -0,0 +1,24 @@
+{stdenv, fetchurl, cmake}:
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  pname = "clingo";
+  version = "5.2.2";
+
+  src = fetchurl {
+    url = "https://github.com/potassco/clingo/releases/v${version}.tar.gz";
+    sha256 = "1kxzb385g8p9mqm1x9wvjrigifa09w6vj0wl7kradibm5qagh7ns";
+  };
+
+  buildInputs = [];
+  nativeBuildInputs = [cmake];
+
+  meta = {
+    inherit version;
+    description = "ASP system to ground and solve logic programs";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [stdenv.lib.maintainers.raskin];
+    platforms = stdenv.lib.platforms.linux;
+    homepage = "https://potassco.org/";
+    downloadPage = "https://github.com/potassco/clingo/releases/";
+  };
+}
diff --git a/pkgs/applications/science/logic/potassco/clingo.upstream b/pkgs/applications/science/logic/potassco/clingo.upstream
new file mode 100644
index 000000000000..062577d1451b
--- /dev/null
+++ b/pkgs/applications/science/logic/potassco/clingo.upstream
@@ -0,0 +1,6 @@
+target clingo.nix
+attribute_name clingo
+url https://github.com/potassco/clingo/releases/
+ensure_choice
+version '.*/v([0-9.]+)[.]tar[.].*' '\1'
+minimize_overwrite
diff --git a/pkgs/applications/science/logic/symbiyosys/default.nix b/pkgs/applications/science/logic/symbiyosys/default.nix
index 5da3e7c31b4a..53e1a90f5b6a 100644
--- a/pkgs/applications/science/logic/symbiyosys/default.nix
+++ b/pkgs/applications/science/logic/symbiyosys/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "symbiyosys-${version}";
-  version = "2017.10.16";
+  version = "2017.11.05";
 
   src = fetchFromGitHub {
     owner  = "cliffordwolf";
     repo   = "symbiyosys";
-    rev    = "f403b99fae053baab651e3ec8345a68cb3ba6a96";
-    sha256 = "0jzzlybxaqmhrasfjv3q3skshalr7lvv4p142qgdqz1ig36znbi8";
+    rev    = "db9c7e97b8f84ef7e9b18ae630009897c7982a08";
+    sha256 = "0pyznkjm0vjmaf6mpwknmh052qrwy2fzi05h80ysx1bxc51ns0m0";
   };
 
   buildInputs = [ python3 yosys ];
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 6363afb7a668..54c8caa99d86 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name    = "why3-${version}";
-  version = "0.87.3";
+  version = "0.88.1";
 
   src = fetchurl {
-    url    = https://gforge.inria.fr/frs/download.php/file/36398/why3-0.87.3.tar.gz;
-    sha256 = "1fn9v6w1ilkrm2n4rz31w8qvjnchyvwxiqs67z3f59b5k99wb2ka";
+    url    = https://gforge.inria.fr/frs/download.php/file/37185/why3-0.88.1.tar.gz;
+    sha256 = "1qj00963si0vdrqjp79ai27g9rr8sqvly6n6nwpga6bnss98xqkw";
   };
 
   buildInputs = (with ocamlPackages; [
diff --git a/pkgs/applications/science/logic/yices/default.nix b/pkgs/applications/science/logic/yices/default.nix
index aac72ba24f01..a607f1066395 100644
--- a/pkgs/applications/science/logic/yices/default.nix
+++ b/pkgs/applications/science/logic/yices/default.nix
@@ -2,38 +2,40 @@
 
 stdenv.mkDerivation rec {
   name    = "yices-${version}";
-  version = "2.5.3";
+  version = "2.5.4";
 
   src = fetchurl {
     url = "https://github.com/SRI-CSL/yices2/archive/Yices-${version}.tar.gz";
     name = "${name}-src.tar.gz";
-    sha256 = "0a3zzbvmgyiljzqn6xmc037gismm779p696jywk09j2pqbvp52ac";
+    sha256 = "1k8wmlddi3zv5kgg6xbch3a0s0xqsmsfc7y6z8zrgcyhswl36h7p";
   };
 
-  patchPhase = ''patchShebangs tests/regress/check.sh'';
-
-  configureFlags = [ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a"
-                     "--with-static-gmp-include-dir=${gmp-static.dev}/include"
-                     "--enable-mcsat"
-                   ];
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ gmp-static gperf libpoly ];
+  buildInputs       = [ gmp-static gperf libpoly ];
+  configureFlags =
+    [ "--with-static-gmp=${gmp-static.out}/lib/libgmp.a"
+      "--with-static-gmp-include-dir=${gmp-static.dev}/include"
+      "--enable-mcsat"
+    ];
 
   enableParallelBuilding = true;
   doCheck = true;
 
+  # Usual shenanigans
+  patchPhase = ''patchShebangs tests/regress/check.sh'';
+
   # Includes a fix for the embedded soname being libyices.so.2.5, but
-  # only installing the libyices.so.2.5.1 file.
+  # only installing the libyices.so.2.5.x file.
   installPhase = ''
       make install LDCONFIG=true
-      (cd $out/lib && ln -s -f libyices.so.2.5.3 libyices.so.2.5)
+      (cd $out/lib && ln -s -f libyices.so.${version} libyices.so.2.5)
   '';
 
   meta = with stdenv.lib; {
     description = "A high-performance theorem prover and SMT solver";
     homepage    = "http://yices.csl.sri.com";
     license     = licenses.gpl3;
-    platforms   = platforms.linux ++ platforms.darwin;
+    platforms   = with platforms; linux ++ darwin;
     maintainers = [ maintainers.thoughtpolice ];
   };
 }
diff --git a/pkgs/applications/science/logic/z3/default.nix b/pkgs/applications/science/logic/z3/default.nix
index a6b89f90ef67..be25738a6076 100644
--- a/pkgs/applications/science/logic/z3/default.nix
+++ b/pkgs/applications/science/logic/z3/default.nix
@@ -4,13 +4,13 @@ let
   python = python2;
 in stdenv.mkDerivation rec {
   name = "z3-${version}";
-  version = "4.5.0";
+  version = "4.5.0-2017-11-06";
 
   src = fetchFromGitHub {
     owner  = "Z3Prover";
     repo   = "z3";
-    rev    = "z3-${version}";
-    sha256 = "0ssp190ksak93hiz61z90x6hy9hcw1ywp8b2dzmbhn6fbd4bnxzp";
+    rev    = "3350f32e1f2c01c9df63b7d71899796a18ce2272";
+    sha256 = "00jn0njn5h9v49pl67yxj6225m6334ndrx6mp37vcqac05pdbpw7";
   };
 
   buildInputs = [ python fixDarwinDylibNames ];
diff --git a/pkgs/applications/science/machine-learning/sc2-headless/default.nix b/pkgs/applications/science/machine-learning/sc2-headless/default.nix
index c06bfc04e07c..517edd0d7799 100644
--- a/pkgs/applications/science/machine-learning/sc2-headless/default.nix
+++ b/pkgs/applications/science/machine-learning/sc2-headless/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, callPackage
 , lib
 , fetchurl
 , unzip
@@ -11,7 +12,8 @@ if !licenseAccepted then throw ''
     by setting nixpkgs config option 'sc2-headless.accept_license = true;'
   ''
 else assert licenseAccepted;
-stdenv.mkDerivation rec {
+let maps = callPackage ./maps.nix {};
+in stdenv.mkDerivation rec {
   version = "3.17";
   name = "sc2-headless-${version}";
 
@@ -30,6 +32,8 @@ stdenv.mkDerivation rec {
     mkdir -p $out
     cp -r . "$out"
     rm -r $out/Libs
+
+    cp -r "${maps.minigames}"/* "$out"/Maps/
   '';
 
   preFixup = ''
@@ -50,5 +54,6 @@ stdenv.mkDerivation rec {
       url = "https://blzdistsc2-a.akamaihd.net/AI_AND_MACHINE_LEARNING_LICENSE.html";
       free = false;
     };
+    maintainers = with lib.maintainers; [ danharaj ];
   };
 }
diff --git a/pkgs/applications/science/machine-learning/sc2-headless/maps.nix b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix
new file mode 100644
index 000000000000..4300a0a1b385
--- /dev/null
+++ b/pkgs/applications/science/machine-learning/sc2-headless/maps.nix
@@ -0,0 +1,11 @@
+{ fetchzip
+}:
+
+{
+  minigames = fetchzip {
+    url = "https://github.com/deepmind/pysc2/releases/download/v1.2/mini_games.zip";
+    sha256 = "19f873ilcdsf50g2v0s2zzmxil1bqncsk8nq99bzy87h0i7khkla";
+    stripRoot = false;
+  };
+
+}
diff --git a/pkgs/applications/science/math/maxima/default.nix b/pkgs/applications/science/math/maxima/default.nix
index 8a84ed78b781..d6d3b505e35b 100644
--- a/pkgs/applications/science/math/maxima/default.nix
+++ b/pkgs/applications/science/math/maxima/default.nix
@@ -4,7 +4,7 @@ tk ? null, gnuplot ? null, ecl ? null, ecl-fasl ? false
 
 let
   name    = "maxima";
-  version = "5.40.0";
+  version = "5.41.0";
 
   searchPath =
     stdenv.lib.makeBinPath
@@ -15,7 +15,7 @@ stdenv.mkDerivation ({
 
   src = fetchurl {
     url = "mirror://sourceforge/${name}/${name}-${version}.tar.gz";
-    sha256 = "15pp35ayglv723bjbqc60gcdv2bm54s6pywsm4i4cwbjsf64dzkl";
+    sha256 = "0x0n81z0s4pl8nwpf7ivlsbvsdphm9w42250g7qdkizl0132by6s";
   };
 
   buildInputs = stdenv.lib.filter (x: x != null)
diff --git a/pkgs/applications/science/math/pari/default.nix b/pkgs/applications/science/math/pari/default.nix
index 86d4d289c2a6..0bae80782059 100644
--- a/pkgs/applications/science/math/pari/default.nix
+++ b/pkgs/applications/science/math/pari/default.nix
@@ -4,11 +4,11 @@
 stdenv.mkDerivation rec {
 
   name = "pari-${version}";
-  version = "2.9.1";
+  version = "2.9.3";
 
   src = fetchurl {
     url = "http://pari.math.u-bordeaux.fr/pub/pari/unix/${name}.tar.gz";
-    sha256 = "0rq7wz9df1xs4acdzzb5dapx8vs6m5py39n2wynw2qv4d2b0ylfw";
+    sha256 = "0qqal1lpggd6dvs19svnz0dil86xk0xkcj5s3b7104ibkmvjfsp7";
   };
 
   buildInputs = [ gmp readline libX11 libpthreadstubs tex perl ];
diff --git a/pkgs/applications/science/math/pari/unstable.nix b/pkgs/applications/science/math/pari/unstable.nix
index 2c1cc7d75d8e..65dd3005b4ab 100644
--- a/pkgs/applications/science/math/pari/unstable.nix
+++ b/pkgs/applications/science/math/pari/unstable.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, gmp, readline, perl }:
 
 stdenv.mkDerivation rec {
-  version = "2.8.1.beta";
+  version = "2.9.3";
   name = "pari-unstable-${version}";
 
   src = fetchurl {
     url = "http://pari.math.u-bordeaux.fr/pub/pari/unstable/pari-${version}.tar.gz";
-    sha256 = "167dcqrqsblqrd7z5pb8jrs9xqm8138mik0s4ihlqcq6c3wndhv1";
+    sha256 = "0qqal1lpggd6dvs19svnz0dil86xk0xkcj5s3b7104ibkmvjfsp7";
   };
 
   buildInputs = [gmp readline];
diff --git a/pkgs/applications/science/math/sage/default.nix b/pkgs/applications/science/math/sage/default.nix
index bf3c7fcea989..24dc4436b0fd 100644
--- a/pkgs/applications/science/math/sage/default.nix
+++ b/pkgs/applications/science/math/sage/default.nix
@@ -1,42 +1,183 @@
-{ stdenv, fetchurl, m4, perl, gfortran, texlive, ffmpeg, tk, gnused_422
-, imagemagick, liblapack, python, openssl, libpng 
+# TODO
+# - consider writing a script to convert spkgs to nix packages, similar to vim
+#   or cabal2nix. This would allow a more efficient and "cleaner" build, greater
+#   flexibility and the possibility to select which dependencies to add and which
+#   to remove. It would also allow to use system packages for some dependencies
+#   and recompile others (optimized for the system) without recompiling everything.
+# - add optdeps:
+#   - imagemagick
+#   - texlive full for documentation
+#   - ...
+# - further seperate build outputs. Also maybe run `make doc`.
+#   Configure flags like --bindir and --libdir oculd also be used for that, see
+#   ./configure --help`.
+
+# Other resources:
+# - https://wiki.debian.org/DebianScience/Sage
+# - https://github.com/cschwan/sage-on-gentoo
+# - https://git.archlinux.org/svntogit/community.git/tree/trunk?h=packages/sagemath
+
+{ stdenv
+, fetchurl
+, perl
+, gfortran
+, python
+, autoreconfHook
+, gettext
 , which
+, texlive
+, hevea
 }:
 
 stdenv.mkDerivation rec {
-  name = "sage-6.8";
+  version = "8.0";
+  name = "sage-${version}";
 
   src = fetchurl {
-    url = "http://old.files.sagemath.org/src-old/${name}.tar.gz";
-    sha256 = "102mrzzi215g1xn5zgcv501x9sghwg758jagx2jixvg1rj2jijj9";
-
+    # Note that the source is *not* fetched from github, since that doesn't
+    # the upstream folder with all the source tarballs of the spkgs.
+    # If those are not present they are fetched at build time, which breaks
+    # when building in a sandbox (and probably only works if you install the
+    # latest sage version).
+    urls = [
+      "http://mirrors.mit.edu/sage/src/sage-${version}.tar.gz"
+      "ftp://ftp.fu-berlin.de/unix/misc/sage/src/sage-${version}.tar.gz"
+      "http://sagemath.polytechnic.edu.na/src/sage-${version}.tar.gz"
+      "ftp://ftp.sun.ac.za/pub/mirrors/www.sagemath.org/src/sage-${version}.tar.gz"
+      "http://sagemath.mirror.ac.za/src/sage-${version}.tar.gz"
+      "http://ftp.leg.uct.ac.za/pub/packages/sage/src/sage-${version}.tar.gz"
+      "http://mirror.ufs.ac.za/sagemath/src/sage-${version}.tar.gz"
+      "http://mirrors-usa.go-parts.com/sage/sagemath/src/sage-${version}.tar.gz"
+      "http://www.cecm.sfu.ca/sage/src/sage-${version}.tar.gz"
+      "http://files.sagemath.org/src/sage-${version}.tar.gz"
+      "http://mirrors.xmission.com/sage/src/sage-${version}.tar.gz"
+      "http://sagemath.c3sl.ufpr.br/src/sage-${version}.tar.gz"
+      "http://linorg.usp.br/sage/src/sage-${version}.tar.gz"
+      "http://mirror.hust.edu.cn/sagemath/src/sage-${version}.tar.gz"
+      "http://ftp.iitm.ac.in/sage/src/sage-${version}.tar.gz"
+      "http://ftp.kaist.ac.kr/sage/src/sage-${version}.tar.gz"
+      "http://ftp.riken.jp/sagemath/src/sage-${version}.tar.gz"
+      "http://mirrors.tuna.tsinghua.edu.cn/sagemath/src/sage-${version}.tar.gz"
+      "http://mirrors.ustc.edu.cn/sagemath/src/sage-${version}.tar.gz"
+      "http://ftp.tsukuba.wide.ad.jp/software/sage/src/sage-${version}.tar.gz"
+      "http://ftp.yz.yamagata-u.ac.jp/pub/math/sage/src/sage-${version}.tar.gz"
+      "http://mirror.yandex.ru/mirrors/sage.math.washington.edu/src/sage-${version}.tar.gz"
+      "http://mirror.aarnet.edu.au/pub/sage/src/sage-${version}.tar.gz"
+      "http://sage.mirror.garr.it/mirrors/sage/src/sage-${version}.tar.gz"
+      "http://www.mirrorservice.org/sites/www.sagemath.org/src/sage-${version}.tar.gz"
+      "http://mirror.switch.ch/mirror/sagemath/src/sage-${version}.tar.gz"
+      "https://mirrors.up.pt/pub/sage/src/sage-${version}.tar.gz"
+      "http://www-ftp.lip6.fr/pub/math/sagemath/src/sage-${version}.tar.gz"
+      "http://ftp.ntua.gr/pub/sagemath/src/sage-${version}.tar.gz"
+    ];
+    sha256 = "1a9rhb8jby6fdqa2s7n2fl9jwqqlsl7qz7dbpbwvg6jwlrvni7fg";
   };
 
-  buildInputs = [ m4 perl gfortran texlive.combined.scheme-basic ffmpeg gnused_422 tk imagemagick liblapack
-                  python openssl libpng which ];
+  postPatch = ''
+    substituteAllInPlace src/bin/sage-env
+  '';
 
-  patches = [ ./spkg-singular.patch ./spkg-python.patch ./spkg-git.patch ];
+  installPhase = ''
+    # Sage installs during first `make`, `make install` is no-op and just takes time.
+  '';
+
+  outputs = [ "out" "doc" ];
+
+  buildInputs = [
+    perl # needed for the build
+    python # needed for the build
+    gfortran # needed to build giac
+    autoreconfHook # needed to configure sage with prefix
+    gettext # needed to build the singular spkg
+    hevea # needed to build the docs of the giac spkg
+    which # needed in configure of mpir
+    # needed to build the docs of the giac spkg
+    (texlive.combine { inherit (texlive)
+      scheme-basic
+      collection-pstricks # needed by giac
+      times # font needed by giac
+      stmaryrd # needed by giac
+      babel-greek # optional for giac, otherwise throws a bunch of latex command not founds
+      ;
+    })
+  ];
+
+  patches = [
+    # fix usages of /bin/rm
+    ./spkg-singular.patch
+    # help python find the crypt library
+    ./spkg-python2.patch
+    ./spkg-python3.patch
+    # fix usages of /usr/bin/perl
+    ./spkg-git.patch
+    # fix usages of /bin/cp and add necessary argument to function call
+    ./spkg-giac.patch
+    # environment
+    ./env.patch
+  ];
 
   enableParallelBuilding = true;
 
-  hardeningDisable = [ "format" ];
+  hardeningDisable = [
+    "format" # needed to build palp, for lines like `printf(ctime(&_NFL->TIME))`
+    # TODO could be patched with `sed s|printf(ctime(\(.*\)))|%s... or fixed upstream
+  ];
 
   preConfigure = ''
     export SAGE_NUM_THREADS=$NIX_BUILD_CORES
     export SAGE_ATLAS_ARCH=fast
-    mkdir -p $out/sageHome
-    export HOME=$out/sageHome
-    export CPPFLAGS="-P"
+
+    export HOME=$out/sage-home
+    mkdir -p $out/sage-home
+
+    mkdir -p "$out"
+
+    # we need to keep the source around
+    dir="$PWD"
+    cd ..
+    mv "$dir" "$out/sage-root"
+
+    cd "$out/sage-root" # build in target dir, since `make` is also `make install`
+  '';
+
+  # for reference: http://doc.sagemath.org/html/en/installation/source.html
+  preBuild = ''
+    # TODO do this conditionally
+    export SAGE_SPKG_INSTALL_DOCS='no'
+    patchShebangs build
+  '';
+
+  postBuild = ''
+    rm -r "$out/sage-root/upstream" # don't keep the sources of all the spkgs
+    rm -r "$out/sage-root/src/build"
+    rm -rf "$out/sage-root/src/.git"
+    rm -r "$out/sage-root/logs"
+    # Fix dependency cycle between out and doc
+    rm -f "$out/sage-root/config.status"
+    rm -f "$out/sage-root/build/make/Makefile-auto"
+    rm -f "$out/sage-home/.sage/gap/libgap-workspace-"*
   '';
 
-  preBuild = "patchShebangs build";
+  # TODO there are some doctest failures, which seem harmless.
+  # We should figure out a way to fix the failures or ignore only those tests.
+  doCheck = false;
 
-  installPhase = ''DESTDIR=$out make install'';
+  checkTarget = "ptestalllong"; # all long tests in parallell
+  preCheck = ''
+    export SAGE_TIMEOUT=0 # no timeout
+    export SAGE_TIMEOUT_LONG=0 # no timeout
+  '';
 
   meta = {
     homepage = http://www.sagemath.org;
     description = "A free open source mathematics software system";
+    # taken from the homepage
+    longDescription = ''
+      SageMath is a free open-source mathematics software system licensed under the GPL. It builds on top of many existing open-source packages: NumPy, SciPy, matplotlib, Sympy, Maxima, GAP, FLINT, R and many more. Access their combined power through a common, Python-based language or directly via interfaces or wrappers.
+      Mission: Creating a viable free open source alternative to Magma, Maple, Mathematica and Matlab.
+    '';
     license = stdenv.lib.licenses.gpl2Plus;
-    broken = true;
+    platforms = stdenv.lib.platforms.linux;
+    maintainers = with stdenv.lib.maintainers; [ timokau ];
   };
 }
diff --git a/pkgs/applications/science/math/sage/env.patch b/pkgs/applications/science/math/sage/env.patch
new file mode 100644
index 000000000000..a7f8538eac3d
--- /dev/null
+++ b/pkgs/applications/science/math/sage/env.patch
@@ -0,0 +1,22 @@
+diff --git a/src/bin/sage-env b/src/bin/sage-env
+index ead308f861..ed8db9f9b7 100644
+--- a/src/bin/sage-env
++++ b/src/bin/sage-env
+@@ -111,6 +111,8 @@ resolvelinks() {
+ }
+ 
+ 
++SAGE_ROOT="@out@/sage-root"
++
+ # New value for SAGE_ROOT: either SAGE_ROOT (if given)
+ # or a guessed value based on pwd.
+ if [ -n "$SAGE_ROOT" ]; then
+@@ -185,6 +187,8 @@ fi
+ export SAGE_ENV_SOURCED=$SAGE_ENV_VERSION
+ 
+ export SAGE_ROOT="$NEW_SAGE_ROOT"
++export SAGE_LOCAL='@out@/'
++export PYTHONPATH="@out@/lib/python2.7/site-packages:$PYTHONPATH"
+ 
+ 
+ # sage-env must know where the Sage's script files are.
diff --git a/pkgs/applications/science/math/sage/fetch-mirrors.sh b/pkgs/applications/science/math/sage/fetch-mirrors.sh
new file mode 100755
index 000000000000..a1103e86beb9
--- /dev/null
+++ b/pkgs/applications/science/math/sage/fetch-mirrors.sh
@@ -0,0 +1,11 @@
+#! /usr/bin/env nix-shell
+#! nix-shell -i bash -p curl go-pup
+
+# Fetches a list of all available source mirrors from the sage homepage.
+# Note that the list is sorted by country, but fetchurl doesn't offer an option
+# to customize mirror preference.
+
+curl -s http://www.sagemath.org/download-source.html \
+    | pup 'table#mirror'  \
+    | pup 'a attr{href}' \
+    | sed -e 's/index\.html/sage-${version}.tar.gz/'
diff --git a/pkgs/applications/science/math/sage/spkg-giac.patch b/pkgs/applications/science/math/sage/spkg-giac.patch
new file mode 100644
index 000000000000..15b91433d254
--- /dev/null
+++ b/pkgs/applications/science/math/sage/spkg-giac.patch
@@ -0,0 +1,11 @@
+--- old/build/pkgs/giac/spkg-install	2017-07-21 14:10:00.000000000 -0500
++++ new/build/pkgs/giac/spkg-install	2017-10-15 15:55:55.321237645 -0500
+@@ -4,6 +4,8 @@
+ ## Giac
+ ###########################################
+ 
++find . -type f -exec sed -e 's@/bin/cp@cp@g' -i '{}' ';' && echo "Patching input parser" && find . -iname 'input_parser.cc'
++sed -e 's@yylex (&yylval)@yylex (\&yyval, scanner)@gp' -i 'src/src/input_parser.cc'
+ 
+ if [ "$SAGE_LOCAL" = "" ]; then
+    echo "SAGE_LOCAL undefined ... exiting";
diff --git a/pkgs/applications/science/math/sage/spkg-git.patch b/pkgs/applications/science/math/sage/spkg-git.patch
index a3e768a7c240..ff9a7b2e491a 100644
--- a/pkgs/applications/science/math/sage/spkg-git.patch
+++ b/pkgs/applications/science/math/sage/spkg-git.patch
@@ -1,10 +1,12 @@
---- old/build/pkgs/git/spkg-install	2015-07-26 15:34:43.000000000 +0200
-+++ new/build/pkgs/git/spkg-install	2015-09-17 08:28:03.586657451 +0200
-@@ -45,6 +45,8 @@
-     fi
- done
+diff --git a/build/pkgs/git/spkg-install b/build/pkgs/git/spkg-install
+index 8469cb58c2..d0dc9a1db9 100755
+--- a/build/pkgs/git/spkg-install
++++ b/build/pkgs/git/spkg-install
+@@ -35,6 +35,8 @@ fi
  
-+find . -exec sed -e 's@/usr/bin/perl@perl@g' -i '{}' ';'
+ cd src
+ 
++find . -type f -exec sed -e 's@/usr/bin/perl@perl@g' -i '{}' ';'
 +
  # We don't want to think about Fink or Macports
  export NO_FINK=1
diff --git a/pkgs/applications/science/math/sage/spkg-python.patch b/pkgs/applications/science/math/sage/spkg-python.patch
deleted file mode 100644
index 4db9427e3e02..000000000000
--- a/pkgs/applications/science/math/sage/spkg-python.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- old/build/pkgs/python2/spkg-install	2015-07-26 15:34:43.000000000 +0200
-+++ new/build/pkgs/python2/spkg-install	2015-09-16 20:48:51.904555797 +0200
-@@ -32,7 +32,7 @@
- done
- 
- # We are setting LDFLAGS so that we pick up Sage's readline
--LDFLAGS="-L$SAGE_LOCAL/lib $LDFLAGS"
-+LDFLAGS="-L$SAGE_LOCAL/lib -lcrypt $LDFLAGS"
- export LDFLAGS
- 
- if [ "$SAGE_DEBUG" = "yes" ]; then
diff --git a/pkgs/applications/science/math/sage/spkg-python2.patch b/pkgs/applications/science/math/sage/spkg-python2.patch
new file mode 100644
index 000000000000..5d92d3f8beaf
--- /dev/null
+++ b/pkgs/applications/science/math/sage/spkg-python2.patch
@@ -0,0 +1,12 @@
+--- old/build/pkgs/python2/spkg-install	2017-07-21 14:10:00.000000000 -0500
++++ new/build/pkgs/python2/spkg-install	2017-10-15 11:26:54.823134067 -0500
+@@ -22,6 +22,9 @@
+ 
+ cd src
+ 
++LDFLAGS="-lcrypt $LDFLAGS"
++export LDFLAGS
++
+ if [ "$SAGE_DEBUG" = "yes" ]; then
+     echo "Building Python with pydebug"
+     PYTHON_CONFIGURE="$PYTHON_CONFIGURE --with-pydebug"
diff --git a/pkgs/applications/science/math/sage/spkg-python3.patch b/pkgs/applications/science/math/sage/spkg-python3.patch
new file mode 100644
index 000000000000..51827fd11be0
--- /dev/null
+++ b/pkgs/applications/science/math/sage/spkg-python3.patch
@@ -0,0 +1,12 @@
+--- old/build/pkgs/python3/spkg-install	2017-07-21 14:10:00.000000000 -0500
++++ new/build/pkgs/python3/spkg-install	2017-10-15 13:11:17.769261404 -0500
+@@ -22,6 +22,9 @@
+ 
+ cd src
+ 
++LDFLAGS="-lcrypt $LDFLAGS"		
++export LDFLAGS
++
+ if [ "$SAGE_DEBUG" = "yes" ]; then
+     echo "Building Python with pydebug"
+     PYTHON_CONFIGURE="$PYTHON_CONFIGURE --with-pydebug"
diff --git a/pkgs/applications/science/math/sage/spkg-singular.patch b/pkgs/applications/science/math/sage/spkg-singular.patch
index a4c29825a4c4..d561768600b4 100644
--- a/pkgs/applications/science/math/sage/spkg-singular.patch
+++ b/pkgs/applications/science/math/sage/spkg-singular.patch
@@ -1,28 +1,12 @@
---- old/build/pkgs/singular/spkg-install	2015-07-26 15:34:43.000000000 +0200
-+++ new/build/pkgs/singular/spkg-install	2015-09-15 20:42:51.716505855 +0200
-@@ -115,6 +115,11 @@
-     done
- }
+--- old/build/pkgs/singular/spkg-install	2017-10-15 10:35:41.826540964 -0500
++++ new/build/pkgs/singular/spkg-install	2017-10-15 10:36:40.613743443 -0500
+@@ -4,6 +4,9 @@
+ ## Singular
+ ###########################################
  
-+nix_nuke_bin_rm()
-+{
-+    find . -exec sed -e 's@/bin/rm@rm@g' -i '{}' ';'
-+}
++find . -type f -exec sed -e 's@/bin/rm@rm@g' -i '{}' ';'
++#echo '#!/usr/bin/env bash\nIgnoring missing $1' > src/build-aux/missing
 +
- remove_old_version()
- {
-     rm -f "$SAGE_LOCAL"/bin/Singular*
-@@ -306,11 +311,11 @@
- 
- 
- # Actually run all the functions defined above
--for i in choose_patches apply_patches remove_old_version config \
-+for i in choose_patches apply_patches nix_nuke_bin_rm remove_old_version config \
-   build_singular build_libsingular build_factory build_libfac \
-   create_singular_script install_docs ; do
-     echo "### Singular spkg-install: $i ###"
--    cd "$SRC" && $i
-+    cd "$SRC" && pwd && $i
-     if [ $? -ne 0 ]; then
-         echo >&2 "Error building Singular (error in $i)."
-         exit 1
+ if [ -z "$SAGE_LOCAL" ]; then
+     echo >&2 "Error: SAGE_LOCAL undefined -- exiting..."
+     echo >&2 "Maybe run 'sage -sh'?"
diff --git a/pkgs/applications/science/math/wxmaxima/default.nix b/pkgs/applications/science/math/wxmaxima/default.nix
index 2000a1e51170..6c866a8d2164 100644
--- a/pkgs/applications/science/math/wxmaxima/default.nix
+++ b/pkgs/applications/science/math/wxmaxima/default.nix
@@ -1,35 +1,35 @@
-{ stdenv, fetchurl, maxima, wxGTK, makeWrapper }:
-
-let
-  name    = "wxmaxima";
-  version = "15.04.0";
-in
-stdenv.mkDerivation {
-  name = "${name}-${version}";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/${name}/wxMaxima/${version}/wxmaxima-${version}.tar.gz";
-    sha256 = "1fm47ah4aw5qdjqhkz67w5fwhy8yfffa5z896crp0d3hk2bh4180";
+{ stdenv, fetchFromGitHub
+, wrapGAppsHook, autoreconfHook, gettext
+, maxima, wxGTK, gnome3 }:
+
+stdenv.mkDerivation rec {
+  name = "wxmaxima-${version}";
+  version = "17.10.1";
+
+  src = fetchFromGitHub {
+    owner = "andrejv";
+    repo = "wxmaxima";
+    rev = "Version-${version}";
+    sha256 = "088h8dlc9chkppwl4ck9i0fgf2d1dcpi5kq8qbpr5w75vhwsb6qm";
   };
 
-  buildInputs = [wxGTK maxima makeWrapper];
+  buildInputs = [ wxGTK maxima gnome3.defaultIconTheme ];
+
+  nativeBuildInputs = [ wrapGAppsHook autoreconfHook gettext ];
 
-  postInstall = ''
-    # Make sure that wxmaxima can find its runtime dependencies.
-    for prog in "$out/bin/"*; do
-      wrapProgram "$prog" --prefix PATH ":" "${maxima}/bin"
-    done
+  preConfigure = ''
+    gappsWrapperArgs+=(--prefix PATH ":" ${maxima}/bin)
   '';
 
   doCheck = true;
 
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Cross platform GUI for the computer algebra system Maxima";
-    license = stdenv.lib.licenses.gpl2;
+    license = licenses.gpl2;
     homepage = http://wxmaxima.sourceforge.net;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.peti ];
+    platforms = platforms.linux;
+    maintainers = [ maintainers.peti ];
   };
 }
diff --git a/pkgs/applications/science/medicine/aliza/default.nix b/pkgs/applications/science/medicine/aliza/default.nix
index b0471b80e2f1..d8e8d49bb706 100644
--- a/pkgs/applications/science/medicine/aliza/default.nix
+++ b/pkgs/applications/science/medicine/aliza/default.nix
@@ -5,8 +5,8 @@ stdenv.mkDerivation {
   name = "aliza";
   src = fetchurl {
     # Hosted on muoniurn's google drive
-    url = "https://drive.google.com/uc?export=download&id=0B0s_Yf4jjfZ4WUJaSERHN3FsNFE";
-    sha256 = "1nfp3ghjnfxmxiclg76gcn7a3mhvi6h7s5wmd9v9l6w8lfq9vj5h";
+    url = "https://drive.google.com/uc?export=download&id=1zMYfSUqMaYuvuF41zAFUC5ndR55wD7Ip";
+    sha256 = "0prlmzz8qbqqkr0plk781afq25dvy4pv89vlgccpim79psqlchl3";
     name = "aliza.rpm";
   };
 
diff --git a/pkgs/applications/science/misc/golly/default.nix b/pkgs/applications/science/misc/golly/default.nix
index 94e7c0efaaee..f4bf24a73433 100644
--- a/pkgs/applications/science/misc/golly/default.nix
+++ b/pkgs/applications/science/misc/golly/default.nix
@@ -1,24 +1,17 @@
 {stdenv, fetchurl, wxGTK, perl, python2, zlib, mesa, libX11}:
-let
-  s = # Generated upstream information
-  rec {
-    baseName="golly";
-    version="2.8";
-    name="${baseName}-${version}";
-    hash="0a4vn2hm7h4b47v2iwip1z3n9y8isf79v08aipl2iqms2m3p5204";
-    url="mirror://sourceforge/project/golly/golly/golly-2.8/golly-2.8-src.tar.gz";
-    sha256="0a4vn2hm7h4b47v2iwip1z3n9y8isf79v08aipl2iqms2m3p5204";
+stdenv.mkDerivation rec {
+  baseName="golly";
+  version = "3.1";
+  name="${baseName}-${version}";
+
+  src = fetchurl {
+    sha256 = "0dn74k3rylhx023n047lz4z6qrqijfcxi0b6jryqklhmm2n532f7";
+    url="mirror://sourceforge/project/golly/golly/golly-${version}/golly-${version}-src.tar.gz";
   };
+
   buildInputs = [
     wxGTK perl python2 zlib mesa libX11
   ];
-in
-stdenv.mkDerivation rec {
-  inherit (s) name version;
-  inherit buildInputs;
-  src = fetchurl {
-    inherit (s) url sha256;
-  };
 
   setSourceRoot = ''
     sourceRoot=$(echo */gui-wx/configure)
@@ -37,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    inherit (s) version;
+    inherit version;
     description = "Cellular automata simulation program";
     license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.raskin];
diff --git a/pkgs/applications/science/spyder/default.nix b/pkgs/applications/science/spyder/default.nix
index 6dbc75e9c062..0952b61551e3 100644
--- a/pkgs/applications/science/spyder/default.nix
+++ b/pkgs/applications/science/spyder/default.nix
@@ -1,25 +1,27 @@
-{ stdenv, fetchurl, unzip, buildPythonApplication, makeDesktopItem
+{ stdenv, fetchPypi, unzip, buildPythonApplication, makeDesktopItem
 # mandatory
-, pyside
-# recommended
-, pyflakes ? null, rope ? null, sphinx ? null, numpy ? null, scipy ? null, matplotlib ? null
+, qtpy, numpydoc, qtconsole, qtawesome, jedi, pycodestyle, psutil
+, pyflakes, rope, sphinx, nbconvert, mccabe
 # optional
-, ipython ? null, pylint ? null, pep8 ? null
+, numpy ? null, scipy ? null, matplotlib ? null
+# optional
+, pylint ? null
 }:
 
 buildPythonApplication rec {
-  name = "spyder-${version}";
-  version = "2.3.8";
+  pname = "spyder";
+  version = "3.2.4";
   namePrefix = "";
 
-  src = fetchurl {
-    url = "mirror://pypi/s/spyder/${name}.zip";
-    sha256 = "99fdae2cea325c0f2842c77bd67dd22db19fef3d9c0dde1545b1a2650eae517e";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "028hg71gfq2yrplwhhl7hl4rbwji1l0zxzghblwmb0i443ki10v3";
   };
 
-  # NOTE: sphinx makes the build fail with: ValueError: ZIP does not support timestamps before 1980
-  propagatedBuildInputs =
-    [ pyside pyflakes rope  numpy scipy matplotlib ipython pylint pep8 ];
+  propagatedBuildInputs = [
+    jedi pycodestyle psutil qtpy pyflakes rope numpy scipy matplotlib pylint
+    numpydoc qtconsole qtawesome nbconvert mccabe
+  ];
 
   # There is no test for spyder
   doCheck = false;
@@ -36,9 +38,9 @@ buildPythonApplication rec {
 
   # Create desktop item
   postInstall = ''
-    mkdir -p $out/share/{applications,icons}
-    cp  $desktopItem/share/applications/* $out/share/applications/
-    cp  spyderlib/images/spyder.svg $out/share/icons/
+    mkdir -p $out/share/icons
+    cp spyder/images/spyder.svg $out/share/icons
+    cp -r $desktopItem/share/applications/ $out/share
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/applications/version-management/cvs/CVE-2017-12836.patch b/pkgs/applications/version-management/cvs/CVE-2017-12836.patch
new file mode 100644
index 000000000000..950079423685
--- /dev/null
+++ b/pkgs/applications/version-management/cvs/CVE-2017-12836.patch
@@ -0,0 +1,29 @@
+--- a/src/rsh-client.c.orig	2005-10-02 17:17:21.000000000 +0200
++++ b/src/rsh-client.c	2017-11-07 16:56:06.957370469 +0100
+@@ -53,7 +53,7 @@
+     char *cvs_server = (root->cvs_server != NULL
+ 			? root->cvs_server : getenv ("CVS_SERVER"));
+     int i = 0;
+-    /* This needs to fit "rsh", "-b", "-l", "USER", "host",
++    /* This needs to fit "rsh", "-b", "-l", "USER", "--", "host",
+        "cmd (w/ args)", and NULL.  We leave some room to grow. */
+     char *rsh_argv[10];
+ 
+@@ -97,6 +97,9 @@
+ 	rsh_argv[i++] = root->username;
+     }
+ 
++    /* Only non-option arguments from here. (CVE-2017-12836) */
++    rsh_argv[i++] = "--";
++
+     rsh_argv[i++] = root->hostname;
+     rsh_argv[i++] = cvs_server;
+     rsh_argv[i++] = "server";
+@@ -171,6 +174,7 @@
+ 	    *p++ = root->username;
+ 	}
+ 
++	*p++ = "--";
+ 	*p++ = root->hostname;
+ 	*p++ = command;
+ 	*p++ = NULL;
diff --git a/pkgs/applications/version-management/cvs/default.nix b/pkgs/applications/version-management/cvs/default.nix
index 8c69517a7506..a330db6a8d67 100644
--- a/pkgs/applications/version-management/cvs/default.nix
+++ b/pkgs/applications/version-management/cvs/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation {
   patches = [
     ./getcwd-chroot.patch
     ./CVE-2012-0804.patch
+    ./CVE-2017-12836.patch
   ];
 
   hardeningDisable = [ "fortify" "format" ];
diff --git a/pkgs/applications/version-management/git-and-tools/default.nix b/pkgs/applications/version-management/git-and-tools/default.nix
index 58a9e8089230..75b53d2cfe09 100644
--- a/pkgs/applications/version-management/git-and-tools/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/default.nix
@@ -84,6 +84,8 @@ rec {
 
   git-remote-hg = callPackage ./git-remote-hg { };
 
+  git-secret = callPackage ./git-secret { };
+
   git-stree = callPackage ./git-stree { };
 
   git2cl = callPackage ./git2cl { };
diff --git a/pkgs/applications/version-management/git-and-tools/git-secret/default.nix b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
new file mode 100644
index 000000000000..3f64d9d86bb6
--- /dev/null
+++ b/pkgs/applications/version-management/git-and-tools/git-secret/default.nix
@@ -0,0 +1,36 @@
+{ stdenv, lib, fetchFromGitHub, makeWrapper, git, gnupg }:
+
+let
+  version = "0.2.2";
+  repo = "git-secret";
+
+in stdenv.mkDerivation {
+  name = "${repo}-${version}";
+
+  src = fetchFromGitHub {
+    inherit repo;
+    owner = "sobolevn";
+    rev = "v${version}";
+    sha256 = "0vn9jibp97z7kc828wka1k0d7a9wx4skd6cnqy60kagfc00l0bzh";
+  };
+
+  buildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    install -D git-secret $out/bin/git-secret
+
+    wrapProgram $out/bin/git-secret \
+      --prefix PATH : "${lib.makeBinPath [ git gnupg ]}"
+
+    mkdir $out/share
+    cp -r man $out/share
+  '';
+
+  meta = {
+    description = "A bash-tool to store your private data inside a git repository";
+    homepage = http://git-secret.io;
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.lo1tuma ];
+    platforms = stdenv.lib.platforms.all;
+  };
+}
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 6358a340bb6e..5e42992cbe22 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -53,9 +53,6 @@ stdenv.mkDerivation {
   NIX_LDFLAGS = stdenv.lib.optionalString (!stdenv.cc.isClang) "-lgcc_s"
               + stdenv.lib.optionalString (stdenv.isFreeBSD) "-lthr";
 
-  # without this, git fails when trying to check for /etc/gitconfig existence
-  propagatedSandboxProfile = stdenv.lib.sandbox.allowDirectoryList "/etc";
-
   makeFlags = "prefix=\${out} PERL_PATH=${perl}/bin/perl SHELL_PATH=${stdenv.shell} "
       + (if pythonSupport then "PYTHON_PATH=${python}/bin/python" else "NO_PYTHON=1")
       + (if stdenv.isSunOS then " INSTALL=install NO_INET_NTOP= NO_INET_PTON=" else "")
diff --git a/pkgs/applications/version-management/gitaly/Gemfile b/pkgs/applications/version-management/gitaly/Gemfile
index 88b7120d6f9a..7e8f9f2b2557 100644
--- a/pkgs/applications/version-management/gitaly/Gemfile
+++ b/pkgs/applications/version-management/gitaly/Gemfile
@@ -3,3 +3,7 @@ source 'https://rubygems.org'
 gem 'github-linguist', '~> 4.7.0', require: 'linguist'
 gem 'gitaly-proto', '~> 0.37.0', require: 'gitaly'
 gem 'activesupport'
+
+group :development, :test do
+  gem 'gitlab-styles', '~> 2.0.0', require: false
+end
diff --git a/pkgs/applications/version-management/gitaly/Gemfile.lock b/pkgs/applications/version-management/gitaly/Gemfile.lock
index 68433fc6878e..5ea14855b97f 100644
--- a/pkgs/applications/version-management/gitaly/Gemfile.lock
+++ b/pkgs/applications/version-management/gitaly/Gemfile.lock
@@ -8,6 +8,7 @@ GEM
       tzinfo (~> 1.1)
     addressable (2.5.1)
       public_suffix (~> 2.0, >= 2.0.2)
+    ast (2.3.0)
     charlock_holmes (0.7.5)
     concurrent-ruby (1.0.5)
     escape_utils (1.1.1)
@@ -21,6 +22,10 @@ GEM
       escape_utils (~> 1.1.0)
       mime-types (>= 1.19)
       rugged (>= 0.23.0b)
+    gitlab-styles (2.0.0)
+      rubocop (~> 0.49)
+      rubocop-gitlab-security (~> 0.1.0)
+      rubocop-rspec (~> 1.15)
     google-protobuf (3.4.0.2)
     googleauth (0.5.3)
       faraday (~> 0.12)
@@ -47,7 +52,26 @@ GEM
     multi_json (1.12.1)
     multipart-post (2.0.0)
     os (0.9.6)
+    parallel (1.12.0)
+    parser (2.4.0.0)
+      ast (~> 2.2)
+    powerpack (0.1.1)
     public_suffix (2.0.5)
+    rainbow (2.2.2)
+      rake
+    rake (12.1.0)
+    rubocop (0.50.0)
+      parallel (~> 1.10)
+      parser (>= 2.3.3.1, < 3.0)
+      powerpack (~> 0.1)
+      rainbow (>= 2.2.2, < 3.0)
+      ruby-progressbar (~> 1.7)
+      unicode-display_width (~> 1.0, >= 1.0.1)
+    rubocop-gitlab-security (0.1.0)
+      rubocop (>= 0.47.1)
+    rubocop-rspec (1.17.0)
+      rubocop (>= 0.50.0)
+    ruby-progressbar (1.8.3)
     rugged (0.26.0)
     signet (0.7.3)
       addressable (~> 2.3)
@@ -57,6 +81,7 @@ GEM
     thread_safe (0.3.6)
     tzinfo (1.2.2)
       thread_safe (~> 0.1)
+    unicode-display_width (1.3.0)
 
 PLATFORMS
   ruby
@@ -65,6 +90,7 @@ DEPENDENCIES
   activesupport
   gitaly-proto (~> 0.37.0)
   github-linguist (~> 4.7.0)
+  gitlab-styles (~> 2.0.0)
 
 BUNDLED WITH
    1.15.4
diff --git a/pkgs/applications/version-management/gitaly/default.nix b/pkgs/applications/version-management/gitaly/default.nix
index ba8831d370c7..63e5758107f7 100644
--- a/pkgs/applications/version-management/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitaly/default.nix
@@ -7,14 +7,14 @@ let
     gemdir = ./.;
   };
 in buildGoPackage rec {
-  version = "0.38.0";
+  version = "0.43.1";
   name = "gitaly-${version}";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "02s5gjxbjvm990n4h5zkyqj71a9mp4yj83hfl8mma0g7gx00icsf";
+    sha256 = "19ggfc5nwv8q1wq739ab8qdfdngpi33431dgfa9593p6ad7v6hyq";
   };
 
   goPackagePath = "gitlab.com/gitlab-org/gitaly";
diff --git a/pkgs/applications/version-management/gitaly/gemset.nix b/pkgs/applications/version-management/gitaly/gemset.nix
index 6dc3eb596665..57480f3f337e 100644
--- a/pkgs/applications/version-management/gitaly/gemset.nix
+++ b/pkgs/applications/version-management/gitaly/gemset.nix
@@ -17,6 +17,14 @@
     };
     version = "2.5.1";
   };
+  ast = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0pp82blr5fakdk27d1d21xq9zchzb6vmyb1zcsl520s3ygvprn8m";
+      type = "gem";
+    };
+    version = "2.3.0";
+  };
   charlock_holmes = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -68,6 +76,15 @@
     };
     version = "4.7.6";
   };
+  gitlab-styles = {
+    dependencies = ["rubocop" "rubocop-gitlab-security" "rubocop-rspec"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1k8xrkjx8rcny8p0gsp18wskvn1qbw4rfgdp1f6x0p4xp6dlhjf4";
+      type = "gem";
+    };
+    version = "2.0.0";
+  };
   google-protobuf = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -184,6 +201,31 @@
     };
     version = "0.9.6";
   };
+  parallel = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qv2yj4sxr36ga6xdxvbq9h05hn10bwcbkqv6j6q1fiixhsdnnzd";
+      type = "gem";
+    };
+    version = "1.12.0";
+  };
+  parser = {
+    dependencies = ["ast"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "130rfk8a2ws2fyq52hmi1n0xakylw39wv4x1qhai4z17x2b0k9cq";
+      type = "gem";
+    };
+    version = "2.4.0.0";
+  };
+  powerpack = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1fnn3fli5wkzyjl4ryh0k90316shqjfnhydmc7f8lqpi0q21va43";
+      type = "gem";
+    };
+    version = "0.1.1";
+  };
   public_suffix = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -192,6 +234,58 @@
     };
     version = "2.0.5";
   };
+  rainbow = {
+    dependencies = ["rake"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08w2ghc5nv0kcq5b257h7dwjzjz1pqcavajfdx2xjyxqsvh2y34w";
+      type = "gem";
+    };
+    version = "2.2.2";
+  };
+  rake = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0mfqgpp3m69s5v1rd51lfh5qpjwyia5p4rg337pw8c8wzm6pgfsw";
+      type = "gem";
+    };
+    version = "12.1.0";
+  };
+  rubocop = {
+    dependencies = ["parallel" "parser" "powerpack" "rainbow" "ruby-progressbar" "unicode-display_width"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hpd7zcv4y9y750wj630abvmcjwv39dsrj1fjff60ik7gfri0xlz";
+      type = "gem";
+    };
+    version = "0.50.0";
+  };
+  rubocop-gitlab-security = {
+    dependencies = ["rubocop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0aw9qmyc6xj6fi0jxp8m4apk358rd91z492ragn6jp4rghkqj5cy";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
+  rubocop-rspec = {
+    dependencies = ["rubocop"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1hf48ng67yswvshmv4cyysj1rs1z3fnvlycr50jdcgwlynpyxkhs";
+      type = "gem";
+    };
+    version = "1.17.0";
+  };
+  ruby-progressbar = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "029kv0q3kfq53rjyak4ypn7196l8z4hflfmv4p5787n78z7baiqf";
+      type = "gem";
+    };
+    version = "1.8.3";
+  };
   rugged = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -226,4 +320,12 @@
     };
     version = "1.2.2";
   };
+  unicode-display_width = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "12pi0gwqdnbx1lv5136v3vyr0img9wr0kxcn4wn54ipq4y41zxq8";
+      type = "gem";
+    };
+    version = "1.3.0";
+  };
 }
\ No newline at end of file
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index 734b9d3629c2..d4afdd7b3cd4 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -7,13 +7,13 @@ with stdenv.lib;
 
 buildGoPackage rec {
   name = "gitea-${version}";
-  version = "1.2.1";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "go-gitea";
     repo = "gitea";
     rev = "v${version}";
-    sha256 = "15zw4b6hnx4hmzn2xlsi4p7jvh6jx4g4smbdidnrzrykzyq4rmpp";
+    sha256 = "0v24q14xzmqgwk10m7rqyn6pahd630v3bnc646ij4w8fbgr8hzja";
   };
 
   patches = [ ./static-root-path.patch ];
diff --git a/pkgs/applications/version-management/gitlab-shell/default.nix b/pkgs/applications/version-management/gitlab-shell/default.nix
index 1fdb529d9ac4..ac05ca4c4847 100644
--- a/pkgs/applications/version-management/gitlab-shell/default.nix
+++ b/pkgs/applications/version-management/gitlab-shell/default.nix
@@ -1,14 +1,14 @@
 { stdenv, ruby, bundler, fetchFromGitLab, go }:
 
 stdenv.mkDerivation rec {
-  version = "5.9.0";
+  version = "5.9.3";
   name = "gitlab-shell-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-shell";
     rev = "v${version}";
-    sha256 = "1zjlwivksaqlfxxhxjgpqa3293nhijw76fj7nv0l11820wplc7yf";
+    sha256 = "12iil8ap9lbd7skj7xr2v6lsyjdd97svbmyj0n2j8m819fv0x27p";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
index e88dbad071f5..dd1ecafb8bf8 100644
--- a/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab-shell/remove-hardcoded-locations.patch
@@ -3,7 +3,7 @@ index 0b11ce3..ffc3faf 100644
 --- a/lib/gitlab_projects.rb
 +++ b/lib/gitlab_projects.rb
 @@ -8,7 +8,7 @@ require_relative 'gitlab_metrics'
- require_relative 'gitlab_reference_counter'
+ require_relative 'gitlab_metrics'
  
  class GitlabProjects
 -  GLOBAL_HOOKS_DIRECTORY = File.join(ROOT_PATH, 'hooks')
@@ -15,7 +15,7 @@ diff --git a/lib/gitlab_shell.rb b/lib/gitlab_shell.rb
 index e7d0254..181ec8a 100644
 --- a/lib/gitlab_shell.rb
 +++ b/lib/gitlab_shell.rb
-@@ -163,7 +163,8 @@ class GitlabShell
+@@ -188,7 +188,8 @@ class GitlabShell
      end
  
      # We use 'chdir: ROOT_PATH' to let the next executable know where config.yml is.
diff --git a/pkgs/applications/version-management/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab-workhorse/default.nix
index a91a15e66b85..1f3407eddcf5 100644
--- a/pkgs/applications/version-management/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab-workhorse/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitLab, git, go }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.0";
+  version = "3.2.0";
   name = "gitlab-workhorse-${version}";
 
   srcs = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-workhorse";
     rev = "v${version}";
-    sha256 = "0lz3bgwww640c7gh97vf40a8h6cz4znscl0r00z6iiwkc0xxzp7j";
+    sha256 = "1ivqlhvmxhdb8359yh469zl45j00n94b53naqi8jx06kijfsdz4r";
   };
 
   buildInputs = [ git go ];
diff --git a/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch b/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch
index 37f3d2deef54..d8313ecb433a 100644
--- a/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch
+++ b/pkgs/applications/version-management/gitlab-workhorse/remove-hardcoded-paths.patch
@@ -2,11 +2,11 @@ diff --git a/internal/git/command.go b/internal/git/command.go
 index 0e5496c..5778294 100644
 --- a/internal/git/command.go
 +++ b/internal/git/command.go
-@@ -16,6 +16,7 @@ func gitCommand(gl_id string, name string, args ...string) *exec.Cmd {
+@@ -19,6 +19,7 @@ func gitCommand(gl_id string, name string, args ...string) *exec.Cmd {
  	cmd.Env = []string{
  		fmt.Sprintf("HOME=%s", os.Getenv("HOME")),
  		fmt.Sprintf("PATH=%s", os.Getenv("PATH")),
 +		fmt.Sprintf("GITLAB_SHELL_CONFIG_PATH=%s", os.Getenv("GITLAB_SHELL_CONFIG_PATH")),
  		fmt.Sprintf("LD_LIBRARY_PATH=%s", os.Getenv("LD_LIBRARY_PATH")),
- 		fmt.Sprintf("GL_ID=%s", gl_id),
+ 		fmt.Sprintf("GL_PROTOCOL=http"),
  	}
diff --git a/pkgs/applications/version-management/gitlab/Gemfile b/pkgs/applications/version-management/gitlab/Gemfile
index 97af3413b156..b4a457bff6e5 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile
+++ b/pkgs/applications/version-management/gitlab/Gemfile
@@ -23,10 +23,10 @@ gem 'faraday', '~> 0.12'
 # Authentication libraries
 gem 'devise', '~> 4.2'
 gem 'doorkeeper', '~> 4.2.0'
-gem 'doorkeeper-openid_connect', '~> 1.1.0'
+gem 'doorkeeper-openid_connect', '~> 1.2.0'
 gem 'omniauth', '~> 1.4.2'
 gem 'omniauth-auth0', '~> 1.4.1'
-gem 'omniauth-azure-oauth2', '~> 0.0.6'
+gem 'omniauth-azure-oauth2', '~> 0.0.9'
 gem 'omniauth-cas3', '~> 1.1.4'
 gem 'omniauth-facebook', '~> 4.0.0'
 gem 'omniauth-github', '~> 1.1.1'
@@ -105,7 +105,7 @@ gem 'fog-rackspace', '~> 0.1.1'
 gem 'fog-aliyun', '~> 0.1.0'
 
 # for Google storage
-gem 'google-api-client', '~> 0.8.6'
+gem 'google-api-client', '~> 0.13.6'
 
 # for aws storage
 gem 'unf', '~> 0.1.4'
@@ -116,7 +116,7 @@ gem 'seed-fu', '~> 2.3.5'
 # Markdown and HTML processing
 gem 'html-pipeline', '~> 1.11.0'
 gem 'deckar01-task_list', '2.0.0'
-gem 'gitlab-markup', '~> 1.5.1'
+gem 'gitlab-markup', '~> 1.6.2'
 gem 'redcarpet', '~> 3.4'
 gem 'RedCloth', '~> 4.3.2'
 gem 'rdoc', '~> 4.2'
@@ -239,7 +239,7 @@ gem 'rack-proxy', '~> 0.6.0'
 gem 'sass-rails', '~> 5.0.6'
 gem 'uglifier', '~> 2.7.2'
 
-gem 'addressable', '~> 2.3.8'
+gem 'addressable', '~> 2.5.2'
 gem 'bootstrap-sass', '~> 3.3.0'
 gem 'font-awesome-rails', '~> 4.7'
 gem 'gemojione', '~> 3.3'
@@ -281,7 +281,7 @@ group :metrics do
   gem 'influxdb', '~> 0.2', require: false
 
   # Prometheus
-  gem 'prometheus-client-mmap', '~>0.7.0.beta14'
+  gem 'prometheus-client-mmap', '~>0.7.0.beta18'
   gem 'raindrops', '~> 0.18'
 end
 
@@ -356,12 +356,13 @@ end
 group :test do
   gem 'shoulda-matchers', '~> 3.1.2', require: false
   gem 'email_spec', '~> 1.6.0'
-  gem 'json-schema', '~> 2.6.2'
+  gem 'json-schema', '~> 2.8.0'
   gem 'webmock', '~> 2.3.2'
   gem 'test_after_commit', '~> 1.1'
   gem 'sham_rack', '~> 1.3.6'
   gem 'timecop', '~> 0.8.0'
   gem 'concurrent-ruby', '~> 1.0.5'
+  gem 'test-prof', '~> 0.2.5'
 end
 
 gem 'octokit', '~> 4.6.2'
@@ -397,7 +398,7 @@ group :ed25519 do
 end
 
 # Gitaly GRPC client
-gem 'gitaly-proto', '~> 0.33.0', require: 'gitaly'
+gem 'gitaly-proto', '~> 0.39.0', require: 'gitaly'
 
 gem 'toml-rb', '~> 0.3.15', require: false
 
diff --git a/pkgs/applications/version-management/gitlab/Gemfile.lock b/pkgs/applications/version-management/gitlab/Gemfile.lock
index 61c5335962b0..fd3aab2d54ad 100644
--- a/pkgs/applications/version-management/gitlab/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/Gemfile.lock
@@ -47,7 +47,8 @@ GEM
     adamantium (0.2.0)
       ice_nine (~> 0.11.0)
       memoizable (~> 0.4.0)
-    addressable (2.3.8)
+    addressable (2.5.2)
+      public_suffix (>= 2.0.2, < 4.0)
     akismet (2.0.0)
     allocations (1.0.5)
     arel (6.0.4)
@@ -64,10 +65,6 @@ GEM
     attr_encrypted (3.0.3)
       encryptor (~> 3.0.0)
     attr_required (1.0.0)
-    autoparse (0.3.3)
-      addressable (>= 2.3.1)
-      extlib (>= 0.9.15)
-      multi_json (>= 1.0.0)
     autoprefixer-rails (6.2.3)
       execjs
       json
@@ -85,7 +82,7 @@ GEM
       coderay (>= 1.0.0)
       erubis (>= 2.6.6)
       rack (>= 0.9.0)
-    bindata (2.3.5)
+    bindata (2.4.1)
     binding_of_caller (0.7.2)
       debug_inspector (>= 0.0.1)
     bootstrap-sass (3.3.6)
@@ -148,6 +145,8 @@ GEM
     debugger-ruby_core_source (1.3.8)
     deckar01-task_list (2.0.0)
       html-pipeline
+    declarative (0.0.10)
+    declarative-option (0.1.0)
     default_value_for (3.0.2)
       activerecord (>= 3.2.0, < 5.1)
     descendants_tracker (0.0.4)
@@ -169,9 +168,9 @@ GEM
     docile (1.1.5)
     domain_name (0.5.20161021)
       unf (>= 0.0.5, < 1.0.0)
-    doorkeeper (4.2.0)
+    doorkeeper (4.2.6)
       railties (>= 4.2)
-    doorkeeper-openid_connect (1.1.2)
+    doorkeeper-openid_connect (1.2.0)
       doorkeeper (~> 4.0)
       json-jwt (~> 1.6)
     dropzonejs-rails (0.7.2)
@@ -190,13 +189,12 @@ GEM
     excon (0.57.1)
     execjs (2.6.0)
     expression_parser (0.9.0)
-    extlib (0.9.16)
     factory_girl (4.7.0)
       activesupport (>= 3.0.0)
     factory_girl_rails (4.7.0)
       factory_girl (~> 4.7.0)
       railties (>= 3.0.0)
-    faraday (0.12.1)
+    faraday (0.12.2)
       multipart-post (>= 1.2, < 3)
     faraday_middleware (0.11.0.1)
       faraday (>= 0.7.4, < 1.0)
@@ -277,7 +275,7 @@ GEM
       po_to_json (>= 1.0.0)
       rails (>= 3.2.0)
     gherkin-ruby (0.3.2)
-    gitaly-proto (0.33.0)
+    gitaly-proto (0.39.0)
       google-protobuf (~> 3.1)
       grpc (~> 1.0)
     github-linguist (4.7.6)
@@ -290,12 +288,12 @@ GEM
       flowdock (~> 0.7)
       gitlab-grit (>= 2.4.1)
       multi_json
-    gitlab-grit (2.8.1)
+    gitlab-grit (2.8.2)
       charlock_holmes (~> 0.6)
       diff-lcs (~> 1.1)
-      mime-types (>= 1.16, < 3)
+      mime-types (>= 1.16)
       posix-spawn (~> 0.3)
-    gitlab-markup (1.5.1)
+    gitlab-markup (1.6.2)
     gitlab_omniauth-ldap (2.0.4)
       net-ldap (~> 0.16)
       omniauth (~> 1.3)
@@ -321,20 +319,16 @@ GEM
       json
       multi_json
       request_store (>= 1.0)
-    google-api-client (0.8.7)
-      activesupport (>= 3.2, < 5.0)
-      addressable (~> 2.3)
-      autoparse (~> 0.3)
-      extlib (~> 0.9)
-      faraday (~> 0.9)
-      googleauth (~> 0.3)
-      launchy (~> 2.4)
-      multi_json (~> 1.10)
-      retriable (~> 1.4)
-      signet (~> 0.6)
+    google-api-client (0.13.6)
+      addressable (~> 2.5, >= 2.5.1)
+      googleauth (~> 0.5)
+      httpclient (>= 2.8.1, < 3.0)
+      mime-types (~> 3.0)
+      representable (~> 3.0)
+      retriable (>= 2.0, < 4.0)
     google-protobuf (3.4.0.2)
-    googleauth (0.5.1)
-      faraday (~> 0.9)
+    googleauth (0.5.3)
+      faraday (~> 0.12)
       jwt (~> 1.4)
       logging (~> 2.0)
       memoist (~> 0.12)
@@ -359,7 +353,7 @@ GEM
       rake
     grape_logging (1.7.0)
       grape
-    grpc (1.4.5)
+    grpc (1.6.0)
       google-protobuf (~> 3.1)
       googleauth (~> 0.5.1)
     haml (4.0.7)
@@ -418,14 +412,14 @@ GEM
       railties (>= 4.2.0)
       thor (>= 0.14, < 2.0)
     json (1.8.6)
-    json-jwt (1.7.1)
+    json-jwt (1.7.2)
       activesupport
       bindata
       multi_json (>= 1.3)
       securecompare
       url_safe_base64
-    json-schema (2.6.2)
-      addressable (~> 2.3.8)
+    json-schema (2.8.0)
+      addressable (>= 2.4)
     jwt (1.5.6)
     kaminari (1.0.1)
       activesupport (>= 4.1.0)
@@ -477,18 +471,20 @@ GEM
     mail (2.6.6)
       mime-types (>= 1.16, < 4)
     mail_room (0.9.1)
-    memoist (0.15.0)
+    memoist (0.16.0)
     memoizable (0.4.2)
       thread_safe (~> 0.3, >= 0.3.1)
     method_source (0.8.2)
-    mime-types (2.99.3)
+    mime-types (3.1)
+      mime-types-data (~> 3.2015)
+    mime-types-data (3.2016.0521)
     mimemagic (0.3.0)
     mini_mime (0.1.4)
     mini_portile2 (2.3.0)
     minitest (5.7.0)
     mmap2 (2.2.7)
     mousetrap-rails (1.4.6)
-    multi_json (1.12.1)
+    multi_json (1.12.2)
     multi_xml (0.6.0)
     multipart-post (2.0.0)
     mustermann (1.0.0)
@@ -518,10 +514,10 @@ GEM
       omniauth-oauth2 (~> 1.1)
     omniauth-authentiq (0.3.1)
       omniauth-oauth2 (~> 1.3, >= 1.3.1)
-    omniauth-azure-oauth2 (0.0.6)
+    omniauth-azure-oauth2 (0.0.9)
       jwt (~> 1.0)
       omniauth (~> 1.0)
-      omniauth-oauth2 (~> 1.1)
+      omniauth-oauth2 (~> 1.4)
     omniauth-cas3 (1.1.4)
       addressable (~> 2.3)
       nokogiri (~> 1.7, >= 1.7.1)
@@ -547,7 +543,7 @@ GEM
     omniauth-oauth (1.1.0)
       oauth
       omniauth (~> 1.0)
-    omniauth-oauth2 (1.3.1)
+    omniauth-oauth2 (1.4.0)
       oauth2 (~> 1.0)
       omniauth (~> 1.2)
     omniauth-oauth2-generic (0.2.2)
@@ -626,7 +622,7 @@ GEM
       parser
       unparser
     procto (0.0.3)
-    prometheus-client-mmap (0.7.0.beta14)
+    prometheus-client-mmap (0.7.0.beta18)
       mmap2 (~> 2.2, >= 2.2.7)
     pry (0.10.4)
       coderay (~> 1.1.0)
@@ -637,6 +633,7 @@ GEM
       pry (~> 0.10)
     pry-rails (0.3.5)
       pry (>= 0.9.10)
+    public_suffix (3.0.0)
     pyu-ruby-sasl (0.0.3.3)
     rack (1.6.8)
     rack-accept (0.4.5)
@@ -686,7 +683,7 @@ GEM
     rainbow (2.2.2)
       rake
     raindrops (0.18.0)
-    rake (12.0.0)
+    rake (12.1.0)
     rblineprof (0.3.6)
       debugger-ruby_core_source (~> 1.3)
     rbnacl (4.0.2)
@@ -719,6 +716,10 @@ GEM
       redis-store (~> 1.2.0)
     redis-store (1.2.0)
       redis (>= 2.2)
+    representable (3.0.4)
+      declarative (< 0.1.0)
+      declarative-option (< 0.2.0)
+      uber (< 0.2.0)
     request_store (1.3.1)
     responders (2.3.0)
       railties (>= 4.2.0, < 5.1)
@@ -726,7 +727,7 @@ GEM
       http-cookie (>= 1.0.2, < 2.0)
       mime-types (>= 1.16, < 4.0)
       netrc (~> 0.8)
-    retriable (1.4.1)
+    retriable (3.1.1)
     rinku (2.0.0)
     rotp (2.1.2)
     rouge (2.2.1)
@@ -884,6 +885,7 @@ GEM
       ffi
     sysexits (1.2.0)
     temple (0.7.7)
+    test-prof (0.2.5)
     test_after_commit (1.1.0)
       activerecord (>= 3.2)
     text (1.3.1)
@@ -904,12 +906,13 @@ GEM
     tzinfo (1.2.3)
       thread_safe (~> 0.1)
     u2f (0.2.1)
+    uber (0.1.0)
     uglifier (2.7.2)
       execjs (>= 0.3.0)
       json (>= 1.8.0)
     unf (0.1.4)
       unf_ext
-    unf_ext (0.0.7.2)
+    unf_ext (0.0.7.4)
     unicode-display_width (1.3.0)
     unicorn (5.1.0)
       kgio (~> 2.6)
@@ -965,7 +968,7 @@ DEPENDENCIES
   activerecord-nulldb-adapter
   activerecord_sane_schema_dumper (= 0.2)
   acts-as-taggable-on (~> 4.0)
-  addressable (~> 2.3.8)
+  addressable (~> 2.5.2)
   akismet (~> 2.0)
   allocations (~> 1.0)
   asana (~> 0.6.0)
@@ -1002,7 +1005,7 @@ DEPENDENCIES
   devise-two-factor (~> 3.0.0)
   diffy (~> 3.1.0)
   doorkeeper (~> 4.2.0)
-  doorkeeper-openid_connect (~> 1.1.0)
+  doorkeeper-openid_connect (~> 1.2.0)
   dropzonejs-rails (~> 0.7.1)
   email_reply_trimmer (~> 0.1)
   email_spec (~> 1.6.0)
@@ -1027,15 +1030,15 @@ DEPENDENCIES
   gettext (~> 3.2.2)
   gettext_i18n_rails (~> 1.8.0)
   gettext_i18n_rails_js (~> 1.2.0)
-  gitaly-proto (~> 0.33.0)
+  gitaly-proto (~> 0.39.0)
   github-linguist (~> 4.7.0)
   gitlab-flowdock-git-hook (~> 1.0.1)
-  gitlab-markup (~> 1.5.1)
+  gitlab-markup (~> 1.6.2)
   gitlab_omniauth-ldap (~> 2.0.4)
   gollum-lib (~> 4.2)
   gollum-rugged_adapter (~> 0.4.4)
   gon (~> 6.1.0)
-  google-api-client (~> 0.8.6)
+  google-api-client (~> 0.13.6)
   gpgme
   grape (~> 1.0)
   grape-entity (~> 0.6.0)
@@ -1053,7 +1056,7 @@ DEPENDENCIES
   jira-ruby (~> 1.4)
   jquery-atwho-rails (~> 1.3.2)
   jquery-rails (~> 4.1.0)
-  json-schema (~> 2.6.2)
+  json-schema (~> 2.8.0)
   jwt (~> 1.5.6)
   kaminari (~> 1.0)
   knapsack (~> 1.11.0)
@@ -1077,7 +1080,7 @@ DEPENDENCIES
   omniauth (~> 1.4.2)
   omniauth-auth0 (~> 1.4.1)
   omniauth-authentiq (~> 0.3.1)
-  omniauth-azure-oauth2 (~> 0.0.6)
+  omniauth-azure-oauth2 (~> 0.0.9)
   omniauth-cas3 (~> 1.1.4)
   omniauth-facebook (~> 4.0.0)
   omniauth-github (~> 1.1.1)
@@ -1103,7 +1106,7 @@ DEPENDENCIES
   pg (~> 0.18.2)
   poltergeist (~> 1.9.0)
   premailer-rails (~> 1.9.7)
-  prometheus-client-mmap (~> 0.7.0.beta14)
+  prometheus-client-mmap (~> 0.7.0.beta18)
   pry-byebug (~> 3.4.1)
   pry-rails (~> 0.3.4)
   rack-attack (~> 4.4.1)
@@ -1166,6 +1169,7 @@ DEPENDENCIES
   stackprof (~> 0.2.10)
   state_machines-activerecord (~> 0.4.0)
   sys-filesystem (~> 1.1.6)
+  test-prof (~> 0.2.5)
   test_after_commit (~> 1.1)
   thin (~> 1.7.0)
   timecop (~> 0.8.0)
diff --git a/pkgs/applications/version-management/gitlab/default.nix b/pkgs/applications/version-management/gitlab/default.nix
index 657221d4b420..bc3ca9192bcb 100644
--- a/pkgs/applications/version-management/gitlab/default.nix
+++ b/pkgs/applications/version-management/gitlab/default.nix
@@ -18,11 +18,11 @@ let
     };
   };
 
-  version = "10.0.2";
+  version = "10.1.1";
 
   gitlabDeb = fetchurl {
     url = "https://packages.gitlab.com/gitlab/gitlab-ce/packages/debian/jessie/gitlab-ce_${version}-ce.0_amd64.deb/download";
-    sha256 = "0jsqjarvjzbxv1yiddzp5xwsqqrq5cvam0xn749p1vzqhcp8pahc";
+    sha256 = "0xvzxcygy6ffqm24rk6v9gs6g9r744vpwwvk9d00wjla7hwmq3w2";
   };
 
 in
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     owner = "gitlabhq";
     repo = "gitlabhq";
     rev = "v${version}";
-    sha256 = "1602d6nkb41gg80n6p0wqxrjsn79s0z3817461d8dw2ha2dmbl34";
+    sha256 = "0p118msad6l12pd4q3vkvjggiiasbkh6pnl94riqyb5zkb7yrb1a";
   };
 
   patches = [
diff --git a/pkgs/applications/version-management/gitlab/gemset.nix b/pkgs/applications/version-management/gitlab/gemset.nix
index 34567ddb3ea4..4fb4c48b0dee 100644
--- a/pkgs/applications/version-management/gitlab/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/gemset.nix
@@ -115,12 +115,13 @@
     version = "0.2.0";
   };
   addressable = {
+    dependencies = ["public_suffix"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1533axm85gpz267km9gnfarf9c78g2scrysd6b8yw33vmhkz2km6";
+      sha256 = "0viqszpkggqi8hq87pqp0xykhvz60g99nwmkwsb0v45kc2liwxvk";
       type = "gem";
     };
-    version = "2.3.8";
+    version = "2.5.2";
   };
   akismet = {
     source = {
@@ -205,15 +206,6 @@
     };
     version = "1.0.0";
   };
-  autoparse = {
-    dependencies = ["addressable" "extlib" "multi_json"];
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1q5wkd8gc2ckmgry9fba4b8vxb5kr8k8gqq2wycbirgq06mbllb6";
-      type = "gem";
-    };
-    version = "0.3.3";
-  };
   autoprefixer-rails = {
     dependencies = ["execjs" "json"];
     source = {
@@ -292,10 +284,10 @@
   bindata = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "07i51jzq9iamw40xmmcgkrdq4m8f0vb5gp53p6q1vggj7z53q3v7";
+      sha256 = "0anbg203zjr4crql20ss5b9xg2c6a7j8nm6hs8w3ll1h1akkpp2z";
       type = "gem";
     };
-    version = "2.3.5";
+    version = "2.4.1";
   };
   binding_of_caller = {
     dependencies = ["debug_inspector"];
@@ -592,6 +584,22 @@
     };
     version = "2.0.0";
   };
+  declarative = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0642xvwzzbgi3kp1bg467wma4g3xqrrn0sk369hjam7w579gnv5j";
+      type = "gem";
+    };
+    version = "0.0.10";
+  };
+  declarative-option = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1g4ibxq566f1frnhdymzi9hxxcm4g2gw4n21mpjk2mhwym4q6l0p";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
   default_value_for = {
     dependencies = ["activerecord"];
     source = {
@@ -665,19 +673,19 @@
     dependencies = ["railties"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0hs8r280k7a1kibzxrhifjps880n43jfrybf4mqpffw669jrwk3v";
+      sha256 = "0r5rfvjjnlf9cn97cdrfw260zkg785k4197xqidgb35445k62mah";
       type = "gem";
     };
-    version = "4.2.0";
+    version = "4.2.6";
   };
   doorkeeper-openid_connect = {
     dependencies = ["doorkeeper" "json-jwt"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1pla85j5wxra0k9rhj04g2ai5d5jg97fiavi0s9v2hjba2l54cni";
+      sha256 = "13k0xlr1grjj8ri26qy2zwbgi3fqxinvnygh53bnyi9qcynx5827";
       type = "gem";
     };
-    version = "1.1.2";
+    version = "1.2.0";
   };
   dropzonejs-rails = {
     dependencies = ["rails"];
@@ -778,14 +786,6 @@
     };
     version = "0.9.0";
   };
-  extlib = {
-    source = {
-      remotes = ["https://rubygems.org"];
-      sha256 = "1cbw3vgb189z3vfc1arijmsd604m3w5y5xvdfkrblc9qh7sbk2rh";
-      type = "gem";
-    };
-    version = "0.9.16";
-  };
   factory_girl = {
     dependencies = ["activesupport"];
     source = {
@@ -808,10 +808,10 @@
     dependencies = ["multipart-post"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wkx9844vacsk2229xbc27djf6zw15kqd60ifr78whf9mp9v6l03";
+      sha256 = "157c4cmb5g1b3ny6k9qf9z57rfijl54fcq3hnqqf6g31g1m096b2";
       type = "gem";
     };
-    version = "0.12.1";
+    version = "0.12.2";
   };
   faraday_middleware = {
     dependencies = ["faraday"];
@@ -1071,10 +1071,10 @@
     dependencies = ["google-protobuf" "grpc"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0f15idw1850kwi0na6x3xlk13ljwx3mpfnxfv58631cmb3ac7wf8";
+      sha256 = "0irc3yfyr5li2ki6w03znsklnk0qx3srk4wrb7jav042c4kw325k";
       type = "gem";
     };
-    version = "0.33.0";
+    version = "0.39.0";
   };
   github-linguist = {
     dependencies = ["charlock_holmes" "escape_utils" "mime-types" "rugged"];
@@ -1106,18 +1106,18 @@
     dependencies = ["charlock_holmes" "diff-lcs" "mime-types" "posix-spawn"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0lf1cr6pzqrbnxiiwym6q74b1a2ihdi91dynajk8hi1p093hl66n";
+      sha256 = "0xgs3l81ghlc5nm75n0pz7b2cj3hpscfq5iy27c483nnjn2v5mc4";
       type = "gem";
     };
-    version = "2.8.1";
+    version = "2.8.2";
   };
   gitlab-markup = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1aam7zvvbai5nv7vf0c0640pvik6s71f276lip4yb4slbg0pfpn2";
+      sha256 = "114jfbyyfwad609k1l1fcmbzszb3frdchh83gdwndkglllvprhjz";
       type = "gem";
     };
-    version = "1.5.1";
+    version = "1.6.2";
   };
   gitlab_omniauth-ldap = {
     dependencies = ["net-ldap" "omniauth" "pyu-ruby-sasl" "rubyntlm"];
@@ -1174,13 +1174,13 @@
     version = "6.1.0";
   };
   google-api-client = {
-    dependencies = ["activesupport" "addressable" "autoparse" "extlib" "faraday" "googleauth" "launchy" "multi_json" "retriable" "signet"];
+    dependencies = ["addressable" "googleauth" "httpclient" "mime-types" "representable" "retriable"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "11wr57j9fp6x6fym4k1a7jqp72qgc8l24mfwb4y55bbvdmkv1b2d";
+      sha256 = "0ac9qa0kwnirkvwz2w9zf07lqcgbmnvgd1wg8xxyjbadwsbpyf1y";
       type = "gem";
     };
-    version = "0.8.7";
+    version = "0.13.6";
   };
   google-protobuf = {
     source = {
@@ -1194,10 +1194,10 @@
     dependencies = ["faraday" "jwt" "logging" "memoist" "multi_json" "os" "signet"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nzkg63s161c6jsia92c1jfwpayzbpwn588smd286idn07y0az2m";
+      sha256 = "1xpmvrzhczak25nm0k3r9aa083lmfnzi94mir3g1xyrgzz66vxli";
       type = "gem";
     };
-    version = "0.5.1";
+    version = "0.5.3";
   };
   gpgme = {
     dependencies = ["mini_portile2"];
@@ -1248,10 +1248,10 @@
     dependencies = ["google-protobuf" "googleauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zhci260088zlghpaz6ania1blz1dd7lgklsjnqk1vcymhpr6b38";
+      sha256 = "056ipqai887x5jpbgcc215kdi0lfqjzcjbx3hx11cjrfww01zc52";
       type = "gem";
     };
-    version = "1.4.5";
+    version = "1.6.0";
   };
   haml = {
     dependencies = ["tilt"];
@@ -1471,19 +1471,19 @@
     dependencies = ["activesupport" "bindata" "multi_json" "securecompare" "url_safe_base64"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ylvlnb6assan9qkhz1vq1gbfwxg35q9a8f8qhlyx0fak5fyks23";
+      sha256 = "15a3v498lvsshzgjnk2dmyvjv87y3lffq71axj5xq3iz4mp1r4b2";
       type = "gem";
     };
-    version = "1.7.1";
+    version = "1.7.2";
   };
   json-schema = {
     dependencies = ["addressable"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "15bva4w940ckan3q89in5f98s8zz77nxglylgm98697wa4fbfqp9";
+      sha256 = "11di8qyam6bmqn0fvvvf3crgaqy4sil0d406ymx0jacn3ff98ymz";
       type = "gem";
     };
-    version = "2.6.2";
+    version = "2.8.0";
   };
   jwt = {
     source = {
@@ -1662,10 +1662,10 @@
   memoist = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0yd3rd7bnbhn9n47qlhcii5z89liabdjhy3is3h6gq77gyfk4f5q";
+      sha256 = "0pq8fhqh8w25qcw9v3vzfb0i6jp0k3949ahxc3wrwz2791dpbgbh";
       type = "gem";
     };
-    version = "0.15.0";
+    version = "0.16.0";
   };
   memoizable = {
     dependencies = ["thread_safe"];
@@ -1685,12 +1685,21 @@
     version = "0.8.2";
   };
   mime-types = {
+    dependencies = ["mime-types-data"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03j98xr0qw2p2jkclpmk7pm29yvmmh0073d8d43ajmr0h3w7i5l9";
+      sha256 = "0087z9kbnlqhci7fxh9f6il63hj1k02icq2rs0c6cppmqchr753m";
       type = "gem";
     };
-    version = "2.99.3";
+    version = "3.1";
+  };
+  mime-types-data = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "04my3746hwa4yvbx1ranhfaqkgf6vavi1kyijjnw8w3dy37vqhkm";
+      type = "gem";
+    };
+    version = "3.2016.0521";
   };
   mimemagic = {
     source = {
@@ -1743,10 +1752,10 @@
   multi_json = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1wpc23ls6v2xbk3l1qncsbz16npvmw8p0b38l8czdzri18mp51xk";
+      sha256 = "1raim9ddjh672m32psaa9niw67ywzjbxbdb8iijx3wv9k5b0pk2x";
       type = "gem";
     };
-    version = "1.12.1";
+    version = "1.12.2";
   };
   multi_xml = {
     source = {
@@ -1895,10 +1904,10 @@
     dependencies = ["jwt" "omniauth" "omniauth-oauth2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0qay454zvyas8xfnfkycqpjkafaq5pw4gaji176cdfw0blhviz0s";
+      sha256 = "0ck5616fjik0dw89xvak1mi8ijcv10lsh6n9h4107l5dys2g3jfx";
       type = "gem";
     };
-    version = "0.0.6";
+    version = "0.0.9";
   };
   omniauth-cas3 = {
     dependencies = ["addressable" "nokogiri" "omniauth"];
@@ -1976,10 +1985,10 @@
     dependencies = ["oauth2" "omniauth"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mskwlw5ibx9mz7ywqji6mm56ikf7mglbnfc02qhg6ry527jsxdm";
+      sha256 = "0aykbg5qfm37ywrq34dydrhxa5jwpski71dpspgp2fi6dinx09f5";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.4.0";
   };
   omniauth-oauth2-generic = {
     dependencies = ["omniauth-oauth2"];
@@ -2247,10 +2256,10 @@
     dependencies = ["mmap2"];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1r9s30hypcpw4abxlzcjlkcwkckqvr5sbph3blbl0rq2r8c8h25p";
+      sha256 = "1fgkilpiha338mvfkj5rwhny3vld0nb3v1vgbrlxbhnvch26wakh";
       type = "gem";
     };
-    version = "0.7.0.beta14";
+    version = "0.7.0.beta18";
   };
   pry = {
     dependencies = ["coderay" "method_source" "slop"];
@@ -2279,6 +2288,14 @@
     };
     version = "0.3.5";
   };
+  public_suffix = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0snaj1gxfib4ja1mvy3dzmi7am73i0mkqr0zkz045qv6509dhj5f";
+      type = "gem";
+    };
+    version = "3.0.0";
+  };
   pyu-ruby-sasl = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -2431,10 +2448,10 @@
   rake = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "01j8fc9bqjnrsxbppncai05h43315vmz9fwg28qdsgcjw9ck1d7n";
+      sha256 = "0mfqgpp3m69s5v1rd51lfh5qpjwyia5p4rg337pw8c8wzm6pgfsw";
       type = "gem";
     };
-    version = "12.0.0";
+    version = "12.1.0";
   };
   rblineprof = {
     dependencies = ["debugger-ruby_core_source"];
@@ -2575,6 +2592,15 @@
     };
     version = "1.2.0";
   };
+  representable = {
+    dependencies = ["declarative" "declarative-option" "uber"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "0qm9rgi1j5a6nv726ka4mmixivlxfsg91h8rpp72wwd4vqbkkm07";
+      type = "gem";
+    };
+    version = "3.0.4";
+  };
   request_store = {
     source = {
       remotes = ["https://rubygems.org"];
@@ -2604,10 +2630,10 @@
   retriable = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1cmhwgv5r4vn7iqy4bfbnbb73pzl8ik69zrwq9vdim45v8b13gsj";
+      sha256 = "0pnriyn9zh120hxm92vb12hfsf7c98nawyims1shxj3ldpl0l3ar";
       type = "gem";
     };
-    version = "1.4.1";
+    version = "3.1.1";
   };
   rinku = {
     source = {
@@ -3195,6 +3221,14 @@
     };
     version = "0.7.7";
   };
+  test-prof = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "08nvn3c1mzgcjgk9lr3py0zjd8fjjrm3ncn9rpqkfbx429mgw2l3";
+      type = "gem";
+    };
+    version = "0.2.5";
+  };
   test_after_commit = {
     dependencies = ["activerecord"];
     source = {
@@ -3296,6 +3330,14 @@
     };
     version = "0.2.1";
   };
+  uber = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1p1mm7mngg40x05z52md3mbamkng0zpajbzqjjwmsyw0zw3v9vjv";
+      type = "gem";
+    };
+    version = "0.1.0";
+  };
   uglifier = {
     dependencies = ["execjs" "json"];
     source = {
@@ -3317,10 +3359,10 @@
   unf_ext = {
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04d13bp6lyg695x94whjwsmzc2ms72d94vx861nx1y40k3817yp8";
+      sha256 = "14hr2dzqh33kqc0xchs8l05pf3kjcayvad4z1ip5rdjxrkfk8glb";
       type = "gem";
     };
-    version = "0.0.7.2";
+    version = "0.0.7.4";
   };
   unicode-display_width = {
     source = {
diff --git a/pkgs/applications/version-management/gitlab/nulladapter.patch b/pkgs/applications/version-management/gitlab/nulladapter.patch
index 70195fe821a0..3b30ff03346b 100644
--- a/pkgs/applications/version-management/gitlab/nulladapter.patch
+++ b/pkgs/applications/version-management/gitlab/nulladapter.patch
@@ -14,7 +14,7 @@ diff --git a/Gemfile.lock b/Gemfile.lock
 index 38944248f9..08ce4486ba 100644
 --- a/Gemfile.lock
 +++ b/Gemfile.lock
-@@ -32,6 +32,8 @@ GEM
+@@ -33,6 +33,8 @@ GEM
        activemodel (= 4.2.8)
        activesupport (= 4.2.8)
        arel (~> 6.0)
@@ -23,11 +23,11 @@ index 38944248f9..08ce4486ba 100644
      activerecord_sane_schema_dumper (0.2)
        rails (>= 4, < 5)
      activesupport (4.2.8)
-@@ -926,6 +928,7 @@ PLATFORMS
+@@ -963,6 +965,7 @@ PLATFORMS
  DEPENDENCIES
    RedCloth (~> 4.3.2)
    ace-rails-ap (~> 4.1.0)
 +  activerecord-nulldb-adapter
    activerecord_sane_schema_dumper (= 0.2)
    acts-as-taggable-on (~> 4.0)
-   addressable (~> 2.3.8)
+   addressable (~> 2.5.2)
diff --git a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
index c88f525715e0..39c7c28847c4 100644
--- a/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
+++ b/pkgs/applications/version-management/gitlab/remove-hardcoded-locations.patch
@@ -27,20 +27,20 @@ diff --git a/config/gitlab.yml.example b/config/gitlab.yml.example
 index 0b33783869..cd4e41d9bd 100644
 --- a/config/gitlab.yml.example
 +++ b/config/gitlab.yml.example
-@@ -521,7 +521,7 @@ production: &base
+@@ -574,7 +574,7 @@ production: &base
    # CAUTION!
    # Use the default values unless you really know what you are doing
    git:
 -    bin_path: /usr/bin/git
 +    bin_path: git
-     # The next value is the maximum memory size grit can use
-     # Given in number of bytes per git object (e.g. a commit)
-     # This value can be increased if you have very large commits
+ 
+   ## Webpack settings
+   # If enabled, this will tell rails to serve frontend assets from the webpack-dev-server running
 diff --git a/config/initializers/1_settings.rb b/config/initializers/1_settings.rb
 index 8ddf8e4d2e..559cf9adf7 100644
 --- a/config/initializers/1_settings.rb
 +++ b/config/initializers/1_settings.rb
-@@ -219,7 +219,7 @@ Settings.gitlab['user']       ||= 'git'
+@@ -252,7 +252,7 @@ Settings.gitlab['user']       ||= 'git'
  Settings.gitlab['user_home']  ||= begin
    Etc.getpwnam(Settings.gitlab['user']).dir
  rescue ArgumentError # no user configured
@@ -49,15 +49,15 @@ index 8ddf8e4d2e..559cf9adf7 100644
  end
  Settings.gitlab['time_zone'] ||= nil
  Settings.gitlab['signup_enabled'] ||= true if Settings.gitlab['signup_enabled'].nil?
-@@ -454,7 +454,7 @@ Settings.backup['upload']['storage_class'] ||= nil
+@@ -491,7 +491,7 @@ Settings.backup['upload']['storage_class'] ||= nil
+ # Git
  #
  Settings['git'] ||= Settingslogic.new({})
- Settings.git['max_size']  ||= 20971520 # 20.megabytes
--Settings.git['bin_path']  ||= '/usr/bin/git'
-+Settings.git['bin_path']  ||= 'git'
- Settings.git['timeout']   ||= 10
+-Settings.git['bin_path'] ||= '/usr/bin/git'
++Settings.git['bin_path'] ||= 'git'
  
  # Important: keep the satellites.path setting until GitLab 9.0 at
+ # least. This setting is fed to 'rm -rf' in
 diff --git a/lib/gitlab/logger.rb b/lib/gitlab/logger.rb
 index 59b21149a9..4f4a39a06c 100644
 --- a/lib/gitlab/logger.rb
diff --git a/pkgs/applications/version-management/gource/default.nix b/pkgs/applications/version-management/gource/default.nix
index d0bea6d426d5..25a85f4b92d7 100644
--- a/pkgs/applications/version-management/gource/default.nix
+++ b/pkgs/applications/version-management/gource/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
                        "-std=c++11"; # fix build with glm >= 0.9.6.0
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/gource/;
+    homepage = http://gource.io/;
     description = "A Software version control visualization tool";
     license = licenses.gpl3Plus;
     longDescription = ''
diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix
index fc45620646e8..d39c81400100 100644
--- a/pkgs/applications/version-management/smartgithg/default.nix
+++ b/pkgs/applications/version-management/smartgithg/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   name = "smartgithg-${version}";
-  version = "17_0_3";
+  version = "17_1_1";
 
   src = fetchurl {
     url = "http://www.syntevo.com/static/smart/download/smartgit/smartgit-linux-${version}.tar.gz";
-    sha256 = "1swgh1bgjrbpxhj27b4gmn806nkqcl1w8lz7j7xkx3dlgljipw33";
+    sha256 = "1zc1cs9gxv9498jp1nhi9z70dv9dzv0yh5f3bd89wi5zvcwly3d0";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/version-management/tortoisehg/default.nix b/pkgs/applications/version-management/tortoisehg/default.nix
index 1a0c506a19d4..44d1ad0cd357 100644
--- a/pkgs/applications/version-management/tortoisehg/default.nix
+++ b/pkgs/applications/version-management/tortoisehg/default.nix
@@ -2,11 +2,11 @@
 
 python2Packages.buildPythonApplication rec {
     name = "tortoisehg-${version}";
-    version = "4.1.1";
+    version = "4.3.1";
 
     src = fetchurl {
       url = "https://bitbucket.org/tortoisehg/targz/downloads/${name}.tar.gz";
-      sha256 = "14fy5p5hx4iij5kyma9679nrprd9lsjr6j047bfyfrwa3l4knj2g";
+      sha256 = "0lxppjdqjmwl5y8fmp2am0my7a3mks811yg4fff7cx0569hdp62n";
     };
 
     pythonPath = with python2Packages; [ pyqt4 mercurial qscintilla iniparse ];
@@ -18,6 +18,8 @@ python2Packages.buildPythonApplication rec {
     buildPhase = "";
     installPhase = ''
       ${python2Packages.python.executable} setup.py install --prefix=$out
+      mkdir -p $out/share/doc/tortoisehg
+      cp COPYING.txt $out/share/doc/tortoisehg/Copying.txt.gz
       ln -s $out/bin/thg $out/bin/tortoisehg     #convenient alias
     '';
 
diff --git a/pkgs/applications/video/cinelerra/default.nix b/pkgs/applications/video/cinelerra/default.nix
index e3d1e1b1bfda..21b3f5577765 100644
--- a/pkgs/applications/video/cinelerra/default.nix
+++ b/pkgs/applications/video/cinelerra/default.nix
@@ -50,6 +50,10 @@ stdenv.mkDerivation {
       fontconfig intltool
     ];
 
+  # Note: the build may fail with e.g.:
+  #   CXX      edl.o
+  # edl.C:50:25: fatal error: versioninfo.h: No such file or directory
+  #  #include "versioninfo.h"
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/applications/video/lightworks/default.nix b/pkgs/applications/video/lightworks/default.nix
new file mode 100644
index 000000000000..9c6a49c55136
--- /dev/null
+++ b/pkgs/applications/video/lightworks/default.nix
@@ -0,0 +1,87 @@
+{ stdenv, fetchurl, dpkg, makeWrapper, patchelf, buildFHSUserEnv
+, gtk3, gnome3, gdk_pixbuf, cairo, libjpeg_original, glib, gnome2, mesa_glu
+, nvidia_cg_toolkit, zlib, openssl, portaudio
+}:
+let
+  fullPath = stdenv.lib.makeLibraryPath [
+    stdenv.cc.cc
+    gnome3.gtk
+    gdk_pixbuf
+    cairo
+    libjpeg_original
+    glib
+    gnome2.pango
+    mesa_glu
+    nvidia_cg_toolkit
+    zlib
+    openssl
+    portaudio
+  ];
+
+  lightworks = stdenv.mkDerivation rec {
+    version = "14.0.0";
+    name = "lightworks-${version}";
+    
+    src =
+      if stdenv.system == "x86_64-linux" then
+        fetchurl {
+          url = "http://downloads.lwks.com/v14/lwks-14.0.0-amd64.deb";
+          sha256 = "66eb9f9678d979db76199f1c99a71df0ddc017bb47dfda976b508849ab305033";
+        }
+      else throw "${name} is not supported on ${stdenv.system}";
+
+    buildInputs = [ dpkg makeWrapper ];
+
+    phases = [ "unpackPhase" "installPhase" ];
+    unpackPhase = "dpkg-deb -x ${src} ./";
+
+    installPhase = ''
+      mkdir -p $out/bin
+      substitute usr/bin/lightworks $out/bin/lightworks \
+        --replace "/usr/lib/lightworks" "$out/lib/lightworks"
+      chmod +x $out/bin/lightworks
+
+      cp -r usr/lib $out
+
+      # /usr/share/fonts is not normally searched
+      # This adds it to lightworks' search path while keeping the default
+      # using the FONTCONFIG_FILE env variable
+      echo "<?xml version='1.0'?>
+      <!DOCTYPE fontconfig SYSTEM 'fonts.dtd'>
+      <fontconfig>
+          <dir>/usr/share/fonts/truetype</dir>
+          <include>/etc/fonts/fonts.conf</include>
+      </fontconfig>" > $out/lib/lightworks/fonts.conf
+
+      patchelf \
+        --interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
+        $out/lib/lightworks/ntcardvt
+
+      wrapProgram $out/lib/lightworks/ntcardvt \
+        --prefix LD_LIBRARY_PATH : ${fullPath}:$out/lib/lightworks \
+        --set FONTCONFIG_FILE $out/lib/lightworks/fonts.conf
+       
+      cp -r usr/share $out/share
+    '';
+
+    dontPatchELF = true;
+
+    meta = {
+      description = "Professional Non-Linear Video Editor";
+      homepage = "https://www.lwks.com/";
+      license = stdenv.lib.licenses.unfree;
+      maintainers = [ stdenv.lib.maintainers.antonxy ];
+      platforms = [ "x86_64-linux" ];
+    };
+  };
+
+# Lightworks expects some files in /usr/share/lightworks
+in buildFHSUserEnv rec {
+  name = "lightworks";
+
+  targetPkgs = pkgs: [
+      lightworks
+  ];
+
+  runScript = "lightworks";
+}
diff --git a/pkgs/applications/video/lxdvdrip/default.nix b/pkgs/applications/video/lxdvdrip/default.nix
index a56eba3bf5a6..8287a176ce63 100644
--- a/pkgs/applications/video/lxdvdrip/default.nix
+++ b/pkgs/applications/video/lxdvdrip/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   meta = { 
     description = "Command line tool to make a copy from a video DVD for private use";
-    homepage = http://sourceforge.net/projects/lxdvdrip;
+    homepage = https://sourceforge.net/projects/lxdvdrip;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/applications/video/mjpg-streamer/default.nix b/pkgs/applications/video/mjpg-streamer/default.nix
index 5fd0664d15b4..f9d4d4698faf 100644
--- a/pkgs/applications/video/mjpg-streamer/default.nix
+++ b/pkgs/applications/video/mjpg-streamer/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://sourceforge.net/projects/mjpg-streamer/;
+    homepage = https://sourceforge.net/projects/mjpg-streamer/;
     description = "MJPG-streamer takes JPGs from Linux-UVC compatible webcams, filesystem or other input plugins and streams them as M-JPEG via HTTP to webbrowsers, VLC and other software";
     platforms = platforms.linux;
     license = licenses.gpl2;
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 2d7f7144f5ff..183722beed81 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 = "16.0.0";
+  version = "17.0.0";
 
   src = fetchFromGitHub {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "0zdmjp0f7sh0bkaj0ls4sy4sg9qdq9ycrl18hlkafnj9xnbijgnn";
+    sha256 = "1v74rxf9wm0sn2illy0hp36hpwz7q04y0k32wq6wn7qrnzkzcc88";
   };
 
   nativeBuildInputs = [ pkgconfig autoconf automake gettext drake ruby docbook_xsl libxslt ];
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 2fd0d57b4e2a..6b1389c97ab0 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   name = "shotcut-${version}";
-  version = "17.09";
+  version = "17.11";
 
   src = fetchFromGitHub {
     owner = "mltframework";
     repo = "shotcut";
     rev = "v${version}";
-    sha256 = "061jmk1g2h7p82kyk2zgk19g0y3dgx3lppfnm6cdmi550b51qllb";
+    sha256 = "1bw2cjpzycddxi9b21haiaslv0ikia85wwgkfm2xl2m15w5j8510";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/video/streamlink/default.nix b/pkgs/applications/video/streamlink/default.nix
index f8d983b1a682..9fd07febbfce 100644
--- a/pkgs/applications/video/streamlink/default.nix
+++ b/pkgs/applications/video/streamlink/default.nix
@@ -1,14 +1,14 @@
 { stdenv, pythonPackages, fetchFromGitHub, rtmpdump, ffmpeg }:
 
 pythonPackages.buildPythonApplication rec {
-  version = "0.8.1";
+  version = "0.9.0";
   name = "streamlink-${version}";
 
   src = fetchFromGitHub {
     owner = "streamlink";
     repo = "streamlink";
     rev = "${version}";
-    sha256 = "0l09vp108dw6d9d9rri2xwlr49mr5nkrlxbivr4kk5jbaczjp9xm";
+    sha256 = "11jczkar3aqsbl5amkm7lsv4fz6xdaydd5izn222wjzsbvnzrcgd";
   };
 
   buildInputs = with pythonPackages; [ pytest mock ];
diff --git a/pkgs/applications/virtualization/OVMF/default.nix b/pkgs/applications/virtualization/OVMF/default.nix
index 2852eeef2ed7..fcf569a762a7 100644
--- a/pkgs/applications/virtualization/OVMF/default.nix
+++ b/pkgs/applications/virtualization/OVMF/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation (edk2.setup "OvmfPkg/OvmfPkg${targetArch}.dsc" {
 
   meta = {
     description = "Sample UEFI firmware for QEMU and KVM";
-    homepage = http://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF;
+    homepage = https://sourceforge.net/apps/mediawiki/tianocore/index.php?title=OVMF;
     license = stdenv.lib.licenses.bsd2;
     platforms = ["x86_64-linux" "i686-linux"];
   };
diff --git a/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch b/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch
new file mode 100644
index 000000000000..a13b42ee35a3
--- /dev/null
+++ b/pkgs/applications/virtualization/bochs/bochs-2.6.9-glibc-2.26.patch
@@ -0,0 +1,14 @@
+diff --git a/iodev/network/slirp/slirp.h b/iodev/network/slirp/slirp.h
+index 7c16aa3..202a1b7 100644
+--- a/iodev/network/slirp/slirp.h
++++ b/iodev/network/slirp/slirp.h
+@@ -33,8 +33,8 @@ typedef char *caddr_t;
+ #endif
+ 
+ #include <sys/types.h>
+-#if defined(__OpenBSD__)
+ #include <stdint.h>
++#if defined(__OpenBSD__)
+ #include <sys/wait.h>
+ #endif
+ #ifdef HAVE_SYS_BITYPES_H
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/virtualization/bochs/default.nix
index 211bd2f39e08..4ad8f0213261 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/virtualization/bochs/default.nix
@@ -26,6 +26,8 @@ stdenv.mkDerivation rec {
     sha256 = "1379cq4cnfprhw8mgh60i0q9j8fz8d7n3d5fnn2g9fdiv5znfnzf";
   };
 
+  patches = [ ./bochs-2.6.9-glibc-2.26.patch ];
+
   buildInputs = with stdenv.lib;
   [ pkgconfig libtool gtk2 mesa readline libX11 libXpm docbook_xml_dtd_45 docbook_xsl ]
   ++ optionals termSupport [ ncurses ]
@@ -107,6 +109,8 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "An open-source IA-32 (x86) PC emulator";
     longDescription = ''
diff --git a/pkgs/applications/virtualization/lkl/default.nix b/pkgs/applications/virtualization/lkl/default.nix
index c62fa63ea594..9ca73747c459 100644
--- a/pkgs/applications/virtualization/lkl/default.nix
+++ b/pkgs/applications/virtualization/lkl/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, bc, python, fuse, libarchive }:
 
 stdenv.mkDerivation rec {
-  name = "lkl-2017-10-18";
-  rev  = "bfb315c4612c38427e3239d0a427a125d9ba0ede";
+  name = "lkl-2017-11-10";
+  rev  = "52a6a643c7d1dd3031c0cbec75e1ac7a999f3d57";
 
   outputs = [ "dev" "lib" "out" ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     inherit rev;
     owner  = "lkl";
     repo   = "linux";
-    sha256 = "172ccn2gsybnji7giiqq63bvp9nsw8kri88pjlvinwpwsv7x81aa";
+    sha256 = "1i5ywrfxqpykjjalwh9g4rwd4s186cqk3j806d327a67xb2ivxnp";
   };
 
   # Fix a /usr/bin/env reference in here that breaks sandboxed builds
diff --git a/pkgs/applications/virtualization/tini/default.nix b/pkgs/applications/virtualization/tini/default.nix
index 2a7b4810a24f..0d4aa4783c6b 100644
--- a/pkgs/applications/virtualization/tini/default.nix
+++ b/pkgs/applications/virtualization/tini/default.nix
@@ -1,20 +1,25 @@
 { stdenv, fetchFromGitHub, cmake, glibc }:
 
 stdenv.mkDerivation rec {
-  version = "0.13.1";
+  version = "0.16.1";
   name = "tini-${version}";
+
   src = fetchFromGitHub {
     owner = "krallin";
     repo = "tini";
     rev = "v${version}";
-    sha256 ="1g4n8v5d197zcb41fcpbhip2x342383zw1d2zkv57w73vkqgv6z6";
+    sha256 ="1abvjwjk7xhsbx60niy4ykcj3xvrxcl6zx8z1v827jsn47wzpikp";
   };
+
   patchPhase = "sed -i /tini-static/d CMakeLists.txt";
+
   NIX_CFLAGS_COMPILE = [
     "-DPR_SET_CHILD_SUBREAPER=36"
     "-DPR_GET_CHILD_SUBREAPER=37"
   ];
+
   buildInputs = [ cmake glibc glibc.static ];
+
   meta = with stdenv.lib; {
     description = "A tiny but valid init for containers";
     homepage = https://github.com/krallin/tini;
diff --git a/pkgs/applications/virtualization/virtualbox/default.nix b/pkgs/applications/virtualization/virtualbox/default.nix
index 4f6da3c7cd91..0952fd1af080 100644
--- a/pkgs/applications/virtualization/virtualbox/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/default.nix
@@ -19,10 +19,10 @@ let
   python = python2;
   buildType = "release";
   # Manually sha256sum the extensionPack file, must be hex!
-  extpack = "14f152228495a715f526eb74134d43c960919cc534d2bc67cfe34a63e6cf7721";
-  extpackRev = "117224";
-  main = "1af8h3d3sdpcxcp5g75qfq10z81l7m8gk0sz8zqix8c1wqsm0wdm";
-  version = "5.1.26";
+  extpack = "005ba9211862643e2516d549e98b80942918047f1f6c55fcfe08c490dd1947bc";
+  extpackRev = "118431";
+  main = "0m6y98pvkngprw5iaswvkbbfxmzvfl8yvgi984p1866zwap77z16";
+  version = "5.2.0";
 
   # See https://github.com/NixOS/nixpkgs/issues/672 for details
   extensionPack = requireFile rec {
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
index eb2e1ebf4a7a..87b89a98e780 100644
--- a/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/default.nix
@@ -19,14 +19,20 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "http://download.virtualbox.org/virtualbox/${version}/VBoxGuestAdditions_${version}.iso";
-    sha256 = "0vxhavlh55fdlm4zhvi21fyxzdydbn56y499bq5aghvsdsmwiy3d";
+    sha256 = "1r6dybr3pfclffk7gppf7n8gwj3ziw7pmfvbwwkdw00q9ah7h5l4";
   };
 
-  KERN_DIR = "${kernel.dev}/lib/modules/*/build";
+  KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+  KERN_INCL = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/source/include";
+
+  patches = [
+    ./fix_kerndir.patch
+    ./fix_kernincl.patch
+  ];
 
   hardeningDisable = [ "pic" ];
 
-  NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types";
+  NIX_CFLAGS_COMPILE = "-Wno-error=incompatible-pointer-types -Wno-error=implicit-function-declaration";
 
   buildInputs = [ patchelf cdrkit makeWrapper dbus ];
 
@@ -55,22 +61,23 @@ stdenv.mkDerivation {
       else throw ("Architecture: "+stdenv.system+" not supported for VirtualBox guest additions")
     }
 
+    cd ../
+    patchPhase
+    cd install/src
 
     # Build kernel modules
-    cd src
+    export INSTALL_MOD_PATH=$out
 
-    for i in *
-    do
-        cd $i
-        find . -type f | xargs sed 's/depmod -a/true/' -i
-        make
-        cd ..
-    done
+    find . -type f | xargs sed 's/depmod -a/true/' -i
+
+    cd vboxguest-${version}
+
+    make
 
-    cd ..
+    cd ../..
 
     # Change the interpreter for various binaries
-    for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} lib/VBoxGuestAdditions/mount.vboxsf
+    for i in sbin/VBoxService bin/{VBoxClient,VBoxControl} other/mount.vboxsf
     do
         ${if stdenv.system == "i686-linux" then ''
           patchelf --set-interpreter ${stdenv.glibc.out}/lib/ld-linux.so.2 $i
@@ -90,14 +97,14 @@ stdenv.mkDerivation {
 
     # FIXME: Virtualbox 4.3.22 moved VBoxClient-all (required by Guest Additions
     # NixOS module) to 98vboxadd-xclient. For now, just work around it:
-    mv lib/VBoxGuestAdditions/98vboxadd-xclient bin/VBoxClient-all
+    mv other/98vboxadd-xclient bin/VBoxClient-all
 
     # Remove references to /usr from various scripts and files
-    sed -i -e "s|/usr/bin|$out/bin|" share/VBoxGuestAdditions/vboxclient.desktop
+    sed -i -e "s|/usr/bin|$out/bin|" other/vboxclient.desktop
     sed -i -e "s|/usr/bin|$out/bin|" bin/VBoxClient-all
 
     # Install binaries
-    install -D -m 755 lib/VBoxGuestAdditions/mount.vboxsf $out/bin/mount.vboxsf
+    install -D -m 755 other/mount.vboxsf $out/bin/mount.vboxsf
     install -D -m 755 sbin/VBoxService $out/bin/VBoxService
 
     mkdir -p $out/bin
@@ -116,11 +123,11 @@ stdenv.mkDerivation {
 
     # Install desktop file
     mkdir -p $out/share/autostart
-    cp -v share/VBoxGuestAdditions/vboxclient.desktop $out/share/autostart
+    cp -v other/vboxclient.desktop $out/share/autostart
 
     # Install Xorg drivers
     mkdir -p $out/lib/xorg/modules/{drivers,input}
-    install -m 644 lib/VBoxGuestAdditions/vboxvideo_drv_${xserverABI}.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
+    install -m 644 other/vboxvideo_drv_${xserverABI}.so $out/lib/xorg/modules/drivers/vboxvideo_drv.so
 
     # Install kernel modules
     cd src
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch
new file mode 100644
index 000000000000..e7feed853b12
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kerndir.patch
@@ -0,0 +1,38 @@
+diff --git a/install/src/vboxguest-5.2.0/vboxsf/Makefile.include.header b/install/src/vboxguest-5.2.0/vboxsf/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/install/src/vboxguest-5.2.0/vboxsf/Makefile.include.header
++++ b/install/src/vboxguest-5.2.0/vboxsf/Makefile.include.header
+@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
+ endif # neq($(KERNELRELEASE),)
+
+ # Kernel build folder
+-KERN_DIR := /lib/modules/$(KERN_VER)/build
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+  $(error Error: unable to find the headers of the Linux kernel to build against. \
+           Specify KERN_VER=<version> and run Make again)
+
+diff --git a/install/src/vboxguest-5.2.0/vboxguest/Makefile.include.header b/install/src/vboxguest-5.2.0/vboxguest/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/install/src/vboxguest-5.2.0/vboxguest/Makefile.include.header
++++ b/install/src/vboxguest-5.2.0/vboxguest/Makefile.include.header
+@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
+ endif # neq($(KERNELRELEASE),)
+
+ # Kernel build folder
+-KERN_DIR := /lib/modules/$(KERN_VER)/build
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+  $(error Error: unable to find the headers of the Linux kernel to build against. \
+           Specify KERN_VER=<version> and run Make again)
+
+diff --git a/install/src/vboxguest-5.2.0/vboxvideo/Makefile.include.header b/install/src/vboxguest-5.2.0/vboxvideo/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/install/src/vboxguest-5.2.0/vboxvideo/Makefile.include.header
++++ b/install/src/vboxguest-5.2.0/vboxvideo/Makefile.include.header
+@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
+ endif # neq($(KERNELRELEASE),)
+
+ # Kernel build folder
+-KERN_DIR := /lib/modules/$(KERN_VER)/build
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+  $(error Error: unable to find the headers of the Linux kernel to build against. \
+           Specify KERN_VER=<version> and run Make again)
diff --git a/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch
new file mode 100644
index 000000000000..251394e5d13e
--- /dev/null
+++ b/pkgs/applications/virtualization/virtualbox/guest-additions/fix_kernincl.patch
@@ -0,0 +1,12 @@
+diff --git a/install/src/vboxguest-5.2.0/vboxvideo/Makefile.include.header b/install/src/vboxguest-5.2.0/vboxvideo/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/install/src/vboxguest-5.2.0/vboxvideo/Makefile.include.header
++++ b/install/src/vboxguest-5.2.0/vboxvideo/Makefile.include.header
+@@ -122,7 +122,6 @@ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+           Specify KERN_VER=<version> and run Make again)
+ endif
+ # Kernel include folder
+-KERN_INCL := $(KERN_DIR)/include
+ # module install folder
+ INSTALL_MOD_DIR ?= misc
+ MODULE_DIR := $(INSTALL_MOD_PATH)/lib/modules/$(KERN_VER)/$(INSTALL_MOD_DIR)
diff --git a/pkgs/applications/virtualization/virtualbox/hardened.patch b/pkgs/applications/virtualization/virtualbox/hardened.patch
index bd29ca9a65af..398100f3f398 100644
--- a/pkgs/applications/virtualization/virtualbox/hardened.patch
+++ b/pkgs/applications/virtualization/virtualbox/hardened.patch
@@ -24,7 +24,7 @@ index 8bd42bc..2c23d3e 100644
 +++ b/include/iprt/path.h
 @@ -1064,6 +1064,15 @@ RTDECL(int) RTPathCalcRelative(char *pszPathDst, size_t cbPathDst,
  RTDECL(int) RTPathExecDir(char *pszPath, size_t cchPath);
- 
+
  /**
 + * Gets the path to the NixOS setuid wrappers directory.
 + *
@@ -44,7 +44,7 @@ index 043653e..1070280 100644
 +++ b/include/iprt/process.h
 @@ -327,6 +327,16 @@ RTR3DECL(const char *) RTProcShortName(void);
  RTR3DECL(char *) RTProcGetExecutablePath(char *pszExecPath, size_t cbExecPath);
- 
+
  /**
 + * Gets the path to the NixOS setuid wrappers directory.
 + *
@@ -63,13 +63,13 @@ diff --git a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp b/src/VBox/Hos
 index ce0f288..6193108 100644
 --- a/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
 +++ b/src/VBox/HostDrivers/Support/SUPR3HardenedVerify.cpp
-@@ -1489,9 +1489,9 @@ static int supR3HardenedVerifyFsObject(PCSUPR3HARDENEDFSOBJSTATE pFsObjState, bo
+@@ -1502,9 +1502,9 @@ static int supR3HardenedVerifyFsObject(PCSUPR3HARDENEDFSOBJSTATE pFsObjState, bo
          bool fBad = !fRelaxed || pFsObjState->Stat.st_gid != 2 /*bin*/ || suplibHardenedStrCmp(pszPath, "/usr/lib/iconv");
- #else
+ # else
          NOREF(fRelaxed);
 -        bool fBad = true;
 +        bool fBad = !(fDir && pFsObjState->Stat.st_mode & S_ISVTX && !suplibHardenedStrCmp(pszPath, "/nix/store"));
- #endif
+ # endif
 -        if (fBad)
 +        if (fBad && suplibHardenedStrCmp(pszPath, "/nix/store"))
              return supR3HardenedSetError3(VERR_SUPLIB_WRITE_NON_SYS_GROUP, pErrInfo,
@@ -80,7 +80,7 @@ index 320c569..9bfe41f 100644
 --- a/src/VBox/Main/src-server/MachineImpl.cpp
 +++ b/src/VBox/Main/src-server/MachineImpl.cpp
 @@ -7543,7 +7543,7 @@ HRESULT Machine::i_launchVMProcess(IInternalSessionControl *aControl,
- 
+
      /* get the path to the executable */
      char szPath[RTPATH_MAX];
 -    RTPathAppPrivateArch(szPath, sizeof(szPath) - 1);
@@ -93,7 +93,7 @@ index 1e38d99..5e43dda 100644
 --- a/src/VBox/Main/src-server/NetworkServiceRunner.cpp
 +++ b/src/VBox/Main/src-server/NetworkServiceRunner.cpp
 @@ -85,7 +85,7 @@ int NetworkServiceRunner::start(bool aKillProcOnStop)
- 
+
      /* get the path to the executable */
      char exePathBuf[RTPATH_MAX];
 -    const char *exePath = RTProcGetExecutablePath(exePathBuf, RTPATH_MAX);
@@ -107,7 +107,7 @@ index 98dc91a..43a819f 100644
 +++ b/src/VBox/Main/src-server/generic/NetIf-generic.cpp
 @@ -47,7 +47,7 @@ static int NetIfAdpCtl(const char * pcszIfName, const char *pszAddr, const char
      const char *args[] = { NULL, pcszIfName, pszAddr, pszOption, pszMask, NULL };
- 
+
      char szAdpCtl[RTPATH_MAX];
 -    int rc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME));
 +    int rc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME));
@@ -125,7 +125,7 @@ index 98dc91a..43a819f 100644
          LogRel(("NetIfAdpCtlOut: Failed to get program path, rc=%Rrc\n", rc));
 @@ -201,7 +201,7 @@ int NetIfCreateHostOnlyNetworkInterface(VirtualBox *pVirtualBox,
              progress.queryInterfaceTo(aProgress);
- 
+
              char szAdpCtl[RTPATH_MAX];
 -            int rc = RTPathExecDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
 +            int rc = RTPathSuidDir(szAdpCtl, sizeof(szAdpCtl) - sizeof("/" VBOXNETADPCTL_NAME " add"));
@@ -138,8 +138,8 @@ index 944848e..744a261 100644
 +++ b/src/VBox/Runtime/r3/path.cpp
 @@ -81,6 +81,12 @@ RTDECL(int) RTPathExecDir(char *pszPath, size_t cchPath)
  }
- 
- 
+
+
 +RTDECL(int) RTPathSuidDir(char *pszPath, size_t cchPath)
 +{
 +    return RTStrCopy(pszPath, cchPath, "/run/wrappers/bin");
@@ -156,7 +156,7 @@ index 2aab645..9795f21 100644
 @@ -111,6 +111,26 @@ RTR3DECL(char *) RTProcGetExecutablePath(char *pszExecPath, size_t cbExecPath)
      return NULL;
  }
- 
+
 +/*
 + * Note the / at the end! This is important, because the functions using this
 + * will cut off everything after the rightmost / as this function is analogous
@@ -177,6 +177,6 @@ index 2aab645..9795f21 100644
 +    return NULL;
 +}
 +
- 
+
  RTR3DECL(const char *) RTProcShortName(void)
  {
diff --git a/pkgs/applications/virtualization/virtualbox/qtx11extras.patch b/pkgs/applications/virtualization/virtualbox/qtx11extras.patch
index f5decc211c75..6ed74e3e23ed 100644
--- a/pkgs/applications/virtualization/virtualbox/qtx11extras.patch
+++ b/pkgs/applications/virtualization/virtualbox/qtx11extras.patch
@@ -2,7 +2,7 @@ diff --git a/kBuild/units/qt5.kmk b/kBuild/units/qt5.kmk
 index 71b96a3..73391f0 100644
 --- a/kBuild/units/qt5.kmk
 +++ b/kBuild/units/qt5.kmk
-@@ -994,9 +994,10 @@ else
+@@ -1019,9 +1019,10 @@ else
     $(eval $(target)_LIBS   += $(PATH_SDK_QT5_LIB)/$(qt_prefix)qtmain$(qt_infix)$(SUFF_LIB) )
    endif
   else
@@ -14,18 +14,18 @@ index 71b96a3..73391f0 100644
 + $(eval $(target)_INCS     += $(addprefix $(PATH_SDK_QT5_INC)/Qt,$(qt_modules)) $(PATH_SDK_QT5_INC) $(PATH_QT5_X11_EXTRAS_INC)/QtX11Extras )
  endif
  $(eval $(target)_DEFS      += $(foreach module,$(toupper $(qt_modules)), QT_$(module)_LIB) )
- 
+
 diff --git a/src/VBox/Frontends/VirtualBox/Makefile.kmk b/src/VBox/Frontends/VirtualBox/Makefile.kmk
-index 38db6b0..7dd446b 100644
+index 3295bfefe7..796370623c 100644
 --- a/src/VBox/Frontends/VirtualBox/Makefile.kmk
 +++ b/src/VBox/Frontends/VirtualBox/Makefile.kmk
-@@ -912,9 +912,6 @@ VirtualBox_QT_MODULES = Core Gui
- ifdef VBOX_WITH_QTGUI_V5
-  # Qt5 requires additional modules:
-  VirtualBox_QT_MODULES += Widgets PrintSupport
-- VirtualBox_QT_MODULES.linux   += X11Extras
-- VirtualBox_QT_MODULES.solaris += X11Extras
-- VirtualBox_QT_MODULES.freebsd += X11Extras
-  VirtualBox_QT_MODULES.darwin  += MacExtras
-  VirtualBox_QT_MODULES.win     += WinExtras
- endif # VBOX_WITH_QTGUI_V5
+@@ -916,9 +916,6 @@ endif
+ # The Qt modules we're using.
+ # (The include directory and lib/framework for each module will be added by the Qt unit.)
+ VirtualBox_QT_MODULES = Core Gui Widgets PrintSupport
+-VirtualBox_QT_MODULES.linux   += X11Extras
+-VirtualBox_QT_MODULES.solaris += X11Extras
+-VirtualBox_QT_MODULES.freebsd += X11Extras
+ VirtualBox_QT_MODULES.darwin  += MacExtras
+ VirtualBox_QT_MODULES.win     += WinExtras
+ if defined(VBOX_WITH_VIDEOHWACCEL) || defined(VBOX_GUI_USE_QGL)
diff --git a/pkgs/applications/virtualization/vpcs/default.nix b/pkgs/applications/virtualization/vpcs/default.nix
index cac997e43b56..af344eb82cf5 100644
--- a/pkgs/applications/virtualization/vpcs/default.nix
+++ b/pkgs/applications/virtualization/vpcs/default.nix
@@ -6,26 +6,27 @@ stdenv.mkDerivation rec {
   version = "0.8";
 
   src = fetchurl {
+    name = "${name}.tar.bz2";
     url = "mirror://sourceforge/project/${pname}/${version}/${name}-src.tbz";
     sha256 = "14y9nflcyq486vvw0na0fkfmg5dac004qb332v4m5a0vaz8059nw";
   };
 
-  unpackCmd = "tar -xjf $src";
+  patches = [ ./vpcs-0.8-glibc-2.26.patch ];
 
   buildInputs = [ glibc.static ];
 
-  buildPhase = ''
+  buildPhase = ''(
     cd src
     ./mk.sh ${buildPlatform.platform.kernelArch}
-  '';
+  )'';
 
   installPhase = ''
-    cd ..
-
     install -D -m555 src/vpcs $out/bin/vpcs;
     install -D -m444 man/vpcs.1 $out/share/man/man1/vpcs.1;
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Virtual PC simulator";
     longDescription = ''
diff --git a/pkgs/applications/virtualization/vpcs/vpcs-0.8-glibc-2.26.patch b/pkgs/applications/virtualization/vpcs/vpcs-0.8-glibc-2.26.patch
new file mode 100644
index 000000000000..d94a39ccd64d
--- /dev/null
+++ b/pkgs/applications/virtualization/vpcs/vpcs-0.8-glibc-2.26.patch
@@ -0,0 +1,14 @@
+diff --git a/src/getopt.h b/src/getopt.h
+index 4394aa2..bf59e10 100644
+--- a/src/getopt.h
++++ b/src/getopt.h
+@@ -49,9 +49,6 @@ extern int optind;
+ extern int opterr;
+ extern int optopt;
+ 
+-#ifndef FreeBSD
+-int getopt(int argc, char** argv, char* optstr);
+-#endif
+ int arg_to_int(const char* arg, int min, int max, int defalt);
+ 
+ #ifdef __cplusplus
diff --git a/pkgs/applications/window-managers/i3/lock-color.nix b/pkgs/applications/window-managers/i3/lock-color.nix
index fd47a104326e..a589e21be98b 100644
--- a/pkgs/applications/window-managers/i3/lock-color.nix
+++ b/pkgs/applications/window-managers/i3/lock-color.nix
@@ -28,6 +28,9 @@ stdenv.mkDerivation rec {
     homepage = https://i3wm.org/i3lock/;
     maintainers = with maintainers; [ garbas malyn ];
     license = licenses.bsd3;
-    platforms = platforms.all;
+
+    # Needs the SSE2 instruction set. See upstream issue
+    # https://github.com/chrjguill/i3lock-color/issues/44
+    platforms = platforms.i686 ++ platforms.x86_64;
   };
 }
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
new file mode 100644
index 000000000000..05965fc37174
--- /dev/null
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -0,0 +1,27 @@
+{ stdenv, rustPlatform, fetchFromGitHub, pkgconfig, dbus, gperftools }:
+
+rustPlatform.buildRustPackage rec {
+  name = "i3status-rust-${version}";
+  version = "0.9.0.2017-11-09";
+
+  src = fetchFromGitHub {
+    owner = "greshake";
+    repo = "i3status-rust";
+    rev = "5daf2cdd611bed3db804d011d5d5af34b558e615";
+    sha256 = "0j6h7x5mm3m7wq0if20qxc9z3qw29xgf5qb3sqwdbdpz8ykpqdgk";
+  };
+
+  cargoSha256 = "1197hp6d4z14j0r22bvw9ly294li0ivg6yfql4lgi27hbvzag71h";
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ dbus gperftools ];
+
+  meta = with stdenv.lib; {
+    description = "Very resource-friendly and feature-rich replacement for i3status";
+    homepage = https://github.com/greshake/i3status-rust;
+    license = licenses.gpl3;
+    maintainers = [ maintainers.backuitist ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/window-managers/sway/default.nix b/pkgs/applications/window-managers/sway/default.nix
index 6227ccd2c9fa..1e1072e49604 100644
--- a/pkgs/applications/window-managers/sway/default.nix
+++ b/pkgs/applications/window-managers/sway/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   name = "sway-${version}";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
-    owner = "Sircmpwn";
+    owner = "swaywm";
     repo = "sway";
-    rev = "${version}";
-    sha256 = "1l8v9cdzd44bm4q71d47vqg6933b8j42q1a61r362vz2la1rcpq2";
+    rev = version;
+    sha256 = "0rz5rgap2ah7hkk4glvlmjq0c8i2f47qzkwjx7gm4wmb8gymikmh";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/wmii-hg/default.nix b/pkgs/applications/window-managers/wmii-hg/default.nix
index 88c312bd265d..5a8b68df364a 100644
--- a/pkgs/applications/window-managers/wmii-hg/default.nix
+++ b/pkgs/applications/window-managers/wmii-hg/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   makeFlags = "WMII_HGVERSION=hg${rev}";
 
   meta = {
-    homepage = https://code.google.com/archive/p/wmii/;
+    homepage = https://suckless.org/; # https://wmii.suckless.org/ does not exist anymore
     description = "A small window manager controlled by a 9P filesystem";
     maintainers = with stdenv.lib.maintainers; [ kovirobi ];
     license = stdenv.lib.licenses.mit;
diff --git a/pkgs/build-support/cc-wrapper/cc-wrapper.sh b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
index f1f56cf5cec4..d2cdbf6ce0cc 100644
--- a/pkgs/build-support/cc-wrapper/cc-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/cc-wrapper.sh
@@ -1,5 +1,5 @@
 #! @shell@
-set -eu -o pipefail
+set -eu -o pipefail +o posix
 shopt -s nullglob
 
 if (( "${NIX_DEBUG:-0}" >= 7 )); then
diff --git a/pkgs/build-support/cc-wrapper/default.nix b/pkgs/build-support/cc-wrapper/default.nix
index 489fb02dcb5d..8d8b8a42fe9f 100644
--- a/pkgs/build-support/cc-wrapper/default.nix
+++ b/pkgs/build-support/cc-wrapper/default.nix
@@ -97,6 +97,11 @@ stdenv.mkDerivation {
   outputs = [ "out" "man" ];
 
   passthru = {
+    # "cc" is the generic name for a C compiler, but there is no one for package
+    # providing the linker and related tools. The two we use now are GNU
+    # Binutils, and Apple's "cctools"; "binutils" as an attempt to find an
+    # unused middle-ground name that evokes both.
+    bintools = binutils_bin;
     inherit libc nativeTools nativeLibc nativePrefix isGNU isClang default_cxx_stdlib_compile
             prefix;
 
@@ -286,7 +291,7 @@ stdenv.mkDerivation {
         *) echo "Multiple dynamic linkers found for platform '${targetPlatform.config}'." >&2;;
       esac
 
-      if [ -n "$dynamicLinker" ]; then
+      if [ -n "''${dynamicLinker:-}" ]; then
         echo $dynamicLinker > $out/nix-support/dynamic-linker
 
     '' + (if targetPlatform.isDarwin then ''
diff --git a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh
index b15f1e461e5f..7a0eb28be636 100644
--- a/pkgs/build-support/cc-wrapper/gnat-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/gnat-wrapper.sh
@@ -1,5 +1,5 @@
 #! @shell@
-set -eu -o pipefail
+set -eu -o pipefail +o posix
 shopt -s nullglob
 
 if (( "${NIX_DEBUG:-0}" >= 7 )); then
diff --git a/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh b/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh
index 88e644dc54dc..0944d74e431b 100644
--- a/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/gnatlink-wrapper.sh
@@ -1,5 +1,5 @@
 #! @shell@
-set -eu -o pipefail
+set -eu -o pipefail +o posix
 shopt -s nullglob
 
 if (( "${NIX_DEBUG:-0}" >= 7 )); then
diff --git a/pkgs/build-support/cc-wrapper/ld-wrapper.sh b/pkgs/build-support/cc-wrapper/ld-wrapper.sh
index 232e1245af07..ef618f9a86d4 100644
--- a/pkgs/build-support/cc-wrapper/ld-wrapper.sh
+++ b/pkgs/build-support/cc-wrapper/ld-wrapper.sh
@@ -1,5 +1,5 @@
 #! @shell@
-set -eu -o pipefail
+set -eu -o pipefail +o posix
 shopt -s nullglob
 
 if (( "${NIX_DEBUG:-0}" >= 7 )); then
diff --git a/pkgs/build-support/fetchgit/private.nix b/pkgs/build-support/fetchgit/private.nix
index dd3a8c1cb417..a1dd9210e731 100644
--- a/pkgs/build-support/fetchgit/private.nix
+++ b/pkgs/build-support/fetchgit/private.nix
@@ -1,19 +1,26 @@
-{ fetchgit, writeScript, openssh, stdenv }: args: derivation ((fetchgit args).drvAttrs // {
+{ fetchgit, runCommand, makeWrapper, openssh, stdenv }: args: derivation ((fetchgit args).drvAttrs // {
   SSH_AUTH_SOCK = if (builtins.tryEval <ssh-auth-sock>).success
     then builtins.toString <ssh-auth-sock>
     else null;
-  GIT_SSH = writeScript "fetchgit-ssh" ''
-    #! ${stdenv.shell}
-    exec -a ssh ${openssh}/bin/ssh -F ${let
-      sshConfigFile = if (builtins.tryEval <ssh-config-file>).success
-        then <ssh-config-file>
-        else builtins.trace ''
-          Please set your nix-path such that ssh-config-file points to a file that will allow ssh to access private repositories. The builder will not be able to see any running ssh agent sessions unless ssh-auth-sock is also set in the nix-path.
 
-          Note that the config file and any keys it points to must be readable by the build user, which depending on your nix configuration means making it readable by the build-users-group, the user of the running nix-daemon, or the user calling the nix command which started the build. Similarly, if using an ssh agent ssh-auth-sock must point to a socket the build user can access.
+  GIT_SSH = let
+    config = ''${let
+        sshConfigFile = if (builtins.tryEval <ssh-config-file>).success
+          then <ssh-config-file>
+          else builtins.trace ''
+            Please set your nix-path such that ssh-config-file points to a file that will allow ssh to access private repositories. The builder will not be able to see any running ssh agent sessions unless ssh-auth-sock is also set in the nix-path.
 
-          You may need StrictHostKeyChecking=no in the config file. Since ssh will refuse to use a group-readable private key, if using build-users you will likely want to use something like IdentityFile /some/directory/%u/key and have a directory for each build user accessible to that user.
-        '' "/var/lib/empty/config";
-    in builtins.toString sshConfigFile} "$@"
-  '';
+            Note that the config file and any keys it points to must be readable by the build user, which depending on your nix configuration means making it readable by the build-users-group, the user of the running nix-daemon, or the user calling the nix command which started the build. Similarly, if using an ssh agent ssh-auth-sock must point to a socket the build user can access.
+
+            You may need StrictHostKeyChecking=no in the config file. Since ssh will refuse to use a group-readable private key, if using build-users you will likely want to use something like IdentityFile /some/directory/%u/key and have a directory for each build user accessible to that user.
+          '' "/var/lib/empty/config";
+      in builtins.toString sshConfigFile}'';
+
+    ssh-wrapped = runCommand "fetchgit-ssh" {
+      buildInputs = [ makeWrapper ];
+    } ''
+      mkdir -p $out/bin
+      makeWrapper ${openssh}/bin/ssh $out/bin/ssh --prefix PATH : "$out/bin" --add-flags "-F ${config}" "$@"
+    '';
+  in "${ssh-wrapped}/bin/ssh";
 })
diff --git a/pkgs/build-support/fetchipfs/builder.sh b/pkgs/build-support/fetchipfs/builder.sh
new file mode 100644
index 000000000000..7a6a517566f5
--- /dev/null
+++ b/pkgs/build-support/fetchipfs/builder.sh
@@ -0,0 +1,87 @@
+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).
+
+set -o noglob
+
+curl="curl            \
+ --location           \
+ --max-redirs 20      \
+ --retry 2            \
+ --disable-epsv       \
+ --cookie-jar cookies \
+ --insecure           \
+ --speed-time 5       \
+ -#                   \
+ --fail               \
+ $curlOpts            \
+ $NIX_CURL_FLAGS"
+
+finish() {
+    runHook postFetch
+    set +o noglob
+    exit 0
+}
+
+ipfs_add() {
+    if curl --retry 0 --head --silent "localhost:5001" > /dev/null; then
+        echo "=IPFS= add $ipfs"
+        tar --owner=root --group=root -cWf "source.tar" $(echo *)
+        res=$(curl -# -F "file=@source.tar" "localhost:5001/api/v0/tar/add" | sed 's/.*"Hash":"\(.*\)".*/\1/')
+        if [ $ipfs != $res ]; then
+            echo "\`ipfs tar add' results in $res when $ipfs is expected"
+            exit 1
+        fi
+        rm "source.tar"
+    fi
+}
+
+echo
+
+mkdir download
+cd download
+
+if curl --retry 0 --head --silent "localhost:5001" > /dev/null; then
+    curlexit=18;
+    echo "=IPFS= get $ipfs"
+    # 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 - "http://localhost:5001/api/v0/tar/cat?arg=$ipfs" --output "$ipfs.tar"; then
+            unpackFile "$ipfs.tar"
+            rm "$ipfs.tar"
+            set +o noglob
+            mv $(echo *) "$out"
+            finish
+        else
+            curlexit=$?;
+        fi
+    done
+fi
+
+if test -n "$url"; then
+    curlexit=18;
+    echo "Downloading $url"
+    while [ $curlexit -eq 18 ]; do
+        # keep this inside an if statement, since on failure it doesn't abort the script
+        if $curl "$url" -O; then
+            set +o noglob
+            tmpfile=$(echo *)
+            unpackFile $tmpfile
+            rm $tmpfile
+            ipfs_add
+            mv $(echo *) "$out"
+            finish
+        else
+            curlexit=$?;
+        fi
+    done
+fi
+
+echo "error: cannot download $ipfs from ipfs or the given url"
+echo
+set +o noglob
+exit 1
diff --git a/pkgs/build-support/fetchipfs/default.nix b/pkgs/build-support/fetchipfs/default.nix
new file mode 100644
index 000000000000..196b3bebc916
--- /dev/null
+++ b/pkgs/build-support/fetchipfs/default.nix
@@ -0,0 +1,52 @@
+{ stdenv
+, curl
+}:
+
+{ ipfs
+, url            ? ""
+, curlOpts       ? ""
+, outputHash     ? ""
+, outputHashAlgo ? ""
+, md5            ? ""
+, sha1           ? ""
+, sha256         ? ""
+, sha512         ? ""
+, meta           ? {}
+, port           ? "8080"
+, postFetch      ? ""
+}:
+
+assert sha512 != "" -> builtins.compareVersions "1.11" builtins.nixVersion <= 0;
+
+let
+
+  hasHash = (outputHash != "" && outputHashAlgo != "")
+    || md5 != "" || sha1 != "" || sha256 != "" || sha512 != "";
+
+in
+
+if (!hasHash) then throw "Specify sha for fetchipfs fixed-output derivation" else stdenv.mkDerivation {
+  name = ipfs;
+  builder = ./builder.sh;
+  buildInputs = [ curl ];
+
+  # New-style output content requirements.
+  outputHashAlgo = if outputHashAlgo != "" then outputHashAlgo else
+      if sha512 != "" then "sha512" else if sha256 != "" then "sha256" else if sha1 != "" then "sha1" else "md5";
+  outputHash = if outputHash != "" then outputHash else
+      if sha512 != "" then sha512 else if sha256 != "" then sha256 else if sha1 != "" then sha1 else md5;
+
+  outputHashMode = "recursive";
+
+  inherit curlOpts
+          postFetch
+          ipfs
+          url
+          port;
+
+  # Doing the download on a remote machine just duplicates network
+  # traffic, so don't do that.
+  preferLocalBuild = true;
+
+  inherit meta;
+}
diff --git a/pkgs/build-support/fetchurl/default.nix b/pkgs/build-support/fetchurl/default.nix
index 5811950bf053..8dac273eb1ca 100644
--- a/pkgs/build-support/fetchurl/default.nix
+++ b/pkgs/build-support/fetchurl/default.nix
@@ -84,6 +84,9 @@ in
 
 , # Meta information, if any.
   meta ? {}
+
+  # Passthru information, if any.
+, passthru ? {}
 }:
 
 assert builtins.isList urls;
@@ -139,4 +142,5 @@ else stdenv.mkDerivation {
   '';
 
   inherit meta;
+  inherit passthru;
 }
diff --git a/pkgs/build-support/kernel/make-initrd.nix b/pkgs/build-support/kernel/make-initrd.nix
index 70727f9b49dc..5353ae828410 100644
--- a/pkgs/build-support/kernel/make-initrd.nix
+++ b/pkgs/build-support/kernel/make-initrd.nix
@@ -12,21 +12,18 @@
 # `contents = {object = ...; symlink = /init;}' is a typical
 # argument.
 
-{ stdenv, perl, cpio, contents, ubootChooser, compressor, prepend
+{ stdenv, perl, cpio, contents, compressor, prepend, ubootTools
 , hostPlatform
 }:
 
-let
-  inputsFun = ubootName : [ perl cpio ]
-    ++ stdenv.lib.optional (ubootName != null) [ (ubootChooser ubootName) ];
-  makeUInitrdFun = ubootName : (ubootName != null);
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "initrd";
   builder = ./make-initrd.sh;
-  nativeBuildInputs = inputsFun hostPlatform.platform.uboot;
 
-  makeUInitrd = makeUInitrdFun hostPlatform.platform.uboot;
+  makeUInitrd = hostPlatform.platform.kernelTarget == "uImage";
+
+  nativeBuildInputs = [ perl cpio ]
+    ++ stdenv.lib.optional makeUInitrd ubootTools;
 
   # !!! should use XML.
   objects = map (x: x.object) contents;
diff --git a/pkgs/data/documentation/stdman/default.nix b/pkgs/data/documentation/stdman/default.nix
index 114c8ebce980..59a7612c6aa0 100644
--- a/pkgs/data/documentation/stdman/default.nix
+++ b/pkgs/data/documentation/stdman/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "stdman-${version}";
-  version = "d860212";
+  version = "2017.04.02";
 
   src = fetchFromGitHub {
     owner = "jeaye";
     repo = "stdman";
-    rev = "d860212767ca60472e33aa3bad22a3eac834b1f8";
-    sha256 = "09c5gjhcz97ghfrv9zkgfb1wckvmqnhbzga0xidbm1ir7640di8l";
+    rev = "${version}";
+    sha256 = "1wfxd9ca8b9l976rnlhjd0sp364skfm99wxi633swwwjvhy26sgm";
   };
 
   outputDevdoc = "out";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ curl ];
 
   meta = with stdenv.lib; {
-    description = "Formatted C++11/14 stdlib man pages (cppreference)";
+    description = "Formatted C++17 stdlib man pages (cppreference)";
     longDescription = "stdman is a tool that parses archived HTML
       files from cppreference and generates groff-formatted manual
       pages for Unix-based systems. The goal is to provide excellent
diff --git a/pkgs/data/fonts/anonymous-pro/default.upstream b/pkgs/data/fonts/anonymous-pro/default.upstream
deleted file mode 100644
index dde536cbcae1..000000000000
--- a/pkgs/data/fonts/anonymous-pro/default.upstream
+++ /dev/null
@@ -1,6 +0,0 @@
-attribute_name anonymousPro
-url http://www.ms-studio.com/FontSales/anonymouspro.html
-version_link '/AnonymousPro-.*[.]zip$'
-do_overwrite (){
-  do_overwrite_just_version
-}
diff --git a/pkgs/data/fonts/cm-unicode/default.upstream b/pkgs/data/fonts/cm-unicode/default.upstream
deleted file mode 100644
index bc24cd919b23..000000000000
--- a/pkgs/data/fonts/cm-unicode/default.upstream
+++ /dev/null
@@ -1,7 +0,0 @@
-attribute_name cm_unicode
-url http://sourceforge.net/projects/cm-unicode/files/cm-unicode/
-SF_version_dir
-version_link '[-]otf[.]tar[.][a-z0-9]+/download$'
-SF_redirect
-ensure_hash
-do_overwrite() { do_overwrite_just_version; }
diff --git a/pkgs/data/fonts/libertinus/default.nix b/pkgs/data/fonts/libertinus/default.nix
new file mode 100644
index 000000000000..b4ce653da637
--- /dev/null
+++ b/pkgs/data/fonts/libertinus/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "libertinus-${version}";
+  version = "6.4";
+
+  src = fetchFromGitHub {
+    rev    = "v${version}";
+    owner  = "khaledhosny";
+    repo   = "libertinus";
+    sha256 = "0acnq4vpplp2s7kdnhncz61diji3wmhca04g27yqpk03ahb40x9g";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/fonts/opentype/
+    mkdir -p $out/share/doc/${name}/
+    cp *.otf $out/share/fonts/opentype/
+    cp *.txt $out/share/doc/${name}/
+  '';
+
+  outputHashAlgo = "sha256";
+  outputHashMode = "recursive";
+  outputHash = "0yn526kwb4xjyf6gvf0wflqi45z5dlzicycz2q003a6if5fgqcz3";
+
+  meta = with stdenv.lib; {
+    description = "A fork of the Linux Libertine and Linux Biolinum fonts";
+    longDescription = ''
+      Libertinus fonts is a fork of the Linux Libertine and Linux Biolinum fonts
+      that started as an OpenType math companion of the Libertine font family,
+      but grown as a full fork to address some of the bugs in the fonts.
+    '';
+    homepage = https://github.com/khaledhosny/libertinus;
+    license = licenses.ofl;
+    maintainers = with maintainers; [ siddharthist ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/source-sans-pro/default.nix b/pkgs/data/fonts/source-sans-pro/default.nix
index 4ae9ceac01df..fccb231f4caa 100644
--- a/pkgs/data/fonts/source-sans-pro/default.nix
+++ b/pkgs/data/fonts/source-sans-pro/default.nix
@@ -13,7 +13,7 @@ fetchzip {
   sha256 = "17rgkh54arybmcdg750ynw32x2sps7p9vrvq9kpih8vdghwrh9k2";
 
   meta = with stdenv.lib; {
-    homepage = http://sourceforge.net/adobe/sourcesans;
+    homepage = https://sourceforge.net/adobe/sourcesans;
     description = "A set of OpenType fonts designed by Adobe for UIs";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/source-serif-pro/default.nix b/pkgs/data/fonts/source-serif-pro/default.nix
index d627d813daa7..d58ccc338133 100644
--- a/pkgs/data/fonts/source-serif-pro/default.nix
+++ b/pkgs/data/fonts/source-serif-pro/default.nix
@@ -15,7 +15,7 @@ in fetchzip {
   sha256 = "04447fbj7lwr2qmmvy7d7624qdh4in7hp627nsc8vbpxmb7bbmn1";
 
   meta = with stdenv.lib; {
-    homepage = http://sourceforge.net/adobe/sourceserifpro;
+    homepage = https://sourceforge.net/adobe/sourceserifpro;
     description = "A set of OpenType fonts to complement Source Sans Pro";
     license = licenses.ofl;
     platforms = platforms.all;
diff --git a/pkgs/data/fonts/unifont_upper/default.nix b/pkgs/data/fonts/unifont_upper/default.nix
index 8a3fd2d60353..29ba4bfb5402 100644
--- a/pkgs/data/fonts/unifont_upper/default.nix
+++ b/pkgs/data/fonts/unifont_upper/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchzip }:
 
 let
-  version = "9.0.03";
+  version = "10.0.06";
 in fetchzip rec {
   name = "unifont_upper-${version}";
 
@@ -9,7 +9,7 @@ in fetchzip rec {
 
   postFetch = "install -Dm644 $downloadedFile $out/share/fonts/truetype/unifont_upper.ttf";
 
-  sha256 = "0anja3wrdjw0czqqk6wpf9yrkp0b11hb98wzmrpyij9gfgrspd71";
+  sha256 = "13x5z8iyh9xz5fllcy89yinnz1iy16a2pjf3vip66nz10sq8crlr";
 
   meta = with stdenv.lib; {
     description = "Unicode font for glyphs above the Unicode Basic Multilingual Plane";
diff --git a/pkgs/data/fonts/vista-fonts-chs/default.nix b/pkgs/data/fonts/vista-fonts-chs/default.nix
new file mode 100644
index 000000000000..e9a3282e7150
--- /dev/null
+++ b/pkgs/data/fonts/vista-fonts-chs/default.nix
@@ -0,0 +1,36 @@
+{stdenv, fetchzip, cabextract}:
+
+# Modified from vista-fonts
+
+fetchzip {
+  name = "vista-fonts-chs-1";
+
+  url = http://download.microsoft.com/download/d/6/e/d6e2ff26-5821-4f35-a18b-78c963b1535d/VistaFont_CHS.EXE;
+
+  postFetch = ''
+    ${cabextract}/bin/cabextract --lowercase --filter '*.TTF' $downloadedFile
+
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+
+    # Set up no-op font configs to override any aliases set up by
+    # other packages.
+    mkdir -p $out/etc/fonts/conf.d
+    substitute ${./no-op.conf} $out/etc/fonts/conf.d/30-msyahei.conf \
+      --subst-var-by fontname "Microsoft YaHei"
+  '';
+
+  sha256 = "1zwrgck84k80gpg7493jdnxnv9ajxk5c7qndinnmqydnrw239zbw";
+
+  meta = {
+    description = "TrueType fonts from Microsoft Windows Vista For Simplified Chinese (Microsoft YaHei)";
+    homepage = https://www.microsoft.com/typography/fonts/family.aspx?FID=350;
+    license = stdenv.lib.licenses.unfree;
+    maintainers = [ stdenv.lib.maintainers.ChengCat ];
+
+    # Set a non-zero priority to allow easy overriding of the
+    # fontconfig configuration files.
+    priority = 5;
+    platforms = stdenv.lib.platforms.all;
+  };
+}
diff --git a/pkgs/data/fonts/vista-fonts-chs/no-op.conf b/pkgs/data/fonts/vista-fonts-chs/no-op.conf
new file mode 100644
index 000000000000..2d00b6244887
--- /dev/null
+++ b/pkgs/data/fonts/vista-fonts-chs/no-op.conf
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
+<fontconfig>
+  <!-- This configuation is intentionally left empty in order to
+       override any other font package that may wish to set up an
+       alias for the @fontname@ font. If you actually do
+       want to have the alias then please change the priority of that
+       package; see the Nix manual page for nix-env for details. -->
+</fontconfig>
diff --git a/pkgs/data/icons/papirus-icon-theme/default.nix b/pkgs/data/icons/papirus-icon-theme/default.nix
index 6f9396d1b941..ef817a2e3f47 100644
--- a/pkgs/data/icons/papirus-icon-theme/default.nix
+++ b/pkgs/data/icons/papirus-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "papirus-icon-theme-${version}";
-  version = "20170715";
+  version = "20171102";
 
   src = fetchFromGitHub {
     owner = "PapirusDevelopmentTeam";
     repo = "papirus-icon-theme";
     rev = "${version}";
-    sha256 = "0mpmgpjwc7azhypvrlnxaa0c4jc6g7vgy242apxrn8jcv9ndmwyk";
+    sha256 = "10q7ppizzqi8c564jydqivia43gp4j1z984igfyym2mdwdw71mzq";
   };
 
   dontBuild = true;
diff --git a/pkgs/data/misc/dns-root-data/default.nix b/pkgs/data/misc/dns-root-data/default.nix
index dade4be1aaff..88b608c78152 100644
--- a/pkgs/data/misc/dns-root-data/default.nix
+++ b/pkgs/data/misc/dns-root-data/default.nix
@@ -4,7 +4,7 @@ let
 
   rootHints = fetchurl {
     url = "https://www.internic.net/domain/named.root";
-    sha256 = "01n4bqf95kbvig1hahqzmmdkpn4v7mzfc1p944gq922i5j3fjr92";
+    sha256 = "0vdrff4l8s8grif52dnh091s8qydhh88k25zqd9rj66sf1qwcwxl";
   };
 
   rootKey = ./root.key;
@@ -13,7 +13,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "dns-root-data-2017-08-29";
+  name = "dns-root-data-2017-10-24";
 
   buildCommand = ''
     mkdir $out
diff --git a/pkgs/data/misc/hackage/default.nix b/pkgs/data/misc/hackage/default.nix
index 14ae22798c26..91d38f3537e0 100644
--- a/pkgs/data/misc/hackage/default.nix
+++ b/pkgs/data/misc/hackage/default.nix
@@ -1,34 +1,6 @@
-{ fetchFromGitHub
-, stdenv
-, pkgconfig
-, libarchive
-, glib
-, # Override this to use a different revision
-  src-spec ?
-    { owner = "commercialhaskell";
-      repo = "all-cabal-hashes";
-      rev = "901c2522e6797270f5ded4495b1a529e6c16ef45";
-      sha256 = "05jmwsgrk77nz9vvgfbpsps0l320qgjpkr2c9zhkn9sc3d275lfb";
-    }
-, lib
-}:
+{ fetchurl }:
 
-# Use builtins.fetchTarball "https://github.com/commercialhaskell/all-cabal-hashes/archive/hackage.tar.gz"
-# instead if you want the latest Hackage automatically at the price of frequent re-downloads.
-let partition-all-cabal-hashes = stdenv.mkDerivation
-      { name = "partition-all-cabal-hashes";
-        src = ./partition-all-cabal-hashes.c;
-        unpackPhase = "true";
-        buildInputs = [ libarchive glib ];
-        nativeBuildInputs = [ pkgconfig ];
-        buildPhase =
-          "cc -O3 $(pkg-config --cflags --libs libarchive glib-2.0) $src -o partition-all-cabal-hashes";
-        installPhase =
-          ''
-            mkdir -p $out/bin
-            install -m755 partition-all-cabal-hashes $out/bin
-          '';
-      };
-in fetchFromGitHub (src-spec //
-  { postFetch = "${partition-all-cabal-hashes}/bin/partition-all-cabal-hashes $downloadedFile $out";
-  })
+fetchurl {
+  url = "https://github.com/commercialhaskell/all-cabal-hashes/archive/5e87c40f2cd96bd5dd953758e82f302107c7895e.tar.gz";
+  sha256 = "0hjkddda9mdm21nb9bkhr9n5r9jllisif1qmzha91a9cps5w1mx5";
+}
diff --git a/pkgs/data/misc/hackage/partition-all-cabal-hashes.c b/pkgs/data/misc/hackage/partition-all-cabal-hashes.c
deleted file mode 100644
index d8c3eca37019..000000000000
--- a/pkgs/data/misc/hackage/partition-all-cabal-hashes.c
+++ /dev/null
@@ -1,190 +0,0 @@
-#include <stdio.h>
-#include <ctype.h>
-#include <glib.h>
-#include <string.h>
-#include <locale.h>
-#include <archive.h>
-#include <archive_entry.h>
-
-static char * case_normalize(char * str) {
-  for (char * iter = str; *iter; ++iter) {
-    *iter = tolower(*iter);
-  }
-  return str;
-}
-
-static gint compare_str(const void * a, const void * b, void * _) {
-  return strcmp(a, b);
-}
-
-int main(int argc, char ** argv) {
-  if (argc != 3) {
-    fprintf(stderr, "Usage: %s TARBALL OUTPUT\n", argv[0]);
-    return 1;
-  }
-
-  size_t output_len = strlen(argv[2]);
-
-  /* Switch to standard locale to ensure consistency in case-folding.
-   */
-  setlocale(LC_CTYPE, "C");
-
-  /* Map from case-normalized package name to a sorted sequence of
-   * package names in the equivalence class defined by
-   * case-normalization.
-   */
-  GHashTable * equivalence_classes =
-    g_hash_table_new(g_str_hash, g_str_equal);
-
-  /* Open up the tarball.
-   */
-  struct archive * ar = archive_read_new();
-  if (!ar) {
-    perror("Allocating archive structure");
-    return 1;
-  }
-  archive_read_support_filter_gzip(ar);
-  archive_read_support_format_tar(ar);
-  if (archive_read_open_filename( ar
-                                , argv[1]
-                                , 10240
-                                ) == ARCHIVE_FATAL) {
-    fprintf( stderr
-           , "Error opening %s: %s\n"
-           , argv[0]
-           , archive_error_string(ar)
-           );
-    return 1;
-  }
-
-  /* Extract the length of the output directory that prefixes all
-   * tarball entries from the first entry in the tarball.
-   */
-  struct archive_entry * ent;
-  int err = archive_read_next_header(ar, &ent);
-  if (err != ARCHIVE_OK) {
-    if (err == ARCHIVE_EOF) {
-      fprintf( stderr
-             , "No entries in %s, surely this is an error!\n"
-             , argv[1]
-             );
-    } else {
-      fprintf( stderr
-             , "Error reading entry from %s: %s\n"
-             , argv[1]
-             , archive_error_string(ar)
-             );
-    }
-    return 1;
-  }
-  const char * path = archive_entry_pathname(ent);
-  /* Number of characters from the start of the path name until after
-   * the slash after the leading directory.
-   */
-  size_t prefix_len = strchr(path, '/') - path + 1;
-
-  /* Extract each entry to the right partition.
-   */
-  do {
-    path = archive_entry_pathname(ent) + prefix_len;
-    const char * pkg_end = strchr(path, '/');
-    if (!pkg_end)
-      /* If there is no second slash, then this is either just the entry
-       * corresponding to the root or some non-package file (e.g.
-       * travis.yml). In either case, we don't care.
-       */
-      continue;
-
-    /* Find our package in the equivalence class map.
-     */
-    char * pkg_name = g_strndup(path, pkg_end - path);
-    char * pkg_normalized =
-      case_normalize(g_strndup(path, pkg_end - path));
-    GSequence * pkg_class =
-      g_hash_table_lookup(equivalence_classes, pkg_normalized);
-    gint partition_num;
-    if (!pkg_class) {
-      /* We haven't seen any packages with this normalized name yet,
-       * so we need to initialize the sequence and add it to the map.
-       */
-      pkg_class = g_sequence_new(NULL);
-      g_sequence_append(pkg_class, pkg_name);
-      g_hash_table_insert( equivalence_classes
-                         , pkg_normalized
-                         , pkg_class
-                         );
-      partition_num = 1;
-    } else {
-      g_free(pkg_normalized);
-      /* Find the package name in the equivalence class */
-      GSequenceIter * pkg_iter =
-        g_sequence_search( pkg_class
-                         , pkg_name
-                         , compare_str
-                         , NULL
-                         );
-      if (!g_sequence_iter_is_end(pkg_iter)) {
-        /* If there are any packages after this one in the list, bail
-         * out. In principle we could solve this by moving them up to
-         * the next partition, but so far I've never seen any github
-         * tarballs out of order so let's save ourselves the work
-         * until we know we need it.
-         */
-        fprintf( stderr
-               , "Out of order github tarball: %s is after %s\n"
-               , pkg_name
-               , (char *) g_sequence_get(pkg_iter)
-               );
-        return 1;
-      }
-      pkg_iter = g_sequence_iter_prev(pkg_iter);
-      if (strcmp( g_sequence_get(pkg_iter)
-                , pkg_name
-                ) != 0) {
-        /* This package doesn't have the same name as the one right
-         * before where it should be in the sequence, which means it's
-         * new and needs to be added to the sequence.
-         *
-         * !!! We need to change this to use g_sequence_insert_before
-         * if we ever get an out-of-order github tarball, see comment
-         * after the check for !g_sequence_iter_is_end(pkg_iter).
-         */
-        pkg_iter = g_sequence_append(pkg_class, pkg_name);
-      } else {
-        g_free(pkg_name);
-      }
-      /* Get the partition number, starting with 1.
-       */
-      partition_num = g_sequence_iter_get_position(pkg_iter) + 1;
-    }
-
-    /* Set the destination path.
-     * The 3 below is for the length of /#/, the partition number part
-     * of the path. If we have more than 9 partitions, we deserve to
-     * segfault. The 1 at the end is for the trailing null.
-     */
-    char * dest_path = g_malloc(output_len + 3 + strlen(path) + 1);
-    sprintf(dest_path, "%s/%d/%s", argv[2], partition_num, path);
-    archive_entry_set_pathname(ent, dest_path);
-
-    if (archive_read_extract(ar, ent, 0) != ARCHIVE_OK) {
-      fprintf( stderr
-             , "Error extracting entry %s from %s: %s\n"
-             , dest_path
-             , argv[1]
-             , archive_error_string(ar)
-             );
-      return 1;
-    }
-  } while ((err = archive_read_next_header(ar, &ent)) == ARCHIVE_OK);
-  if (err != ARCHIVE_EOF) {
-    fprintf( stderr
-           , "Error reading entry from %s: %s\n"
-           , argv[1]
-           , archive_error_string(ar)
-           );
-    return 1;
-  }
-
-  return 0;
-}
diff --git a/pkgs/data/misc/iana-etc/default.nix b/pkgs/data/misc/iana-etc/default.nix
index 842b031c6bed..249f0e5dcb91 100644
--- a/pkgs/data/misc/iana-etc/default.nix
+++ b/pkgs/data/misc/iana-etc/default.nix
@@ -2,16 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "iana-etc-${version}";
-  version = "20170512";
+  version = "20171106";
 
   src = fetchurl {
     url = "https://github.com/Mic92/iana-etc/releases/download/${version}/iana-etc-${version}.tar.gz";
-    sha256 = "0zx2ag894qldvrv8f4hs84644kdcp8a83gjg33xsw8rrn38gll2a";
+    sha256 = "0pbmq95gdkp66cljwklv4gzh8lvl30l4k77hfwvrxz5mfqia6qdd";
   };
 
   installPhase = ''
-    mkdir -p $out/etc
-    cp services protocols $out/etc/
+    install -D -t $out/etc services protocols
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/enlightenment/enlightenment.nix b/pkgs/desktops/enlightenment/enlightenment.nix
index 44cb6809ea4c..b1bd4e6b2f32 100644
--- a/pkgs/desktops/enlightenment/enlightenment.nix
+++ b/pkgs/desktops/enlightenment/enlightenment.nix
@@ -1,51 +1,56 @@
-{ stdenv, fetchurl, pkgconfig, efl, xcbutilkeysyms, libXrandr, libXdmcp,
-libxcb, libffi, pam, alsaLib, luajit, bzip2, libpthreadstubs, gdbm, libcap,
-mesa_glu, xkeyboard_config, pcre }:
+{ stdenv, fetchurl, meson, ninja, pkgconfig, gettext, efl,
+  xcbutilkeysyms, libXrandr, libXdmcp, libxcb, libffi, pam, alsaLib,
+  luajit, bzip2, libpthreadstubs, gdbm, libcap, mesa_glu,
+  xkeyboard_config, pcre
+}:
 
 stdenv.mkDerivation rec {
   name = "enlightenment-${version}";
-  version = "0.21.10";
+  version = "0.22.0";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/enlightenment/${name}.tar.xz";
-    sha256 = "053zmlpjx45xg2rbbxyjh0phhgbsnmsnypzz2bib545klp51bfcv";
+    sha256 = "0xmrvryr35idd7fyqgshfhvy2053bs3vwrxbx681pi6rgpdvjghv";
   };
 
-  nativeBuildInputs = [ (pkgconfig.override { vanilla = true; }) ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    (pkgconfig.override { vanilla = true; })
+    gettext
+  ];
 
   buildInputs = [
-    efl libXdmcp libxcb xcbutilkeysyms libXrandr libffi pam alsaLib
-    luajit bzip2 libpthreadstubs gdbm pcre
+    efl
+    libXdmcp
+    libxcb
+    xcbutilkeysyms
+    libXrandr
+    libffi
+    pam
+    alsaLib
+    luajit
+    bzip2
+    libpthreadstubs
+    gdbm
+    pcre
   ] ++
     stdenv.lib.optionals stdenv.isLinux [ libcap ];
 
-  preConfigure = ''
-    export USER_SESSION_DIR=$prefix/lib/systemd/user
+  # Instead of setting owner to root and permissions to setuid/setgid
+  # (which is not allowed for files in /nix/store) of some
+  # enlightenment programs, the file $out/e-wrappers.nix is created,
+  # containing the needed configuration for that purpose. It can be
+  # used in the enlightenment module.
+  patches = [ ./enlightenment.suid-exes.patch ];
 
-    substituteInPlace src/modules/xkbswitch/e_mod_parse.c \
-      --replace "/usr/share/X11/xkb/rules/xorg.lst" "${xkeyboard_config}/share/X11/xkb/rules/base.lst"
-
-    substituteInPlace "src/bin/e_import_config_dialog.c" \
-      --replace "e_prefix_bin_get()" "\"${efl}/bin\""
-  '';
+  mesonFlags = [ "-Dsystemdunitdir=lib/systemd/user" ];
 
   enableParallelBuilding = true;
 
-  # this is a hack and without this cpufreq module is not working. does the following:
-  #   1. moves the "freqset" binary to "e_freqset",
-  #   2. linkes "e_freqset" to enlightenment/bin so that,
-  #   3. wrappers.setuid detects it and places wrappers in /run/wrappers/bin/e_freqset,
-  #   4. and finally, links /run/wrappers/bin/e_freqset to original destination where enlightenment wants it
-  postInstall = ''
-    export CPUFREQ_DIRPATH=`readlink -f $out/lib/enlightenment/modules/cpufreq/linux-gnu-*`;
-    mv $CPUFREQ_DIRPATH/freqset $CPUFREQ_DIRPATH/e_freqset
-    ln -sv $CPUFREQ_DIRPATH/e_freqset $out/bin/e_freqset
-    ln -sv /run/wrappers/bin/e_freqset $CPUFREQ_DIRPATH/freqset
-  '';
-
   meta = with stdenv.lib; {
     description = "The Compositing Window Manager and Desktop Shell";
-    homepage = http://enlightenment.org/;
+    homepage = https://www.enlightenment.org;
     license = licenses.bsd2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ matejc tstrobel ftrvxmtrx romildo ];
diff --git a/pkgs/desktops/enlightenment/enlightenment.suid-exes.patch b/pkgs/desktops/enlightenment/enlightenment.suid-exes.patch
new file mode 100644
index 000000000000..7a89309c89ff
--- /dev/null
+++ b/pkgs/desktops/enlightenment/enlightenment.suid-exes.patch
@@ -0,0 +1,25 @@
+--- enlightenment-0.22.0.orig/meson/meson_inst.sh	2017-09-25 10:55:43.000000000 -0300
++++ enlightenment-0.22.0/meson/meson_inst.sh	2017-11-15 08:31:03.336844920 -0200
+@@ -1,6 +1,19 @@
+-#!/bin/sh
++#!/bin/sh -x
++
++w="$out"/e-wrappers.nix
++
++echo "# Wrappers for programs installed by enlightenment that should be setuid" > $w
++echo "" >> $w
++echo "{" >> $w
++echo "  security.wrappers = {" >> $w
+ 
+ for x in "$@" ; do
+-	chown root "$DESTDIR/$x"
+-	chmod a=rx,u+xs "$DESTDIR/$x"
++	f="$DESTDIR/$x";
++	b=$(basename "$f".orig)
++	mv -v "$f"{,.orig}
++	ln -sv /run/wrappers/bin/"$b" "$f"
++	echo "    \"$b\".source = \"$f.orig\";" >> $w
+ done
++
++echo "  };" >> $w
++echo "}" >> $w
diff --git a/pkgs/desktops/gnome-3/apps/glade/default.nix b/pkgs/desktops/gnome-3/apps/glade/default.nix
index da49c36cd069..ce29ebf0a7ea 100644
--- a/pkgs/desktops/gnome-3/apps/glade/default.nix
+++ b/pkgs/desktops/gnome-3/apps/glade/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, intltool, fetchurl, python
+{ stdenv, intltool, fetchurl, python, autoreconfHook
 , pkgconfig, gtk3, glib
 , makeWrapper, itstool, libxml2, docbook_xsl
 , gnome3, librsvg, gdk_pixbuf, libxslt }:
@@ -8,13 +8,25 @@ stdenv.mkDerivation rec {
 
   propagatedUserEnvPkgs = [ gnome3.gnome_themes_standard ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk3 glib intltool itstool libxml2 python
-                  gnome3.gsettings_desktop_schemas makeWrapper docbook_xsl
-                  gdk_pixbuf gnome3.defaultIconTheme librsvg libxslt ];
+  nativeBuildInputs = [
+    pkgconfig intltool itstool makeWrapper docbook_xsl libxslt
+    # reconfiguration
+    autoreconfHook gnome3.gnome_common gnome3.yelp_tools
+  ];
+  buildInputs = [ gtk3 glib libxml2 python
+                  gnome3.gsettings_desktop_schemas
+                  gdk_pixbuf gnome3.defaultIconTheme librsvg ];
 
   enableParallelBuilding = true;
 
+  patches = [
+    # https://bugzilla.gnome.org/show_bug.cgi?id=782161
+    (fetchurl {
+      url = https://bugzilla.gnome.org/attachment.cgi?id=351054;
+      sha256 = "093wjjj40027pkqqnm14jb2dp2i2m8p1bayqx1lw18pq66c8fahn";
+    })
+  ];
+
   preFixup = ''
     wrapProgram "$out/bin/glade" \
       --set GDK_PIXBUF_MODULE_FILE "$GDK_PIXBUF_MODULE_FILE" \
diff --git a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
index 61ec2ac446ce..3c793d703680 100644
--- a/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
+++ b/pkgs/desktops/gnome-3/apps/gnome-photos/default.nix
@@ -2,7 +2,8 @@
 , pkgconfig, gtk3, glib
 , makeWrapper, itstool, gegl, babl, lcms2
 , desktop_file_utils, gmp, libmediaart, wrapGAppsHook
-, gnome3, librsvg, gdk_pixbuf, libexif, gexiv2, geocode_glib }:
+, gnome3, librsvg, gdk_pixbuf, libexif, gexiv2, geocode_glib
+, dleyna-renderer }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
                   gnome3.gfbgraph gnome3.grilo-plugins gnome3.grilo
                   gnome3.gnome_online_accounts gnome3.gnome_desktop
                   lcms2 libexif gnome3.tracker libxml2 desktop_file_utils
-                  wrapGAppsHook gexiv2 geocode_glib ];
+                  wrapGAppsHook gexiv2 geocode_glib dleyna-renderer ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix b/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
index 7d71d1b7adc9..2812e7673b40 100644
--- a/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
+++ b/pkgs/desktops/gnome-3/apps/nautilus-sendto/default.nix
@@ -1,18 +1,17 @@
-{ stdenv, fetchurl, glib, pkgconfig, gnome3, intltool
-, gobjectIntrospection, makeWrapper }:
+{ stdenv, fetchurl, meson, ninja, glib, pkgconfig, gnome3, appstream-glib, gettext }:
 
 stdenv.mkDerivation rec {
   name = "nautilus-sendto-${version}";
 
-  version = "3.8.1";
+  version = "3.8.6";
 
   src = fetchurl {
     url = "mirror://gnome/sources/nautilus-sendto/3.8/${name}.tar.xz";
-    sha256 = "03fa46bff271acdbdedab6243b2a84e5ed3daa19c81b69d087b3e852c8fe5dab";
+    sha256 = "164d7c6e8bae29c4579bcc67a7bf50d783662b1545b62f3008e7ea3c0410e04d";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib gobjectIntrospection intltool makeWrapper ];
+  nativeBuildInputs = [ meson ninja pkgconfig appstream-glib gettext ];
+  buildInputs = [ glib ];
 
   meta = with stdenv.lib; {
     description = "Integrates Evolution and Pidgin into the Nautilus file manager";
diff --git a/pkgs/desktops/gnome-3/core/dconf/default.nix b/pkgs/desktops/gnome-3/core/dconf/default.nix
index 402c6c1c355e..130e8255edca 100644
--- a/pkgs/desktops/gnome-3/core/dconf/default.nix
+++ b/pkgs/desktops/gnome-3/core/dconf/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, vala_0_32, libxslt, pkgconfig, glib, dbus_glib, gnome3
+{ stdenv, fetchurl, vala, libxslt, pkgconfig, glib, dbus_glib, gnome3
 , libxml2, intltool, docbook_xsl_ns, docbook_xsl, makeWrapper }:
 
 let
@@ -15,9 +15,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "lib" "dev" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ vala_0_32 libxslt glib dbus_glib gnome3.gtk libxml2
-                  intltool docbook_xsl docbook_xsl_ns makeWrapper ];
+  nativeBuildInputs = [ vala pkgconfig intltool libxslt libxml2 docbook_xsl docbook_xsl_ns makeWrapper ];
+  buildInputs = [ glib dbus_glib ];
 
   postConfigure = stdenv.lib.optionalString stdenv.isDarwin ''
     substituteInPlace client/Makefile \
diff --git a/pkgs/desktops/gnome-3/core/folks/default.nix b/pkgs/desktops/gnome-3/core/folks/default.nix
index 171ad0774500..6fcaa67b7712 100644
--- a/pkgs/desktops/gnome-3/core/folks/default.nix
+++ b/pkgs/desktops/gnome-3/core/folks/default.nix
@@ -8,11 +8,11 @@ let
   majorVersion = "0.11";
 in
 stdenv.mkDerivation rec {
-  name = "folks-${majorVersion}.3";
+  name = "folks-${majorVersion}.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/folks/${majorVersion}/${name}.tar.xz";
-    sha256 = "2a2828a7c87fd39e5786f8f2cf0ebe47576a74974f1355c478a6dc747d7bcb64";
+    sha256 = "16hqh2gxlbx0b0hgq216hndr1m72vj54jvryzii9zqkk0g9kxc57";
   };
 
   propagatedBuildInputs = [ glib gnome3.libgee sqlite ];
diff --git a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
index cb50494bb404..fbcd51b6cc29 100644
--- a/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
+++ b/pkgs/desktops/gnome-3/core/gnome-online-miners/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, pkgconfig, glib, gnome3, libxml2
-, libsoup, json_glib, gmp, openssl, makeWrapper }:
+, libsoup, json_glib, gmp, openssl, dleyna-server, makeWrapper }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -8,7 +8,8 @@ stdenv.mkDerivation rec {
   buildInputs = [ glib gnome3.libgdata libxml2 libsoup gmp openssl
                   gnome3.grilo gnome3.libzapojit gnome3.grilo-plugins
                   gnome3.gnome_online_accounts makeWrapper gnome3.libmediaart
-                  gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest ];
+                  gnome3.tracker gnome3.gfbgraph json_glib gnome3.rest
+                  dleyna-server ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix b/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
index b6d9ccef6667..eb600770e0ac 100644
--- a/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
+++ b/pkgs/desktops/gnome-3/core/grilo-plugins/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, file, intltool, glib, sqlite
 , gnome3, libxml2, gupnp, gssdp, lua5, liboauth, gupnp_av
-, gmime, json_glib, avahi, tracker, itstool }:
+, gmime, json_glib, avahi, tracker, dleyna-server, itstool }:
 
 stdenv.mkDerivation rec {
   major = "0.3";
-  minor = "3";
+  minor = "5";
   name = "grilo-plugins-${major}.${minor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo-plugins/${major}/${name}.tar.xz";
-    sha256 = "fe66e887847fef9c361bcb7226047c43b2bc22b172aaf22afd5534947cc85b9c";
+    sha256 = "1yv8a0mfd5qmdbdrnd0is5c51s1mvibhw61na99iagnbirxq4xr9";
   };
 
   installFlags = [ "GRL_PLUGINS_DIR=$(out)/lib/grilo-${major}" ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ gnome3.grilo libxml2 gupnp gssdp gnome3.libgdata
                   lua5 liboauth gupnp_av sqlite gnome3.gnome_online_accounts
                   gnome3.totem-pl-parser gnome3.rest gmime json_glib
-                  avahi gnome3.libmediaart tracker intltool itstool ];
+                  avahi gnome3.libmediaart tracker dleyna-server intltool itstool ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/action/show/Projects/Grilo;
diff --git a/pkgs/desktops/gnome-3/core/grilo/default.nix b/pkgs/desktops/gnome-3/core/grilo/default.nix
index 18a4da4efe2d..ffa489927e2f 100644
--- a/pkgs/desktops/gnome-3/core/grilo/default.nix
+++ b/pkgs/desktops/gnome-3/core/grilo/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   major = "0.3"; # if you change this, also change ./setup-hook.sh
-  minor = "3";
+  minor = "4";
   name = "grilo-${major}.${minor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/grilo/${major}/${name}.tar.xz";
-    sha256 = "1qx072m0gl6m3d5g5cbbf13p4h217icmlxjnrn829x5xqwi451sw";
+    sha256 = "0vh67gja6yn7czh77ssmx6ncp99fl2926pbi2hplqms27c2n8sbw";
   };
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/desktops/gnome-3/core/libgdata/default.nix b/pkgs/desktops/gnome-3/core/libgdata/default.nix
index 08f05bcaedc1..ddf245f49e06 100644
--- a/pkgs/desktops/gnome-3/core/libgdata/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgdata/default.nix
@@ -5,11 +5,11 @@ let
   majorVersion = "0.17";
 in
 stdenv.mkDerivation rec {
-  name = "libgdata-${majorVersion}.6";
+  name = "libgdata-${majorVersion}.9";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgdata/${majorVersion}/${name}.tar.xz";
-    sha256 = "8b6a3ff1db23bd9e5ebbcc958b29b769a898f892eed4798222d562ba69df30b0";
+    sha256 = "0fj54yqxdapdppisqm1xcyrpgcichdmipq0a0spzz6009ikzgi45";
   };
 
   NIX_CFLAGS_COMPILE = "-I${gnome3.libsoup.dev}/include/libsoup-gnome-2.4/ -I${gnome3.gcr}/include/gcr-3 -I${gnome3.gcr}/include/gck-1";
diff --git a/pkgs/desktops/gnome-3/core/libgxps/default.nix b/pkgs/desktops/gnome-3/core/libgxps/default.nix
index 5c1ffb450396..9e1e4588918f 100644
--- a/pkgs/desktops/gnome-3/core/libgxps/default.nix
+++ b/pkgs/desktops/gnome-3/core/libgxps/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, fetchurl, pkgconfig, glib, cairo, libarchive, freetype, libjpeg, libtiff
-, openssl, bzip2, acl, attr, libxml2
+{ stdenv, fetchurl, meson, ninja, pkgconfig, glib, gobjectIntrospection, cairo
+, libarchive, freetype, libjpeg, libtiff
 }:
 
 stdenv.mkDerivation rec {
-  name = "libgxps-0.2.2";
+  name = "libgxps-0.3.0";
 
   src = fetchurl {
-    url = "http://ftp.acc.umu.se/pub/GNOME/core/3.10/3.10.2/sources/${name}.tar.xz";
-    sha256 = "1gi0b0x0354jyqc48vspk2hg2q1403cf2p9ibj847nzhkdrh9l9r";
+    url = "mirror://gnome/sources/libgxps/0.3/${name}.tar.xz";
+    sha256 = "412b1343bd31fee41f7204c47514d34c563ae34dafa4cc710897366bd6cd0fae";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib cairo freetype libjpeg libtiff acl openssl bzip2 attr libxml2 ];
+  nativeBuildInputs = [ meson ninja pkgconfig gobjectIntrospection ];
+  buildInputs = [ glib cairo freetype libjpeg libtiff ];
   propagatedBuildInputs = [ libarchive ];
 
-  configureFlags = "--without-liblcms2";
+  mesonFlags = [
+    "-Denable-test=false"
+    "-Dwith-liblcms2=false"
+  ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/core/libpeas/src.nix b/pkgs/desktops/gnome-3/core/libpeas/src.nix
index cd440858946e..6f2cd82fb215 100644
--- a/pkgs/desktops/gnome-3/core/libpeas/src.nix
+++ b/pkgs/desktops/gnome-3/core/libpeas/src.nix
@@ -1,13 +1,13 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: rec {
-  major = "1.18";
+  major = "1.22";
   minor = "0";
   version = "${major}.${minor}";
   name = "libpeas-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libpeas/${major}/${name}.tar.xz";
-    sha256 = "09jy2rwwgp0xx7cnypxl56m7zzxnj3j4v58xqjxjasf3chn88jdz";
+    sha256 = "0qm908kisyjzjxvygdl18hjqxvvgkq9w0phs2g55pck277sw0bsv";
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/libzapojit/default.nix b/pkgs/desktops/gnome-3/core/libzapojit/default.nix
index c5c75c166f73..dab1a0fea8a0 100644
--- a/pkgs/desktops/gnome-3/core/libzapojit/default.nix
+++ b/pkgs/desktops/gnome-3/core/libzapojit/default.nix
@@ -12,6 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ glib intltool json_glib rest libsoup gtk gnome_online_accounts ];
 
   meta = with stdenv.lib; {
+    description = "GObject wrapper for the SkyDrive and Hotmail REST APIs";
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/desktops/gnome-3/core/mutter/default.nix b/pkgs/desktops/gnome-3/core/mutter/default.nix
index ebceb4ef706b..208b8b756488 100644
--- a/pkgs/desktops/gnome-3/core/mutter/default.nix
+++ b/pkgs/desktops/gnome-3/core/mutter/default.nix
@@ -1,7 +1,7 @@
-{ fetchurl, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
+{ fetchurl, fetchpatch, stdenv, pkgconfig, gnome3, intltool, gobjectIntrospection, upower, cairo
 , pango, cogl, clutter, libstartup_notification, libcanberra_gtk2, zenity, libcanberra_gtk3
 , libtool, makeWrapper, xkeyboard_config, libxkbfile, libxkbcommon, libXtst, libudev, libinput
-, libgudev, xwayland }:
+, libgudev, libwacom, xwayland, autoreconfHook }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
@@ -9,29 +9,46 @@ stdenv.mkDerivation rec {
   # fatal error: gio/gunixfdlist.h: No such file or directory
   NIX_CFLAGS_COMPILE = "-I${gnome3.glib.dev}/include/gio-unix-2.0 -Wno-error=format -Wno-error=sign-compare";
 
-  configureFlags = "--with-x --disable-static --enable-shape --enable-sm --enable-startup-notification --enable-xsync --enable-verbose-mode --with-libcanberra --with-xwayland-path=${xwayland}/bin/Xwayland";
+  configureFlags = [
+    "--with-x"
+    "--disable-static"
+    "--enable-shape"
+    "--enable-sm"
+    "--enable-startup-notification"
+    "--enable-xsync"
+    "--enable-verbose-mode"
+    "--with-libcanberra"
+    "--with-xwayland-path=${xwayland}/bin/Xwayland"
+  ];
 
   propagatedBuildInputs = [
     # required for pkgconfig to detect mutter-clutter
     libXtst
   ];
 
+  nativeBuildInputs = [ autoreconfHook pkgconfig intltool libtool makeWrapper ];
+
   buildInputs = with gnome3;
-    [ pkgconfig intltool glib gobjectIntrospection gtk gsettings_desktop_schemas upower
+    [ glib gobjectIntrospection gtk gsettings_desktop_schemas upower
       gnome_desktop cairo pango cogl clutter zenity libstartup_notification libcanberra_gtk2
-      gnome3.geocode_glib libudev libinput libgudev
-      libcanberra_gtk3 zenity libtool makeWrapper xkeyboard_config libxkbfile
+      gnome3.geocode_glib libudev libinput libgudev libwacom
+      libcanberra_gtk3 zenity xkeyboard_config libxkbfile
       libxkbcommon ];
 
+  patches = [
+    # https://bugzilla.gnome.org/show_bug.cgi?id=760670
+    (fetchpatch {
+      name = "libgudev-232.patch";
+      url = https://bugzilla.gnome.org/attachment.cgi?id=358904;
+      sha256 = "0chvd7g9f2zp3a0gdhvinsfvp2h10rwb6a8ja386vsrl93ac8pix";
+    })
+  ];
+
   preFixup = ''
     wrapProgram "$out/bin/mutter" \
       --prefix XDG_DATA_DIRS : "$GSETTINGS_SCHEMAS_PATH"
   '';
 
-  patches = [
-    ./x86.patch # ./math.patch
-  ];
-
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
diff --git a/pkgs/desktops/gnome-3/core/mutter/math.patch b/pkgs/desktops/gnome-3/core/mutter/math.patch
deleted file mode 100644
index dbdfd93f5e1d..000000000000
--- a/pkgs/desktops/gnome-3/core/mutter/math.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- mutter-3.18.0/src/backends/meta-cursor-renderer.c.orig	2015-09-23 13:54:31.297523343 +0200
-+++ mutter-3.18.0/src/backends/meta-cursor-renderer.c	2015-09-23 13:54:43.728271766 +0200
-@@ -31,6 +31,7 @@
- 
- #include <cogl/cogl.h>
- #include <clutter/clutter.h>
-+#include <math.h>
- 
- #include "meta-stage.h"
- 
diff --git a/pkgs/desktops/gnome-3/core/mutter/x86.patch b/pkgs/desktops/gnome-3/core/mutter/x86.patch
deleted file mode 100644
index 93df1e7f2831..000000000000
--- a/pkgs/desktops/gnome-3/core/mutter/x86.patch
+++ /dev/null
@@ -1,20 +0,0 @@
---- a/src/core/window.c	2015-05-26 10:52:41.382834963 +0200
-+++ b/src/core/window.c	2015-05-26 10:53:03.039948034 +0200
-@@ -3499,7 +3499,7 @@
- 
- static MetaMonitorInfo *
- find_monitor_by_winsys_id (MetaWindow *window,
--                           guint       winsys_id)
-+                           gint       winsys_id)
- {
-   int i;
- 
-@@ -3618,7 +3618,7 @@
-    */
- 
-   gboolean did_placement;
--  guint old_output_winsys_id;
-+  gint old_output_winsys_id;
-   MetaRectangle unconstrained_rect;
-   MetaRectangle constrained_rect;
-   MetaMoveResizeResultFlags result = 0;
diff --git a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
index 794f38013337..56fef3129272 100644
--- a/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
+++ b/pkgs/desktops/gnome-3/core/totem-pl-parser/default.nix
@@ -1,15 +1,10 @@
 { stdenv, fetchurl, pkgconfig, file, intltool, gmime, libxml2, libsoup, gnome3 }:
 
 stdenv.mkDerivation rec {
-  name = "totem-pl-parser-3.10.2";
+  inherit (import ./src.nix fetchurl) name src;
 
-  src = fetchurl {
-    url = "mirror://gnome/sources/totem-pl-parser/3.10/${name}.tar.xz";
-    sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469";
-  };
-
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ file intltool gmime libxml2 libsoup ];
+  nativeBuildInputs = [ pkgconfig file intltool ];
+  buildInputs = [ gmime libxml2 libsoup ];
 
   meta = with stdenv.lib; {
     homepage = https://wiki.gnome.org/Apps/Videos;
diff --git a/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix b/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix
new file mode 100644
index 000000000000..8e352ccfb4c4
--- /dev/null
+++ b/pkgs/desktops/gnome-3/core/totem-pl-parser/src.nix
@@ -0,0 +1,10 @@
+# Autogenerated by maintainers/scripts/gnome.sh update
+
+fetchurl: {
+  name = "totem-pl-parser-3.10.2";
+
+  src = fetchurl {
+    url = mirror://gnome/sources/totem-pl-parser/3.10/totem-pl-parser-3.10.2.tar.xz;
+    sha256 = "38be09bddc46ddecd2b5ed7c82144ef52aafe879a5ec3d8b192b4b64ba995469";
+  };
+}
diff --git a/pkgs/desktops/gnome-3/core/vte/fix_g_test_init_calls.patch b/pkgs/desktops/gnome-3/core/vte/fix_g_test_init_calls.patch
deleted file mode 100644
index 4c5696d4e17b..000000000000
--- a/pkgs/desktops/gnome-3/core/vte/fix_g_test_init_calls.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-diff --git a/src/vteconv.cc b/src/vteconv.cc
-index b78d3928..5cb63e7e 100644
---- a/src/vteconv.cc
-+++ b/src/vteconv.cc
-@@ -771,7 +771,7 @@ int
- main (int argc,
-       char *argv[])
- {
--        g_test_init (&argc, &argv, NULL);
-+        g_test_init (&argc, &argv, (char *)NULL);
- 
-         g_test_add_func ("/vte/conv/utf8/strlen", test_utf8_strlen);
-         g_test_add_func ("/vte/conv/utf8/validate", test_utf8_validate);
-diff --git a/src/vtetypes.cc b/src/vtetypes.cc
-index 1365a295..8f38c9d9 100644
---- a/src/vtetypes.cc
-+++ b/src/vtetypes.cc
-@@ -407,7 +407,7 @@ test_util_smart_fd(void)
- int
- main(int argc, char *argv[])
- {
--        g_test_init (&argc, &argv, NULL);
-+        g_test_init (&argc, &argv, (char *)NULL);
- 
-         g_test_add_func("/vte/c++/grid/coords", test_grid_coords);
-         g_test_add_func("/vte/c++/grid/span", test_grid_span);
diff --git a/pkgs/desktops/gnome-3/core/vte/fix_vteseq_n_lookup_declaration.patch b/pkgs/desktops/gnome-3/core/vte/fix_vteseq_n_lookup_declaration.patch
deleted file mode 100644
index 70ef7faa782e..000000000000
--- a/pkgs/desktops/gnome-3/core/vte/fix_vteseq_n_lookup_declaration.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/vteseq.cc b/src/vteseq.cc
-index 2330939d..e0ac14eb 100644
---- a/src/vteseq.cc
-+++ b/src/vteseq.cc
-@@ -3409,7 +3409,7 @@ vte_sequence_handler_iterm2_1337(VteTerminalPrivate *that, GValueArray *params)
- #define VTE_SEQUENCE_HANDLER(name) name
- 
- static const struct vteseq_n_struct *
--vteseq_n_lookup (register const char *str, register unsigned int len);
-+vteseq_n_lookup (register const char *str, register size_t len);
- #include"vteseq-n.cc"
- 
- #undef VTE_SEQUENCE_HANDLER
diff --git a/pkgs/desktops/gnome-3/core/vte/ng.nix b/pkgs/desktops/gnome-3/core/vte/ng.nix
index 69f61eb7697c..73bbba3e72bc 100644
--- a/pkgs/desktops/gnome-3/core/vte/ng.nix
+++ b/pkgs/desktops/gnome-3/core/vte/ng.nix
@@ -2,22 +2,15 @@
 
 gnome3.vte.overrideAttrs (oldAttrs: rec {
   name = "vte-ng-${version}";
-  version = "0.46.1.a";
+  version = "0.50.2.a";
 
   src = fetchFromGitHub {
     owner = "thestinger";
     repo = "vte-ng";
     rev = version;
-    sha256 = "125fpibid1liz50d7vbxy71pnm8b01x90xnkr4z3419b90lybr0a";
+    sha256 = "0i6hfzw9sq8521kz0l7lld2km56r0bfp1hw6kxq3j1msb8z8svcf";
   };
 
-  # The patches apply the changes from https://github.com/GNOME/vte/pull/7 and
-  # can be removed once the commits are merged into vte-ng.
-  patches = [
-    ./fix_g_test_init_calls.patch
-    ./fix_vteseq_n_lookup_declaration.patch
-  ];
-
   preConfigure = oldAttrs.preConfigure + "; ./autogen.sh";
 
   nativeBuildInputs = oldAttrs.nativeBuildInputs or []
diff --git a/pkgs/desktops/gnome-3/core/vte/src.nix b/pkgs/desktops/gnome-3/core/vte/src.nix
index 841798848e60..45029e8bb8dd 100644
--- a/pkgs/desktops/gnome-3/core/vte/src.nix
+++ b/pkgs/desktops/gnome-3/core/vte/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "vte-0.48.3";
+  name = "vte-0.50.1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/vte/0.48/vte-0.48.3.tar.xz;
-    sha256 = "a3a9fb182740b392a45cd3f46fa61a985f68bb6b1817b52daec22034c46158c3";
+    url = mirror://gnome/sources/vte/0.50/vte-0.50.1.tar.xz;
+    sha256 = "cf1708e3e573160e1db107014b3ef70888fefe6b668373fed70e8d1cac45a8c2";
   };
 }
diff --git a/pkgs/desktops/gnome-3/misc/gitg/src.nix b/pkgs/desktops/gnome-3/misc/gitg/src.nix
index 9c6dd2148ccf..c72e2830ad1e 100644
--- a/pkgs/desktops/gnome-3/misc/gitg/src.nix
+++ b/pkgs/desktops/gnome-3/misc/gitg/src.nix
@@ -1,10 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
 fetchurl: {
-  name = "gitg-3.24.0";
+  name = "gitg-3.26.0";
 
   src = fetchurl {
-    url = mirror://gnome/sources/gitg/3.24/gitg-3.24.0.tar.xz;
-    sha256 = "3e4ec4a8ae83bc7ced8c7610927ade70e37daa5e8beeb4f357a6ea30b4cc951e";
+    url = mirror://gnome/sources/gitg/3.26/gitg-3.26.0.tar.xz;
+    sha256 = "26730d437d6a30d6e341b9e8da99d2134dce4b96022c195609f45062f82b54d5";
   };
 }
diff --git a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
index a71dbf5494da..36feb09d7eef 100644
--- a/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
+++ b/pkgs/desktops/gnome-3/misc/libgit2-glib/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala_0_32, libssh2
+{ stdenv, fetchurl, gnome3, libtool, pkgconfig, vala, libssh2
 , gtk_doc, gobjectIntrospection, libgit2, glib }:
 
 stdenv.mkDerivation rec {
   inherit (import ./src.nix fetchurl) name src;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gnome3.gnome_common libtool vala_0_32 libssh2
-                  gtk_doc gobjectIntrospection libgit2 glib ];
+  nativeBuildInputs = [
+    gnome3.gnome_common libtool pkgconfig vala gtk_doc gobjectIntrospection
+  ];
+
+  buildInputs = [ libssh2 libgit2 glib ];
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome-3/misc/libgit2-glib/src.nix b/pkgs/desktops/gnome-3/misc/libgit2-glib/src.nix
index b9abde42cbda..00e747500c61 100644
--- a/pkgs/desktops/gnome-3/misc/libgit2-glib/src.nix
+++ b/pkgs/desktops/gnome-3/misc/libgit2-glib/src.nix
@@ -1,12 +1,10 @@
 # Autogenerated by maintainers/scripts/gnome.sh update
 
-fetchurl: rec {
-  major = "0.25";
-  minor = "0";
-  name = "libgit2-glib-${major}.${minor}";
+fetchurl: {
+  name = "libgit2-glib-0.26.0";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/libgit2-glib/${major}/${name}.tar.xz";
-    sha256 = "0rf5gcr3khp35wj9ax9cbyq5j3iiwa1l0fi16w6sfgmrryd6n9aa";
+    url = mirror://gnome/sources/libgit2-glib/0.26/libgit2-glib-0.26.0.tar.xz;
+    sha256 = "06b16cfcc3a53d9804858618d690e5509e9af2e2245b75f0479cadbbe39745c3";
   };
 }
diff --git a/pkgs/desktops/plasma-5/fetch.sh b/pkgs/desktops/plasma-5/fetch.sh
index cb0f50727d7a..494b84923534 100644
--- a/pkgs/desktops/plasma-5/fetch.sh
+++ b/pkgs/desktops/plasma-5/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/plasma/5.11.2/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/plasma/5.11.3/ -A '*.tar.xz' )
diff --git a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
index 1f4b83cf83bf..598f043dcd53 100644
--- a/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
+++ b/pkgs/desktops/plasma-5/plasma-workspace/plasma-workspace.patch
@@ -8,7 +8,7 @@ index 7e2d9758..40a5797b 100644
  import org.kde.kcoreaddons 1.0 as KCoreAddons
 -import "logic.js" as Logic
 +import "../code/logic.js" as Logic
- 
+
  Item {
      id: batteryItem
 diff --git a/applets/batterymonitor/package/contents/ui/batterymonitor.qml b/applets/batterymonitor/package/contents/ui/batterymonitor.qml
@@ -21,7 +21,7 @@ index ae6d5919..c2f99c86 100644
  import org.kde.kquickcontrolsaddons 2.0
 -import "logic.js" as Logic
 +import "../code/logic.js" as Logic
- 
+
  Item {
      id: batterymonitor
 diff --git a/applets/lock_logout/contents/ui/lockout.qml b/applets/lock_logout/contents/ui/lockout.qml
@@ -34,7 +34,7 @@ index 80e7e53b..0083cf01 100644
  import org.kde.kquickcontrolsaddons 2.0
 -import "data.js" as Data
 +import "../code/data.js" as Data
- 
+
  Flow {
      id: lockout
 diff --git a/applets/notifications/package/contents/ui/main.qml b/applets/notifications/package/contents/ui/main.qml
@@ -42,12 +42,12 @@ index acdda88f..989de8ab 100644
 --- a/applets/notifications/package/contents/ui/main.qml
 +++ b/applets/notifications/package/contents/ui/main.qml
 @@ -28,7 +28,7 @@ import org.kde.plasma.extras 2.0 as PlasmaExtras
- 
+
  import org.kde.plasma.private.notifications 1.0
- 
+
 -import "uiproperties.js" as UiProperties
 +import "../code/uiproperties.js" as UiProperties
- 
+
  MouseEventListener {
      id: notificationsApplet
 diff --git a/krunner/dbus/org.kde.krunner.service.in b/krunner/dbus/org.kde.krunner.service.in
@@ -59,7 +59,7 @@ index 85715214..294eab08 100644
  Name=org.kde.krunner
 -Exec=@CMAKE_INSTALL_PREFIX@/bin/krunner
 +Exec=@CMAKE_INSTALL_FULL_BINDIR@/krunner
- 
+
 diff --git a/kuiserver/org.kde.kuiserver.service.in b/kuiserver/org.kde.kuiserver.service.in
 index 7a86d07f..5b3030cc 100644
 --- a/kuiserver/org.kde.kuiserver.service.in
@@ -76,7 +76,7 @@ index fe29f57a..247db953 100644
 @@ -3,11 +3,6 @@ add_subdirectory(kstartupconfig)
  add_subdirectory(ksyncdbusenv)
  add_subdirectory(waitforname)
- 
+
 -#FIXME: reconsider, looks fishy
 -if(NOT CMAKE_INSTALL_PREFIX STREQUAL "/usr")
 -    set(EXPORT_XCURSOR_PATH "XCURSOR_PATH=${CMAKE_INSTALL_PREFIX}/share/icons:$XCURSOR_PATH\":~/.icons:/usr/share/icons:/usr/share/pixmaps:/usr/X11R6/lib/X11/icons\"; export XCURSOR_PATH")
@@ -106,7 +106,7 @@ index e9fa0bee..79e50a96 100644
 -#  DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
 +#  NIXPKGS KDE STARTUP SCRIPT ( @PROJECT_VERSION@ )
  #
- 
+
 +if test "x$1" = x--failsafe; then
 +    KDE_FAILSAFE=1 # General failsafe flag
 +    KWIN_COMPOSE=N # Disable KWin's compositing
@@ -117,7 +117,7 @@ index e9fa0bee..79e50a96 100644
  # When the X server dies we get a HUP signal from xinit. We must ignore it
  # because we still need to do some cleanup.
  trap 'echo GOT SIGHUP' HUP
- 
+
 -# Check if a Plasma session already is running and whether it's possible to connect to X
 -kcheckrunning
 +# we have to unset this for Darwin since it will screw up KDE's dynamic-loading
@@ -140,12 +140,12 @@ index e9fa0bee..79e50a96 100644
 +    echo "\$DISPLAY is not set or cannot connect to the X server."
 +    exit 1
  fi
- 
+
  # Boot sequence:
 @@ -33,59 +42,132 @@ fi
  #
  # * Then ksmserver is started which takes control of the rest of the startup sequence
- 
+
 -# We need to create config folder so we can write startupconfigkeys
 -if [  ${XDG_CONFIG_HOME} ]; then
 -  configDir=$XDG_CONFIG_HOME;
@@ -174,7 +174,7 @@ index e9fa0bee..79e50a96 100644
 +if [ -e $XDG_CONFIG_HOME/Trolltech.conf ]; then
 +    @NIXPKGS_SED@ -e '/nix\\store\|nix\/store/ d' -i $XDG_CONFIG_HOME/Trolltech.conf
  fi
- 
+
 -mkdir -p $configDir
 +@NIXPKGS_KBUILDSYCOCA5@
 +
@@ -227,7 +227,7 @@ index e9fa0bee..79e50a96 100644
 +cursorSize=0
 +EOF
 +fi
- 
+
  #This is basically setting defaults so we can use them with kstartupconfig5
 -cat >$configDir/startupconfigkeys <<EOF
 +cat >"$XDG_CONFIG_HOME/startupconfigkeys" <<EOF
@@ -240,7 +240,7 @@ index e9fa0bee..79e50a96 100644
  kcmfonts General forceFontDPI 0
 +kcmfonts General dontChangeAASettings true
  EOF
- 
+
  # preload the user's locale on first start
 -plasmalocalerc=$configDir/plasma-localerc
 -test -f $plasmalocalerc || {
@@ -253,7 +253,7 @@ index e9fa0bee..79e50a96 100644
  EOF
 -}
 +fi
- 
+
  # export LC_* variables set by kcmshell5 formats into environment
  # so it can be picked up by QLocale and friends.
 -exportformatssettings=$configDir/plasma-locale-settings.sh
@@ -264,7 +264,7 @@ index e9fa0bee..79e50a96 100644
 +if [ -r "$exportformatssettings" ]; then
 +    . "$exportformatssettings"
 +fi
- 
+
  # Write a default kdeglobals file to set up the font
 -kdeglobalsfile=$configDir/kdeglobals
 -test -f $kdeglobalsfile || {
@@ -287,7 +287,7 @@ index e9fa0bee..79e50a96 100644
  EOF
 -}
 +fi
- 
+
 -kstartupconfig5
 -returncode=$?
 -if test $returncode -ne 0; then
@@ -300,13 +300,13 @@ index e9fa0bee..79e50a96 100644
 +if [ -r "$XDG_CONFIG_HOME/startupconfig" ]; then
 +    . "$XDG_CONFIG_HOME/startupconfig"
 +fi
- 
+
  if [ "$kdeglobals_kscreen_screenscalefactors" ]; then
      export QT_SCREEN_SCALE_FACTORS="$kdeglobals_kscreen_screenscalefactors"
 @@ -94,26 +176,33 @@ fi
  #otherwise apps that manually opt in for high DPI get auto scaled by the developer AND manually scaled by us
  export QT_AUTO_SCREEN_SCALE_FACTOR=0
- 
+
 +#Set the QtQuickControls style to our own: for QtQuickControls1
 +#it will fall back to Desktop, while it will use our own org.kde.desktop
 +#for QtQuickControlsStyle and Kirigami
@@ -342,7 +342,7 @@ index e9fa0bee..79e50a96 100644
 +        export XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
      fi
  fi
- 
+
 -if test "$kcmfonts_general_forcefontdpi" -ne 0; then
 -    xrdb -quiet -merge -nocpp <<EOF
 +if [ "${kcmfonts_general_forcefontdpi:-0}" -ne 0 ]; then
@@ -352,7 +352,7 @@ index e9fa0bee..79e50a96 100644
  fi
 @@ -122,11 +211,11 @@ dl=$DESKTOP_LOCKED
  unset DESKTOP_LOCKED # Don't want it in the environment
- 
+
  ksplash_pid=
 -if test -z "$dl"; then
 +if [ -z "$dl" ]; then
@@ -367,7 +367,7 @@ index e9fa0bee..79e50a96 100644
 @@ -135,71 +224,6 @@ if test -z "$dl"; then
    esac
  fi
- 
+
 -# Source scripts found in <config locations>/plasma-workspace/env/*.sh
 -# (where <config locations> correspond to the system and user's configuration
 -# directories, as identified by Qt's qtpaths,  e.g.  $HOME/.config
@@ -451,9 +451,9 @@ index e9fa0bee..79e50a96 100644
 -    export GS_LIB
 -fi
 +@NIXPKGS_XSETROOT@ -cursor_name left_ptr
- 
+
  echo 'startkde: Starting up...'  1>&2
- 
+
 -# Make sure that the KDE prefix is first in XDG_DATA_DIRS and that it's set at all.
 -# The spec allows XDG_DATA_DIRS to be not set, but X session startup scripts tend
 -# to set it to a list of paths *not* including the KDE prefix if it's not /usr or
@@ -472,19 +472,19 @@ index e9fa0bee..79e50a96 100644
  export KDE_FULL_SESSION
 -xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
 +@NIXPKGS_XPROP@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
- 
+
  KDE_SESSION_VERSION=5
  export KDE_SESSION_VERSION
 -xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
 +@NIXPKGS_XPROP@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
- 
+
 -KDE_SESSION_UID=`id -ru`
 +KDE_SESSION_UID=$(@NIXPKGS_ID@ -ru)
  export KDE_SESSION_UID
- 
+
  XDG_CURRENT_DESKTOP=KDE
  export XDG_CURRENT_DESKTOP
- 
+
 +# Enforce xcb QPA. Helps switching between Wayland and X sessions.
 +export QT_QPA_PLATFORM=xcb
 +
@@ -527,7 +527,7 @@ index e9fa0bee..79e50a96 100644
 -  xmessage -geometry 500x100 "Could not sync environment to dbus."
    exit 1
  fi
- 
+
  # We set LD_BIND_NOW to increase the efficiency of kdeinit.
  # kdeinit unsets this variable before loading applications.
 -LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup
@@ -539,10 +539,10 @@ index e9fa0bee..79e50a96 100644
 -  xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation."
    exit 1
  fi
- 
+
 -qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
 +@NIXPKGS_QDBUS@ org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
- 
+
  # finally, give the session control to the session manager
  # see kdebase/ksmserver for the description of the rest of the startup sequence
 @@ -303,34 +330,37 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit &
@@ -568,12 +568,12 @@ index e9fa0bee..79e50a96 100644
    test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
 -  xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
  fi
- 
+
  #Anything after here is logout/shutdown
- 
+
 -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
 +wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
- 
+
 -if test x"$wait_drkonqi"x = x"true"x ; then
 +if [ x"$wait_drkonqi"x = x"true"x ]; then
      # wait for remaining drkonqi instances with timeout (in seconds)
@@ -595,18 +595,18 @@ index e9fa0bee..79e50a96 100644
              break
          fi
 @@ -339,15 +369,17 @@ fi
- 
+
  echo 'startkde: Shutting down...'  1>&2
  # just in case
 -test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
 +if [ -n "$ksplash_pid" ]; then
 +    kill "$ksplash_pid" 2>/dev/null
 +fi
- 
+
  # Clean up
 -kdeinit5_shutdown
 +@NIXPKGS_KDEINIT5_SHUTDOWN@
- 
+
  unset KDE_FULL_SESSION
 -xprop -root -remove KDE_FULL_SESSION
 +@NIXPKGS_XPROP@ -root -remove KDE_FULL_SESSION
@@ -614,24 +614,24 @@ index e9fa0bee..79e50a96 100644
 -xprop -root -remove KDE_SESSION_VERSION
 +@NIXPKGS_XPROP@ -root -remove KDE_SESSION_VERSION
  unset KDE_SESSION_UID
- 
+
  echo 'startkde: Done.'  1>&2
 diff --git a/startkde/startplasma.cmake b/startkde/startplasma.cmake
 index fd232bdf..e1c8fff6 100644
 --- a/startkde/startplasma.cmake
 +++ b/startkde/startplasma.cmake
-@@ -1,6 +1,6 @@
+@@ -1,4 +1,4 @@
  #!/bin/sh
  #
 -#  DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
 +#  NIXPKGS Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
  #
- 
+
  # Boot sequence:
 @@ -17,17 +17,13 @@
  #
  # * Then ksmserver is started which takes control of the rest of the startup sequence
- 
+
 -# We need to create config folder so we can write startupconfigkeys
 -if [  ${XDG_CONFIG_HOME} ]; then
 -  configDir=$XDG_CONFIG_HOME;
@@ -641,7 +641,7 @@ index fd232bdf..e1c8fff6 100644
 +if [ -r "$XDG_CONFIG_HOME/startupconfig" ]; then
 +    . "$XDG_CONFIG_HOME/startupconfig"
  fi
- 
+
 -[ -r $configDir/startupconfig ] && . $configDir/startupconfig
 -
 -if test "$kcmfonts_general_forcefontdpi" -ne 0; then
@@ -653,7 +653,7 @@ index fd232bdf..e1c8fff6 100644
  fi
 @@ -36,11 +32,11 @@ dl=$DESKTOP_LOCKED
  unset DESKTOP_LOCKED # Don't want it in the environment
- 
+
  ksplash_pid=
 -if test -z "$dl"; then
 +if [ -z "$dl" ]; then
@@ -668,7 +668,7 @@ index fd232bdf..e1c8fff6 100644
 @@ -52,48 +48,6 @@ fi
  #In wayland we want Plasma to use Qt's scaling
  export PLASMA_USE_QT_SCALING=1
- 
+
 -# Activate the kde font directories.
 -#
 -# There are 4 directories that may be used for supplying fonts for KDE.
@@ -729,15 +729,15 @@ index fd232bdf..e1c8fff6 100644
 -    export GS_LIB
 -fi
 +@NIXPKGS_XSETROOT@ -cursor_name left_ptr
- 
+
  echo 'startplasma: Starting up...'  1>&2
- 
+
  # export our session variables to the Xwayland server
 -xprop -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
 -xprop -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
 +@NIXPKGS_XPROP@ -root -f KDE_FULL_SESSION 8t -set KDE_FULL_SESSION true
 +@NIXPKGS_XPROP@ -root -f KDE_SESSION_VERSION 32c -set KDE_SESSION_VERSION 5
- 
+
  # We set LD_BIND_NOW to increase the efficiency of kdeinit.
  # kdeinit unsets this variable before loading applications.
 -LD_BIND_NOW=true @CMAKE_INSTALL_FULL_LIBEXECDIR_KF5@/start_kdeinit_wrapper --kded +kcminit_startup
@@ -749,10 +749,10 @@ index fd232bdf..e1c8fff6 100644
 -  xmessage -geometry 500x100 "Could not start kdeinit5. Check your installation."
    exit 1
  fi
- 
+
 -qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit
 +@NIXPKGS_QDBUS@ org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit
- 
+
  # finally, give the session control to the session manager
  # see kdebase/ksmserver for the description of the rest of the startup sequence
 @@ -145,27 +89,26 @@ qdbus org.kde.KSplash /KSplash org.kde.KSplash.setStage kinit
@@ -767,10 +767,10 @@ index fd232bdf..e1c8fff6 100644
    test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
 -  xmessage -geometry 500x100 "Could not start ksmserver. Check your installation."
  fi
- 
+
 -wait_drkonqi=`kreadconfig5 --file startkderc --group WaitForDrKonqi --key Enabled --default true`
 +wait_drkonqi=$(@NIXPKGS_KREADCONFIG5@ --file startkderc --group WaitForDrKonqi --key Enabled --default true)
- 
+
 -if test x"$wait_drkonqi"x = x"true"x ; then
 +if [ x"$wait_drkonqi"x = x"true"x ]; then
      # wait for remaining drkonqi instances with timeout (in seconds)
@@ -792,18 +792,18 @@ index fd232bdf..e1c8fff6 100644
              break
          fi
 @@ -174,15 +117,17 @@ fi
- 
+
  echo 'startplasma: Shutting down...'  1>&2
  # just in case
 -test -n "$ksplash_pid" && kill "$ksplash_pid" 2>/dev/null
 +if [ -n "$ksplash_pid" ]; then
 +    kill "$ksplash_pid" 2>/dev/null
 +fi
- 
+
  # Clean up
 -kdeinit5_shutdown
 +@NIXPKGS_KDEINIT5_SHUTDOWN@
- 
+
  unset KDE_FULL_SESSION
 -xprop -root -remove KDE_FULL_SESSION
 +@NIXPKGS_XPROP@ -root -remove KDE_FULL_SESSION
@@ -811,7 +811,7 @@ index fd232bdf..e1c8fff6 100644
 -xprop -root -remove KDE_SESSION_VERSION
 +@NIXPKGS_XPROP@ -root -remove KDE_SESSION_VERSION
  unset KDE_SESSION_UID
- 
+
  echo 'startplasma: Done.'  1>&2
 diff --git a/startkde/startplasmacompositor.cmake b/startkde/startplasmacompositor.cmake
 index 417a87d4..3f62745a 100644
@@ -823,7 +823,7 @@ index 417a87d4..3f62745a 100644
 -#  DEFAULT Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
 +#  NIXPKGS Plasma STARTUP SCRIPT ( @PROJECT_VERSION@ )
  #
- 
+
 -# in case we have been started with full pathname spec without being in PATH
 -bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'`
 -if [ -n "$bindir" ]; then
@@ -861,7 +861,7 @@ index 417a87d4..3f62745a 100644
 +if [ -e $XDG_CONFIG_HOME/Trolltech.conf ]; then
 +    @NIXPKGS_SED@ -e '/nix\\store\|nix\/store/ d' -i $XDG_CONFIG_HOME/Trolltech.conf
  fi
- 
+
 -# We need to create config folder so we can write startupconfigkeys
 -if [  ${XDG_CONFIG_HOME} ]; then
 -  configDir=$XDG_CONFIG_HOME;
@@ -891,7 +891,7 @@ index 417a87d4..3f62745a 100644
 +gtk-button-images=1
 +EOF
  fi
- 
+
 -mkdir -p $configDir
 +# Set the default GTK 3 theme
 +gtk3_settings="$XDG_CONFIG_HOME/gtk-3.0/settings.ini"
@@ -919,7 +919,7 @@ index 417a87d4..3f62745a 100644
 +cursorSize=0
 +EOF
 +fi
- 
+
  #This is basically setting defaults so we can use them with kstartupconfig5
 -cat >$configDir/startupconfigkeys <<EOF
 +cat >"$XDG_CONFIG_HOME/startupconfigkeys" <<EOF
@@ -933,7 +933,7 @@ index 417a87d4..3f62745a 100644
 +kcmfonts General forceFontDPI 0
 +kcmfonts General dontChangeAASettings true
  EOF
- 
+
  # preload the user's locale on first start
 -plasmalocalerc=$configDir/plasma-localerc
 -test -f $plasmalocalerc || {
@@ -946,7 +946,7 @@ index 417a87d4..3f62745a 100644
  EOF
 -}
 +fi
- 
+
  # export LC_* variables set by kcmshell5 formats into environment
  # so it can be picked up by QLocale and friends.
 -exportformatssettings=$configDir/plasma-locale-settings.sh
@@ -957,7 +957,7 @@ index 417a87d4..3f62745a 100644
 +if [ -r "$exportformatssettings" ]; then
 +    . "$exportformatssettings"
 +fi
- 
+
  # Write a default kdeglobals file to set up the font
 -kdeglobalsfile=$configDir/kdeglobals
 -test -f $kdeglobalsfile || {
@@ -1011,7 +1011,7 @@ index 417a87d4..3f62745a 100644
 -        test -h $oxygenDir || ln -s $prefixDir $oxygenDir && fc-cache $oxygenDir
 -    }
  fi
- 
+
 -kstartupconfig5
 -returncode=$?
 -if test $returncode -ne 0; then
@@ -1022,11 +1022,11 @@ index 417a87d4..3f62745a 100644
 +if [ -r "$XDG_CONFIG_HOME/startupconfig" ]; then
 +    . "$XDG_CONFIG_HOME/startupconfig"
 +fi
- 
+
  #Manually disable auto scaling because we are scaling above
  #otherwise apps that manually opt in for high DPI get auto scaled by the developer AND scaled by the wl_output
  export QT_AUTO_SCREEN_SCALE_FACTOR=0
- 
+
 +XCURSOR_PATH=~/.icons
 +IFS=":" read -r -a xdgDirs <<< "$XDG_DATA_DIRS"
 +for xdgDir in "${xdgDirs[@]}"; do
@@ -1060,14 +1060,14 @@ index 417a87d4..3f62745a 100644
 +        export XCURSOR_SIZE="$kcminputrc_mouse_cursorsize"
      fi
  fi
- 
+
 -if test "$kcmfonts_general_forcefontdpiwayland" -ne 0; then
 +if [ "${kcmfonts_general_forcefontdpiwayland:-0}" -ne 0 ]; then
      export QT_WAYLAND_FORCE_DPI=$kcmfonts_general_forcefontdpiwayland
  else
      export QT_WAYLAND_FORCE_DPI=96
  fi
- 
+
 -# Source scripts found in <config locations>/plasma-workspace/env/*.sh
 -# (where <config locations> correspond to the system and user's configuration
 -# directories, as identified by Qt's qtpaths,  e.g.  $HOME/.config
@@ -1093,7 +1093,7 @@ index 417a87d4..3f62745a 100644
 -done
 -
  echo 'startplasmacompositor: Starting up...'  1>&2
- 
+
 -# Make sure that the KDE prefix is first in XDG_DATA_DIRS and that it's set at all.
 -# The spec allows XDG_DATA_DIRS to be not set, but X session startup scripts tend
 -# to set it to a list of paths *not* including the KDE prefix if it's not /usr or
@@ -1114,16 +1114,16 @@ index 417a87d4..3f62745a 100644
 @@ -202,7 +200,7 @@ export KDE_FULL_SESSION
  KDE_SESSION_VERSION=5
  export KDE_SESSION_VERSION
- 
+
 -KDE_SESSION_UID=`id -ru`
 +KDE_SESSION_UID=$(@NIXPKGS_ID@ -ru)
  export KDE_SESSION_UID
- 
+
  XDG_CURRENT_DESKTOP=KDE
 @@ -212,26 +210,47 @@ export XDG_CURRENT_DESKTOP
  QT_QPA_PLATFORM=wayland
  export QT_QPA_PLATFORM
- 
+
 +# Source scripts found in <config locations>/plasma-workspace/env/*.sh
 +# (where <config locations> correspond to the system and user's configuration
 +# directories, as identified by Qt's qtpaths,  e.g.  $HOME/.config
@@ -1165,12 +1165,12 @@ index 417a87d4..3f62745a 100644
 +    echo 'startplasmacompositor: Could not sync environment to dbus.'  1>&2
 +    exit 1
  fi
- 
+
 -@KWIN_WAYLAND_BIN_PATH@ --xwayland --libinput --exit-with-session=@CMAKE_INSTALL_FULL_LIBEXECDIR@/startplasma
 +@KWIN_WAYLAND_BIN_PATH@ --xwayland --libinput --exit-with-session=@NIXPKGS_STARTPLASMA@
- 
+
  echo 'startplasmacompositor: Shutting down...'  1>&2
- 
+
  unset KDE_FULL_SESSION
 -xprop -root -remove KDE_FULL_SESSION
 +@NIXPKGS_XPROP@ -root -remove KDE_FULL_SESSION
@@ -1178,7 +1178,7 @@ index 417a87d4..3f62745a 100644
 -xprop -root -remove KDE_SESSION_VERSION
 +@NIXPKGS_XPROP@ -root -remove KDE_SESSION_VERSION
  unset KDE_SESSION_UID
- 
+
  echo 'startplasmacompositor: Done.'  1>&2
 diff --git a/startkde/waitforname/org.kde.plasma.Notifications.service.in b/startkde/waitforname/org.kde.plasma.Notifications.service.in
 index 0a51b84b..f48b5d8a 100644
diff --git a/pkgs/desktops/plasma-5/srcs.nix b/pkgs/desktops/plasma-5/srcs.nix
index 5873f747060e..c4f526a3e8cd 100644
--- a/pkgs/desktops/plasma-5/srcs.nix
+++ b/pkgs/desktops/plasma-5/srcs.nix
@@ -3,355 +3,355 @@
 
 {
   bluedevil = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/bluedevil-5.11.2.tar.xz";
-      sha256 = "0gwvmy8zn3wcdvcgc5j84gy1y7cxysy7bvnppg34rh6l5qc7vvjq";
-      name = "bluedevil-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/bluedevil-5.11.3.tar.xz";
+      sha256 = "1sgnj3z4s1k7h2ddvcq9r67qc8gbd4yv7zb9a24gi3x3iwd5hsf3";
+      name = "bluedevil-5.11.3.tar.xz";
     };
   };
   breeze = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/breeze-5.11.2.tar.xz";
-      sha256 = "1wv5dp657gw4vyiv9zf6r8qbs67sp5g0x0kf1vmr1bp0gkw0ai81";
-      name = "breeze-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/breeze-5.11.3.tar.xz";
+      sha256 = "1xlh8m9fw3009gdi0v1nn945rm1zg908apv8v9lgkgks6s2sspxk";
+      name = "breeze-5.11.3.tar.xz";
     };
   };
   breeze-grub = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/breeze-grub-5.11.2.tar.xz";
-      sha256 = "04m74iy0rijccmvqd7c9n4p6nk3flmb3zaf5qk8hv31qscg5qjaj";
-      name = "breeze-grub-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/breeze-grub-5.11.3.tar.xz";
+      sha256 = "1v1ha0j9kh4vcxknnwk78lzigvpqdrcj4gv6h86pxmwsipr5l2bl";
+      name = "breeze-grub-5.11.3.tar.xz";
     };
   };
   breeze-gtk = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/breeze-gtk-5.11.2.tar.xz";
-      sha256 = "0c3vshnkgp6c38rwr1x34hn244r78qkc7fj0ax2cibydv3l852d4";
-      name = "breeze-gtk-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/breeze-gtk-5.11.3.tar.xz";
+      sha256 = "1f9xlmc6mhr25mji8ir46qslnfa0i7q7pqkzp1hm5ss3kzdd45gb";
+      name = "breeze-gtk-5.11.3.tar.xz";
     };
   };
   breeze-plymouth = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/breeze-plymouth-5.11.2.tar.xz";
-      sha256 = "1v43z59y0zzwsrwa0y255i2q8krvr9yafdciyr63v4pb2564v4sd";
-      name = "breeze-plymouth-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/breeze-plymouth-5.11.3.tar.xz";
+      sha256 = "11m65cg74cfhglsppahnppisqp4rnj528b93k78pgvb4xazm7s76";
+      name = "breeze-plymouth-5.11.3.tar.xz";
     };
   };
   discover = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/discover-5.11.2.tar.xz";
-      sha256 = "0j31x26s446xvi6dxr83v15xbr6ysifiwvdzil8yfsynifhjk5n3";
-      name = "discover-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/discover-5.11.3.tar.xz";
+      sha256 = "1bavw2hynmznd72wmh4cmy6zs4a13gxcsh6gznd99g6shry8svix";
+      name = "discover-5.11.3.tar.xz";
     };
   };
   drkonqi = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/drkonqi-5.11.2.tar.xz";
-      sha256 = "1mgcp8zk4md0cyx6z6zz9s64jx9yshlnmsf1jxzhqwg8lyhyb77b";
-      name = "drkonqi-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/drkonqi-5.11.3.tar.xz";
+      sha256 = "1683h4nzk9kgwzwjzkr0bmk8vmq07991x4239z3p39z4gnvsmb0h";
+      name = "drkonqi-5.11.3.tar.xz";
     };
   };
   kactivitymanagerd = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kactivitymanagerd-5.11.2.tar.xz";
-      sha256 = "165nybhn7pwgr6fds6frwcp3qsnxpmkz3842h0ni0flkkcl74n52";
-      name = "kactivitymanagerd-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kactivitymanagerd-5.11.3.tar.xz";
+      sha256 = "1syprfgbcg1821v0mqnalnn3gr40sfvi3m9wcy1hbffqm2k561qq";
+      name = "kactivitymanagerd-5.11.3.tar.xz";
     };
   };
   kde-cli-tools = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kde-cli-tools-5.11.2.tar.xz";
-      sha256 = "18pl9v2dxayzwzk4rw674ka3j45dj864604hgg0874kkr3kgsgka";
-      name = "kde-cli-tools-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kde-cli-tools-5.11.3.tar.xz";
+      sha256 = "0yhghfsyvx0xlmyigjm8hvp8d4s6pp8h6wbqrbfngslayq624cvi";
+      name = "kde-cli-tools-5.11.3.tar.xz";
     };
   };
   kdecoration = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kdecoration-5.11.2.tar.xz";
-      sha256 = "0qkh3p1zzvk0yvlpbvwfgmb2wvj0gd3j2sbz10vplf66fm3ck2va";
-      name = "kdecoration-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kdecoration-5.11.3.tar.xz";
+      sha256 = "0ik62pavf9bw1mahiyqlc9qh2za31l4qa3fyz42y81phmr8hbj4a";
+      name = "kdecoration-5.11.3.tar.xz";
     };
   };
   kde-gtk-config = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kde-gtk-config-5.11.2.tar.xz";
-      sha256 = "0vhmpma2ssp7nqdy8yd12d42y2a2fnsyyz9msi4s7n1w5qga0g5p";
-      name = "kde-gtk-config-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kde-gtk-config-5.11.3.tar.xz";
+      sha256 = "09k02ghsrc5bwk05a7jlyzgwr6a1mzwypy6q1yhkl8jcqaim18ff";
+      name = "kde-gtk-config-5.11.3.tar.xz";
     };
   };
   kdeplasma-addons = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kdeplasma-addons-5.11.2.tar.xz";
-      sha256 = "0x1lgvcnrc9vcy9fqvc60ilmcm8pbym76fq784qmgnmzm0br3bq6";
-      name = "kdeplasma-addons-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kdeplasma-addons-5.11.3.tar.xz";
+      sha256 = "13vmr5m3gx2b757bnb74qjjr6faj2bn1qb9cngj0gnk9gbdgrwh1";
+      name = "kdeplasma-addons-5.11.3.tar.xz";
     };
   };
   kgamma5 = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kgamma5-5.11.2.tar.xz";
-      sha256 = "0k6j6nl26bhdavfr4y0ph17fywprzxjnamh67vibk39xg6vwa56d";
-      name = "kgamma5-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kgamma5-5.11.3.tar.xz";
+      sha256 = "18g8rj4l1y1lwl2wrk4cdlpdn6gibbwbipdkmlk0hb4ad1bxkc96";
+      name = "kgamma5-5.11.3.tar.xz";
     };
   };
   khotkeys = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/khotkeys-5.11.2.tar.xz";
-      sha256 = "1w1a06v2cgq48z0b1rz6px1g14hm7f5jxzxf7sa26yszsyhwqglm";
-      name = "khotkeys-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/khotkeys-5.11.3.tar.xz";
+      sha256 = "1bykjywj6yass35xv858azv9pw74wlqsss6hs9ra4sx0yh0n9ffp";
+      name = "khotkeys-5.11.3.tar.xz";
     };
   };
   kinfocenter = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kinfocenter-5.11.2.tar.xz";
-      sha256 = "1131gnqapnin8i4bm3skzhfsqgcaynaxn9xgfwxnj64z41cc8z8l";
-      name = "kinfocenter-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kinfocenter-5.11.3.tar.xz";
+      sha256 = "1ip6zkrl81v987z7bj0mvkjmydyarxgih4gzkbgnpppl7746bs5n";
+      name = "kinfocenter-5.11.3.tar.xz";
     };
   };
   kmenuedit = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kmenuedit-5.11.2.tar.xz";
-      sha256 = "03412s6wc9h2422lx57rg65zln9ywjk5gbs5mqjr6fi46a1zp5lg";
-      name = "kmenuedit-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kmenuedit-5.11.3.tar.xz";
+      sha256 = "1nks0lk1xnywx5r3bzr5npzapg5d25l73ygxq8988q1f4q39jlj6";
+      name = "kmenuedit-5.11.3.tar.xz";
     };
   };
   kscreen = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kscreen-5.11.2.tar.xz";
-      sha256 = "0bs09zfq1cs1ajgvz4p7l5naa3g3vzp72v9q7qkncx8yqiffxlnc";
-      name = "kscreen-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kscreen-5.11.3.tar.xz";
+      sha256 = "03wcrqvqcsw47x504ydk3dkqw6x9dc2n3skh7asznmpda8ryb6dp";
+      name = "kscreen-5.11.3.tar.xz";
     };
   };
   kscreenlocker = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kscreenlocker-5.11.2.tar.xz";
-      sha256 = "1k32nzhv9d4g5ijkx8bl22hp5j1g22frriwq14xjw47ga8vkqmxw";
-      name = "kscreenlocker-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kscreenlocker-5.11.3.tar.xz";
+      sha256 = "0i0xcakzznxsk0zqa664xavp64wbqgqim57bkp01wl82s3aik82v";
+      name = "kscreenlocker-5.11.3.tar.xz";
     };
   };
   ksshaskpass = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/ksshaskpass-5.11.2.tar.xz";
-      sha256 = "1z3vm8kwyi9pf51bhpqf3phbjkbrqfj4iiqzzs0aqm0l5db5il0r";
-      name = "ksshaskpass-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/ksshaskpass-5.11.3.tar.xz";
+      sha256 = "1ij2xspd6clf8plqqgzx6zjq7c1sxrlf7ch9brnxprw29h5qfz34";
+      name = "ksshaskpass-5.11.3.tar.xz";
     };
   };
   ksysguard = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/ksysguard-5.11.2.tar.xz";
-      sha256 = "0vy2ivsn0cg70n1cxwa2385fwh350xngc1429zjfcs0jj8lcj21l";
-      name = "ksysguard-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/ksysguard-5.11.3.tar.xz";
+      sha256 = "17b5lddmas5n1726xa5r8v0v6gmw6bzpvhcljk2r4yrly6gy3pv9";
+      name = "ksysguard-5.11.3.tar.xz";
     };
   };
   kwallet-pam = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kwallet-pam-5.11.2.tar.xz";
-      sha256 = "1jr4zvf9c5npi9mcgil5byx4bwh6kaa205329p5z8i15n1zf250f";
-      name = "kwallet-pam-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kwallet-pam-5.11.3.tar.xz";
+      sha256 = "04ps2p3hjvkca8miqmg0xwh3i5van0jld2hb1xp737hy1dfpi9h4";
+      name = "kwallet-pam-5.11.3.tar.xz";
     };
   };
   kwayland-integration = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kwayland-integration-5.11.2.tar.xz";
-      sha256 = "1dzlf9638d36h8z5a7rjbb0xl2wjqg04j37gn4jnjclm57bwlrjm";
-      name = "kwayland-integration-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kwayland-integration-5.11.3.tar.xz";
+      sha256 = "0j5czhq5r8pxy7pw00by0v75kk4lbijn7mrdnydlca3jjrdcgz6f";
+      name = "kwayland-integration-5.11.3.tar.xz";
     };
   };
   kwin = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kwin-5.11.2.tar.xz";
-      sha256 = "1wvq4pll1adncj88qd7isc0ip7hx2c72ah0vvmvxmkwxa4r5a89b";
-      name = "kwin-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kwin-5.11.3.tar.xz";
+      sha256 = "1xgx7xn27lzqdwla45scfcnyxva97j2y2m7hgj60cd1mz686pill";
+      name = "kwin-5.11.3.tar.xz";
     };
   };
   kwrited = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/kwrited-5.11.2.tar.xz";
-      sha256 = "17i33yvpvpj6q42c58adb99xs1yb7yfchs626vw5nmllv7r7496l";
-      name = "kwrited-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/kwrited-5.11.3.tar.xz";
+      sha256 = "0qm3x6ahnis1b98q9h53wdldsj7nqw35s1hcgfqzjqk7nnxzim5i";
+      name = "kwrited-5.11.3.tar.xz";
     };
   };
   libkscreen = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/libkscreen-5.11.2.tar.xz";
-      sha256 = "18bf7mzzri7fj8iw60wqbs6w46lin8lninpqpcs5fwz6m81lcxsg";
-      name = "libkscreen-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/libkscreen-5.11.3.tar.xz";
+      sha256 = "01wbl1kinsvxfw5lq0wrhsk0fmv8gvkhr7m0w4lq1827wx68lfzw";
+      name = "libkscreen-5.11.3.tar.xz";
     };
   };
   libksysguard = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/libksysguard-5.11.2.tar.xz";
-      sha256 = "12d0r4rilydbqdgkm256khvkb9m0hya3p27xqvv3hg77wgxzdl3f";
-      name = "libksysguard-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/libksysguard-5.11.3.tar.xz";
+      sha256 = "1jbcd2n1zd6ijybaffm5vs5b80130vii562s98xhinmifzsahzmy";
+      name = "libksysguard-5.11.3.tar.xz";
     };
   };
   milou = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/milou-5.11.2.tar.xz";
-      sha256 = "0kxf2q0pk7kyfirrspgpwlnj18v8q2770rrmrv0jcfsgv4jhl2gj";
-      name = "milou-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/milou-5.11.3.tar.xz";
+      sha256 = "02j6f4ip7hgb5qpq9812g1pnm8fjd83dc923gyfpzb4i0nf6j93g";
+      name = "milou-5.11.3.tar.xz";
     };
   };
   oxygen = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/oxygen-5.11.2.tar.xz";
-      sha256 = "18nkw02q7lzdhalmbwsb5i704szs19zc5a0z73smanf20cfq7a91";
-      name = "oxygen-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/oxygen-5.11.3.tar.xz";
+      sha256 = "0zg3qdnip1ad6980ga0lmxndbph3y4dw0qk73dd8022qw5f3ysyp";
+      name = "oxygen-5.11.3.tar.xz";
     };
   };
   plasma-desktop = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plasma-desktop-5.11.2.tar.xz";
-      sha256 = "0dz57qywlircjjybxzb3mqxwaid86zdfwjgfwcb6fhm8rxhbhrzq";
-      name = "plasma-desktop-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plasma-desktop-5.11.3.tar.xz";
+      sha256 = "1igmq8zj71wf34ap2g0iakpjfq08mlg6yf1ly06111ygsinbg55a";
+      name = "plasma-desktop-5.11.3.tar.xz";
     };
   };
   plasma-integration = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plasma-integration-5.11.2.tar.xz";
-      sha256 = "15vjmmrlk9dw0if0z3xam171f8z3qkjcllj3zyc0zxdwi2zw6i2l";
-      name = "plasma-integration-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plasma-integration-5.11.3.tar.xz";
+      sha256 = "0bqw5xp71yxciqzd3bmlgsd4mkjl4vcysd9s6bka5mxrlhkqxgx1";
+      name = "plasma-integration-5.11.3.tar.xz";
     };
   };
   plasma-nm = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plasma-nm-5.11.2.tar.xz";
-      sha256 = "1h3ajq3fdv8fn0r51cpkhihacpjvpgzpfyg2m9aydh7ajygf0njq";
-      name = "plasma-nm-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plasma-nm-5.11.3.tar.xz";
+      sha256 = "1zqlg5jm3pgiirr98j3fl1h6wbhf4f06qainpy42b5w42vhizspk";
+      name = "plasma-nm-5.11.3.tar.xz";
     };
   };
   plasma-pa = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plasma-pa-5.11.2.tar.xz";
-      sha256 = "1ckk4ckhy5y3b6cm7gahwkqvf8bxndk0srij3ggqdasxzdc4fjn8";
-      name = "plasma-pa-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plasma-pa-5.11.3.tar.xz";
+      sha256 = "07rwlqpmvbvdidhfhw8xk6lvarimd1mhm085vjk7g2wmzw5n69wl";
+      name = "plasma-pa-5.11.3.tar.xz";
     };
   };
   plasma-sdk = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plasma-sdk-5.11.2.tar.xz";
-      sha256 = "10ayy3r36ysq3a79nlpqspfff0s28iq2xyp5767qpmzfrjby4bcx";
-      name = "plasma-sdk-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plasma-sdk-5.11.3.tar.xz";
+      sha256 = "17h42223agz4vvbff13xd1p7xa5swnhcrmh1779mswl1rfznrkys";
+      name = "plasma-sdk-5.11.3.tar.xz";
     };
   };
   plasma-tests = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plasma-tests-5.11.2.tar.xz";
-      sha256 = "06k1cmmbyp4rslhmj6b1ngq6pg0hv9hmc3yi135vjgppj5x523mm";
-      name = "plasma-tests-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plasma-tests-5.11.3.tar.xz";
+      sha256 = "0ac2i66f3mywvkf7041sg3hsa97f69y5aibpk0fz41q9zi5jwzv3";
+      name = "plasma-tests-5.11.3.tar.xz";
     };
   };
   plasma-vault = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plasma-vault-5.11.2.tar.xz";
-      sha256 = "1lxp40lmb03aicw9lz742i1lrigkki76yy7p5h9gnb4djzv5h0m6";
-      name = "plasma-vault-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plasma-vault-5.11.3.tar.xz";
+      sha256 = "12y2331lpp7i3fl6nbm78n6qh7hd7vmrvc94jkzwx5pbql6nx2ia";
+      name = "plasma-vault-5.11.3.tar.xz";
     };
   };
   plasma-workspace = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plasma-workspace-5.11.2.tar.xz";
-      sha256 = "12i7raf4qqinr3wd4kzz96pkng19c7mdjqz28m8jwb3c1gdlps2w";
-      name = "plasma-workspace-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plasma-workspace-5.11.3.tar.xz";
+      sha256 = "0skn3mg90ghx3bmlj7snbhap9z2fq0hab0gfi4pv80ggyl5jf9sp";
+      name = "plasma-workspace-5.11.3.tar.xz";
     };
   };
   plasma-workspace-wallpapers = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plasma-workspace-wallpapers-5.11.2.tar.xz";
-      sha256 = "01a4cz7d15mrb96yhfvck61vbqdnw208mgssrllrmcfdn7hwalv1";
-      name = "plasma-workspace-wallpapers-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plasma-workspace-wallpapers-5.11.3.tar.xz";
+      sha256 = "1xbfghhb6bjlqs2fk3z8k3q0lfirqmyqyxym2w8k69im2fscg0rl";
+      name = "plasma-workspace-wallpapers-5.11.3.tar.xz";
     };
   };
   plymouth-kcm = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/plymouth-kcm-5.11.2.tar.xz";
-      sha256 = "1dig5msins4grby4lvrrby0adjci8yplq1nw52xq571qvvcixjf4";
-      name = "plymouth-kcm-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/plymouth-kcm-5.11.3.tar.xz";
+      sha256 = "1sbxwvi402lcnzxalgr85srh8vd4wy26gav7q23qbhd5axh26f06";
+      name = "plymouth-kcm-5.11.3.tar.xz";
     };
   };
   polkit-kde-agent = {
-    version = "1-5.11.2";
+    version = "1-5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/polkit-kde-agent-1-5.11.2.tar.xz";
-      sha256 = "0qbr8c3fn6yp6ixfcfg4190q2wdj1xlm6791nn23bynd0nrxmxb3";
-      name = "polkit-kde-agent-1-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/polkit-kde-agent-1-5.11.3.tar.xz";
+      sha256 = "088ch67syimxqlda0nczrrj1hb7ynsrwdcb0bq1pcndp57p71vzl";
+      name = "polkit-kde-agent-1-5.11.3.tar.xz";
     };
   };
   powerdevil = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/powerdevil-5.11.2.tar.xz";
-      sha256 = "10ah28rqdn8xhz578yhcnampbfq7vh89gm0jzjx9ryxiv6rch2cw";
-      name = "powerdevil-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/powerdevil-5.11.3.tar.xz";
+      sha256 = "1807x3vzq24vip7dnl87cd1hn368vqk7cbyhai492irf20j7hn82";
+      name = "powerdevil-5.11.3.tar.xz";
     };
   };
   sddm-kcm = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/sddm-kcm-5.11.2.tar.xz";
-      sha256 = "159qwvzk7g4ygg2sdb6k84vq0k1yadrgwzgq6sfbfhffim1w6dr1";
-      name = "sddm-kcm-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/sddm-kcm-5.11.3.tar.xz";
+      sha256 = "1c9dm8819yaynq6cbzcg0j77cz0cf2cwrz9cfmr4w65ypl937va5";
+      name = "sddm-kcm-5.11.3.tar.xz";
     };
   };
   systemsettings = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/systemsettings-5.11.2.tar.xz";
-      sha256 = "11gcrd1i28hifjysvnj97fcy619h660j4bgszj9lmr8w554j0cri";
-      name = "systemsettings-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/systemsettings-5.11.3.tar.xz";
+      sha256 = "1abza0qmdhfdlr2k53lc4ymr42ri1pfv0yyf9plxhra7f7f2ylf7";
+      name = "systemsettings-5.11.3.tar.xz";
     };
   };
   user-manager = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/user-manager-5.11.2.tar.xz";
-      sha256 = "1pyyhhi276s8503q65n25rqwcddcbzy6l2vl844dnmmpd1m0gi4r";
-      name = "user-manager-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/user-manager-5.11.3.tar.xz";
+      sha256 = "0d2i3ndq9vwr2m39i6qdn18bg4c19rqhfy2a38lhm30g288wxfbr";
+      name = "user-manager-5.11.3.tar.xz";
     };
   };
   xdg-desktop-portal-kde = {
-    version = "5.11.2";
+    version = "5.11.3";
     src = fetchurl {
-      url = "${mirror}/stable/plasma/5.11.2/xdg-desktop-portal-kde-5.11.2.tar.xz";
-      sha256 = "0yjidwqk25c7grj42facqfl84ai7h4fin0zlf8y9jdksv26hskl0";
-      name = "xdg-desktop-portal-kde-5.11.2.tar.xz";
+      url = "${mirror}/stable/plasma/5.11.3/xdg-desktop-portal-kde-5.11.3.tar.xz";
+      sha256 = "01jcya7xyrn3d99raqvbzfwllihzdpyizx757f87pgg43dmbggwm";
+      name = "xdg-desktop-portal-kde-5.11.3.tar.xz";
     };
   };
 }
diff --git a/pkgs/desktops/xfce/core/thunar-build.nix b/pkgs/desktops/xfce/core/thunar-build.nix
index 2996040bbd08..bfc55f87b5cd 100644
--- a/pkgs/desktops/xfce/core/thunar-build.nix
+++ b/pkgs/desktops/xfce/core/thunar-build.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchurl, pkgconfig, intltool
 , gtk, dbus_glib, libstartup_notification, libnotify, libexif, pcre, udev
-, exo, libxfce4util, xfconf, xfce4panel
+, exo, libxfce4util, xfconf, xfce4panel, wrapGAppsHook
 }:
 
 stdenv.mkDerivation rec {
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     sed -i -e 's|thunar_dialogs_show_insecure_program (parent, _(".*"), file, exec)|1|' thunar/thunar-file.c
   '';
 
-  nativeBuildInputs = [ pkgconfig ];
+  nativeBuildInputs = [ pkgconfig wrapGAppsHook ];
   buildInputs = [
     intltool
     gtk dbus_glib libstartup_notification libnotify libexif pcre udev
diff --git a/pkgs/desktops/xfce/core/xfce4-panel.nix b/pkgs/desktops/xfce/core/xfce4-panel.nix
index 9a5d390f3b8e..e91a3ab25ee9 100644
--- a/pkgs/desktops/xfce/core/xfce4-panel.nix
+++ b/pkgs/desktops/xfce/core/xfce4-panel.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, pkgconfig, intltool, gtk, libxfce4util, libxfce4ui
 , libxfce4ui_gtk3, libwnck, exo, garcon, xfconf, libstartup_notification
 , makeWrapper, xfce4mixer, hicolor_icon_theme
-, withGtk3 ? false, gtk3
+, withGtk3 ? false, gtk3, gettext
 }:
 let
   inherit (stdenv.lib) optional;
@@ -20,6 +20,12 @@ stdenv.mkDerivation rec {
   patches = [ ./xfce4-panel-datadir.patch ];
   patchFlags = "-p1";
 
+  postPatch = ''
+    for f in $(find . -name \*.sh); do
+      substituteInPlace $f --replace gettext ${gettext}/bin/gettext
+    done
+  '';
+
   outputs = [ "out" "dev" "devdoc" ];
 
   buildInputs =
@@ -47,4 +53,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.eelco ];
   };
 }
-
diff --git a/pkgs/desktops/xfce/core/xfce4-settings.nix b/pkgs/desktops/xfce/core/xfce4-settings.nix
index 8e3998c05f22..592b03e8954a 100644
--- a/pkgs/desktops/xfce/core/xfce4-settings.nix
+++ b/pkgs/desktops/xfce/core/xfce4-settings.nix
@@ -1,5 +1,7 @@
-{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, libxfce4util, libxfce4ui
-, libglade, xfconf, xorg, libwnck, libnotify, libxklavier, garcon, upower }:
+{ stdenv, fetchurl, pkgconfig, intltool, exo, gtk, garcon, libxfce4util
+, libxfce4ui, xfconf, libXi, upower ? null, libnotify ? null
+, libXcursor ? null, xf86inputlibinput ? null, libxklavier ? null }:
+
 let
   p_name  = "xfce4-settings";
   ver_maj = "4.12";
@@ -15,17 +17,33 @@ stdenv.mkDerivation rec {
 
   patches = [ ./xfce4-settings-default-icon-theme.patch ];
 
-  nativeBuildInputs =
-    [ pkgconfig intltool
-    ];
+  postPatch = ''
+    for f in $(find . -name \*.c); do
+      substituteInPlace $f --replace \"libinput-properties.h\" '<xorg/libinput-properties.h>'
+    done
+  '';
+
+  nativeBuildInputs = [ pkgconfig intltool ];
 
-  buildInputs =
-    [ exo gtk libxfce4util libxfce4ui libglade upower xfconf
-      xorg.libXi xorg.libXcursor libwnck libnotify libxklavier garcon
-    ]; #TODO: optional packages
+  buildInputs = [
+    exo
+    gtk
+    garcon
+    libxfce4util
+    libxfce4ui
+    xfconf
+    libXi
+    upower
+    libnotify
+    libXcursor
+    xf86inputlibinput
+    libxklavier
+  ];
 
   configureFlags = [ "--enable-pluggable-dialogs" "--enable-sound-settings" ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://www.xfce.org/projects/xfce4-settings;
     description = "Settings manager for Xfce";
@@ -34,4 +52,3 @@ stdenv.mkDerivation rec {
     maintainers = [ maintainers.eelco ];
   };
 }
-
diff --git a/pkgs/development/beam-modules/hex-packages.nix b/pkgs/development/beam-modules/hex-packages.nix
index d8d55c011209..df781d3e247c 100644
--- a/pkgs/development/beam-modules/hex-packages.nix
+++ b/pkgs/development/beam-modules/hex-packages.nix
@@ -11,6 +11,15 @@
  * airbrakex_0_0_8
  * alembic_2_1_0
  * algolia_0_3_2
+ * alice_0_3_6
+ * alice_against_humanity_0_1_2
+ * alice_google_images_0_1_3
+ * alice_karma_0_2_0
+ * alice_personable_0_0_2
+ * alice_reddit_0_0_3
+ * alice_shizzle_0_1_2
+ * alice_tielurs_heart_rate_0_0_5
+ * alice_xkcd_0_0_3
  * alphonse_0_1_0
  * amqp_0_1_1
  * amqp_0_1_4
@@ -31,6 +40,7 @@
  * aws_http_0_2_4
  * b2_client_0_0_1
  * backoff_1_1_3
+ * backy_0_0_5
  * balanced_3_1_0
  * bamboo_sendgrid_0_1_0
  * bandwidth_1_2_1
@@ -51,6 +61,7 @@
  * blackbook_0_3_1
  * block_timer_0_0_1
  * bno055_0_0_1
+ * boltun_1_0_1
  * booter_0_1_0
  * bottler_0_5_0
  * bouncer_0_1_5
@@ -119,6 +130,7 @@
  * cloudi_service_validate_1_5_1
  * cloudi_service_zeromq_1_5_1
  * clox_0_1_3
+ * coffee_rotor_0_2_1
  * coinbase_0_0_1
  * comeonin_ecto_password_2_0_0_rc_0
  * commerce_billing_0_0_2
@@ -142,6 +154,8 @@
  * cpg_1_4_0
  * cpg_1_5_1
  * cqrex_0_0_1
+ * cqrs_0_0_7
+ * cqrs_events_0_0_4
  * craterl_0_2_3
  * crudex_0_0_2
  * crypto_ext_0_1_3
@@ -151,6 +165,7 @@
  * datomic_gen_server_2_0_1
  * dayron_0_1_1
  * db_0_9_0
+ * db_connection_1_0_0_rc_0
  * dbschema_0_2_0
  * dbus_0_5_0
  * ddb_client_0_1_17
@@ -205,6 +220,7 @@
  * ectograph_0_0_8
  * ectoo_0_0_4
  * ectophile_0_3_0
+ * edeliver_1_2_9
  * eden_0_1_3
  * edgarex_0_0_2
  * efrisby_0_2_0
@@ -222,12 +238,15 @@
  * elixir_drawille_0_0_3
  * elixir_ipfs_api_0_1_0
  * elixir_locker_0_1_4
+ * elixir_nsq_1_0_3
  * elixometer_1_2_1
  * elixtagram_0_2_7
  * elixush_0_0_4
  * elli_xpblfe_0_1_1
  * elmit_0_0_1
+ * email_checker_0_0_3
  * emodel_1_3_1
+ * eno_0_0_1
  * enotify_0_1_0
  * ensq_0_1_6
  * env_conf_0_3_0
@@ -252,9 +271,11 @@
  * esip_1_0_4
  * espec_phoenix_0_2_1
  * etcd_0_0_2
+ * etude_0_1_5
  * etude_request_0_1_0
  * euler_0_0_1
  * event_source_encoder_0_0_3
+ * eventstore_0_2_1
  * everex_0_1_1
  * everyoneapi_0_0_1
  * everything_location_0_0_1
@@ -315,6 +336,8 @@
  * exprotobuf_0_10_2
  * exprotobuf_0_13_0
  * exprotobuf_1_0_0
+ * exq_0_7_1
+ * exq_ui_0_7_1
  * exquery_0_0_11
  * exrabbit_0_0_2
  * exrecaptcha_0_0_3
@@ -322,6 +345,12 @@
  * exrm_0_14_17
  * exrm_0_18_8
  * exrm_0_19_9
+ * exrm_1_0_5
+ * exrm_deb_0_0_6
+ * exrm_docker_0_1_0
+ * exrm_heroku_0_1_1
+ * exrm_rpm_0_3_3
+ * exrm_smartos_gz_1_0_0
  * exseed_0_0_3
  * exsentry_0_5_0
  * exsyslog_1_0_1
@@ -357,6 +386,7 @@
  * fleet_api_0_0_15
  * floorplan_0_1_1
  * flower_power_0_3_2
+ * flub_0_9_0
  * fluent_client_0_1_0
  * folsom_ddb_0_1_22
  * font_awesome_phoenix_0_3_2
@@ -442,6 +472,7 @@
  * kalends_0_6_5
  * kane_0_1_1
  * katipo_0_3_4
+ * kcl_0_6_2
  * keccakf1600_2_0_0
  * keelless_0_1_0
  * keenex_0_3_0
@@ -463,6 +494,7 @@
  * libex_config_0_2_0
  * libhowl_0_1_36
  * libleofs_0_1_2
+ * librex_1_0_1
  * libsnarl_0_3_40
  * libsnarl_0_3_46
  * libsniffle_0_3_47
@@ -478,7 +510,9 @@
  * mailgun_webhook_auth_1_0_0
  * mailibex_0_1_0
  * mailman_0_2_2
+ * mandrag_0_1_1
  * mandrillex_0_2_0
+ * mariaex_0_7_5
  * maru_0_10_1
  * maru_swagger_0_8_0
  * marvel_1_0_0
@@ -489,6 +523,7 @@
  * mdns_client_lib_0_1_33
  * mdns_client_lib_0_1_39
  * medex_0_1_2
+ * merkle_0_0_4
  * message_pack_0_2_0
  * meta_0_0_1
  * migratrex_0_0_1
@@ -496,6 +531,7 @@
  * mixstar_0_0_1
  * mmath_0_1_15
  * mobiledoc_0_0_1
+ * moebius_2_0_1
  * monetized_0_4_0
  * money_1_0_0
  * mongo_0_5_4
@@ -586,6 +622,7 @@
  * phoenix_linguist_0_0_1
  * phoenix_live_reload_1_0_5
  * phoenix_microsoftbot_0_1_0
+ * phoenix_pubsub_postgres_0_0_2
  * phoenix_pubsub_rabbitmq_0_0_1
  * phoenix_pubsub_redis_2_0_0
  * phoenix_ratchet_0_2_0
@@ -617,6 +654,7 @@
  * plug_newrelic_0_0_5
  * plug_secure_headers_0_0_1
  * plug_session_memcached_0_3_3
+ * plug_session_redis_0_1_0
  * png_0_1_1
  * poison_1_0_3
  * poison_1_1_1
@@ -626,13 +664,17 @@
  * portal_0_0_1
  * porterstemmer_0_0_1
  * portmidi_5_0_0
+ * posterize_0_11_0
+ * postgrex_0_11_1
  * postgrex_0_6_0
  * pqueue_1_4_0
  * proper_1_1_1_beta
  * protego_0_1_0
  * protobuffs_0_8_2
  * provider_asn1_0_2_1
+ * pulse_0_1_3
  * pulse_libs_1_0_0
+ * pusher_0_1_3
  * pushex_0_0_5
  * pynchon_0_1_1
  * quick_chex_0_2_1
@@ -645,6 +687,7 @@
  * raygun_0_3_0
  * reactive_0_0_1
  * readme_md_doc_0_1_2
+ * reagent_0_1_9
  * reaxt_0_3_2
  * rebar3_abnfc_plugin_0_1_0
  * rebar3_auto_0_3_0
@@ -1545,267 +1588,6 @@ let
 
     algae = algae_0_10_0;
 
-    alice_0_3_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          redix_0_3_6,
-          poolboy_1_5_1,
-          slack_0_4_2
-        }:
-          buildMix ({
-            name = "alice";
-            version = "0.3.6";
-            src = fetchHex {
-              pkg = "alice";
-              version = "0.3.6";
-              sha256 =
-                "f5c549f6983a5cc5f13320728315d101c8117f939df29e51c10ed3ff26809d54";
-            };
-            beamDeps  = [ poison_2_1_0 redix_0_3_6 poolboy_1_5_1 slack_0_4_2
-                      ];
-
-            meta = {
-              description = ''A Slack bot'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adamzaninovich/alice";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alice = alice_0_3_6;
-
-    alice_against_humanity_0_1_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, alice_0_3_6 }:
-          buildMix ({
-            name = "alice_against_humanity";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "alice_against_humanity";
-              version = "0.1.2";
-              sha256 =
-                "aac5f049b59d0eaaea2383e1fc8fec28125b9a29ffda7fbe214d829738ad3935";
-            };
-            beamDeps  = [ alice_0_3_6 ];
-
-            meta = {
-              description = ''A handler for the Alice Slack bot. Play Cards
-                            Against Humanity with Alice.'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/adamzaninovich/alice_against_humanity";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alice_against_humanity = alice_against_humanity_0_1_2;
-
-    alice_google_images_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, alice_0_3_6 }:
-          buildMix ({
-            name = "alice_google_images";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "alice_google_images";
-              version = "0.1.3";
-              sha256 =
-                "04b4e23c44a67c032c1ac8e2da4ca0fca03ec20cf207b4cb40eba0cb17e975e8";
-            };
-            beamDeps  = [ alice_0_3_6 ];
-
-            meta = {
-              description = ''A handler for the Alice Slack bot. Get random
-                            images from Google'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/adamzaninovich/alice_google_images";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alice_google_images = alice_google_images_0_1_3;
-
-    alice_karma_0_2_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, alice_0_3_6 }:
-          buildMix ({
-            name = "alice_karma";
-            version = "0.2.0";
-            src = fetchHex {
-              pkg = "alice_karma";
-              version = "0.2.0";
-              sha256 =
-                "8b1a6da30511fbc9c6df4035994407813af5ff194768ad64ebc1379cd923591d";
-            };
-            beamDeps  = [ alice_0_3_6 ];
-
-            meta = {
-              longDescription = ''A handler for the Alice Slack bot. Allows
-                                Alice to keep track of karma points for
-                                arbitrary terms.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adamzaninovich/alice_karma";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alice_karma = alice_karma_0_2_0;
-
-    alice_personable_0_0_2 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, alice_0_3_6 }:
-          buildMix ({
-            name = "alice_personable";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "alice_personable";
-              version = "0.0.2";
-              sha256 =
-                "fb80938b27c3ae374b3d0bf284de9902d65e85dd8da2d4c80238a03b819b8aad";
-            };
-            beamDeps  = [ alice_0_3_6 ];
-
-            meta = {
-              description = ''A plugin for the Alice chat bot to make her seem
-                            a bit more human.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mattr-/alice_personable";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alice_personable = alice_personable_0_0_2;
-
-    alice_reddit_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          readit_0_0_3,
-          alice_0_3_6
-        }:
-          buildMix ({
-            name = "alice_reddit";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "alice_reddit";
-              version = "0.0.3";
-              sha256 =
-                "bd1d16dde4cb066b4ae7486da425148fab23ae5bece0d283e1c27352b7707dbc";
-            };
-            beamDeps  = [ readit_0_0_3 alice_0_3_6 ];
-
-            meta = {
-              description = ''Alice does Reddit'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adamzaninovich/alice_reddit";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alice_reddit = alice_reddit_0_0_3;
-
-    alice_shizzle_0_1_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          gizoogle_0_0_2,
-          alice_0_3_6
-        }:
-          buildMix ({
-            name = "alice_shizzle";
-            version = "0.1.2";
-            src = fetchHex {
-              pkg = "alice_shizzle";
-              version = "0.1.2";
-              sha256 =
-                "c98481d59c004f905958b9412bff1d288a649cf373afb4fea307222af2597c19";
-            };
-            beamDeps  = [ gizoogle_0_0_2 alice_0_3_6 ];
-
-            meta = {
-              longDescription = ''A handlez fo` tha Alice Slack bot fo` realz.
-                                Uses Gizoogle ta allow you ta drop a rhyme like
-                                a thug n` retrieve links fo` translated sitez'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/notdevinclark/alice_shizzle";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alice_shizzle = alice_shizzle_0_1_2;
-
-    alice_tielurs_heart_rate_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          alice_0_3_6,
-          timex_2_1_6,
-          httpoison_0_8_3
-        }:
-          buildMix ({
-            name = "alice_tielurs_heart_rate";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "alice_tielurs_heart_rate";
-              version = "0.0.5";
-              sha256 =
-                "691b49b417029034d5b1905e06fa266c114d41fc9066047aa65212224e0bb5cc";
-            };
-            beamDeps  = [ alice_0_3_6 timex_2_1_6 httpoison_0_8_3 ];
-
-            meta = {
-              description = ''A handler for the Alice Slack bot. Allows Alice
-                            to check Tielur`s heart rate'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/tielur/alice_tielurs_heart_rate";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alice_tielurs_heart_rate = alice_tielurs_heart_rate_0_0_5;
-
-    alice_xkcd_0_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          xkcd_0_0_1,
-          alice_0_3_6
-        }:
-          buildMix ({
-            name = "alice_xkcd";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "alice_xkcd";
-              version = "0.0.3";
-              sha256 =
-                "13562b43fd99c7d9cdc568d7511c154842b9a59a19eca9df019069193bd94842";
-            };
-            beamDeps  = [ xkcd_0_0_1 alice_0_3_6 ];
-
-            meta = {
-              longDescription = ''A handler for the Alice Slack bot. Retrieves
-                                latest, specific and random XKCD comics.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/notdevinclark/alice_xkcd";
-            };
-          } // packageOverrides)
-      ) {};
-
-    alice_xkcd = alice_xkcd_0_0_3;
-
     amazon_product_advertising_client_0_1_1 = callPackage
       (
         {
@@ -2591,37 +2373,6 @@ let
 
     b2 = b2_0_0_6;
 
-    backy_0_0_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          poison_2_1_0,
-          postgrex_0_11_1
-        }:
-          buildMix ({
-            name = "backy";
-            version = "0.0.5";
-            src = fetchHex {
-              pkg = "backy";
-              version = "0.0.5";
-              sha256 =
-                "e581cc209ec08e61f0ba2205b39b7154f9fb3d12f6636e76ebd3ddce5e85a0e6";
-            };
-            beamDeps  = [ poison_2_1_0 postgrex_0_11_1 ];
-
-            meta = {
-              description = ''A simple background job queue backed by
-                            postgresql.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kuon/backy";
-            };
-          } // packageOverrides)
-      ) {};
-
-    backy = backy_0_0_5;
-
     bamboo_0_3_2 = callPackage
       (
         {
@@ -4303,32 +4054,6 @@ let
 
     bmfont = bmfont_0_0_1;
 
-    boltun_1_0_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, postgrex_0_11_1 }:
-          buildMix ({
-            name = "boltun";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "boltun";
-              version = "1.0.1";
-              sha256 =
-                "4b787aa6cafedca1a3a35b40ca8fee944641b1577b18c4e9e8c234ffd728e8d9";
-            };
-            beamDeps  = [ postgrex_0_11_1 ];
-
-            meta = {
-              longDescription = ''Transforms notifications from the Postgres
-                                LISTEN/NOTIFY mechanism into callback
-                                execution'';
-              license = stdenv.lib.licenses.isc;
-              homepage = "https://github.com/bitgamma/boltun";
-            };
-          } // packageOverrides)
-      ) {};
-
-    boltun = boltun_1_0_1;
-
     bookingsync_api_client_v3_0_0_1 = callPackage
       (
         {
@@ -5871,31 +5596,6 @@ let
 
     codepagex = codepagex_0_1_2;
 
-    coffee_rotor_0_2_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, rotor_0_2_2 }:
-          buildMix ({
-            name = "coffee_rotor";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "coffee_rotor";
-              version = "0.2.1";
-              sha256 =
-                "cb2f786c1abf109ed4d86ec175c02cb09adb1f1ee52d7a4ef0c9e65979d4f365";
-            };
-            beamDeps  = [ rotor_0_2_2 ];
-
-            meta = {
-              description = ''A [rotor](https://github.com/HashNuke/rotor) to
-                            compile CoffeeScript files '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/HashNuke/coffee_rotor";
-            };
-          } // packageOverrides)
-      ) {};
-
-    coffee_rotor = coffee_rotor_0_2_1;
-
     coincap_io_0_0_2 = callPackage
       (
         {
@@ -7022,37 +6722,6 @@ let
 
     cqex = cqex_0_2_0;
 
-    cqrs_0_0_7 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          cqrs_events_0_0_4,
-          cqrs_commands_0_0_6
-        }:
-          buildMix ({
-            name = "cqrs";
-            version = "0.0.7";
-            src = fetchHex {
-              pkg = "cqrs";
-              version = "0.0.7";
-              sha256 =
-                "feb8f5b6e8bb0a7bbc622ad6b0b518e218d3adfad6ef55b16d531c992240c41f";
-            };
-            beamDeps  = [ cqrs_events_0_0_4 cqrs_commands_0_0_6 ];
-
-            meta = {
-              description = ''This is not production ready yet but I want your
-                            feedback.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/amberbit/cqrs_commands";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cqrs = cqrs_0_0_7;
-
     cqrs_commands_0_0_6 = callPackage
       (
         {
@@ -7093,38 +6762,6 @@ let
 
     cqrs_commands = cqrs_commands_0_0_6;
 
-    cqrs_events_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          syn_1_4_0,
-          poison_2_0_1,
-          moebius_2_0_1
-        }:
-          buildMix ({
-            name = "cqrs_events";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "cqrs_events";
-              version = "0.0.4";
-              sha256 =
-                "21c5ee4b8b814abf7ced3c88069511dd1a9a5c1c16a17c175228bfe5a9e4b7f8";
-            };
-            beamDeps  = [ syn_1_4_0 poison_2_0_1 moebius_2_0_1 ];
-
-            meta = {
-              description = ''This is not production ready yet but I want your
-                            feedback.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/amberbit/cqrs_commands";
-            };
-          } // packageOverrides)
-      ) {};
-
-    cqrs_events = cqrs_events_0_0_4;
-
     crazy_pants_0_0_1 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -7950,38 +7587,6 @@ let
 
     datastructures = datastructures_0_2_5;
 
-    db_connection_1_0_0_rc_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sbroker_0_6_2,
-          poolboy_1_5_1,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "db_connection";
-            version = "1.0.0-rc.0";
-            src = fetchHex {
-              pkg = "db_connection";
-              version = "1.0.0-rc.0";
-              sha256 =
-                "ff4e4805da74db0fe9dbe751ce39e1549c7bf80593dd1cd53b31458df801026d";
-            };
-            beamDeps  = [ sbroker_0_6_2 poolboy_1_5_1 connection_1_0_2 ];
-
-            meta = {
-              description = ''Database connection behaviour for database
-                            transactions and connection pooling'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/fishcakez/db_connection";
-            };
-          } // packageOverrides)
-      ) {};
-
-    db_connection = db_connection_1_0_0_rc_0;
-
     dbg_1_0_1 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -9759,32 +9364,6 @@ let
 
     ed25519 = ed25519_0_2_0;
 
-    edeliver_1_2_9 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exrm_1_0_5 }:
-          buildMix ({
-            name = "edeliver";
-            version = "1.2.9";
-            src = fetchHex {
-              pkg = "edeliver";
-              version = "1.2.9";
-              sha256 =
-                "0673ffc1f6eb6f2c29097afa81baa7f9be18cf54bd796724b16656297aff85df";
-            };
-            beamDeps  = [ exrm_1_0_5 ];
-
-            meta = {
-              longDescription = ''Build and Deploy Elixir Applications and
-                                perform Hot-Code Upgrades and Schema
-                                Migrations'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/boldpoker/edeliver";
-            };
-          } // packageOverrides)
-      ) {};
-
-    edeliver = edeliver_1_2_9;
-
     edib_0_7_0 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -10446,42 +10025,6 @@ let
 
     elixir_mod_event = elixir_mod_event_0_0_5;
 
-    elixir_nsq_1_0_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          socket_0_3_4,
-          poison_1_5_2,
-          httpotion_2_2_2
-        }:
-          buildMix ({
-            name = "elixir_nsq";
-            version = "1.0.3";
-            src = fetchHex {
-              pkg = "elixir_nsq";
-              version = "1.0.3";
-              sha256 =
-                "6d30c3754dfdd988f927b9c6ae51d3e0ec4b0d2477b99047baf7a52c96bf9494";
-            };
-            beamDeps  = [
-                          uuid_1_1_4 socket_0_3_4 poison_1_5_2 httpotion_2_2_2
-                        ];
-
-            meta = {
-              longDescription = ''A client library for NSQ, `elixir_nsq` aims
-                                to be complete, easy to use, and well tested.
-                                Developed at Wistia (http://wistia.com).'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/wistia/elixir_nsq";
-            };
-          } // packageOverrides)
-      ) {};
-
-    elixir_nsq = elixir_nsq_1_0_3;
-
     elixir_prelude_0_2_1 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -10761,36 +10304,6 @@ let
 
     elmxir = elmxir_0_0_1;
 
-    email_checker_0_0_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, socket_0_3_4 }:
-          buildMix ({
-            name = "email_checker";
-            version = "0.0.3";
-            src = fetchHex {
-              pkg = "email_checker";
-              version = "0.0.3";
-              sha256 =
-                "feac6fa5cc1343b437221ace18fa8fa7251dfa777e986063e13f435d6aff990c";
-            };
-            beamDeps  = [ socket_0_3_4 ];
-
-            meta = {
-              longDescription = ''Simple library checking the validity of an
-                                email. Checks are performed in the following
-                                order: - REGEX: validate the emails has a good
-                                looking format - MX: validate the domain sever
-                                contains MX records - SMTP: validate the SMTP
-                                behind the MX records knows this email address
-                                (no email sent)'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/kdisneur/email_checker";
-            };
-          } // packageOverrides)
-      ) {};
-
-    email_checker = email_checker_0_0_3;
-
     eministat_0_10_1 = callPackage
       (
         {  buildErlangMk, packageOverrides ? {}, fetchHex }:
@@ -10842,37 +10355,6 @@ let
 
     eml = eml_0_7_1;
 
-    eno_0_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          postgrex_0_11_1,
-          mariaex_0_7_5,
-          combine_0_7_0
-        }:
-          buildMix ({
-            name = "eno";
-            version = "0.0.1";
-            src = fetchHex {
-              pkg = "eno";
-              version = "0.0.1";
-              sha256 =
-                "217cabaf3d3a4f5e46d9b48a88a2cafded20a04a2f477f6bec37b3a82b40424a";
-            };
-            beamDeps  = [ postgrex_0_11_1 mariaex_0_7_5 combine_0_7_0 ];
-
-            meta = {
-              description = ''lightweight SQL toolkit'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/zweifisch/eno";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eno = eno_0_0_1;
-
     env_0_1_0 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -11990,35 +11472,6 @@ let
 
     ets_owner = ets_owner_1_0_0;
 
-    etude_0_1_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          rebind_0_1_3,
-          lineo_0_0_1
-        }:
-          buildMix ({
-            name = "etude";
-            version = "0.1.5";
-            src = fetchHex {
-              pkg = "etude";
-              version = "0.1.5";
-              sha256 =
-                "4600f34a15fe85e74e181e4af9e4504ba1fedf42fcad77fd9d571b7443038355";
-            };
-            beamDeps  = [ rebind_0_1_3 lineo_0_0_1 ];
-
-            meta = {
-              description = ''parallel computation coordination utilities for
-                            erlang/elixir'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/camshaft/etude";
-            };
-          } // packageOverrides)
-      ) {};
-
     etude_1_0_0_beta_0 = callPackage
       (
         {
@@ -12176,37 +11629,6 @@ let
 
     event_nanny = event_nanny_0_1_1;
 
-    eventstore_0_2_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          postgrex_0_11_1,
-          poolboy_1_5_1,
-          fsm_0_2_0
-        }:
-          buildMix ({
-            name = "eventstore";
-            version = "0.2.1";
-            src = fetchHex {
-              pkg = "eventstore";
-              version = "0.2.1";
-              sha256 =
-                "ca035c60f925868826eb81bc85a91a7fa5e0637e3232d68e2d7aef248bf2ca35";
-            };
-            beamDeps  = [ postgrex_0_11_1 poolboy_1_5_1 fsm_0_2_0 ];
-
-            meta = {
-              description = ''EventStore using PostgreSQL for persistence.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/slashdotdash/eventstore";
-            };
-          } // packageOverrides)
-      ) {};
-
-    eventstore = eventstore_0_2_1;
-
     eventstore_client_0_1_4 = callPackage
       (
         {
@@ -15191,73 +14613,6 @@ let
 
     exprof = exprof_0_2_0;
 
-    exq_0_7_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          uuid_1_1_4,
-          timex_2_1_6,
-          redix_0_3_6,
-          poison_2_1_0
-        }:
-          buildMix ({
-            name = "exq";
-            version = "0.7.1";
-            src = fetchHex {
-              pkg = "exq";
-              version = "0.7.1";
-              sha256 =
-                "d6694cddf4a6808c7bb9d8bcc9b917fe1a3720a22a917767a4f0ddcaa5b6d148";
-            };
-            beamDeps  = [ uuid_1_1_4 timex_2_1_6 redix_0_3_6 poison_2_1_0 ];
-
-            meta = {
-              longDescription = ''Exq is a job processing library compatible
-                                with Resque / Sidekiq for the Elixir
-                                language.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/akira/exq";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exq = exq_0_7_1;
-
-    exq_ui_0_7_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          plug_1_1_5,
-          exq_0_7_1,
-          cowboy_1_0_4
-        }:
-          buildMix ({
-            name = "exq_ui";
-            version = "0.7.1";
-            src = fetchHex {
-              pkg = "exq_ui";
-              version = "0.7.1";
-              sha256 =
-                "5ff47501d6280afd4a07b74190f96e94345653db617d24e3ffc1c5cbb2f1de72";
-            };
-            beamDeps  = [ plug_1_1_5 exq_0_7_1 cowboy_1_0_4 ];
-
-            meta = {
-              longDescription = ''Exq UI is the UI component for Exq, a job
-                                processing library. Exq UI provides the UI
-                                dashboard to display stats on job processing.'';
-
-              homepage = "https://github.com/akira/exq";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exq_ui = exq_ui_0_7_1;
-
     exql_0_0_3 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex, tds_0_5_4 }:
@@ -15406,167 +14761,6 @@ let
 
     exrethinkdb = exrethinkdb_0_0_3;
 
-    exrm_1_0_5 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, relx_3_19_0 }:
-          buildMix ({
-            name = "exrm";
-            version = "1.0.5";
-            src = fetchHex {
-              pkg = "exrm";
-              version = "1.0.5";
-              sha256 =
-                "fef4ec90a6cafcff138cf51a5acc882392b7b34bd13372373ad8abc09ea0ef47";
-            };
-            beamDeps  = [ relx_3_19_0 ];
-
-            meta = {
-              longDescription = ''Exrm, or Elixir Release Manager, provides mix
-                                tasks for building, upgrading, and controlling
-                                release packages for your application.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/bitwalker/exrm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrm = exrm_1_0_5;
-
-    exrm_deb_0_0_6 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          vex_0_5_5,
-          timex_2_1_6,
-          exrm_1_0_5
-        }:
-          buildMix ({
-            name = "exrm_deb";
-            version = "0.0.6";
-            src = fetchHex {
-              pkg = "exrm_deb";
-              version = "0.0.6";
-              sha256 =
-                "f78edff8a5b6ef41a007869fc23614ebf577f679849fb5b3a6ce4013cd861d2c";
-            };
-            beamDeps  = [ vex_0_5_5 timex_2_1_6 exrm_1_0_5 ];
-
-            meta = {
-              description = ''Create a deb for your elixir release with ease'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/johnhamelink/exrm_deb";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrm_deb = exrm_deb_0_0_6;
-
-    exrm_docker_0_1_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exrm_1_0_5 }:
-          buildMix ({
-            name = "exrm_docker";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "exrm_docker";
-              version = "0.1.0";
-              sha256 =
-                "a10f0334d9d93f8e97bde71c2638e725f1e36790a817b40ca26da0771366a3a3";
-            };
-            beamDeps  = [ exrm_1_0_5 ];
-
-            meta = {
-              description = ''Exrm plugin to push your release into a Docker
-                            image.'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/kwrooijen/exrm_docker";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrm_docker = exrm_docker_0_1_0;
-
-    exrm_heroku_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exrm_1_0_5 }:
-          buildMix ({
-            name = "exrm_heroku";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "exrm_heroku";
-              version = "0.1.1";
-              sha256 =
-                "19fc16f1cfcc1c86bc64796a287028b8a8d951f7737024893c1772ba658da76d";
-            };
-            beamDeps  = [ exrm_1_0_5 ];
-
-            meta = {
-              description = ''Publish Elixir releases created with exrm release
-                            manager to Heroku. '';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ride/exrm-heroku";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrm_heroku = exrm_heroku_0_1_1;
-
-    exrm_rpm_0_3_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exrm_1_0_5 }:
-          buildMix ({
-            name = "exrm_rpm";
-            version = "0.3.3";
-            src = fetchHex {
-              pkg = "exrm_rpm";
-              version = "0.3.3";
-              sha256 =
-                "11de82ed0ba9e265577f255cdad0693bf191b30d56dbd85977201882e3652e53";
-            };
-            beamDeps  = [ exrm_1_0_5 ];
-
-            meta = {
-              longDescription = ''Adds simple Red Hat Package Manager (RPM)
-                                generation to the exrm package manager. The
-                                generated RPM file includes the Elixir release
-                                and an init.d script to manage the project`s
-                                service.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/smpallen99/exrm-rpm";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrm_rpm = exrm_rpm_0_3_3;
-
-    exrm_smartos_gz_1_0_0 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exrm_1_0_5 }:
-          buildMix ({
-            name = "exrm_smartos_gz";
-            version = "1.0.0";
-            src = fetchHex {
-              pkg = "exrm_smartos_gz";
-              version = "1.0.0";
-              sha256 =
-                "700c3c9e80d24d1e0404c54391e582d786dbb3f8da9a3bf5d2b7f082841ba5af";
-            };
-            beamDeps  = [ exrm_1_0_5 ];
-
-            meta = {
-              longDescription = ''Trying to package an Elixir application for a
-                                SmartOS GZ but getting errors about ncurses?
-                                This will cure what ails you.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/adam12/exrm_smartos_gz";
-            };
-          } // packageOverrides)
-      ) {};
-
-    exrm_smartos_gz = exrm_smartos_gz_1_0_0;
-
     exromaji_0_3_0 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -16801,38 +15995,6 @@ let
 
     floki = floki_0_8_1;
 
-    flub_0_9_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          shorter_maps_1_0_0,
-          ex2ms_1_4_0,
-          ets_owner_1_0_0
-        }:
-          buildMix ({
-            name = "flub";
-            version = "0.9.0";
-            src = fetchHex {
-              pkg = "flub";
-              version = "0.9.0";
-              sha256 =
-                "8bb3936f7acbf813eee74b628fbe33e8d114c5a40c7b96540e53db4a66b3fa61";
-            };
-            beamDeps  = [ shorter_maps_1_0_0 ex2ms_1_4_0 ets_owner_1_0_0 ];
-
-            meta = {
-              description = ''Flub does Pub. Flub does Sub. Flub does PubSub,
-                            bub.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/meyercm/shorter_maps";
-            };
-          } // packageOverrides)
-      ) {};
-
-    flub = flub_0_9_0;
-
     fluxter_0_3_1 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -22694,44 +21856,6 @@ let
 
     kaguya = kaguya_0_4_7;
 
-    kcl_0_6_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          salsa20_0_3_0,
-          poly1305_0_4_1,
-          ed25519_0_2_0,
-          curve25519_0_1_0
-        }:
-          buildMix ({
-            name = "kcl";
-            version = "0.6.2";
-            src = fetchHex {
-              pkg = "kcl";
-              version = "0.6.2";
-              sha256 =
-                "20dfbd4fb5fd71d612d9c4989adbb35a8d1ffabc70bc0729f2648c9489344e9f";
-            };
-            beamDeps  = [
-                          salsa20_0_3_0
-                          poly1305_0_4_1
-                          ed25519_0_2_0
-                          curve25519_0_1_0
-                        ];
-
-            meta = {
-              description = ''KCl - a less savory pure Elixir NaCl crypto suite
-                            substitute'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/mwmiller/kcl";
-            };
-          } // packageOverrides)
-      ) {};
-
-    kcl = kcl_0_6_2;
-
     kennitala_1_0_0 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -23369,33 +22493,6 @@ let
 
     lhttpc = lhttpc_1_4_0;
 
-    librex_1_0_1 = callPackage
-      (
-        {
-          buildMix, packageOverrides ? {}, fetchHex, secure_random_0_3_0
-        }:
-          buildMix ({
-            name = "librex";
-            version = "1.0.1";
-            src = fetchHex {
-              pkg = "librex";
-              version = "1.0.1";
-              sha256 =
-                "70a33754fed13f653cc26f91bac47bef90e793f1283d0cef946d14fe17f2ff70";
-            };
-            beamDeps  = [ secure_random_0_3_0 ];
-
-            meta = {
-              description = ''Convert office documents to other formats using
-                            LibreOffice'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/ricn/librex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    librex = librex_1_0_1;
-
     libsnarlmatch_0_1_7 = callPackage
       (
         {  buildRebar3, packageOverrides ? {}, fetchHex }:
@@ -24257,31 +23354,6 @@ let
 
     majremind = majremind_0_0_1;
 
-    mandrag_0_1_1 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, exrm_1_0_5 }:
-          buildMix ({
-            name = "mandrag";
-            version = "0.1.1";
-            src = fetchHex {
-              pkg = "mandrag";
-              version = "0.1.1";
-              sha256 =
-                "e9e9fcbb844a2a86ecd95f5f8fa7db9f6ff88f3e2a6dca2bd996f4f71bbf125d";
-            };
-            beamDeps  = [ exrm_1_0_5 ];
-
-            meta = {
-              description = ''A simple, extremely assumptive deploy script for
-                            Phoenix apps'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/cschiewek/mandrag";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mandrag = mandrag_0_1_1;
-
     mandrake_0_0_4 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -24415,37 +23487,6 @@ let
           } // packageOverrides)
       ) {};
 
-    mariaex_0_7_5 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          decimal_1_1_2,
-          db_connection_1_0_0_rc_0
-        }:
-          buildMix ({
-            name = "mariaex";
-            version = "0.7.5";
-            src = fetchHex {
-              pkg = "mariaex";
-              version = "0.7.5";
-              sha256 =
-                "36a09e08ff2583d4cb2f9fbeec720730a04c202bb486726276368a2be1e4cb95";
-            };
-            beamDeps  = [ decimal_1_1_2 db_connection_1_0_0_rc_0 ];
-
-            meta = {
-              description = ''Pure elixir database driver for MariaDB /
-                            MySQL.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/xerions/mariaex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    mariaex = mariaex_0_7_5;
-
     marked_0_0_1 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -25079,37 +24120,6 @@ let
 
     memcache_client = memcache_client_1_1_0;
 
-    merkle_0_0_4 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sha3_1_0_0,
-          rlist_0_0_1
-        }:
-          buildMix ({
-            name = "merkle";
-            version = "0.0.4";
-            src = fetchHex {
-              pkg = "merkle";
-              version = "0.0.4";
-              sha256 =
-                "76e33e4736f670ac380a0e46914143ae83429f6fc2355d05dfbdf4cd8bbc29d1";
-            };
-            beamDeps  = [ sha3_1_0_0 rlist_0_0_1 ];
-
-            meta = {
-              description = ''Implementation of binary Merkle Tree in
-                            Elixir.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/stampery/elixir-merkle";
-            };
-          } // packageOverrides)
-      ) {};
-
-    merkle = merkle_0_0_4;
-
     merkle_tree_1_1_1 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -26185,46 +25195,6 @@ let
 
     module_mocker = module_mocker_0_2_0;
 
-    moebius_2_0_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          timex_2_1_6,
-          postgrex_0_11_1,
-          poolboy_1_5_1,
-          poison_2_0_1,
-          inflex_1_5_0
-        }:
-          buildMix ({
-            name = "moebius";
-            version = "2.0.1";
-            src = fetchHex {
-              pkg = "moebius";
-              version = "2.0.1";
-              sha256 =
-                "00e6dbde61bae910463d5a0a7334776946b14c4de390b6f7d839fe6e31089add";
-            };
-            beamDeps  = [
-                          timex_2_1_6
-                          postgrex_0_11_1
-                          poolboy_1_5_1
-                          poison_2_0_1
-                          inflex_1_5_0
-                        ];
-
-            meta = {
-              description = ''A functional approach to data access with
-                            Elixir'';
-              license = stdenv.lib.licenses.free;
-              homepage = "https://github.com/robconery/moebius";
-            };
-          } // packageOverrides)
-      ) {};
-
-    moebius = moebius_2_0_1;
-
     mogrify_0_3_0 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -29437,37 +28407,6 @@ let
 
     phoenix_pubsub = phoenix_pubsub_1_0_0_rc_0;
 
-    phoenix_pubsub_postgres_0_0_2 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          postgrex_0_11_1,
-          poolboy_1_4_2
-        }:
-          buildMix ({
-            name = "phoenix_pubsub_postgres";
-            version = "0.0.2";
-            src = fetchHex {
-              pkg = "phoenix_pubsub_postgres";
-              version = "0.0.2";
-              sha256 =
-                "85b43b941b8c3dcf3f967dcd5bca1e29716235398b8b6c03d52d6611d5cf82ad";
-            };
-            beamDeps  = [ postgrex_0_11_1 poolboy_1_4_2 ];
-
-            meta = {
-              description = ''Postgresql PubSub adapter for Phoenix apps'';
-              license = stdenv.lib.licenses.mit;
-              homepage =
-                "https://github.com/opendrops/phoenix-pubsub-postgres";
-            };
-          } // packageOverrides)
-      ) {};
-
-    phoenix_pubsub_postgres = phoenix_pubsub_postgres_0_0_2;
-
     phoenix_pubsub_vernemq_0_0_3 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex }:
@@ -30635,37 +29574,6 @@ let
 
     plug_runtime = plug_runtime_1_0_0;
 
-    plug_session_redis_0_1_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          redo_2_0_1,
-          poolboy_1_5_1
-        }:
-          buildMix ({
-            name = "plug_session_redis";
-            version = "0.1.0";
-            src = fetchHex {
-              pkg = "plug_session_redis";
-              version = "0.1.0";
-              sha256 =
-                "8a101a1e36cb9212153191e44963f052b7478b0bfaff5a85e331afe0ae56dbeb";
-            };
-            beamDeps  = [ redo_2_0_1 poolboy_1_5_1 ];
-
-            meta = {
-              description = ''The Redis Plug.Session adapter for the Phoenix
-                            framework.'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/aposto/plug_session_redis";
-            };
-          } // packageOverrides)
-      ) {};
-
-    plug_session_redis = plug_session_redis_0_1_0;
-
     plug_statsd_0_4_1 = callPackage
       (
         {
@@ -31600,72 +30508,6 @@ let
 
     positive = positive_13_3_7;
 
-    posterize_0_11_0 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          sbroker_0_7_0,
-          postgrex_0_11_1
-        }:
-          buildMix ({
-            name = "posterize";
-            version = "0.11.0";
-            src = fetchHex {
-              pkg = "posterize";
-              version = "0.11.0";
-              sha256 =
-                "9c6b189d0924788edb42f3fff493caec10c36bc0e457983a33045cc891cf589d";
-            };
-            beamDeps  = [ sbroker_0_7_0 postgrex_0_11_1 ];
-
-            meta = {
-              description = ''erlang wrapper for the postgrex postgres
-                            client'';
-              license = with stdenv.lib.licenses; [ asl20 mit ];
-              homepage = "https://github.com/talentdeficit/posterize";
-            };
-          } // packageOverrides)
-      ) {};
-
-    posterize = posterize_0_11_0;
-
-    postgrex_0_11_1 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          decimal_1_1_2,
-          db_connection_1_0_0_rc_0,
-          connection_1_0_2
-        }:
-          buildMix ({
-            name = "postgrex";
-            version = "0.11.1";
-            src = fetchHex {
-              pkg = "postgrex";
-              version = "0.11.1";
-              sha256 =
-                "f56d47038f4f642cee0f9c40eeea0ef9ba645b7fc77723b4764f282df95baeb8";
-            };
-            beamDeps  = [
-                          decimal_1_1_2
-                          db_connection_1_0_0_rc_0
-                          connection_1_0_2
-                        ];
-
-            meta = {
-              description = ''PostgreSQL driver for Elixir.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/ericmj/postgrex";
-            };
-          } // packageOverrides)
-      ) {};
-
-    postgrex = postgrex_0_11_1;
-
     postgrex_0_9_1 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex, decimal_1_1_2 }:
@@ -32356,63 +31198,6 @@ let
 
     pubsub = pubsub_0_0_2;
 
-    pulse_0_1_3 = callPackage
-      (
-        {  buildMix, packageOverrides ? {}, fetchHex, sonic_0_1_3 }:
-          buildMix ({
-            name = "pulse";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "pulse";
-              version = "0.1.3";
-              sha256 =
-                "8d9ab6b8f5b3e8da2feedb32062b97243bfc8c250ad5bab09fd61944e51e6aa0";
-            };
-            beamDeps  = [ sonic_0_1_3 ];
-
-            meta = {
-              longDescription = ''Service registration and discovery library
-                                for Elixir. Relies on etcd as an external
-                                service registry.'';
-              license = stdenv.lib.licenses.asl20;
-              homepage = "https://github.com/heroiclabs/pulse";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pulse = pulse_0_1_3;
-
-    pusher_0_1_3 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          signaturex_1_0_1,
-          httpoison_0_8_3,
-          exjsx_3_2_0
-        }:
-          buildMix ({
-            name = "pusher";
-            version = "0.1.3";
-            src = fetchHex {
-              pkg = "pusher";
-              version = "0.1.3";
-              sha256 =
-                "1443c9652d3a3d03fcfef0e8dca817affa80d1c4e0eb582282af0d9c69a087f3";
-            };
-            beamDeps  = [ signaturex_1_0_1 httpoison_0_8_3 exjsx_3_2_0 ];
-
-            meta = {
-              description = ''Pusher HTTP client'';
-              license = stdenv.lib.licenses.mit;
-              homepage = "https://github.com/edgurgel/pusher";
-            };
-          } // packageOverrides)
-      ) {};
-
-    pusher = pusher_0_1_3;
-
     qdate_0_4_3 = callPackage
       (
         {
@@ -33262,36 +32047,6 @@ let
 
     readit = readit_0_0_3;
 
-    reagent_0_1_9 = callPackage
-      (
-        {
-          buildMix,
-          packageOverrides ? {},
-          fetchHex,
-          socket_0_3_4,
-          exts_0_3_1
-        }:
-          buildMix ({
-            name = "reagent";
-            version = "0.1.9";
-            src = fetchHex {
-              pkg = "reagent";
-              version = "0.1.9";
-              sha256 =
-                "c76c57437dff9d46fcc617a2c2ae9d87bef1c3619c2e6da84fa0bd2392591e5b";
-            };
-            beamDeps  = [ socket_0_3_4 exts_0_3_1 ];
-
-            meta = {
-              description = ''You need more reagents to conjure this server'';
-              license = stdenv.lib.licenses.wtfpl;
-              homepage = "https://github.com/meh/reagent";
-            };
-          } // packageOverrides)
-      ) {};
-
-    reagent = reagent_0_1_9;
-
     reap_0_1_3 = callPackage
       (
         {  buildMix, packageOverrides ? {}, fetchHex, jsex_2_0_0 }:
diff --git a/pkgs/development/beam-modules/hex/default.nix b/pkgs/development/beam-modules/hex/default.nix
index 7f933f9a78a6..d0af0b59c9f9 100644
--- a/pkgs/development/beam-modules/hex/default.nix
+++ b/pkgs/development/beam-modules/hex/default.nix
@@ -8,13 +8,13 @@ let
 
   pkg = self: stdenv.mkDerivation rec {
     name = "hex";
-    version = "v0.14.0";
+    version = "v0.17.1";
 
     src = fetchFromGitHub {
         owner = "hexpm";
         repo = "hex";
         rev = "${version}";
-        sha256 = "042rcwznb6cf9khn4l969axf7vhk53gy3rp23y6c8fhfp1472pai";
+        sha256 = "1s4asar1mcavzj3w37jcz243ka0z5jm0r42yws3h4aagawxxg02z";
     };
 
     setupHook = writeText "setupHook.sh" ''
diff --git a/pkgs/development/compilers/arachne-pnr/default.nix b/pkgs/development/compilers/arachne-pnr/default.nix
index 17f068c1c6f4..7db75d129781 100644
--- a/pkgs/development/compilers/arachne-pnr/default.nix
+++ b/pkgs/development/compilers/arachne-pnr/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "arachne-pnr-${version}";
-  version = "2017.06.29";
+  version = "2017.11.05";
 
   src = fetchFromGitHub {
-    owner = "cseed";
-    repo = "arachne-pnr";
-    rev = "7e135edb31feacde85ec5b7e5c03fc9157080977";
-    sha256 = "1wszcx6hgw4q4r778zswrlwdwvwxq834bkajck8w9yfqwxs9lmq8";
+    owner  = "cseed";
+    repo   = "arachne-pnr";
+    rev    = "1e81432830c75c505c76e419619f605a6c4c7583";
+    sha256 = "0lzblmi1klbsmd32h8nh027npm1z1a199lng13lcrqwr17lhb7my";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/compilers/avra/default.nix b/pkgs/development/compilers/avra/default.nix
index 706659194005..88a34bd6fd6e 100644
--- a/pkgs/development/compilers/avra/default.nix
+++ b/pkgs/development/compilers/avra/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    description = "Assember for the Atmel AVR microcontroller family";
+    description = "Assembler for the Atmel AVR microcontroller family";
     homepage = http://avra.sourceforge.net/;
     license = licenses.gpl2Plus;
     platforms = platforms.all;
diff --git a/pkgs/development/compilers/ccl/default.nix b/pkgs/development/compilers/ccl/default.nix
index 7ece0ffda533..ed7e0357d74c 100644
--- a/pkgs/development/compilers/ccl/default.nix
+++ b/pkgs/development/compilers/ccl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchsvn, gcc, glibc, m4, coreutils }:
+{ stdenv, fetchsvn, fetchpatch, gcc, glibc, m4, coreutils }:
 
 let
   options = rec {
@@ -39,12 +39,18 @@ stdenv.mkDerivation rec {
     sha256 = cfg.sha256;
   };
 
+  patches = fetchpatch {
+    name = "ccl-1.11-glibc-2.26.patch";
+    url = https://patch-diff.githubusercontent.com/raw/Clozure/ccl/pull/80.patch;
+    sha256 = "02v6287w0nppfpvkn9dyd5rvq2zkgd47ia9gs17hrww2hgzr6agd";
+  };
+
   buildInputs = [ gcc glibc m4 ];
 
   CCL_RUNTIME = cfg.runtime;
   CCL_KERNEL = cfg.kernel;
 
-  patchPhase = ''
+  postPatch = ''
     substituteInPlace lisp-kernel/${CCL_KERNEL}/Makefile \
       --replace "svnversion" "echo ${revision}" \
       --replace "/bin/rm"    "${coreutils}/bin/rm" \
diff --git a/pkgs/development/compilers/chez/default.nix b/pkgs/development/compilers/chez/default.nix
index b85d32326a1a..cd9a8e514e93 100644
--- a/pkgs/development/compilers/chez/default.nix
+++ b/pkgs/development/compilers/chez/default.nix
@@ -3,12 +3,12 @@
 stdenv.mkDerivation rec {
   name    = "chez-scheme-${version}";
   version = "9.5-${dver}";
-  dver    = "20171012";
+  dver    = "20171109";
 
   src = fetchgit {
     url    = "https://github.com/cisco/chezscheme.git";
-    rev    = "adb3b7bb22ddaa1ba91b98b6f4a647427c3a4d9b";
-    sha256 = "0hiynf7g0q77ipqxjsqdm2zb0m15bl1hhp615fn3i2hv0qz5a4xr";
+    rev    = "bc117fd4d567a6863689fec6814882a0f04e577a";
+    sha256 = "1adzw7bgdz0p4xmccc6awdkb7bp6xba9mnlsh3r3zvblqfci8i70";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/compilers/coreclr/default.nix b/pkgs/development/compilers/coreclr/default.nix
index 592eaf38d87a..17d91f36875c 100644
--- a/pkgs/development/compilers/coreclr/default.nix
+++ b/pkgs/development/compilers/coreclr/default.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetchFromGitHub
+, fetchpatch
 , which
 , cmake
 , clang
@@ -27,6 +28,14 @@ stdenv.mkDerivation rec {
     sha256 = "16z58ix8kmk8csfy5qsqz8z30czhrap2vb8s8vdflmbcfnq31jcw";
   };
 
+  patches = [
+    (fetchpatch {
+      # glibc 2.26
+      url = https://github.com/dotnet/coreclr/commit/a8f83b615708c529b112898e7d2fbc3f618b26ee.patch;
+      sha256 = "047ph5gip4z2h7liwdxsmpnlaq0sd3hliaw4nyqjp647m80g3ffq";
+    })
+  ];
+
   buildInputs = [
     which
     cmake
diff --git a/pkgs/development/compilers/elm/packages/elm-format.nix b/pkgs/development/compilers/elm/packages/elm-format.nix
index a9340fc94fe4..56db835ac10a 100644
--- a/pkgs/development/compilers/elm/packages/elm-format.nix
+++ b/pkgs/development/compilers/elm/packages/elm-format.nix
@@ -1,37 +1,40 @@
-{ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base, binary
-, bytestring, containers, directory, edit-distance, fetchgit
-, filemanip, filepath, HUnit, indents, mtl, optparse-applicative
-, parsec, pretty, process, QuickCheck, quickcheck-io
-, regex-applicative, split, stdenv, tasty, tasty-golden
-, tasty-hunit, tasty-quickcheck, text, union-find, wl-pprint
+{ mkDerivation, ansi-terminal, ansi-wl-pprint, base, binary
+, bytestring, Cabal, cmark, containers, directory, fetchgit
+, filepath, free, HUnit, indents, json, mtl, optparse-applicative
+, parsec, process, QuickCheck, quickcheck-io, split, stdenv, tasty
+, tasty-golden, tasty-hunit, tasty-quickcheck, text
 }:
 mkDerivation {
   pname = "elm-format";
-  version = "0.5.2";
+  version = "0.7.0";
   src = fetchgit {
     url = "http://github.com/avh4/elm-format";
-    sha256 = "0lman7h6wr75y90javcc4y1scvwgv125gqqaqvfrd5xrfmm43gg8";
-    rev = "e452ed9342620e7bb0bc822983b96411d57143ef";
+    sha256 = "1snl2lrrzdwgzi68agi3sdw84aslj04pzzxpm1mam9ic6dzhn3jf";
+    rev = "da4b415c6a2b7e77b7d9f00beca3e45230e603fb";
   };
-  isLibrary = false;
+
+  doHaddock = false;
+  isLibrary = true;
   isExecutable = true;
-  executableHaskellDepends = [
-    aeson ansi-terminal ansi-wl-pprint base binary bytestring
-    containers directory edit-distance filemanip filepath indents mtl
-    optparse-applicative parsec pretty process regex-applicative split
-    text
+  setupHaskellDepends = [ base Cabal directory filepath process ];
+  libraryHaskellDepends = [
+    ansi-terminal ansi-wl-pprint base binary bytestring containers
+    directory filepath free indents json mtl optparse-applicative
+    parsec process split text
   ];
+  executableHaskellDepends = [ base ];
   testHaskellDepends = [
-    aeson ansi-terminal ansi-wl-pprint base binary bytestring
-    containers directory edit-distance filemanip filepath HUnit indents
-    mtl optparse-applicative parsec pretty process QuickCheck
-    quickcheck-io regex-applicative split tasty tasty-golden
-    tasty-hunit tasty-quickcheck text union-find wl-pprint
+    base cmark containers HUnit mtl parsec QuickCheck quickcheck-io
+    split tasty tasty-golden tasty-hunit tasty-quickcheck text
   ];
   jailbreak = true;
   postInstall = ''
     ln -s $out/bin/elm-format-0.18 $out/bin/elm-format
   '';
+  postPatch = ''
+    sed -i "s|desc <-.*||" ./Setup.hs
+    sed -i "s|gitDescribe = .*|gitDescribe = \\\\\"da4b415c\\\\\"\"|" ./Setup.hs
+  '';
   homepage = http://elm-lang.org;
   description = "A source code formatter for Elm";
   license = stdenv.lib.licenses.bsd3;
diff --git a/pkgs/development/compilers/factor-lang/default.nix b/pkgs/development/compilers/factor-lang/default.nix
index 87572661635b..ae2d39d604a6 100644
--- a/pkgs/development/compilers/factor-lang/default.nix
+++ b/pkgs/development/compilers/factor-lang/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, fetchFromGitHub, glib, glibc, git,
   rlwrap, curl, pkgconfig, perl, makeWrapper, tzdata, ncurses,
   libX11, pango, cairo, gtk2, gdk_pixbuf, gtkglext,
-  mesa, libXmu, libXt, libICE, libSM }:
+  mesa_glu, libXmu, libXt, libICE, libSM }:
 
 stdenv.mkDerivation rec {
   name = "factor-lang-${version}";
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ git rlwrap curl perl makeWrapper
     libX11 pango cairo gtk2 gdk_pixbuf gtkglext
-    mesa libXmu libXt libICE libSM ];
+    mesa_glu libXmu libXt libICE libSM ];
 
   buildPhase = ''
     make $(bash ./build-support/factor.sh make-target) GIT_LABEL=heads/master-${rev}
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
     # to be a generic solution here.
     find $(echo ${stdenv.lib.makeLibraryPath [
         glib libX11 pango cairo gtk2 gdk_pixbuf gtkglext
-        mesa libXmu libXt libICE libSM ]} | sed -e 's#:# #g') -name \*.so.\* > $TMPDIR/so.lst
+        mesa_glu libXmu libXt libICE libSM ]} | sed -e 's#:# #g') -name \*.so.\* > $TMPDIR/so.lst
 
     (echo $(cat $TMPDIR/so.lst | wc -l) "libs found in cache \`/etc/ld.so.cache'";
     for l in $(<$TMPDIR/so.lst);
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/factor --prefix LD_LIBRARY_PATH : \
       "${stdenv.lib.makeLibraryPath [ glib
         libX11 pango cairo gtk2 gdk_pixbuf gtkglext
-        mesa libXmu libXt libICE libSM ]}"
+        mesa_glu libXmu libXt libICE libSM ]}"
 
     sed -ie 's#/bin/.factor-wrapped#/lib/factor/factor#g' $out/bin/factor
     mv $out/bin/.factor-wrapped $out/lib/factor/factor
diff --git a/pkgs/development/compilers/fstar/default.nix b/pkgs/development/compilers/fstar/default.nix
index 3aef4e3ba89d..6df09b402f7c 100644
--- a/pkgs/development/compilers/fstar/default.nix
+++ b/pkgs/development/compilers/fstar/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ makeWrapper ];
 
   buildInputs = with ocamlPackages; [
-    z3 ocaml findlib ocaml_batteries menhir stdint
+    z3 ocaml findlib batteries menhir stdint
     zarith camlp4 yojson pprint
   ];
 
diff --git a/pkgs/development/compilers/gcc/4.5/default.nix b/pkgs/development/compilers/gcc/4.5/default.nix
index 5bad03d30252..e7b188ad71b8 100644
--- a/pkgs/development/compilers/gcc/4.5/default.nix
+++ b/pkgs/development/compilers/gcc/4.5/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langJava ? false
 , langAda ? false
@@ -77,8 +77,8 @@ let version = "4.5.4";
       withCpu +
       withAbi +
       # 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" +
+      " --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
+      " --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
       (if crossMingw && crossStageStatic then
         " --with-headers=${libcCross}/include" +
         " --with-gcc" +
@@ -153,6 +153,7 @@ stdenv.mkDerivation ({
     # target libraries and tools.
     ++ optional langAda ../gnat-cflags.patch
     ++ optional langVhdl ./ghdl-ortho-cflags.patch
+    ++ [ ../struct-ucontext-4.5.patch ] # glibc-2.26
     ;
 
   postPatch =
@@ -228,7 +229,7 @@ stdenv.mkDerivation ({
     ++ (optional langJava boehmgc)
     ++ (optionals langJava [zip unzip])
     ++ (optionals javaAwtGtk ([gtk2 pkgconfig libart_lgpl] ++ xlibs))
-    ++ (optionals (targetPlatform != hostPlatform) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
     ;
diff --git a/pkgs/development/compilers/gcc/4.8/default.nix b/pkgs/development/compilers/gcc/4.8/default.nix
index 72e37f18a178..ab91528049c4 100644
--- a/pkgs/development/compilers/gcc/4.8/default.nix
+++ b/pkgs/development/compilers/gcc/4.8/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, noSysDirs
+{ stdenv, targetPackages, fetchurl, fetchpatch, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
@@ -78,7 +78,11 @@ let version = "4.8.5";
           sha256 = "01jd7pdarh54ki498g6sz64ijl9a1l5f9v8q2696aaxalvh2vwzl";
           excludes = [ "gcc/cp/ChangeLog" ];
         })]
-      ;
+      ++ [ # glibc-2.26
+        ../struct-ucontext-4.8.patch
+        ../sigsegv-not-declared.patch
+        ../res_state-not-declared.patch
+      ];
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
@@ -149,8 +153,8 @@ let version = "4.8.5";
         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" +
+        " --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -299,7 +303,7 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (targetPlatform != hostPlatform) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
diff --git a/pkgs/development/compilers/gcc/4.9/default.nix b/pkgs/development/compilers/gcc/4.9/default.nix
index d7684a61a2ac..794d809fa727 100644
--- a/pkgs/development/compilers/gcc/4.9/default.nix
+++ b/pkgs/development/compilers/gcc/4.9/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
@@ -72,6 +72,7 @@ let version = "4.9.4";
       # target libraries and tools.
       ++ optional langAda ../gnat-cflags.patch
       ++ optional langFortran ../gfortran-driving.patch
+      ++ [ ../struct-ucontext.patch ../struct-sigaltstack-4.9.patch ] # glibc-2.26
       ;
 
     javaEcj = fetchurl {
@@ -143,8 +144,8 @@ let version = "4.9.4";
         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" +
+        " --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -295,7 +296,7 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (targetPlatform != hostPlatform) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
 
diff --git a/pkgs/development/compilers/gcc/5/default.nix b/pkgs/development/compilers/gcc/5/default.nix
index 346ea928b76f..345e2baf6718 100644
--- a/pkgs/development/compilers/gcc/5/default.nix
+++ b/pkgs/development/compilers/gcc/5/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
@@ -31,7 +31,6 @@
 , 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
 , buildPlatform, hostPlatform, targetPlatform
@@ -51,7 +50,7 @@ assert libelf != null -> zlib != null;
 assert hostPlatform.isDarwin -> gnused != null;
 
 # Need c++filt on darwin
-assert hostPlatform.isDarwin -> binutils != null;
+assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null;
 
 # The go frontend is written in c++
 assert langGo -> langCC;
@@ -149,8 +148,8 @@ let version = "5.5.0";
         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" +
+        " --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -312,7 +311,7 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (targetPlatform != hostPlatform) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
     ++ (optionals (buildPlatform != hostPlatform) [buildPackages.stdenv.cc])
     ++ (optionals langAda [gnatboot])
     ++ (optionals langVhdl [gnat])
@@ -320,7 +319,7 @@ stdenv.mkDerivation ({
     # 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)
+    ++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
     ;
 
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
diff --git a/pkgs/development/compilers/gcc/6/default.nix b/pkgs/development/compilers/gcc/6/default.nix
index 47cb93c19953..03c6b3834ea4 100644
--- a/pkgs/development/compilers/gcc/6/default.nix
+++ b/pkgs/development/compilers/gcc/6/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
@@ -31,7 +31,6 @@
 , 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
 , buildPlatform, hostPlatform, targetPlatform
@@ -50,7 +49,7 @@ assert libelf != null -> zlib != null;
 assert hostPlatform.isDarwin -> gnused != null;
 
 # Need c++filt on darwin
-assert hostPlatform.isDarwin -> binutils != null;
+assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null;
 
 # The go frontend is written in c++
 assert langGo -> langCC;
@@ -72,7 +71,10 @@ let version = "6.4.0";
       # 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 langFortran ../gfortran-driving.patch
+      ++ [ ../struct-ucontext.patch ../struct-sigaltstack.patch ] # glibc-2.26
+      ++ optional langJava [ ../struct-ucontext-libjava.patch ] # glibc-2.26
+      ;
 
     javaEcj = fetchurl {
       # The `$(top_srcdir)/ecj.jar' file is automatically picked up at
@@ -143,8 +145,8 @@ let version = "6.4.0";
         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" +
+        " --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -307,14 +309,14 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (targetPlatform != hostPlatform) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
     ++ (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)
+    ++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
     ;
 
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
diff --git a/pkgs/development/compilers/gcc/7/default.nix b/pkgs/development/compilers/gcc/7/default.nix
index 064f2ab00d47..3a7c0eb64437 100644
--- a/pkgs/development/compilers/gcc/7/default.nix
+++ b/pkgs/development/compilers/gcc/7/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
@@ -31,7 +31,6 @@
 , 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
@@ -51,7 +50,7 @@ assert libelf != null -> zlib != null;
 assert hostPlatform.isDarwin -> gnused != null;
 
 # Need c++filt on darwin
-assert hostPlatform.isDarwin -> binutils != null;
+assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null;
 
 # The go frontend is written in c++
 assert langGo -> langCC;
@@ -144,8 +143,8 @@ let version = "7.2.0";
         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" +
+        " --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -308,14 +307,14 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (targetPlatform != hostPlatform) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
     ++ (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)
+    ++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
     ;
 
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
diff --git a/pkgs/development/compilers/gcc/res_state-not-declared.patch b/pkgs/development/compilers/gcc/res_state-not-declared.patch
new file mode 100644
index 000000000000..e970487786d0
--- /dev/null
+++ b/pkgs/development/compilers/gcc/res_state-not-declared.patch
@@ -0,0 +1,13 @@
+diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc
+index fe69430..49f5270 100644
+--- a/libsanitizer/tsan/tsan_platform_linux.cc
++++ b/libsanitizer/tsan/tsan_platform_linux.cc
+@@ -351,7 +351,7 @@ bool IsGlobalVar(uptr addr) {
+ // closes within glibc. The code is a pure hack.
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+   int cnt = 0;
+-  __res_state *statp = (__res_state*)state;
++  struct __res_state *statp = (struct __res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
+       fds[cnt++] = statp->_u._ext.nssocks[i];
diff --git a/pkgs/development/compilers/gcc/sigsegv-not-declared.patch b/pkgs/development/compilers/gcc/sigsegv-not-declared.patch
new file mode 100644
index 000000000000..f9cfaec82026
--- /dev/null
+++ b/pkgs/development/compilers/gcc/sigsegv-not-declared.patch
@@ -0,0 +1,13 @@
+error: 'SIGSEGV' was not declared in this scope
+diff --git a/libsanitizer/asan/asan_linux.cc b/libsanitizer/asan/asan_linux.cc
+index 0692eb1..472f734 100644
+--- a/libsanitizer/asan/asan_linux.cc
++++ b/libsanitizer/asan/asan_linux.cc
+@@ -26,6 +26,7 @@
+ #include <sys/types.h>
+ #include <fcntl.h>
+ #include <pthread.h>
++#include <signal.h>
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <unwind.h>
diff --git a/pkgs/development/compilers/gcc/snapshot/default.nix b/pkgs/development/compilers/gcc/snapshot/default.nix
index 696417a49566..4ec92b7bdb62 100644
--- a/pkgs/development/compilers/gcc/snapshot/default.nix
+++ b/pkgs/development/compilers/gcc/snapshot/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, noSysDirs
+{ stdenv, targetPackages, fetchurl, noSysDirs
 , langC ? true, langCC ? true, langFortran ? false
 , langObjC ? targetPlatform.isDarwin
 , langObjCpp ? targetPlatform.isDarwin
@@ -31,7 +31,6 @@
 , 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
@@ -51,7 +50,7 @@ assert libelf != null -> zlib != null;
 assert hostPlatform.isDarwin -> gnused != null;
 
 # Need c++filt on darwin
-assert hostPlatform.isDarwin -> binutils != null;
+assert hostPlatform.isDarwin -> targetPackages.stdenv.cc.bintools or null != null;
 
 # The go frontend is written in c++
 assert langGo -> langCC;
@@ -144,8 +143,8 @@ let version = "7-20170409";
         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" +
+        " --with-as=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-as" +
+        " --with-ld=${targetPackages.stdenv.cc.bintools}/bin/${targetPlatform.config}-ld" +
         (if crossMingw && crossStageStatic then
           " --with-headers=${libcCross}/include" +
           " --with-gcc" +
@@ -295,14 +294,14 @@ stdenv.mkDerivation ({
     ++ (optional (zlib != null) zlib)
     ++ (optionals langJava [ boehmgc zip unzip ])
     ++ (optionals javaAwtGtk ([ gtk2 libart_lgpl ] ++ xlibs))
-    ++ (optionals (targetPlatform != hostPlatform) [binutils])
+    ++ (optionals (targetPlatform != hostPlatform) [targetPackages.stdenv.cc.bintools])
     ++ (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)
+    ++ (optional hostPlatform.isDarwin targetPackages.stdenv.cc.bintools)
     ;
 
   NIX_LDFLAGS = stdenv.lib.optionalString  hostPlatform.isSunOS "-lm -ldl";
@@ -542,6 +541,8 @@ stdenv.mkDerivation ({
       stdenv.lib.platforms.linux ++
       stdenv.lib.platforms.freebsd ++
       optionals (langAda == false) stdenv.lib.platforms.darwin;
+
+    broken = true;
   };
 }
 
diff --git a/pkgs/development/compilers/gcc/struct-sigaltstack-4.9.patch b/pkgs/development/compilers/gcc/struct-sigaltstack-4.9.patch
new file mode 100644
index 000000000000..fc126b4813d6
--- /dev/null
+++ b/pkgs/development/compilers/gcc/struct-sigaltstack-4.9.patch
@@ -0,0 +1,78 @@
+hand-resolved trivial conflicts for 4.9 from the upstream patch
+72edc2c02f8b4768ad660f46a1c7e2400c0a8e06
+diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc
+index 69c9c10..8e53673 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_linux.cc
++++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc
+@@ -599,8 +599,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
+   return internal_syscall(__NR_prctl, option, arg2, arg3, arg4, arg5);
+ }
+ 
+-uptr internal_sigaltstack(const struct sigaltstack *ss,
+-                         struct sigaltstack *oss) {
++uptr internal_sigaltstack(const void *ss, void *oss) {
+   return internal_syscall(__NR_sigaltstack, (uptr)ss, (uptr)oss);
+ }
+ 
+diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h
+index 6422df1..8e111d1 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_linux.h
++++ b/libsanitizer/sanitizer_common/sanitizer_linux.h
+@@ -18,7 +18,6 @@
+ #include "sanitizer_platform_limits_posix.h"
+ 
+ struct link_map;  // Opaque type returned by dlopen().
+-struct sigaltstack;
+ 
+ namespace __sanitizer {
+ // Dirent structure for getdents(). Note that this structure is different from
+@@ -28,8 +27,7 @@ struct linux_dirent;
+ // Syscall wrappers.
+ uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
+ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5);
+-uptr internal_sigaltstack(const struct sigaltstack* ss,
+-                          struct sigaltstack* oss);
++uptr internal_sigaltstack(const void* ss, void* oss);
+ uptr internal_sigaction(int signum, const __sanitizer_kernel_sigaction_t *act,
+     __sanitizer_kernel_sigaction_t *oldact);
+ uptr internal_sigprocmask(int how, __sanitizer_kernel_sigset_t *set,
+diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
+index 891386dc..234e8c6 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
++++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
+@@ -273,7 +273,7 @@ static int TracerThread(void* argument) {
+ 
+   // Alternate stack for signal handling.
+   InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
+-  struct sigaltstack handler_stack;
++  stack_t handler_stack;
+   internal_memset(&handler_stack, 0, sizeof(handler_stack));
+   handler_stack.ss_sp = handler_stack_memory.data();
+   handler_stack.ss_size = kHandlerStackSize;
+diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc
+index 2ed5718..6f972ab 100644
+--- a/libsanitizer/tsan/tsan_platform_linux.cc
++++ b/libsanitizer/tsan/tsan_platform_linux.cc
+@@ -287,7 +287,7 @@ void InitializePlatform() {
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+   int cnt = 0;
+-  __res_state *statp = (__res_state*)state;
++  struct __res_state *statp = (struct __res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
+       fds[cnt++] = statp->_u._ext.nssocks[i];
+
+error: 'SIGSEGV' was not declared in this scope
+diff --git a/libsanitizer/asan/asan_linux.cc b/libsanitizer/asan/asan_linux.cc
+index 0692eb1..472f734 100644
+--- a/libsanitizer/asan/asan_linux.cc
++++ b/libsanitizer/asan/asan_linux.cc
+@@ -26,6 +26,7 @@
+ #include <sys/types.h>
+ #include <fcntl.h>
+ #include <pthread.h>
++#include <signal.h>
+ #include <stdio.h>
+ #include <unistd.h>
+ #include <unwind.h>
diff --git a/pkgs/development/compilers/gcc/struct-sigaltstack.patch b/pkgs/development/compilers/gcc/struct-sigaltstack.patch
new file mode 100644
index 000000000000..6e1ddb252c24
--- /dev/null
+++ b/pkgs/development/compilers/gcc/struct-sigaltstack.patch
@@ -0,0 +1,87 @@
+From 72edc2c02f8b4768ad660f46a1c7e2400c0a8e06 Mon Sep 17 00:00:00 2001
+From: jakub <jakub@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Mon, 17 Jul 2017 19:41:08 +0000
+Subject: [PATCH] 	Backported from mainline 	2017-07-14  Jakub
+ Jelinek  <jakub@redhat.com>
+
+	PR sanitizer/81066
+	* sanitizer_common/sanitizer_linux.h: Cherry-pick upstream r307969.
+	* sanitizer_common/sanitizer_linux.cc: Likewise.
+	* sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc: Likewise.
+	* tsan/tsan_platform_linux.cc: Likewise.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-7-branch@250287 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ libsanitizer/ChangeLog  (REMOVED)                             | 11 +++++++++++
+ libsanitizer/sanitizer_common/sanitizer_linux.cc              |  3 +--
+ libsanitizer/sanitizer_common/sanitizer_linux.h               |  4 +---
+ .../sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc  |  2 +-
+ libsanitizer/tsan/tsan_platform_linux.cc                      |  2 +-
+ 5 files changed, 15 insertions(+), 7 deletions(-)
+
+diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.cc b/libsanitizer/sanitizer_common/sanitizer_linux.cc
+index 806fcd5..5b6f186 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_linux.cc
++++ b/libsanitizer/sanitizer_common/sanitizer_linux.cc
+@@ -605,8 +605,7 @@ uptr internal_prctl(int option, uptr arg2, uptr arg3, uptr arg4, uptr arg5) {
+ }
+ #endif
+ 
+-uptr internal_sigaltstack(const struct sigaltstack *ss,
+-                         struct sigaltstack *oss) {
++uptr internal_sigaltstack(const void *ss, void *oss) {
+   return internal_syscall(SYSCALL(sigaltstack), (uptr)ss, (uptr)oss);
+ }
+ 
+diff --git a/libsanitizer/sanitizer_common/sanitizer_linux.h b/libsanitizer/sanitizer_common/sanitizer_linux.h
+index 895bfc1..a42df57 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_linux.h
++++ b/libsanitizer/sanitizer_common/sanitizer_linux.h
+@@ -19,7 +19,6 @@
+ #include "sanitizer_platform_limits_posix.h"
+ 
+ struct link_map;  // Opaque type returned by dlopen().
+-struct sigaltstack;
+ 
+ namespace __sanitizer {
+ // Dirent structure for getdents(). Note that this structure is different from
+@@ -28,8 +27,7 @@ struct linux_dirent;
+ 
+ // Syscall wrappers.
+ uptr internal_getdents(fd_t fd, struct linux_dirent *dirp, unsigned int count);
+-uptr internal_sigaltstack(const struct sigaltstack* ss,
+-                          struct sigaltstack* oss);
++uptr internal_sigaltstack(const void* ss, void* oss);
+ uptr internal_sigprocmask(int how, __sanitizer_sigset_t *set,
+     __sanitizer_sigset_t *oldset);
+ 
+diff --git a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
+index 891386dc..234e8c6 100644
+--- a/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
++++ b/libsanitizer/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc
+@@ -273,7 +273,7 @@ static int TracerThread(void* argument) {
+ 
+   // Alternate stack for signal handling.
+   InternalScopedBuffer<char> handler_stack_memory(kHandlerStackSize);
+-  struct sigaltstack handler_stack;
++  stack_t handler_stack;
+   internal_memset(&handler_stack, 0, sizeof(handler_stack));
+   handler_stack.ss_sp = handler_stack_memory.data();
+   handler_stack.ss_size = kHandlerStackSize;
+diff --git a/libsanitizer/tsan/tsan_platform_linux.cc b/libsanitizer/tsan/tsan_platform_linux.cc
+index 2ed5718..6f972ab 100644
+--- a/libsanitizer/tsan/tsan_platform_linux.cc
++++ b/libsanitizer/tsan/tsan_platform_linux.cc
+@@ -287,7 +287,7 @@ void InitializePlatform() {
+ int ExtractResolvFDs(void *state, int *fds, int nfd) {
+ #if SANITIZER_LINUX && !SANITIZER_ANDROID
+   int cnt = 0;
+-  __res_state *statp = (__res_state*)state;
++  struct __res_state *statp = (struct __res_state*)state;
+   for (int i = 0; i < MAXNS && cnt < nfd; i++) {
+     if (statp->_u._ext.nsaddrs[i] && statp->_u._ext.nssocks[i] != -1)
+       fds[cnt++] = statp->_u._ext.nssocks[i];
+-- 
+2.9.3
+
diff --git a/pkgs/development/compilers/gcc/struct-ucontext-4.5.patch b/pkgs/development/compilers/gcc/struct-ucontext-4.5.patch
new file mode 100644
index 000000000000..a84e9ffe2681
--- /dev/null
+++ b/pkgs/development/compilers/gcc/struct-ucontext-4.5.patch
@@ -0,0 +1,107 @@
+Trivally backported the upstream commit
+b685411208e0aaa79190d54faf945763514706b8
+(different directory, some files not present, etc.)
+We only really use x86* from those, probably, so I didn't bother much.
+diff --git a/gcc/config/alpha/linux-unwind.h b/gcc/config/alpha/linux-unwind.h
+index bdbba4a..e84812e 100644
+--- a/gcc/config/alpha/linux-unwind.h
++++ b/gcc/config/alpha/linux-unwind.h
+@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
+     {
+       struct rt_sigframe {
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+       sc = &rt_->uc.uc_mcontext;
+     }
+diff --git a/gcc/config/bfin/linux-unwind.h b/gcc/config/bfin/linux-unwind.h
+index 77b7c23..8bf5e82 100644
+--- a/gcc/config/bfin/linux-unwind.h
++++ b/gcc/config/bfin/linux-unwind.h
+@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context,
+ 	void *puc;
+ 	char retcode[8];
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+ 
+       /* The void * cast is necessary to avoid an aliasing warning.
+diff --git a/gcc/config/i386/linux-unwind.h b/gcc/config/i386/linux-unwind.h
+index 540a0a2..29efbe3 100644
+--- a/gcc/config/i386/linux-unwind.h
++++ b/gcc/config/i386/linux-unwind.h
+@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context,
+   if (*(unsigned char *)(pc+0) == 0x48
+       && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
+     {
+-      struct ucontext *uc_ = context->cfa;
++      ucontext_t *uc_ = context->cfa;
+       /* The void * cast is necessary to avoid an aliasing warning.
+          The aliasing warning is correct, but should not be a problem
+          because it does not alias anything.  */
+@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
+ 	siginfo_t *pinfo;
+ 	void *puc;
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+       /* The void * cast is necessary to avoid an aliasing warning.
+          The aliasing warning is correct, but should not be a problem
+diff --git a/gcc/config/m68k/linux-unwind.h b/gcc/config/m68k/linux-unwind.h
+index 75b7cf7..f964e24 100644
+--- a/gcc/config/m68k/linux-unwind.h
++++ b/gcc/config/m68k/linux-unwind.h
+@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ /* <sys/ucontext.h> is unfortunately broken right now.  */
+ struct uw_ucontext {
+ 	unsigned long	  uc_flags;
+-	struct ucontext  *uc_link;
++	ucontext_t	 *uc_link;
+ 	stack_t		  uc_stack;
+ 	mcontext_t	  uc_mcontext;
+ 	unsigned long	  uc_filler[80];
+diff --git a/gcc/config/pa/linux-unwind.h b/gcc/config/pa/linux-unwind.h
+index 9a2657f..e47493d 100644
+--- a/gcc/config/pa/linux-unwind.h
++++ b/gcc/config/pa/linux-unwind.h
+@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context,
+   struct sigcontext *sc;
+   struct rt_sigframe {
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   } *frame;
+ 
+   /* rt_sigreturn trampoline:
+diff --git a/gcc/config/sh/linux-unwind.h b/gcc/config/sh/linux-unwind.h
+index e389cac..0bf43ba 100644
+--- a/gcc/config/sh/linux-unwind.h
++++ b/gcc/config/sh/linux-unwind.h
+@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context,
+     {
+       struct rt_sigframe {
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+       /* The void * cast is necessary to avoid an aliasing warning.
+          The aliasing warning is correct, but should not be a problem
+diff --git a/gcc/config/xtensa/linux-unwind.h b/gcc/config/xtensa/linux-unwind.h
+index 9872492..586a9d4 100644
+--- a/gcc/config/xtensa/linux-unwind.h
++++ b/gcc/config/xtensa/linux-unwind.h
+@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context,
+ 
+   struct rt_sigframe {
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   } *rt_;
+ 
+   /* movi a2, __NR_rt_sigreturn; syscall */
+-- 
+2.9.3
+
diff --git a/pkgs/development/compilers/gcc/struct-ucontext-4.8.patch b/pkgs/development/compilers/gcc/struct-ucontext-4.8.patch
new file mode 100644
index 000000000000..630ef6586e45
--- /dev/null
+++ b/pkgs/development/compilers/gcc/struct-ucontext-4.8.patch
@@ -0,0 +1,177 @@
+From b685411208e0aaa79190d54faf945763514706b8 Mon Sep 17 00:00:00 2001
+From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 4 Jul 2017 10:23:57 +0000
+Subject: [PATCH] Use ucontext_t not struct ucontext in linux-unwind.h files.
+
+Current glibc no longer gives the ucontext_t type the tag struct
+ucontext, to conform with POSIX namespace rules.  This requires
+various linux-unwind.h files in libgcc, that were previously using
+struct ucontext, to be fixed to use ucontext_t instead.  This is
+similar to the removal of the struct siginfo tag from siginfo_t some
+years ago.
+
+This patch changes those files to use ucontext_t instead.  As the
+standard name that should be unconditionally safe, so this is not
+restricted to architectures supported by glibc, or conditioned on the
+glibc version.
+
+Tested compilation together with current glibc with glibc's
+build-many-glibcs.py.
+
+	* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state),
+	config/alpha/linux-unwind.h (alpha_fallback_frame_state),
+	config/bfin/linux-unwind.h (bfin_fallback_frame_state),
+	config/i386/linux-unwind.h (x86_64_fallback_frame_state,
+	x86_fallback_frame_state), config/m68k/linux-unwind.h (struct
+	uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext),
+	config/pa/linux-unwind.h (pa32_fallback_frame_state),
+	config/sh/linux-unwind.h (sh_fallback_frame_state),
+	config/tilepro/linux-unwind.h (tile_fallback_frame_state),
+	config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use
+	ucontext_t instead of struct ucontext.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@249957 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ libgcc/ChangeLog     (REMOVED)       | 14 ++++++++++++++
+ libgcc/config/aarch64/linux-unwind.h |  2 +-
+ libgcc/config/alpha/linux-unwind.h   |  2 +-
+ libgcc/config/bfin/linux-unwind.h    |  2 +-
+ libgcc/config/i386/linux-unwind.h    |  4 ++--
+ libgcc/config/m68k/linux-unwind.h    |  2 +-
+ libgcc/config/nios2/linux-unwind.h   |  2 +-
+ libgcc/config/pa/linux-unwind.h      |  2 +-
+ libgcc/config/sh/linux-unwind.h      |  2 +-
+ libgcc/config/tilepro/linux-unwind.h |  2 +-
+ libgcc/config/xtensa/linux-unwind.h  |  2 +-
+ 11 files changed, 25 insertions(+), 11 deletions(-)
+
+diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h
+index 4512efb..06de45a 100644
+--- a/libgcc/config/aarch64/linux-unwind.h
++++ b/libgcc/config/aarch64/linux-unwind.h
+@@ -52,7 +52,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context,
+   struct rt_sigframe
+   {
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   };
+ 
+   struct rt_sigframe *rt_;
+diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h
+index bdbba4a..e84812e 100644
+--- a/libgcc/config/alpha/linux-unwind.h
++++ b/libgcc/config/alpha/linux-unwind.h
+@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
+     {
+       struct rt_sigframe {
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+       sc = &rt_->uc.uc_mcontext;
+     }
+diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h
+index 77b7c23..8bf5e82 100644
+--- a/libgcc/config/bfin/linux-unwind.h
++++ b/libgcc/config/bfin/linux-unwind.h
+@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context,
+ 	void *puc;
+ 	char retcode[8];
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+ 
+       /* The void * cast is necessary to avoid an aliasing warning.
+diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h
+index 540a0a2..29efbe3 100644
+--- a/libgcc/config/i386/linux-unwind.h
++++ b/libgcc/config/i386/linux-unwind.h
+@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context,
+   if (*(unsigned char *)(pc+0) == 0x48
+       && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
+     {
+-      struct ucontext *uc_ = context->cfa;
++      ucontext_t *uc_ = context->cfa;
+       /* The void * cast is necessary to avoid an aliasing warning.
+          The aliasing warning is correct, but should not be a problem
+          because it does not alias anything.  */
+@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
+ 	siginfo_t *pinfo;
+ 	void *puc;
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+       /* The void * cast is necessary to avoid an aliasing warning.
+          The aliasing warning is correct, but should not be a problem
+diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h
+index 75b7cf7..f964e24 100644
+--- a/libgcc/config/m68k/linux-unwind.h
++++ b/libgcc/config/m68k/linux-unwind.h
+@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ /* <sys/ucontext.h> is unfortunately broken right now.  */
+ struct uw_ucontext {
+ 	unsigned long	  uc_flags;
+-	struct ucontext  *uc_link;
++	ucontext_t	 *uc_link;
+ 	stack_t		  uc_stack;
+ 	mcontext_t	  uc_mcontext;
+ 	unsigned long	  uc_filler[80];
+diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h
+index 9a2657f..e47493d 100644
+--- a/libgcc/config/pa/linux-unwind.h
++++ b/libgcc/config/pa/linux-unwind.h
+@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context,
+   struct sigcontext *sc;
+   struct rt_sigframe {
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   } *frame;
+ 
+   /* rt_sigreturn trampoline:
+diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h
+index e389cac..0bf43ba 100644
+--- a/libgcc/config/sh/linux-unwind.h
++++ b/libgcc/config/sh/linux-unwind.h
+@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context,
+     {
+       struct rt_sigframe {
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+       /* The void * cast is necessary to avoid an aliasing warning.
+          The aliasing warning is correct, but should not be a problem
+diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h
+index 796e976..75f8890 100644
+--- a/libgcc/config/tilepro/linux-unwind.h
++++ b/libgcc/config/tilepro/linux-unwind.h
+@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context,
+   struct rt_sigframe {
+     unsigned char save_area[C_ABI_SAVE_AREA_SIZE];
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   } *rt_;
+ 
+   /* Return if this is not a signal handler.  */
+diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h
+index 9872492..586a9d4 100644
+--- a/libgcc/config/xtensa/linux-unwind.h
++++ b/libgcc/config/xtensa/linux-unwind.h
+@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context,
+ 
+   struct rt_sigframe {
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   } *rt_;
+ 
+   /* movi a2, __NR_rt_sigreturn; syscall */
+-- 
+2.9.3
+
diff --git a/pkgs/development/compilers/gcc/struct-ucontext-libjava.patch b/pkgs/development/compilers/gcc/struct-ucontext-libjava.patch
new file mode 100644
index 000000000000..3892a56954e0
--- /dev/null
+++ b/pkgs/development/compilers/gcc/struct-ucontext-libjava.patch
@@ -0,0 +1,33 @@
+--- a/libjava/include/x86_64-signal.h
++++ a/libjava/include/x86_64-signal.h
+@@ -28,7 +28,7 @@
+ #define HANDLE_DIVIDE_OVERFLOW						\
+ do									\
+ {									\
+-  struct ucontext *_uc = (struct ucontext *)_p;				\
++  ucontext_t *_uc = (ucontext_t *)_p;					\
+   gregset_t &_gregs = _uc->uc_mcontext.gregs;				\
+   unsigned char *_rip = (unsigned char *)_gregs[REG_RIP];		\
+ 									\
+--- a/libjava/include/i386-signal.h
++++ a/libjava/include/i386-signal.h
+@@ -29,7 +29,7 @@
+ #define HANDLE_DIVIDE_OVERFLOW						\
+ do									\
+ {									\
+-  struct ucontext *_uc = (struct ucontext *)_p;				\
++  ucontext_t *_uc = (ucontext_t *)_p;					\
+   gregset_t &_gregs = _uc->uc_mcontext.gregs;				\
+   unsigned char *_eip = (unsigned char *)_gregs[REG_EIP];		\
+ 									\
+--- a/libjava/include/s390-signal.h
++++ a/libjava/include/s390-signal.h
+@@ -51,7 +51,7 @@
+   struct                                                                \
+   {                                                                     \
+     unsigned long int uc_flags;                                         \
+-    struct ucontext *uc_link;                                           \
++    ucontext_t *uc_link;                                                \
+     stack_t uc_stack;                                                   \
+     mcontext_t uc_mcontext;                                             \
+     unsigned long sigmask[2];                                           \
diff --git a/pkgs/development/compilers/gcc/struct-ucontext.patch b/pkgs/development/compilers/gcc/struct-ucontext.patch
new file mode 100644
index 000000000000..c7fb6d1f71cf
--- /dev/null
+++ b/pkgs/development/compilers/gcc/struct-ucontext.patch
@@ -0,0 +1,190 @@
+From b685411208e0aaa79190d54faf945763514706b8 Mon Sep 17 00:00:00 2001
+From: jsm28 <jsm28@138bc75d-0d04-0410-961f-82ee72b054a4>
+Date: Tue, 4 Jul 2017 10:23:57 +0000
+Subject: [PATCH] Use ucontext_t not struct ucontext in linux-unwind.h files.
+
+Current glibc no longer gives the ucontext_t type the tag struct
+ucontext, to conform with POSIX namespace rules.  This requires
+various linux-unwind.h files in libgcc, that were previously using
+struct ucontext, to be fixed to use ucontext_t instead.  This is
+similar to the removal of the struct siginfo tag from siginfo_t some
+years ago.
+
+This patch changes those files to use ucontext_t instead.  As the
+standard name that should be unconditionally safe, so this is not
+restricted to architectures supported by glibc, or conditioned on the
+glibc version.
+
+Tested compilation together with current glibc with glibc's
+build-many-glibcs.py.
+
+	* config/aarch64/linux-unwind.h (aarch64_fallback_frame_state),
+	config/alpha/linux-unwind.h (alpha_fallback_frame_state),
+	config/bfin/linux-unwind.h (bfin_fallback_frame_state),
+	config/i386/linux-unwind.h (x86_64_fallback_frame_state,
+	x86_fallback_frame_state), config/m68k/linux-unwind.h (struct
+	uw_ucontext), config/nios2/linux-unwind.h (struct nios2_ucontext),
+	config/pa/linux-unwind.h (pa32_fallback_frame_state),
+	config/sh/linux-unwind.h (sh_fallback_frame_state),
+	config/tilepro/linux-unwind.h (tile_fallback_frame_state),
+	config/xtensa/linux-unwind.h (xtensa_fallback_frame_state): Use
+	ucontext_t instead of struct ucontext.
+
+
+git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/gcc-6-branch@249957 138bc75d-0d04-0410-961f-82ee72b054a4
+---
+ libgcc/ChangeLog     (REMOVED)       | 14 ++++++++++++++
+ libgcc/config/aarch64/linux-unwind.h |  2 +-
+ libgcc/config/alpha/linux-unwind.h   |  2 +-
+ libgcc/config/bfin/linux-unwind.h    |  2 +-
+ libgcc/config/i386/linux-unwind.h    |  4 ++--
+ libgcc/config/m68k/linux-unwind.h    |  2 +-
+ libgcc/config/nios2/linux-unwind.h   |  2 +-
+ libgcc/config/pa/linux-unwind.h      |  2 +-
+ libgcc/config/sh/linux-unwind.h      |  2 +-
+ libgcc/config/tilepro/linux-unwind.h |  2 +-
+ libgcc/config/xtensa/linux-unwind.h  |  2 +-
+ 11 files changed, 25 insertions(+), 11 deletions(-)
+
+diff --git a/libgcc/config/aarch64/linux-unwind.h b/libgcc/config/aarch64/linux-unwind.h
+index 4512efb..06de45a 100644
+--- a/libgcc/config/aarch64/linux-unwind.h
++++ b/libgcc/config/aarch64/linux-unwind.h
+@@ -52,7 +52,7 @@ aarch64_fallback_frame_state (struct _Unwind_Context *context,
+   struct rt_sigframe
+   {
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   };
+ 
+   struct rt_sigframe *rt_;
+diff --git a/libgcc/config/alpha/linux-unwind.h b/libgcc/config/alpha/linux-unwind.h
+index bdbba4a..e84812e 100644
+--- a/libgcc/config/alpha/linux-unwind.h
++++ b/libgcc/config/alpha/linux-unwind.h
+@@ -51,7 +51,7 @@ alpha_fallback_frame_state (struct _Unwind_Context *context,
+     {
+       struct rt_sigframe {
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+       sc = &rt_->uc.uc_mcontext;
+     }
+diff --git a/libgcc/config/bfin/linux-unwind.h b/libgcc/config/bfin/linux-unwind.h
+index 77b7c23..8bf5e82 100644
+--- a/libgcc/config/bfin/linux-unwind.h
++++ b/libgcc/config/bfin/linux-unwind.h
+@@ -52,7 +52,7 @@ bfin_fallback_frame_state (struct _Unwind_Context *context,
+ 	void *puc;
+ 	char retcode[8];
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+ 
+       /* The void * cast is necessary to avoid an aliasing warning.
+diff --git a/libgcc/config/i386/linux-unwind.h b/libgcc/config/i386/linux-unwind.h
+index 540a0a2..29efbe3 100644
+--- a/libgcc/config/i386/linux-unwind.h
++++ b/libgcc/config/i386/linux-unwind.h
+@@ -58,7 +58,7 @@ x86_64_fallback_frame_state (struct _Unwind_Context *context,
+   if (*(unsigned char *)(pc+0) == 0x48
+       && *(unsigned long long *)(pc+1) == RT_SIGRETURN_SYSCALL)
+     {
+-      struct ucontext *uc_ = context->cfa;
++      ucontext_t *uc_ = context->cfa;
+       /* The void * cast is necessary to avoid an aliasing warning.
+          The aliasing warning is correct, but should not be a problem
+          because it does not alias anything.  */
+@@ -138,7 +138,7 @@ x86_fallback_frame_state (struct _Unwind_Context *context,
+ 	siginfo_t *pinfo;
+ 	void *puc;
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+       /* The void * cast is necessary to avoid an aliasing warning.
+          The aliasing warning is correct, but should not be a problem
+diff --git a/libgcc/config/m68k/linux-unwind.h b/libgcc/config/m68k/linux-unwind.h
+index 75b7cf7..f964e24 100644
+--- a/libgcc/config/m68k/linux-unwind.h
++++ b/libgcc/config/m68k/linux-unwind.h
+@@ -33,7 +33,7 @@ see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
+ /* <sys/ucontext.h> is unfortunately broken right now.  */
+ struct uw_ucontext {
+ 	unsigned long	  uc_flags;
+-	struct ucontext  *uc_link;
++	ucontext_t	 *uc_link;
+ 	stack_t		  uc_stack;
+ 	mcontext_t	  uc_mcontext;
+ 	unsigned long	  uc_filler[80];
+diff --git a/libgcc/config/nios2/linux-unwind.h b/libgcc/config/nios2/linux-unwind.h
+index 2304142..30f25ea 100644
+--- a/libgcc/config/nios2/linux-unwind.h
++++ b/libgcc/config/nios2/linux-unwind.h
+@@ -38,7 +38,7 @@ struct nios2_mcontext {
+ 
+ struct nios2_ucontext {
+   unsigned long uc_flags;
+-  struct ucontext *uc_link;
++  ucontext_t *uc_link;
+   stack_t uc_stack;
+   struct nios2_mcontext uc_mcontext;
+   sigset_t uc_sigmask;	/* mask last for extensibility */
+diff --git a/libgcc/config/pa/linux-unwind.h b/libgcc/config/pa/linux-unwind.h
+index 9a2657f..e47493d 100644
+--- a/libgcc/config/pa/linux-unwind.h
++++ b/libgcc/config/pa/linux-unwind.h
+@@ -80,7 +80,7 @@ pa32_fallback_frame_state (struct _Unwind_Context *context,
+   struct sigcontext *sc;
+   struct rt_sigframe {
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   } *frame;
+ 
+   /* rt_sigreturn trampoline:
+diff --git a/libgcc/config/sh/linux-unwind.h b/libgcc/config/sh/linux-unwind.h
+index e389cac..0bf43ba 100644
+--- a/libgcc/config/sh/linux-unwind.h
++++ b/libgcc/config/sh/linux-unwind.h
+@@ -180,7 +180,7 @@ sh_fallback_frame_state (struct _Unwind_Context *context,
+     {
+       struct rt_sigframe {
+ 	siginfo_t info;
+-	struct ucontext uc;
++	ucontext_t uc;
+       } *rt_ = context->cfa;
+       /* The void * cast is necessary to avoid an aliasing warning.
+          The aliasing warning is correct, but should not be a problem
+diff --git a/libgcc/config/tilepro/linux-unwind.h b/libgcc/config/tilepro/linux-unwind.h
+index 796e976..75f8890 100644
+--- a/libgcc/config/tilepro/linux-unwind.h
++++ b/libgcc/config/tilepro/linux-unwind.h
+@@ -61,7 +61,7 @@ tile_fallback_frame_state (struct _Unwind_Context *context,
+   struct rt_sigframe {
+     unsigned char save_area[C_ABI_SAVE_AREA_SIZE];
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   } *rt_;
+ 
+   /* Return if this is not a signal handler.  */
+diff --git a/libgcc/config/xtensa/linux-unwind.h b/libgcc/config/xtensa/linux-unwind.h
+index 9872492..586a9d4 100644
+--- a/libgcc/config/xtensa/linux-unwind.h
++++ b/libgcc/config/xtensa/linux-unwind.h
+@@ -67,7 +67,7 @@ xtensa_fallback_frame_state (struct _Unwind_Context *context,
+ 
+   struct rt_sigframe {
+     siginfo_t info;
+-    struct ucontext uc;
++    ucontext_t uc;
+   } *rt_;
+ 
+   /* movi a2, __NR_rt_sigreturn; syscall */
+-- 
+2.9.3
+
diff --git a/pkgs/development/compilers/ghc/7.10.2.nix b/pkgs/development/compilers/ghc/7.10.2.nix
index 863f904e4e96..51274dd60598 100644
--- a/pkgs/development/compilers/ghc/7.10.2.nix
+++ b/pkgs/development/compilers/ghc/7.10.2.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
+{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
 , libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour
 
   # If enabled GHC will be build with the GPL-free but slower integer-simple
@@ -70,7 +70,7 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/7.10.3.nix b/pkgs/development/compilers/ghc/7.10.3.nix
index eb8f1dddd19b..d573a22e0ae8 100644
--- a/pkgs/development/compilers/ghc/7.10.3.nix
+++ b/pkgs/development/compilers/ghc/7.10.3.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
+{ stdenv, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
 , libxml2, libxslt, docbook_xsl, docbook_xml_dtd_45, docbook_xml_dtd_42, hscolour
 
   # If enabled GHC will be build with the GPL-free but slower integer-simple
@@ -68,7 +68,7 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/7.6.3.nix b/pkgs/development/compilers/ghc/7.6.3.nix
index 5f951936046f..fde4ca2aa37d 100644
--- a/pkgs/development/compilers/ghc/7.6.3.nix
+++ b/pkgs/development/compilers/ghc/7.6.3.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, ghc, perl, ncurses, binutils, libiconv
+{ stdenv, fetchurl, ghc, perl, ncurses, libiconv
 
   # If enabled GHC will be build with the GPL-free but slower integer-simple
   # library instead of the faster but GPLed integer-gmp library.
diff --git a/pkgs/development/compilers/ghc/8.0.2.nix b/pkgs/development/compilers/ghc/8.0.2.nix
index e50a8df7352d..d475e3438b4b 100644
--- a/pkgs/development/compilers/ghc/8.0.2.nix
+++ b/pkgs/development/compilers/ghc/8.0.2.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
+{ stdenv, lib, fetchurl, fetchpatch, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
 , hscolour, patchutils, sphinx
 
   # If enabled GHC will be build with the GPL-free but slower integer-simple
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghc/8.2.1.nix b/pkgs/development/compilers/ghc/8.2.1.nix
index dde56df81313..bcc801c98ea5 100644
--- a/pkgs/development/compilers/ghc/8.2.1.nix
+++ b/pkgs/development/compilers/ghc/8.2.1.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
+{ stdenv, lib, fetchurl, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
 , autoconf, automake, happy, alex, python3, sphinx, hscolour
 , buildPlatform, targetPlatform , selfPkgs, cross ? null
 
@@ -66,7 +66,7 @@ in stdenv.mkDerivation (rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
     done
   '';
 
@@ -97,23 +97,23 @@ in stdenv.mkDerivation (rec {
 
   configureFlags = [
     "CC=${stdenv.ccCross}/bin/${cross.config}-cc"
-    "LD=${stdenv.binutils}/bin/${cross.config}-ld"
-    "AR=${stdenv.binutils}/bin/${cross.config}-ar"
-    "NM=${stdenv.binutils}/bin/${cross.config}-nm"
-    "RANLIB=${stdenv.binutils}/bin/${cross.config}-ranlib"
+    "LD=${targetPackages.stdenv.cc.bintools}/bin/${cross.config}-ld"
+    "AR=${targetPackages.stdenv.cc.bintools}/bin/${cross.config}-ar"
+    "NM=${targetPackages.stdenv.cc.bintools}/bin/${cross.config}-nm"
+    "RANLIB=${targetPackages.stdenv.cc.bintools}/bin/${cross.config}-ranlib"
     "--target=${cross.config}"
     "--enable-bootstrap-with-devel-snapshot"
   ] ++
     # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
     lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space";
 
-  buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.binutils ];
+  buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.targetPackages.stdenv.cc.bintools ];
 
   dontSetConfigureCross = true;
 
   passthru = {
     inherit bootPkgs cross;
     cc = "${stdenv.ccCross}/bin/${cross.config}-cc";
-    ld = "${stdenv.binutils}/bin/${cross.config}-ld";
+    ld = "${stdenv.targetPackages.stdenv.cc.bintools}/bin/${cross.config}-ld";
   };
 })
diff --git a/pkgs/development/compilers/ghc/8.2.2.nix b/pkgs/development/compilers/ghc/8.2.2.nix
new file mode 100644
index 000000000000..cd15a6680c26
--- /dev/null
+++ b/pkgs/development/compilers/ghc/8.2.2.nix
@@ -0,0 +1,119 @@
+{ stdenv, lib, fetchurl, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
+, autoconf, automake, happy, alex, python3, sphinx, hscolour
+, buildPlatform, targetPlatform , selfPkgs, cross ? null
+
+  # If enabled GHC will be build with the GPL-free but slower integer-simple
+  # library instead of the faster but GPLed integer-gmp library.
+, enableIntegerSimple ? false, gmp
+}:
+
+let
+  inherit (bootPkgs) ghc;
+  version = "8.2.1.20171108";
+
+  commonBuildInputs = [ alex autoconf automake ghc happy hscolour perl python3 sphinx ];
+  commonPreConfigure =  ''
+    sed -i -e 's|-isysroot /Developer/SDKs/MacOSX10.5.sdk||' configure
+  '' + stdenv.lib.optionalString (!stdenv.isDarwin) ''
+    export NIX_LDFLAGS="$NIX_LDFLAGS -rpath $out/lib/ghc-${version}"
+  '' + stdenv.lib.optionalString stdenv.isDarwin ''
+    export NIX_LDFLAGS+=" -no_dtrace_dof"
+  '' + stdenv.lib.optionalString enableIntegerSimple ''
+    echo "INTEGER_LIBRARY=integer-simple" > mk/build.mk
+  '';
+in stdenv.mkDerivation (rec {
+  inherit version;
+  name = "ghc-${version}";
+
+  src = fetchurl {
+    url = "https://downloads.haskell.org/~ghc/8.2.2-rc3/${name}-src.tar.xz";
+    sha256 = "13h55vcrs243bv4hv8i4jq80rsx5hvhi09r3rcs562d8zk7k665w";
+  };
+
+  postPatch = "patchShebangs .";
+
+  patches = [ ./ghc-gold-linker.patch ];
+
+  preConfigure = commonPreConfigure;
+
+  buildInputs = commonBuildInputs;
+
+  enableParallelBuilding = true;
+
+  configureFlags = [
+    "CC=${stdenv.cc}/bin/cc"
+    "--with-curses-includes=${ncurses.dev}/include" "--with-curses-libraries=${ncurses.out}/lib"
+    "--datadir=$doc/share/doc/ghc"
+  ] ++ stdenv.lib.optional (! enableIntegerSimple) [
+    "--with-gmp-includes=${gmp.dev}/include" "--with-gmp-libraries=${gmp.out}/lib"
+  ] ++ stdenv.lib.optional stdenv.isDarwin [
+    "--with-iconv-includes=${libiconv}/include" "--with-iconv-libraries=${libiconv}/lib"
+  ];
+
+  # required, because otherwise all symbols from HSffi.o are stripped, and
+  # that in turn causes GHCi to abort
+  stripDebugFlags = [ "-S" ] ++ stdenv.lib.optional (!stdenv.isDarwin) "--keep-file-symbols";
+
+  checkTarget = "test";
+
+  postInstall = ''
+    paxmark m $out/lib/${name}/bin/{ghc,haddock}
+
+    # Install the bash completion file.
+    install -D -m 444 utils/completion/ghc.bash $out/share/bash-completion/completions/ghc
+
+    # Patch scripts to include "readelf" and "cat" in $PATH.
+    for i in "$out/bin/"*; do
+      test ! -h $i || continue
+      egrep --quiet '^#!' <(head -n 1 $i) || continue
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
+    done
+  '';
+
+  outputs = [ "out" "doc" ];
+
+  passthru = {
+    inherit bootPkgs;
+  } // stdenv.lib.optionalAttrs (targetPlatform != buildPlatform) {
+    crossCompiler = selfPkgs.ghc.override {
+      cross = targetPlatform;
+      bootPkgs = selfPkgs;
+    };
+  };
+
+  meta = {
+    homepage = http://haskell.org/ghc;
+    description = "The Glasgow Haskell Compiler";
+    maintainers = with stdenv.lib.maintainers; [ marcweber andres peti ];
+    inherit (ghc.meta) license platforms;
+  };
+
+} // stdenv.lib.optionalAttrs (cross != null) {
+  name = "${cross.config}-ghc-${version}";
+
+  preConfigure = commonPreConfigure + ''
+    sed 's|#BuildFlavour  = quick-cross|BuildFlavour  = perf-cross|' mk/build.mk.sample > mk/build.mk
+  '';
+
+  configureFlags = [
+    "CC=${stdenv.ccCross}/bin/${cross.config}-cc"
+    "LD=${stdenv.binutils}/bin/${cross.config}-ld"
+    "AR=${stdenv.binutils}/bin/${cross.config}-ar"
+    "NM=${stdenv.binutils}/bin/${cross.config}-nm"
+    "RANLIB=${stdenv.binutils}/bin/${cross.config}-ranlib"
+    "--target=${cross.config}"
+    "--enable-bootstrap-with-devel-snapshot"
+  ] ++
+    # fix for iOS: https://www.reddit.com/r/haskell/comments/4ttdz1/building_an_osxi386_to_iosarm64_cross_compiler/d5qvd67/
+    lib.optional (cross.config or null == "aarch64-apple-darwin14") "--disable-large-address-space";
+
+  buildInputs = commonBuildInputs ++ [ stdenv.ccCross stdenv.binutils ];
+
+  dontSetConfigureCross = true;
+
+  passthru = {
+    inherit bootPkgs cross;
+    cc = "${stdenv.ccCross}/bin/${cross.config}-cc";
+    ld = "${stdenv.binutils}/bin/${cross.config}-ld";
+  };
+})
diff --git a/pkgs/development/compilers/ghc/head.nix b/pkgs/development/compilers/ghc/head.nix
index 362b4895b7e3..92ba3f6a46ed 100644
--- a/pkgs/development/compilers/ghc/head.nix
+++ b/pkgs/development/compilers/ghc/head.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchgit, bootPkgs, perl, ncurses, libiconv, binutils, coreutils
+{ stdenv, lib, fetchgit, bootPkgs, perl, ncurses, libiconv, targetPackages, coreutils
 , autoconf, automake, happy, alex, python3, buildPlatform, targetPlatform
 , selfPkgs, cross ? null
 
@@ -71,7 +71,7 @@ in stdenv.mkDerivation (rec {
     for i in "$out/bin/"*; do
       test ! -h $i || continue
       egrep --quiet '^#!' <(head -n 1 $i) || continue
-      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ binutils coreutils ]}"' $i
+      sed -i -e '2i export PATH="$PATH:${stdenv.lib.makeBinPath [ targetPackages.stdenv.cc.bintools coreutils ]}"' $i
     done
   '';
 
diff --git a/pkgs/development/compilers/ghcjs/stage2.nix b/pkgs/development/compilers/ghcjs/stage2.nix
index 4c4d9f4ff389..3483afc99ef0 100644
--- a/pkgs/development/compilers/ghcjs/stage2.nix
+++ b/pkgs/development/compilers/ghcjs/stage2.nix
@@ -133,7 +133,7 @@
           test-framework-hunit test-framework-quickcheck2 text unix
         ];
         jailbreak = true;
-        homepage = http://github.com/tibbe/hashable;
+        homepage = https://github.com/tibbe/hashable;
         description = "A class for types that can be converted to a hash value";
         license = stdenv.lib.licenses.bsd3;
       }) {};
@@ -146,7 +146,7 @@
         doCheck = false;
         libraryHaskellDepends = [ base transformers ];
         jailbreak = true;
-        homepage = http://github.com/ekmett/mtl;
+        homepage = https://github.com/ekmett/mtl;
         description = "Monad classes, using functional dependencies";
         license = stdenv.lib.licenses.bsd3;
       }) {};
@@ -311,7 +311,7 @@
           test-framework-hunit test-framework-quickcheck2 text
         ];
         jailbreak = true;
-        homepage = http://github.com/ghcjs/ghcjs-base;
+        homepage = https://github.com/ghcjs/ghcjs-base;
         description = "Base library for GHCJS";
         license = stdenv.lib.licenses.mit;
       }) {};
diff --git a/pkgs/development/compilers/ghdl/default.nix b/pkgs/development/compilers/ghdl/default.nix
index 7d3b6860c6ed..eaf9949b52da 100644
--- a/pkgs/development/compilers/ghdl/default.nix
+++ b/pkgs/development/compilers/ghdl/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://sourceforge.net/p/ghdl-updates/wiki/Home/;
+    homepage = https://sourceforge.net/p/ghdl-updates/wiki/Home/;
     description = "Free VHDL simulator";
     maintainers = with stdenv.lib.maintainers; [viric];
     platforms = with stdenv.lib.platforms; (if flavour == "llvm" then [ "i686-linux" "x86_64-linux" ]
diff --git a/pkgs/development/compilers/go/1.9.nix b/pkgs/development/compilers/go/1.9.nix
index 50fa2d976273..007b81d995b7 100644
--- a/pkgs/development/compilers/go/1.9.nix
+++ b/pkgs/development/compilers/go/1.9.nix
@@ -118,11 +118,8 @@ stdenv.mkDerivation rec {
       ./ssl-cert-file-1.9.patch
       ./creds-test.patch
       ./remove-test-pie-1.9.patch
-
-      (fetchpatch {
-        url = "https://github.com/golang/go/commit/29415eb2b92e78481897c4161ba99f5b09fa6102.patch";
-        sha256 = "01jkm4b2dazzjnfla7rdd0w2clzplga3zza6ybpmkjkk3i4bp73d";
-      })
+      ./go-1.9-skip-flaky-19608.patch
+      ./go-1.9-skip-flaky-20072.patch
     ];
 
   postPatch = optionalString stdenv.isDarwin ''
diff --git a/pkgs/development/compilers/go/go-1.9-skip-flaky-19608.patch b/pkgs/development/compilers/go/go-1.9-skip-flaky-19608.patch
new file mode 100644
index 000000000000..a4d9f0674791
--- /dev/null
+++ b/pkgs/development/compilers/go/go-1.9-skip-flaky-19608.patch
@@ -0,0 +1,12 @@
+diff --git a/src/net/http/serve_test.go b/src/net/http/serve_test.go
+index 7137599..43cca2e 100644
+--- a/src/net/http/serve_test.go
++++ b/src/net/http/serve_test.go
+@@ -5361,6 +5361,7 @@ func testServerKeepAlivesEnabled(t *testing.T, h2 bool) {
+ // the server's doing its 1-byte background read between requests,
+ // waiting for the connection to maybe close.
+ func TestServerCancelsReadTimeoutWhenIdle(t *testing.T) {
++	testenv.SkipFlaky(t, 19608)
+ 	setParallel(t)
+ 	defer afterTest(t)
+ 	const timeout = 250 * time.Millisecond
diff --git a/pkgs/development/compilers/go/go-1.9-skip-flaky-20072.patch b/pkgs/development/compilers/go/go-1.9-skip-flaky-20072.patch
new file mode 100644
index 000000000000..13db40ababc3
--- /dev/null
+++ b/pkgs/development/compilers/go/go-1.9-skip-flaky-20072.patch
@@ -0,0 +1,20 @@
+diff --git a/src/sync/waitgroup_test.go b/src/sync/waitgroup_test.go
+index e3e3096..f80d1e2 100644
+--- a/src/sync/waitgroup_test.go
++++ b/src/sync/waitgroup_test.go
+@@ -6,6 +6,7 @@ package sync_test
+ 
+ import (
+ 	"internal/race"
++	"internal/testenv"
+ 	"runtime"
+ 	. "sync"
+ 	"sync/atomic"
+@@ -73,6 +74,7 @@ func TestWaitGroupMisuse2(t *testing.T) {
+ 	if runtime.NumCPU() <= 4 {
+ 		t.Skip("NumCPU<=4, skipping: this test requires parallelism")
+ 	}
++	testenv.SkipFlaky(t, 20072)
+ 	defer func() {
+ 		err := recover()
+ 		if err != "sync: negative WaitGroup counter" &&
diff --git a/pkgs/development/compilers/gwt/2.4.0.nix b/pkgs/development/compilers/gwt/2.4.0.nix
index 4705c327b425..f15e1060203b 100644
--- a/pkgs/development/compilers/gwt/2.4.0.nix
+++ b/pkgs/development/compilers/gwt/2.4.0.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation {
   name = "gwt-java-2.4.0";
 
   src = fetchurl {
-    url=http://google-web-toolkit.googlecode.com/files/gwt-2.4.0.zip;
-    sha1 = "a91ac20db0ddd5994ac3cbfb0e8061d5bbf66f88";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/google-web-toolkit/gwt-2.4.0.zip";
+    sha256 = "1gvyg00vx7fdqgfl2w7nhql78clg3abs6fxxy7m03pprdm5qmm17";
   };
 
   buildInputs = [ unzip ];
@@ -17,8 +17,9 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://code.google.com/webtoolkit/;
+    homepage = http://www.gwtproject.org/;
     description = "A development toolkit for building and optimizing complex browser-based applications";
+    license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/compilers/halvm/2.4.0.nix b/pkgs/development/compilers/halvm/2.4.0.nix
index 24fffcf603cb..0c4cef653d86 100644
--- a/pkgs/development/compilers/halvm/2.4.0.nix
+++ b/pkgs/development/compilers/halvm/2.4.0.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, binutils, autoconf, alex, happy, makeStaticLibraries
+{ stdenv, fetchgit, bootPkgs, perl, gmp, ncurses, targetPackages, autoconf, alex, happy, makeStaticLibraries
 , hscolour, xen, automake, gcc, git, zlib, libtool, enableIntegerSimple ? false
 }:
 
@@ -17,14 +17,14 @@ stdenv.mkDerivation rec {
     sed -i '305 d' Makefile
     sed -i '309,439 d' Makefile # Removes RPM packaging
     sed -i '20 d' src/scripts/halvm-cabal.in
-    sed -ie 's|ld |${binutils}/bin/ld |g' src/scripts/ldkernel.in
+    sed -ie 's|ld |${targetPackages.stdenv.cc.bintools}/bin/ld |g' src/scripts/ldkernel.in
   '';
   configureFlags = stdenv.lib.optional (!enableIntegerSimple) [ "--enable-gmp" ];
   propagatedNativeBuildInputs = [ alex happy ];
   buildInputs =
    let haskellPkgs = [ alex happy bootPkgs.hscolour bootPkgs.cabal-install bootPkgs.haddock bootPkgs.hpc
     ]; in [ bootPkgs.ghc
-            automake perl git binutils
+            automake perl git targetPackages.stdenv.cc.bintools
             autoconf xen zlib ncurses.dev
             libtool gmp ] ++ haskellPkgs;
   preConfigure = ''
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     inherit bootPkgs;
     cross.config = "halvm";
     cc = "${gcc}/bin/gcc";
-    ld = "${binutils}/bin/ld";
+    ld = "${targetPackages.stdenv.cc.bintools}/bin/ld";
   };
 
   meta = {
diff --git a/pkgs/development/compilers/hhvm/default.nix b/pkgs/development/compilers/hhvm/default.nix
index fa76596248ee..4159b7bd52b7 100644
--- a/pkgs/development/compilers/hhvm/default.nix
+++ b/pkgs/development/compilers/hhvm/default.nix
@@ -1,5 +1,5 @@
-{ stdenv, fetchgit, cmake, pkgconfig, boost, libunwind, libmemcached, pcre
-, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php
+{ stdenv, fetchgit, fetchurl, cmake, pkgconfig, boost, libunwind, libmemcached
+, pcre, libevent, gd, curl, libxml2, icu, flex, bison, openssl, zlib, php
 , expat, libcap, oniguruma, libdwarf, libmcrypt, tbb, gperftools, glog, libkrb5
 , bzip2, openldap, readline, libelf, uwimap, binutils, cyrus_sasl, pam, libpng
 , libxslt, freetype, gdb, git, perl, mariadb, gmp, libyaml, libedit
@@ -29,9 +29,13 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./flexible-array-members-gcc6.patch
+    (fetchurl {
+      url = https://github.com/facebook/hhvm/commit/b506902af2b7c53de6d6c92491c2086472292004.patch;
+      sha256 = "1br7diczqks6b1xjrdsac599fc62m9l17gcx7dvkc0qj54lq7ys4";
+    })
   ];
 
-  enableParallelBuilding = false; # occasional build problems;
+  enableParallelBuilding = true;
   dontUseCmakeBuildDir = true;
   NIX_LDFLAGS = "-lpam -L${pam}/lib";
 
diff --git a/pkgs/development/compilers/julia/0.6.nix b/pkgs/development/compilers/julia/0.6.nix
index 9d9f0229e56b..99e6f8efff10 100644
--- a/pkgs/development/compilers/julia/0.6.nix
+++ b/pkgs/development/compilers/julia/0.6.nix
@@ -80,6 +80,9 @@ stdenv.mkDerivation rec {
       mv test/$i.jl{,.off}
       touch test/$i.jl
     done
+
+    sed -e 's/Invalid Content-Type:/invalid Content-Type:/g' -i test/libgit2.jl
+    sed -e 's/Failed to resolve /failed to resolve /g' -i test/libgit2.jl
   '';
 
   buildInputs = [
diff --git a/pkgs/development/compilers/kotlin/default.nix b/pkgs/development/compilers/kotlin/default.nix
index 37093530a3ca..8f2bbefc2bc7 100644
--- a/pkgs/development/compilers/kotlin/default.nix
+++ b/pkgs/development/compilers/kotlin/default.nix
@@ -1,12 +1,15 @@
 { stdenv, fetchurl, makeWrapper, jre, unzip }:
 
-stdenv.mkDerivation rec {
-  version = "1.1.51";
+let
+  version = "1.1.60";
+  release = "55";
+in stdenv.mkDerivation rec {
+  inherit version;
   name = "kotlin-${version}";
 
   src = fetchurl {
-    url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}.zip";
-    sha256 = "1kbwyldfyyd20rnrl5yvyvqiqj9b3v6543vhlqsh5swhhc9nnd0b";
+    url = "https://github.com/JetBrains/kotlin/releases/download/v${version}/kotlin-compiler-${version}-release-${release}.zip";
+    sha256 = "04vlhpc92pg0bcgapd5w2b3039sgv52km8i0m4mc5yf0ik6hx1s9";
   };
 
   propagatedBuildInputs = [ jre ] ;
diff --git a/pkgs/development/compilers/llvm/3.4/llvm.nix b/pkgs/development/compilers/llvm/3.4/llvm.nix
index 743f243791b6..6e7ef22392b1 100644
--- a/pkgs/development/compilers/llvm/3.4/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.4/llvm.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetch
+, fetchpatch
 , perl
 , groff
 , cmake
@@ -39,6 +40,22 @@ in stdenv.mkDerivation rec {
     ../fix-llvm-config.patch
   ];
 
+  postPatch = stdenv.lib.optionalString (stdenv ? glibc) ''
+    (
+     cd projects/compiler-rt
+      patch -p1 -F3 < ${
+        fetchpatch {
+          name = "sigaltstack.patch"; # for glibc-2.26
+          url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff;
+          sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi";
+        }
+      }
+
+      sed -i "s,#include <pthread.h>,&\n#include <signal.h>,g" \
+        lib/asan/asan_linux.cc
+    )
+  '';
+
   # hacky fix: created binaries need to be run before installation
   preBuild = ''
     mkdir -p $out/
diff --git a/pkgs/development/compilers/llvm/3.5/libc++/default.nix b/pkgs/development/compilers/llvm/3.5/libc++/default.nix
index abc198b06864..1f1129f578f4 100644
--- a/pkgs/development/compilers/llvm/3.5/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.5/libc++/default.nix
@@ -20,7 +20,11 @@ stdenv.mkDerivation rec {
                 '"${libcxxabi}/lib/libc++abi.dylib"'
   '';
 
-  patches = [ ./darwin.patch ];
+  patches = [
+    ./darwin.patch
+    # glibc 2.26 fix
+    ./xlocale-glibc-2.26.patch
+  ];
 
   buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
diff --git a/pkgs/development/compilers/llvm/3.5/libc++/xlocale-glibc-2.26.patch b/pkgs/development/compilers/llvm/3.5/libc++/xlocale-glibc-2.26.patch
new file mode 100644
index 000000000000..250bb49fc231
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.5/libc++/xlocale-glibc-2.26.patch
@@ -0,0 +1,17 @@
+diff --git a/include/__locale b/include/__locale
+index 3daa1f1..cb8e151 100644
+--- a/include/__locale
++++ b/include/__locale
+@@ -29,10 +29,10 @@
+ # if __ANDROID_API__ <= 20
+ #  include <support/android/locale_bionic.h>
+ # endif
+-#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
++#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
+     || defined(__sun__)   || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
+ # include <xlocale.h>
+-#endif // __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__
++#endif // __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__
+ 
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #pragma GCC system_header
diff --git a/pkgs/development/compilers/llvm/3.5/llvm.nix b/pkgs/development/compilers/llvm/3.5/llvm.nix
index 94f39183345f..26144e38619f 100644
--- a/pkgs/development/compilers/llvm/3.5/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.5/llvm.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetch
+, fetchpatch
 , perl
 , groff
 , cmake
@@ -39,6 +40,22 @@ in stdenv.mkDerivation rec {
       --replace 'set(CMAKE_INSTALL_RPATH "@executable_path/../lib")' ""
   '';
 
+  postPatch = stdenv.lib.optionalString (stdenv ? glibc) ''
+    (
+      cd projects/compiler-rt
+      patch -p1 < ${
+        fetchpatch {
+          name = "sigaltstack.patch"; # for glibc-2.26
+          url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff;
+          sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi";
+        }
+      }
+
+      sed -i "s,#include <pthread.h>,&\n#include <signal.h>,g" \
+        lib/asan/asan_linux.cc
+    )
+  '';
+
   # hacky fix: created binaries need to be run before installation
   preBuild = ''
     mkdir -p $out/
diff --git a/pkgs/development/compilers/llvm/3.7/libc++/default.nix b/pkgs/development/compilers/llvm/3.7/libc++/default.nix
index 69ce87bcbf30..4296c0fd192c 100644
--- a/pkgs/development/compilers/llvm/3.7/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.7/libc++/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
   patches = [
     ./darwin.patch
     ./r242056.patch
+    # glibc 2.26 fix
+    ./xlocale-glibc-2.26.patch
   ];
 
   buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
diff --git a/pkgs/development/compilers/llvm/3.7/libc++/xlocale-glibc-2.26.patch b/pkgs/development/compilers/llvm/3.7/libc++/xlocale-glibc-2.26.patch
new file mode 100644
index 000000000000..5ee8f6b82305
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.7/libc++/xlocale-glibc-2.26.patch
@@ -0,0 +1,17 @@
+diff --git a/include/__locale b/include/__locale
+index 1989558..1e42905 100644
+--- a/include/__locale
++++ b/include/__locale
+@@ -34,10 +34,10 @@
+ # include <support/solaris/xlocale.h>
+ #elif defined(_NEWLIB_VERSION)
+ # include <support/newlib/xlocale.h>
+-#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
++#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
+     || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
+ # include <xlocale.h>
+-#endif // __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__
++#endif // __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__
+ 
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #pragma GCC system_header
diff --git a/pkgs/development/compilers/llvm/3.7/llvm.nix b/pkgs/development/compilers/llvm/3.7/llvm.nix
index b600665cd8f6..54ab8c108773 100644
--- a/pkgs/development/compilers/llvm/3.7/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.7/llvm.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetch
+, fetchpatch
 , perl
 , groff
 , cmake
@@ -45,6 +46,18 @@ in stdenv.mkDerivation rec {
   # those always succeed has the net effect of disabling all bindings.
   prePatch = ''
     substituteInPlace cmake/config-ix.cmake --replace "if(WIN32)" "if(1)"
+  ''
+  + stdenv.lib.optionalString (stdenv ? glibc) ''
+    (
+      cd projects/compiler-rt
+      patch -p1 < ${
+        fetchpatch {
+          name = "sigaltstack.patch"; # for glibc-2.26
+          url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff;
+          sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi";
+        }
+      }
+    )
   '';
 
   # hacky fix: created binaries need to be run before installation
diff --git a/pkgs/development/compilers/llvm/3.8/libc++/default.nix b/pkgs/development/compilers/llvm/3.8/libc++/default.nix
index e4198599904c..ea468b3772e0 100644
--- a/pkgs/development/compilers/llvm/3.8/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.8/libc++/default.nix
@@ -14,7 +14,10 @@ stdenv.mkDerivation rec {
     cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include")
   '';
 
-  patches = lib.optional stdenv.isDarwin ./darwin.patch;
+  patches = [
+    # glibc 2.26 fix
+    ../../3.9/libc++/xlocale-glibc-2.26.patch
+  ] ++ lib.optional stdenv.isDarwin ./darwin.patch;
 
   buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
diff --git a/pkgs/development/compilers/llvm/3.8/llvm.nix b/pkgs/development/compilers/llvm/3.8/llvm.nix
index f8b8948e749e..a0fbdf2b706a 100644
--- a/pkgs/development/compilers/llvm/3.8/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.8/llvm.nix
@@ -1,5 +1,6 @@
 { stdenv
 , fetch
+, fetchpatch
 , perl
 , groff
 , cmake
@@ -49,6 +50,18 @@ in stdenv.mkDerivation rec {
     substituteInPlace CMakeLists.txt \
       --replace 'set(CMAKE_INSTALL_NAME_DIR "@rpath")' "set(CMAKE_INSTALL_NAME_DIR "$out/lib")" \
       --replace 'set(CMAKE_INSTALL_RPATH "@executable_path/../lib")' ""
+  ''
+  + stdenv.lib.optionalString (stdenv ? glibc) ''
+    (
+      cd projects/compiler-rt
+      patch -p1 < ${
+        fetchpatch {
+          name = "sigaltstack.patch"; # for glibc-2.26
+          url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff;
+          sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi";
+        }
+      }
+    )
   '';
 
   # hacky fix: created binaries need to be run before installation
diff --git a/pkgs/development/compilers/llvm/3.9/libc++/default.nix b/pkgs/development/compilers/llvm/3.9/libc++/default.nix
index f656f553f16b..ad514b0daa54 100644
--- a/pkgs/development/compilers/llvm/3.9/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/3.9/libc++/default.nix
@@ -14,7 +14,10 @@ stdenv.mkDerivation rec {
     cmakeFlagsArray=($cmakeFlagsArray -DLIBCXX_CXX_ABI_INCLUDE_PATHS="$NIX_BUILD_TOP/libcxxabi-${version}.src/include")
   '';
 
-  patches = lib.optional stdenv.isDarwin ./darwin.patch;
+  patches = [
+    # glibc 2.26 fix
+    ./xlocale-glibc-2.26.patch
+  ] ++ lib.optional stdenv.isDarwin ./darwin.patch;
 
   buildInputs = [ cmake libcxxabi ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
 
diff --git a/pkgs/development/compilers/llvm/3.9/libc++/xlocale-glibc-2.26.patch b/pkgs/development/compilers/llvm/3.9/libc++/xlocale-glibc-2.26.patch
new file mode 100644
index 000000000000..4cc042554c85
--- /dev/null
+++ b/pkgs/development/compilers/llvm/3.9/libc++/xlocale-glibc-2.26.patch
@@ -0,0 +1,19 @@
+diff --git a/include/__locale b/include/__locale
+index 7bc701d..ea75c86 100644
+--- a/include/__locale
++++ b/include/__locale
+@@ -34,12 +34,12 @@
+ # include <support/solaris/xlocale.h>
+ #elif defined(_NEWLIB_VERSION)
+ # include <support/newlib/xlocale.h>
+-#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
++#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
+     || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
+ # include <xlocale.h>
+ #elif defined(_LIBCPP_HAS_MUSL_LIBC)
+ # include <support/musl/xlocale.h>
+-#endif // __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__
++#endif // __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__
+ 
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #pragma GCC system_header
diff --git a/pkgs/development/compilers/llvm/3.9/llvm.nix b/pkgs/development/compilers/llvm/3.9/llvm.nix
index 809c49ac24a2..495f95a5bbdb 100644
--- a/pkgs/development/compilers/llvm/3.9/llvm.nix
+++ b/pkgs/development/compilers/llvm/3.9/llvm.nix
@@ -91,6 +91,20 @@ in stdenv.mkDerivation rec {
   + stdenv.lib.optionalString (enableSharedLibraries) ''
     substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
     patch -p1 < ./llvm-outputs.patch
+  ''
+  + stdenv.lib.optionalString (stdenv ? glibc) ''
+    (
+      cd projects/compiler-rt
+      patch -p1 < ${
+        fetchpatch {
+          name = "sigaltstack.patch"; # for glibc-2.26
+          url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff;
+          sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi";
+        }
+      }
+      substituteInPlace lib/esan/esan_sideline_linux.cpp \
+        --replace 'struct sigaltstack' 'stack_t'
+    )
   '';
 
   # hacky fix: created binaries need to be run before installation
diff --git a/pkgs/development/compilers/llvm/4/libc++/default.nix b/pkgs/development/compilers/llvm/4/libc++/default.nix
index b74d2fb89dcd..db751bcffd42 100644
--- a/pkgs/development/compilers/llvm/4/libc++/default.nix
+++ b/pkgs/development/compilers/llvm/4/libc++/default.nix
@@ -10,8 +10,12 @@ stdenv.mkDerivation rec {
     export LIBCXXABI_INCLUDE_DIR="$PWD/$(ls -d libcxxabi-${version}*)/include"
   '';
 
-  # https://github.com/llvm-mirror/libcxx/commit/bcc92d75df0274b9593ebd097fcae60494e3bffc
-  patches = [ ./pthread_mach_thread_np.patch ];
+  patches = [
+    # https://github.com/llvm-mirror/libcxx/commit/bcc92d75df0274b9593ebd097fcae60494e3bffc
+    ./pthread_mach_thread_np.patch
+    # glibc 2.26 fix
+    ./xlocale-glibc-2.26.patch
+  ];
 
   prePatch = ''
     substituteInPlace lib/CMakeLists.txt --replace "/usr/lib/libc++" "\''${LIBCXX_LIBCXXABI_LIB_PATH}/libc++"
diff --git a/pkgs/development/compilers/llvm/4/libc++/xlocale-glibc-2.26.patch b/pkgs/development/compilers/llvm/4/libc++/xlocale-glibc-2.26.patch
new file mode 100644
index 000000000000..e411d85066b4
--- /dev/null
+++ b/pkgs/development/compilers/llvm/4/libc++/xlocale-glibc-2.26.patch
@@ -0,0 +1,19 @@
+diff --git a/include/__locale b/include/__locale
+index f4882de..29443b4 100644
+--- a/include/__locale
++++ b/include/__locale
+@@ -34,12 +34,12 @@
+ # include <support/solaris/xlocale.h>
+ #elif defined(_NEWLIB_VERSION)
+ # include <support/newlib/xlocale.h>
+-#elif (defined(__GLIBC__) || defined(__APPLE__)      || defined(__FreeBSD__) \
++#elif (defined(__APPLE__)      || defined(__FreeBSD__) \
+     || defined(__EMSCRIPTEN__) || defined(__IBMCPP__))
+ # include <xlocale.h>
+ #elif defined(_LIBCPP_HAS_MUSL_LIBC)
+ # include <support/musl/xlocale.h>
+-#endif // __GLIBC__ || __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__
++#endif // __APPLE__ || __FreeBSD__ || __sun__ || __EMSCRIPTEN__ || __IBMCPP__
+ 
+ #if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
+ #pragma GCC system_header
diff --git a/pkgs/development/compilers/llvm/4/llvm.nix b/pkgs/development/compilers/llvm/4/llvm.nix
index e90603ffefae..332fee8529ba 100644
--- a/pkgs/development/compilers/llvm/4/llvm.nix
+++ b/pkgs/development/compilers/llvm/4/llvm.nix
@@ -67,6 +67,20 @@ in stdenv.mkDerivation rec {
   + stdenv.lib.optionalString (enableSharedLibraries) ''
     substitute '${./llvm-outputs.patch}' ./llvm-outputs.patch --subst-var lib
     patch -p1 < ./llvm-outputs.patch
+  ''
+  + stdenv.lib.optionalString (stdenv ? glibc) ''
+    (
+      cd projects/compiler-rt
+      patch -p1 < ${
+        fetchpatch {
+          name = "sigaltstack.patch"; # for glibc-2.26
+          url = https://github.com/llvm-mirror/compiler-rt/commit/8a5e425a68d.diff;
+          sha256 = "0h4y5vl74qaa7dl54b1fcyqalvlpd8zban2d1jxfkxpzyi7m8ifi";
+        }
+      }
+      substituteInPlace lib/esan/esan_sideline_linux.cpp \
+        --replace 'struct sigaltstack' 'stack_t'
+    )
   '';
 
   # hacky fix: created binaries need to be run before installation
diff --git a/pkgs/development/compilers/mkcl/default.nix b/pkgs/development/compilers/mkcl/default.nix
index daebf3b284ee..8ec249ed360a 100644
--- a/pkgs/development/compilers/mkcl/default.nix
+++ b/pkgs/development/compilers/mkcl/default.nix
@@ -1,16 +1,18 @@
-{ stdenv, fetchgit, makeWrapper, gmp, gcc }:
+{ stdenv, fetchFromGitHub, makeWrapper, gmp, gcc }:
 
-stdenv.mkDerivation rec {
-  v = "1.1.9";
-  name = "mkcl-${v}";
+with stdenv.lib; stdenv.mkDerivation rec {
+  name = "mkcl-${version}";
+  version = "1.1.10.2017-11-14";
 
-  src = fetchgit {
-    url = "https://github.com/jcbeaudoin/mkcl.git";
-    rev = "86768cc1dfc2cc9caa1fe9696584bb25ea6c1429";
-    sha256 = "1gsvjp9xlnjccg0idi8x8gzkn6hlrqia95jh3zx7snm894503mf1";
+  src = fetchFromGitHub {
+    owner = "jcbeaudoin";
+    repo = "mkcl";
+    rev = "d3f5afe945907153db2be5a17a419966f83d7653";
+    sha256 = "1jfmnh96b5dy1874a9y843vihd14ya4by46rb4h5izldp6x3j3kl";
   };
 
-  buildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ];
+
   propagatedBuildInputs = [ gmp ];
 
   hardeningDisable = [ "format" ];
@@ -20,16 +22,27 @@ stdenv.mkDerivation rec {
     "GMP_LDFLAGS=-L${gmp.out}/lib"
   ];
 
+  # tinycc configure flags copied from the tinycc derivation.
+  postConfigure = ''(
+    cd contrib/tinycc
+    ./configure --cc=cc \
+      --elfinterp=$(< $NIX_CC/nix-support/dynamic-linker) \
+      --crtprefix=${getLib stdenv.cc.libc}/lib \
+      --sysincludepaths=${getDev stdenv.cc.libc}/include:{B}/include \
+      --libpaths=${getLib stdenv.cc.libc}/lib
+  )'';
+
   postInstall = ''
     wrapProgram $out/bin/mkcl --prefix PATH : "${gcc}/bin"
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "ANSI Common Lisp Implementation";
     homepage = https://common-lisp.net/project/mkcl/;
-    license = stdenv.lib.licenses.lgpl2Plus;
-    platforms = stdenv.lib.platforms.linux;
-    maintainers = [stdenv.lib.maintainers.tohl];
+    license = licenses.lgpl2Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ tohl ];
   };
 }
-
diff --git a/pkgs/development/compilers/mono/4.8.nix b/pkgs/development/compilers/mono/4.8.nix
new file mode 100644
index 000000000000..6d870ae30680
--- /dev/null
+++ b/pkgs/development/compilers/mono/4.8.nix
@@ -0,0 +1,7 @@
+{ stdenv, callPackage, Foundation, libobjc }:
+
+callPackage ./generic-cmake.nix (rec {
+  inherit Foundation libobjc;
+  version = "4.8.1.0";
+  sha256 = "1vyvp2g28ihcgxgxr8nhzyzdmzicsh5djzk8dk1hj5p5f2k3ijqq";
+})
diff --git a/pkgs/development/compilers/neko/default.nix b/pkgs/development/compilers/neko/default.nix
index e90f3af704df..5b90dc7debc1 100644
--- a/pkgs/development/compilers/neko/default.nix
+++ b/pkgs/development/compilers/neko/default.nix
@@ -30,6 +30,9 @@ stdenv.mkDerivation rec {
           + "c6d9c6d796200990b3b6a53a4dc716c9192398e6.patch";
       sha256 = "1pq0qhhb9gbhc3zbgylwp0amhwsz0q0ggpj6v2xgv0hfy7d63rcd";
     })
+    # Glibc 2.26 no longer has xlocale.h, patch backported from upstream commit
+    # e286c8f3301fa443255a3101d14b7392467051b8.
+    ./xlocale-fix.patch
   ];
 
   buildInputs =
diff --git a/pkgs/development/compilers/neko/xlocale-fix.patch b/pkgs/development/compilers/neko/xlocale-fix.patch
new file mode 100644
index 000000000000..f4c53f3a43d6
--- /dev/null
+++ b/pkgs/development/compilers/neko/xlocale-fix.patch
@@ -0,0 +1,59 @@
+commit 31d3ac3d691b2a1b07991e67302fd52b0f409cac
+Author: Andy Li <andy@onthewings.net>
+Date:   Thu Jul 13 13:23:33 2017 +0800
+
+    include xlocale.h only if it is available since it is removed in recent glibc
+    
+    see: https://bugzilla.redhat.com/show_bug.cgi?id=1464244
+    
+    (Backported from e286c8f3301fa443255a3101d14b7392467051b8)
+
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 8de1702..d64cab9 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,5 +1,6 @@
+ cmake_minimum_required(VERSION 2.8.7)
+ 
++include(CheckIncludeFile)
+ project(neko C)
+ 
+ set(CMAKE_OSX_ARCHITECTURES x86_64)
+@@ -48,6 +49,8 @@ set(NEKO_VERSION_MAJOR 2)
+ set(NEKO_VERSION_MINOR 1)
+ set(NEKO_VERSION_PATCH 0)
+ 
++check_include_file(xlocale.h HAVE_XLOCALE_H)
++
+ configure_file (
+ 	"${CMAKE_SOURCE_DIR}/vm/neko.h.in"
+ 	"${CMAKE_BINARY_DIR}/neko.h"
+diff --git a/libs/std/sys.c b/libs/std/sys.c
+index 8003d41..ae0cfee 100644
+--- a/libs/std/sys.c
++++ b/libs/std/sys.c
+@@ -41,7 +41,11 @@
+ #	include <sys/time.h>
+ #	include <sys/times.h>
+ #	include <sys/wait.h>
++#ifdef HAVE_XLOCALE_H
+ #	include <xlocale.h>
++#else
++#	include <locale.h>
++#endif
+ #endif
+ 
+ #ifdef NEKO_MAC
+diff --git a/vm/neko.h.in b/vm/neko.h.in
+index bb9ec1b..147ecce 100644
+--- a/vm/neko.h.in
++++ b/vm/neko.h.in
+@@ -88,6 +88,8 @@
+ #	include <stdint.h>
+ #endif
+ 
++#cmakedefine HAVE_XLOCALE_H
++
+ #define NEKO_VERSION_MAJOR	@NEKO_VERSION_MAJOR@
+ #define NEKO_VERSION_MINOR	@NEKO_VERSION_MINOR@
+ #define NEKO_VERSION_PATCH	@NEKO_VERSION_PATCH@
diff --git a/pkgs/development/compilers/ocaml/4.06.nix b/pkgs/development/compilers/ocaml/4.06.nix
new file mode 100644
index 000000000000..b913d169e97a
--- /dev/null
+++ b/pkgs/development/compilers/ocaml/4.06.nix
@@ -0,0 +1,9 @@
+import ./generic.nix {
+  major_version = "4";
+  minor_version = "06";
+  patch_version = "0";
+  sha256 = "1dy542yfnnw10zvh5s9qzswliq11mg7l0bcyss3501qw3vwvadhj";
+
+  # If the executable is stipped it does not work
+  dontStrip = true;
+}
diff --git a/pkgs/development/compilers/orc/default.nix b/pkgs/development/compilers/orc/default.nix
index 5e0cbb9d395d..543fc6dfa48f 100644
--- a/pkgs/development/compilers/orc/default.nix
+++ b/pkgs/development/compilers/orc/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "orc-0.4.26";
+  name = "orc-0.4.27";
 
   src = fetchurl {
-    url = "http://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
-    sha256 = "0jd69ynvr3k70mlxxgbsk047l1rd63m1wkj3qdcq7644xy0gllkx";
+    url = "https://gstreamer.freedesktop.org/src/orc/${name}.tar.xz";
+    sha256 = "14vbwdydwarcvswzf744jdjb3ibhv6k4j6hzdacfan41zic3xrai";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/compilers/ponyc/pony-stable.nix b/pkgs/development/compilers/ponyc/pony-stable.nix
index 21488361f4a9..0e382efd7079 100644
--- a/pkgs/development/compilers/ponyc/pony-stable.nix
+++ b/pkgs/development/compilers/ponyc/pony-stable.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "pony-stable-${version}";
-  version = "0.0.1";
+  version = "0.1.1";
 
   src = fetchFromGitHub {
     owner = "ponylang";
     repo = "pony-stable";
     rev = version;
-    sha256 = "0q05135mnzzdwam7cnmxq34clqhmc83yp2gi63sx20c74rcw3p6v";
+    sha256 = "0v4039iijjv93m89s3dsikcbp1y0hml6g1agj44s6w2g4m8kiiw3";
   };
 
   buildInputs = [ ponyc ];
diff --git a/pkgs/development/compilers/purescript/psc-package/default.nix b/pkgs/development/compilers/purescript/psc-package/default.nix
index 306eaa93958f..8b2a0a0eb391 100644
--- a/pkgs/development/compilers/purescript/psc-package/default.nix
+++ b/pkgs/development/compilers/purescript/psc-package/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 mkDerivation rec {
   pname = "psc-package";
-  version = "0.2.0";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "purescript";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vid8vc8n8xj0qa4gnm1any9s18rdh7yn960vgix17r7a3bdndwb";
+    sha256 = "0m1vcxa5zs4sqnnwgmxkhw1isdlmirp12yimn5345vwfvlxkc8kp";
   };
 
   isLibrary = false;
diff --git a/pkgs/development/compilers/rust/binaryBuild.nix b/pkgs/development/compilers/rust/binaryBuild.nix
index 37b06555bdbd..e67b305106e1 100644
--- a/pkgs/development/compilers/rust/binaryBuild.nix
+++ b/pkgs/development/compilers/rust/binaryBuild.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage, curl
+{ stdenv, fetchurl, makeWrapper, cacert, zlib, buildRustPackage, curl, darwin
 , version
 , src
 , platform
@@ -6,12 +6,32 @@
 }:
 
 let
-  inherit (stdenv.lib) optionalString;
-
-  needsPatchelf = stdenv.isLinux;
+  inherit (stdenv.lib) getLib optionalString;
+  inherit (darwin) libiconv;
+  inherit (darwin.apple_sdk.frameworks) Security;
 
   bootstrapping = versionType == "bootstrap";
 
+  patchBootstrapCargo = ''
+    ${optionalString (stdenv.isLinux && bootstrapping) ''
+      patchelf \
+        --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \
+        --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
+        "$out/bin/cargo"
+    ''}
+    ${optionalString (stdenv.isDarwin && bootstrapping) ''
+      install_name_tool \
+        -change /usr/lib/libiconv.2.dylib '${getLib libiconv}/lib/libiconv.2.dylib' \
+        "$out/bin/cargo"
+      install_name_tool \
+        -change /usr/lib/libcurl.4.dylib '${getLib curl}/lib/libcurl.4.dylib' \
+        "$out/bin/cargo"
+      install_name_tool \
+        -change /usr/lib/libz.1.dylib '${getLib zlib}/lib/libz.1.dylib' \
+        "$out/bin/cargo"
+    ''}
+  '';
+
   installComponents
     = "rustc,rust-std-${platform}"
     + (optionalString bootstrapping ",rust-docs,cargo")
@@ -34,35 +54,31 @@ rec {
       license = [ licenses.mit licenses.asl20 ];
     };
 
-    phases = ["unpackPhase" "installPhase"];
+    phases = ["unpackPhase" "installPhase" "fixupPhase"];
+
+    propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
     installPhase = ''
       ./install.sh --prefix=$out \
         --components=${installComponents}
 
-      ${optionalString (needsPatchelf && bootstrapping) ''
+      ${optionalString (stdenv.isLinux && bootstrapping) ''
         patchelf \
           --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-          "$out/bin/rustdoc"
+          "$out/bin/rustc"
         patchelf \
-          --set-rpath "${stdenv.lib.makeLibraryPath [ curl zlib ]}" \
           --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-          "$out/bin/cargo"
+          "$out/bin/rustdoc"
       ''}
 
-      ${optionalString needsPatchelf ''
-        patchelf \
-          --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-          "$out/bin/rustc"
+      ${patchBootstrapCargo}
 
       # 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 {
@@ -78,19 +94,16 @@ rec {
       license = [ licenses.mit licenses.asl20 ];
     };
 
+    phases = ["unpackPhase" "installPhase" "fixupPhase"];
+
     buildInputs = [ makeWrapper ];
-    phases = ["unpackPhase" "installPhase"];
+    propagatedBuildInputs = stdenv.lib.optional stdenv.isDarwin Security;
 
     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"
-      ''}
+      ${patchBootstrapCargo}
 
       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 24d63d515148..da9680943b57 100644
--- a/pkgs/development/compilers/rust/bootstrap.nix
+++ b/pkgs/development/compilers/rust/bootstrap.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, makeWrapper, cacert, zlib, curl }:
+{ stdenv, fetchurl, callPackage }:
 
 let
   # Note: the version MUST be one version prior to the version we're
@@ -29,9 +29,8 @@ let
      sha256 = hashes."${platform}";
   };
 
-in import ./binaryBuild.nix
-  { inherit stdenv fetchurl makeWrapper cacert zlib curl;
+in callPackage ./binaryBuild.nix
+  { inherit version src platform;
     buildRustPackage = null;
-    inherit version src platform;
     versionType = "bootstrap";
   }
diff --git a/pkgs/development/compilers/rust/rust-src.nix b/pkgs/development/compilers/rust/rust-src.nix
new file mode 100644
index 000000000000..1b819a7f6068
--- /dev/null
+++ b/pkgs/development/compilers/rust/rust-src.nix
@@ -0,0 +1,11 @@
+{ stdenv, rustc }:
+
+stdenv.mkDerivation {
+  name = "rust-src";
+  src = rustc.src;
+  phases = [ "unpackPhase" "installPhase" ];
+  installPhase = ''
+    mv src $out
+    rm -rf $out/{ci,doc,driver,etc,grammar,llvm,rt,rtstartup,rustllvm,test,tools,vendor}
+  '';
+}
diff --git a/pkgs/development/compilers/rust/rustc.nix b/pkgs/development/compilers/rust/rustc.nix
index a113f5db4807..9f96d05c1163 100644
--- a/pkgs/development/compilers/rust/rustc.nix
+++ b/pkgs/development/compilers/rust/rustc.nix
@@ -1,5 +1,6 @@
-{ stdenv, fetchurl, fetchgit, fetchzip, file, python2, tzdata, procps
-, llvm, jemalloc, ncurses, darwin, binutils, rustPlatform, git, cmake, curl
+{ stdenv, targetPackages
+, fetchurl, fetchgit, fetchzip, file, python2, tzdata, procps
+, llvm, jemalloc, ncurses, darwin, rustPlatform, git, cmake, curl
 , which, libffi, gdb
 , version
 , forceBundledLLVM ? false
@@ -49,7 +50,7 @@ stdenv.mkDerivation {
                 ++ [ "--enable-local-rust" "--local-rust-root=${rustPlatform.rust.rustc}" "--enable-rpath" ]
                 ++ [ "--enable-vendor" "--disable-locked-deps" ]
                 # ++ [ "--jemalloc-root=${jemalloc}/lib"
-                ++ [ "--default-linker=${stdenv.cc}/bin/cc" "--default-ar=${binutils.out}/bin/ar" ]
+                ++ [ "--default-linker=${targetPackages.stdenv.cc}/bin/cc" "--default-ar=${targetPackages.stdenv.cc.bintools}/bin/ar" ]
                 ++ optional (!forceBundledLLVM) [ "--enable-llvm-link-shared" ]
                 ++ optional (stdenv.cc.cc ? isClang) "--enable-clang"
                 ++ optional (targets != []) "--target=${target}"
diff --git a/pkgs/development/compilers/sbcl/1.2.0.nix b/pkgs/development/compilers/sbcl/1.2.0.nix
deleted file mode 100644
index 975cb7db1bbf..000000000000
--- a/pkgs/development/compilers/sbcl/1.2.0.nix
+++ /dev/null
@@ -1,84 +0,0 @@
-{ stdenv, fetchurl, sbclBootstrap, clisp}:
-
-stdenv.mkDerivation rec {
-  name    = "sbcl-${version}";
-  version = "1.2.0";
-
-  src = fetchurl {
-    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "13k20sys1v4lvgis8cnbczww6zs93rw176vz07g4jx06418k53x2";
-  };
-
-  buildInputs = [ ]
-    ++ (stdenv.lib.optional stdenv.isDarwin sbclBootstrap)
-    ++ (stdenv.lib.optional stdenv.isLinux clisp)
-    ;
-
-  patchPhase = ''
-    echo '"${version}.nixos"' > version.lisp-expr
-    echo "
-    (lambda (features)
-      (flet ((enable (x)
-               (pushnew x features))
-             (disable (x)
-               (setf features (remove x features))))
-        (enable :sb-thread))) " > customize-target-features.lisp
-
-    pwd
-
-    # SBCL checks whether files are up-to-date in many places..
-    # Unfortunately, same timestamp is not good enough
-    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
-    sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
-    sed -i src/cold/slam.lisp -e \
-      '/file-write-date input/a)'
-    sed -i src/cold/slam.lisp -e \
-      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
-    sed -i src/code/target-load.lisp -e \
-      '/date defaulted-fasl/a)'
-    sed -i src/code/target-load.lisp -e \
-      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
-
-    # Fix the tests
-    sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
-    sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
-    sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
-    sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
-
-    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
-    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
-
-    # Use whatever `cc` the stdenv provides
-    substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
-
-    substituteInPlace src/runtime/Config.x86-64-darwin \
-      --replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
-  '';
-
-  preBuild = ''
-    export INSTALL_ROOT=$out
-    mkdir -p test-home
-    export HOME=$PWD/test-home
-  '';
-
-  buildPhase = if stdenv.isLinux
-    then ''
-      sh make.sh clisp --prefix=$out
-    ''
-    else ''
-      sh make.sh --prefix=$out --xc-host='${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit'
-    '';
-
-  installPhase = ''
-    INSTALL_ROOT=$out sh install.sh
-  '';
-
-  meta = {
-    description = "Lisp compiler";
-    homepage = http://www.sbcl.org;
-    license = stdenv.lib.licenses.bsd3;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.all;
-    inherit version;
-  };
-}
diff --git a/pkgs/development/compilers/sbcl/1.3.12.nix b/pkgs/development/compilers/sbcl/1.3.12.nix
deleted file mode 100644
index 8fa4741a4a14..000000000000
--- a/pkgs/development/compilers/sbcl/1.3.12.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{ stdenv, fetchurl, writeText, sbclBootstrap
-, sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
-, threadSupport ? (stdenv.isi686 || stdenv.isx86_64)
-  # Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
-  # Note that the created binaries still need `patchelf --set-interpreter ...`
-  # to get rid of ${glibc} dependency.
-, purgeNixReferences ? false
-}:
-
-stdenv.mkDerivation rec {
-  name    = "sbcl-${version}";
-  version = "1.3.12";
-
-  src = fetchurl {
-    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "1hjr2xqazy4j0m58y4na6fz8ii3xflqairxy7vpd7ajbs00yqfc0";
-  };
-
-  patchPhase = ''
-    echo '"${version}.nixos"' > version.lisp-expr
-    echo "
-    (lambda (features)
-      (flet ((enable (x)
-               (pushnew x features))
-             (disable (x)
-               (setf features (remove x features))))
-    ''
-    + (if threadSupport then "(enable :sb-thread)" else "(disable :sb-thread)")
-    + stdenv.lib.optionalString stdenv.isArm "(enable :arm)"
-    + ''
-      )) " > customize-target-features.lisp
-
-    pwd
-
-    # SBCL checks whether files are up-to-date in many places..
-    # Unfortunately, same timestamp is not good enough
-    sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
-    sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
-    sed -i src/cold/slam.lisp -e \
-      '/file-write-date input/a)'
-    sed -i src/cold/slam.lisp -e \
-      '/file-write-date output/i(or (and (= 2208988801 (file-write-date output)) (= 2208988801 (file-write-date input)))'
-    sed -i src/code/target-load.lisp -e \
-      '/date defaulted-fasl/a)'
-    sed -i src/code/target-load.lisp -e \
-      '/date defaulted-source/i(or (and (= 2208988801 (file-write-date defaulted-source-truename)) (= 2208988801 (file-write-date defaulted-fasl-truename)))'
-
-    # Fix the tests
-    sed -e '/deftest pwent/inil' -i contrib/sb-posix/posix-tests.lisp
-    sed -e '/deftest grent/inil' -i contrib/sb-posix/posix-tests.lisp
-    sed -e '/deftest .*ent.non-existing/,+5d' -i contrib/sb-posix/posix-tests.lisp
-    sed -e '/deftest \(pw\|gr\)ent/,+3d' -i contrib/sb-posix/posix-tests.lisp
-
-    sed -e '5,$d' -i contrib/sb-bsd-sockets/tests.lisp
-    sed -e '5,$d' -i contrib/sb-simple-streams/*test*.lisp
-
-    # Use whatever `cc` the stdenv provides
-    substituteInPlace src/runtime/Config.x86-64-darwin --replace gcc cc
-
-    substituteInPlace src/runtime/Config.x86-64-darwin \
-      --replace mmacosx-version-min=10.4 mmacosx-version-min=10.5
-  ''
-  + (if purgeNixReferences
-    then
-      # This is the default location to look for the core; by default in $out/lib/sbcl
-      ''
-        sed 's@^\(#define SBCL_HOME\) .*$@\1 "/no-such-path"@' \
-          -i src/runtime/runtime.c
-      ''
-    else
-      # Fix software version retrieval
-      ''
-        sed -e "s@/bin/uname@$(command -v uname)@g" -i src/code/*-os.lisp
-      ''
-    );
-
-
-  preBuild = ''
-    export INSTALL_ROOT=$out
-    mkdir -p test-home
-    export HOME=$PWD/test-home
-  '';
-
-  buildPhase = ''
-    sh make.sh --prefix=$out --xc-host="${sbclBootstrapHost}"
-  '';
-
-  installPhase = ''
-    INSTALL_ROOT=$out sh install.sh
-  '';
-
-  # Specifying $SBCL_HOME is only truly needed with `purgeNixReferences = true`.
-  setupHook = writeText "setupHook.sh" ''
-    envHooks+=(_setSbclHome)
-    _setSbclHome() {
-      export SBCL_HOME='@out@/lib/sbcl/'
-    }
-  '';
-
-  meta = sbclBootstrap.meta // {
-    inherit version;
-    updateWalker = true;
-  };
-}
diff --git a/pkgs/development/compilers/sbcl/default.nix b/pkgs/development/compilers/sbcl/default.nix
index 85004767e582..9b7ce4120c48 100644
--- a/pkgs/development/compilers/sbcl/default.nix
+++ b/pkgs/development/compilers/sbcl/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, writeText, sbclBootstrap
+{ stdenv, fetchurl, fetchgit, writeText, sbclBootstrap
 , sbclBootstrapHost ? "${sbclBootstrap}/bin/sbcl --disable-debugger --no-userinit --no-sysinit"
 , threadSupport ? (stdenv.isi686 || stdenv.isx86_64 || "aarch64-linux" == stdenv.system)
   # Meant for sbcl used for creating binaries portable to non-NixOS via save-lisp-and-die.
@@ -9,11 +9,16 @@
 
 stdenv.mkDerivation rec {
   name    = "sbcl-${version}";
-  version = "1.4.0";
+  version = "1.4.1.0.20171104";
 
-  src = fetchurl {
-    url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
-    sha256 = "0s87ax5hg9hz6b8kc9yrjckgz56s9iv96l2dcq216cbqkykrrm88";
+  #src = fetchurl {
+  #  url    = "mirror://sourceforge/project/sbcl/sbcl/${version}/${name}-source.tar.bz2";
+  #  sha256 = "1qdaf847g5p2zgq00ax5hdy4r82bl3ss382psd0kkca1h83cdiz8";
+  #};
+  src = fetchgit {
+    url    = "https://git.code.sf.net/p/sbcl/sbcl";
+    sha256 = "1fq34h8h8pax5q17w84kwv5amiaag3ikkq3cdmb31r64736mxi6r";
+    rev    = "11aa57d23bc464d6a6867a80e946907404ceadd1";
   };
 
   patchPhase = ''
@@ -35,7 +40,7 @@ stdenv.mkDerivation rec {
     # SBCL checks whether files are up-to-date in many places..
     # Unfortunately, same timestamp is not good enough
     sed -e 's@> x y@>= x y@' -i contrib/sb-aclrepl/repl.lisp
-    sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
+    #sed -e '/(date)/i((= date 2208988801) 2208988800)' -i contrib/asdf/asdf.lisp
     sed -i src/cold/slam.lisp -e \
       '/file-write-date input/a)'
     sed -i src/cold/slam.lisp -e \
diff --git a/pkgs/development/compilers/scala/dotty.nix b/pkgs/development/compilers/scala/dotty.nix
new file mode 100644
index 000000000000..cb0c43550022
--- /dev/null
+++ b/pkgs/development/compilers/scala/dotty.nix
@@ -0,0 +1,46 @@
+{ stdenv, fetchurl, makeWrapper, jre }:
+
+stdenv.mkDerivation rec {
+  version = "0.4.0-RC1";
+  name = "dotty-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/lampepfl/dotty/releases/download/${version}/${name}.tar.gz";
+    sha256 = "1d1ab08b85bd6898ce6273fa50818de0d314fc6e5377fb6ee05494827043321b";
+  };
+
+  propagatedBuildInputs = [ jre ] ;
+  buildInputs = [ makeWrapper ] ;
+
+  installPhase = ''
+    mkdir -p $out
+    mv * $out
+
+    mkdir -p $out/shared
+    mv $out/bin/common $out/shared
+  '';
+
+  fixupPhase = ''
+    for file in $out/bin/* ; do
+      substituteInPlace $file \
+        --replace '$PROG_HOME/bin/common' $out/shared/common
+
+      wrapProgram $file \
+        --set JAVA_HOME ${jre}
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Research platform for new language concepts and compiler technologies for Scala.";
+    longDescription = ''
+       Dotty is a platform to try out new language concepts and compiler technologies for Scala.
+       The focus is mainly on simplification. We remove extraneous syntax (e.g. no XML literals),
+       and try to boil down Scala’s types into a smaller set of more fundamental constructs.
+       The theory behind these constructs is researched in DOT, a calculus for dependent object types.
+    '';
+    homepage = http://dotty.epfl.ch/;
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = [maintainers.karolchmist];
+  };
+}
diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix
index 7484d2568be9..937977b0a97d 100644
--- a/pkgs/development/compilers/swift/default.nix
+++ b/pkgs/development/compilers/swift/default.nix
@@ -1,4 +1,5 @@
 { stdenv
+, targetPackages
 , cmake
 , coreutils
 , glibc
@@ -26,7 +27,6 @@
 , rsync
 , git
 , libgit2
-, binutils
 , fetchFromGitHub
 , paxctl
 , findutils
@@ -250,7 +250,7 @@ stdenv.mkDerivation rec {
 
     # TODO: Use wrappers to get these on the PATH for swift tools, instead
     ln -s ${clang}/bin/* $out/bin/
-    ln -s ${binutils}/bin/ar $out/bin/ar
+    ln -s ${targetPackages.stdenv.cc.bintools}/bin/ar $out/bin/ar
   '';
 
   # Hack to avoid TMPDIR in RPATHs.
diff --git a/pkgs/development/compilers/teyjus/default.nix b/pkgs/development/compilers/teyjus/default.nix
index 301915b7a26b..222a22bf1cd9 100644
--- a/pkgs/development/compilers/teyjus/default.nix
+++ b/pkgs/development/compilers/teyjus/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "teyjus-2.0b2";
 
   src = fetchurl {
-    url = "https://teyjus.googlecode.com/files/teyjus-source-2.0-b2.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/teyjus/teyjus-source-2.0-b2.tar.gz";
     sha256 = "f589fb460d7095a6e674b7a6413772c41b98654c38602c3e8c477a976da99052";
   };
 
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "An efficient implementation of the Lambda Prolog language";
-    homepage = https://code.google.com/p/teyjus/;
+    homepage = https://github.com/teyjus/teyjus;
     license = stdenv.lib.licenses.gpl3;
     maintainers = [ maintainers.bcdarwin ];
     platforms = platforms.linux;
diff --git a/pkgs/development/compilers/yosys/default.nix b/pkgs/development/compilers/yosys/default.nix
index 02f5d3494e65..b1c36f841a4b 100644
--- a/pkgs/development/compilers/yosys/default.nix
+++ b/pkgs/development/compilers/yosys/default.nix
@@ -4,21 +4,21 @@
 
 stdenv.mkDerivation rec {
   name = "yosys-${version}";
-  version = "2017.10.16";
+  version = "2017.11.05";
 
   srcs = [
     (fetchFromGitHub {
       owner = "cliffordwolf";
       repo = "yosys";
-      rev = "716dbc92745aa8b41d85a60d50263433d5a79393";
-      sha256 = "0va77my4iddsw6psgjfhfgs0z0z1hpj0l8ipchcl8crpxipxcr77";
+      rev = "4f31cb6daddedcee467d85797d81b79360ce1826";
+      sha256 = "1a5n0g5kpjsy8f99f64w81gkrr450wvffp407r1pddl8pmb0c3r7";
       name = "yosys";
     })
     (fetchFromBitbucket {
       owner = "alanmi";
       repo = "abc";
-      rev = "6283c5d99b06";
-      sha256 = "1mv8r1la4d4r9bk32sl4nq3flyxi8jf2ccaak64j5rz9hirrlpla";
+      rev = "f6838749f234";
+      sha256 = "0n7ywvih958h1c4n7a398a9w3qikhkv885fx5j3y2a0xwqc86m4y";
       name = "yosys-abc";
     })
   ];
diff --git a/pkgs/development/coq-modules/CoLoR/default.nix b/pkgs/development/coq-modules/CoLoR/default.nix
index ececcf807405..ec190d5a1d6a 100644
--- a/pkgs/development/coq-modules/CoLoR/default.nix
+++ b/pkgs/development/coq-modules/CoLoR/default.nix
@@ -1,19 +1,19 @@
-{ stdenv, fetchurl, coq }:
+{ stdenv, fetchurl, coq, coqPackages }:
 
 if !stdenv.lib.versionAtLeast coq.coq-version "8.6"
 then throw "CoLoR is not available for Coq ${coq.coq-version}"
 else
 
 stdenv.mkDerivation {
-  name = "coq${coq.coq-version}-CoLoR-1.3.0";
+  name = "coq${coq.coq-version}-CoLoR-1.4.0";
 
   src = fetchurl {
-    url = https://gforge.inria.fr/frs/download.php/file/36399/color.1.3.0.tar.gz;
-    sha256 = "0n7431mc4a5bn9fsyk5167j2vnbxz4vgggjch4pm0x58lda8mxv1";
+    url = https://gforge.inria.fr/frs/download.php/file/37205/color.1.4.0.tar.gz;
+    sha256 = "1jsp9adsh7w59y41ihbwchryjhjpajgs9bhf8rnb4b3hzccqxgag";
   };
 
-  buildInputs = [ coq ];
-  enableParallelBuilding = true;
+  buildInputs = [ coq coqPackages.bignums ];
+  enableParallelBuilding = false;
 
   installPhase = ''
     make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
diff --git a/pkgs/development/coq-modules/QuickChick/default.nix b/pkgs/development/coq-modules/QuickChick/default.nix
index af509dee29c4..af7ef8001d39 100644
--- a/pkgs/development/coq-modules/QuickChick/default.nix
+++ b/pkgs/development/coq-modules/QuickChick/default.nix
@@ -15,9 +15,15 @@ let param =
     };
 
     "8.6" = {
-      version = "20170616";
-      rev = "366ee3f8e599b5cab438a63a09713f44ac544c5a";
-      sha256 = "06kwnrfndnr6w8bmaa2s0i0rkqyv081zj55z3vcyn0wr6x6mlsz9";
+      version = "20171102";
+      rev = "0fdb769e1dc87a278383b44a9f5102cc7ccbafcf";
+      sha256 = "0fri4nih40vfb0fbr82dsi631ydkw48xszinq43lyinpknf54y17";
+    };
+
+    "8.7" = {
+      version = "20171102";
+      rev = "ddf746809c211fa7edfdbfe459d5a7e1cca47a44";
+      sha256 = "0jg3x0w8p088b8369qx492hjpq09f9h2i0li6ph3pny6hdkpdzsi";
     };
 
   }."${coq.coq-version}"
@@ -32,12 +38,14 @@ stdenv.mkDerivation rec {
     inherit (param) rev sha256;
   };
 
-  buildInputs = [ coq.ocaml coq.camlp5 ];
+  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib ];
   propagatedBuildInputs = [ coq ssreflect ];
 
-  enableParallelBuilding = true;
+  enableParallelBuilding = false;
 
-  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+  installPhase = ''
+    make -f Makefile.coq COQLIB=$out/lib/coq/${coq.coq-version}/ install
+  '';
 
   meta = with stdenv.lib; {
     homepage = git://github.com/QuickChick/QuickChick.git;
diff --git a/pkgs/development/coq-modules/bignums/default.nix b/pkgs/development/coq-modules/bignums/default.nix
new file mode 100644
index 000000000000..5762da66fedd
--- /dev/null
+++ b/pkgs/development/coq-modules/bignums/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, fetchFromGitHub, coq }:
+
+let rev_and_sha = {
+  "8.6" = {
+    rev = "v8.6.0";
+    sha256 = "0553pcsy21cyhmns6k9qggzb67az8kl31d0lwlnz08bsqswigzrj";
+  };
+  "8.7" = {
+    rev = "V8.7.0";
+    sha256 = "11c4sdmpd3l6jjl4v6k213z9fhrmmm1xnly3zmzam1wrrdif4ghl";
+  };
+};
+in
+
+if ! (rev_and_sha ? "${coq.coq-version}") then
+  throw "bignums is not available for Coq ${coq.coq-version}"
+else with rev_and_sha."${coq.coq-version}";
+
+stdenv.mkDerivation rec {
+
+  name = "coq${coq.coq-version}-bignums";
+
+  src = fetchFromGitHub {
+    owner = "coq";
+    repo = "bignums";
+    inherit rev sha256;
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib coq ];
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    license = licenses.lgpl2;
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/dpdgraph/default.nix b/pkgs/development/coq-modules/dpdgraph/default.nix
index 65be1f4e0667..425ab408c8c6 100644
--- a/pkgs/development/coq-modules/dpdgraph/default.nix
+++ b/pkgs/development/coq-modules/dpdgraph/default.nix
@@ -1,6 +1,11 @@
 { stdenv, fetchFromGitHub, autoreconfHook, coq, ocamlPackages }:
 
 let param = {
+  "8.7" = {
+    version = "0.6.2";
+    rev = "d76ddde37d918569945774733b7997e8b24daf51";
+    sha256 = "04lnf4b25yarysj848cfl8pd3i3pr3818acyp9hgwdgd1rqmhjwm";
+  };
   "8.6" = {
     version = "0.6.1";
     rev = "c3b87af6bfa338e18b83f014ebd0e56e1f611663";
@@ -22,7 +27,7 @@ stdenv.mkDerivation {
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ coq ]
+  buildInputs = [ coq coq.camlp5 ]
   ++ (with ocamlPackages; [ ocaml findlib ocamlgraph ]);
 
   preInstall = ''
diff --git a/pkgs/development/coq-modules/equations/default.nix b/pkgs/development/coq-modules/equations/default.nix
new file mode 100644
index 000000000000..eb05a1be53e2
--- /dev/null
+++ b/pkgs/development/coq-modules/equations/default.nix
@@ -0,0 +1,45 @@
+{ stdenv, fetchFromGitHub, coq }:
+
+let param =
+  {
+    "8.6" = {
+      version = "1.0-beta";
+      rev = "v1.0-beta";
+      sha256 = "00pzlh5ij7s2hmpvimq1hjq3fjf0nrk997l3dl51kigx5r5dnvxd";
+    };
+
+    "8.7" = {
+      version = "cdf8c53";
+      rev = "cdf8c53f1f2274b29506f53bff476409ce717dc5";
+      sha256 = "0ipjzmviwnp0ippbkn03ld4j4j0dkzmyidmj4dvpdvymrkv31ai1";
+    };
+
+  }."${coq.coq-version}"
+; in
+
+stdenv.mkDerivation rec {
+
+  name = "coq${coq.coq-version}-equations-${version}";
+  version = "${param.version}";
+
+  src = fetchFromGitHub {
+    owner = "mattam82";
+    repo = "Coq-Equations";
+    rev = "${param.rev}";
+    sha256 = "${param.sha256}";
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 coq.findlib coq ];
+
+  preBuild = "coq_makefile -f _CoqProject -o Makefile";
+
+  installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
+
+  meta = with stdenv.lib; {
+    homepage = https://mattam82.github.io/Coq-Equations/;
+    description = "A plugin for Coq to add dependent pattern-matching";
+    maintainers = with maintainers; [ jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/interval/default.nix b/pkgs/development/coq-modules/interval/default.nix
index a8d3f9ad144c..683ab80b36bb 100644
--- a/pkgs/development/coq-modules/interval/default.nix
+++ b/pkgs/development/coq-modules/interval/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchurl, which, coq, coquelicot, flocq, mathcomp }:
+{ stdenv, fetchurl, which, coq, coquelicot, flocq, mathcomp
+, bignums ? null }:
 
 let param =
   if stdenv.lib.versionAtLeast coq.coq-version "8.5"
@@ -22,7 +23,7 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ which ];
   buildInputs = [ coq ];
-  propagatedBuildInputs = [ coquelicot flocq mathcomp ];
+  propagatedBuildInputs = [ bignums coquelicot flocq mathcomp ];
 
   configurePhase = "./configure --libdir=$out/lib/coq/${coq.coq-version}/user-contrib/Interval";
   buildPhase = "./remake";
diff --git a/pkgs/development/coq-modules/math-classes/default.nix b/pkgs/development/coq-modules/math-classes/default.nix
index 0e7549623e7a..d045ec4223b2 100644
--- a/pkgs/development/coq-modules/math-classes/default.nix
+++ b/pkgs/development/coq-modules/math-classes/default.nix
@@ -1,21 +1,22 @@
-{ stdenv, fetchurl, coq }:
+{ stdenv, fetchFromGitHub, coq, coqPackages }:
 
-stdenv.mkDerivation {
-  name = "coq${coq.coq-version}-math-classes-1.0.6";
+if ! stdenv.lib.versionAtLeast coq.coq-version "8.6" then
+  throw "Math-Classes requires Coq 8.6 or later."
+else
 
-  src = fetchurl {
-    url = https://github.com/math-classes/math-classes/archive/1.0.6.tar.gz;
-    sha256 = "071hgjk4bz2ybci7dp2mw7xqmxmm2zph7kj28xcdg28iy796lf02";
-  };
+stdenv.mkDerivation rec {
+
+  name = "coq${coq.coq-version}-math-classes-${version}";
+  version = "1.0.7";
 
-  # src = fetchFromGitHub {
-  #   owner  = "math-classes";
-  #   repo   = "math-classes";
-  #   rev    = "1d426a08c2fbfd68bd1b3622fe8f31dd03712e6c";
-  #   sha256 = "3kjc2wzb6n9hcqb2ijx2pckn8jk5g09crrb87yb4s9m0mrw79smr";
-  # };
+  src = fetchFromGitHub {
+    owner = "math-classes";
+    repo = "math-classes";
+    rev = version;
+    sha256 = "0wgnczacvkb2pc3vjbni9bwjijfyd5jcdnyyjg8185hkf9zzabgi";
+  };
 
-  buildInputs = [ coq ];
+  buildInputs = [ coq coqPackages.bignums ];
   enableParallelBuilding = true;
   installFlags = "COQLIB=$(out)/lib/coq/${coq.coq-version}/";
 
diff --git a/pkgs/development/coq-modules/mathcomp/default.nix b/pkgs/development/coq-modules/mathcomp/default.nix
index a80c934c6c19..48cb2c4d33fb 100644
--- a/pkgs/development/coq-modules/mathcomp/default.nix
+++ b/pkgs/development/coq-modules/mathcomp/default.nix
@@ -2,10 +2,32 @@
 
 let param =
   {
-    version = "1.6.1";
-    url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
-    sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
-  }; in
+    "8.4" =  {
+      version = "1.6.1";
+      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
+      sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
+    };
+
+    "8.5" =  {
+      version = "1.6.1";
+      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
+      sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
+    };
+
+    "8.6" =  {
+      version = "1.6.4";
+      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.4.tar.gz;
+      sha256 = "0qmjjb6jsxmmf4gpw10r30rmrvwqgzirvvgyy41mz2vhgwis8wn6";
+    };
+
+    "8.7" = {
+      version = "1.6.4";
+      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.4.tar.gz;
+      sha256 = "0qmjjb6jsxmmf4gpw10r30rmrvwqgzirvvgyy41mz2vhgwis8wn6";
+    };
+
+  }."${coq.coq-version}"
+; in
 
 callPackage ./generic.nix {
   name = "coq${coq.coq-version}-mathcomp-${param.version}";
diff --git a/pkgs/development/coq-modules/metalib/default.nix b/pkgs/development/coq-modules/metalib/default.nix
new file mode 100644
index 000000000000..0304cb48b3b9
--- /dev/null
+++ b/pkgs/development/coq-modules/metalib/default.nix
@@ -0,0 +1,53 @@
+{ stdenv, fetchgit, coq, ocamlPackages, haskellPackages, which, ott
+}:
+
+stdenv.mkDerivation rec {
+  name = "metalib-${coq.coq-version}-${version}";
+  version = "20170713";
+
+  src = fetchgit {
+    url = https://github.com/plclub/metalib.git;
+    rev = "44e40aa082452dd333fc1ca2d2cc55311519bd52";
+    sha256 = "1pra0nvx69q8d4bvpcvh9ngic1cy6z1chi03x56nisfqnc61b6y9";
+  };
+
+  # The 'lngen' command-line utility is built from Haskell sources
+  lngen = with haskellPackages; mkDerivation {
+    pname = "lngen";
+    version = "0.0.1";
+    src = fetchgit {
+      url = https://github.com/plclub/lngen;
+      rev = "ea73ad315de33afd25f87ca738c71f358f1cd51c";
+      sha256 = "1a0sj8n3lmsl1wlnqfy176k9lb9s8rl422bvg3ihl2i70ql8wisd";
+    };
+    isLibrary = true;
+    isExecutable = true;
+    libraryHaskellDepends = [ base containers mtl parsec syb ];
+    executableHaskellDepends = [ base ];
+    homepage = https://github.com/plclub/lngen;
+    description = "Tool for generating Locally Nameless definitions and proofs in Coq, working together with Ott";
+    license = stdenv.lib.licenses.mit;
+  };
+
+  buildInputs = [ coq.ocaml coq.camlp5 which coq lngen ott ]
+    ++ (with ocamlPackages; [ findlib ]);
+  propagatedBuildInputs = [ coq ];
+
+  enableParallelBuilding = true;
+
+  buildPhase = ''
+    (cd Metalib; make)
+  '';
+
+  installPhase = ''
+    (cd Metalib; make -f CoqSrc.mk DSTROOT=/ COQLIB=$out/lib/coq/${coq.coq-version}/ install)
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/plclub/metalib;
+    license = licenses.mit;
+    maintainers = [ maintainers.jwiegley ];
+    platforms = coq.meta.platforms;
+  };
+
+}
diff --git a/pkgs/development/coq-modules/ssreflect/default.nix b/pkgs/development/coq-modules/ssreflect/default.nix
index 352b98ab88b9..35c23842158d 100644
--- a/pkgs/development/coq-modules/ssreflect/default.nix
+++ b/pkgs/development/coq-modules/ssreflect/default.nix
@@ -2,10 +2,32 @@
 
 let param =
   {
-    version = "1.6.1";
-    url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
-    sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
-  }; in
+    "8.4" =  {
+      version = "1.6.1";
+      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
+      sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
+    };
+
+    "8.5" =  {
+      version = "1.6.1";
+      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.1.tar.gz;
+      sha256 = "1j9ylggjzrxz1i2hdl2yhsvmvy5z6l4rprwx7604401080p5sgjw";
+    };
+
+    "8.6" =  {
+      version = "1.6.4";
+      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.4.tar.gz;
+      sha256 = "0qmjjb6jsxmmf4gpw10r30rmrvwqgzirvvgyy41mz2vhgwis8wn6";
+    };
+
+    "8.7" = {
+      version = "1.6.4";
+      url = https://github.com/math-comp/math-comp/archive/mathcomp-1.6.4.tar.gz;
+      sha256 = "0qmjjb6jsxmmf4gpw10r30rmrvwqgzirvvgyy41mz2vhgwis8wn6";
+    };
+
+  }."${coq.coq-version}"
+; in
 
 callPackage ./generic.nix {
   name = "coq${coq.coq-version}-ssreflect-${param.version}";
diff --git a/pkgs/development/go-modules/generic/default.nix b/pkgs/development/go-modules/generic/default.nix
index 5a1a0eb52eb3..0d70113727c2 100644
--- a/pkgs/development/go-modules/generic/default.nix
+++ b/pkgs/development/go-modules/generic/default.nix
@@ -1,4 +1,5 @@
-{ go, govers, parallel, lib, fetchgit, fetchhg, fetchbzr, rsync, removeReferencesTo }:
+{ go, govers, parallel, lib, fetchgit, fetchhg, fetchbzr, rsync
+, removeReferencesTo, fetchFromGitHub }:
 
 { name, buildInputs ? [], nativeBuildInputs ? [], passthru ? {}, preFixup ? ""
 
@@ -58,6 +59,10 @@ let
         fetchbzr {
           inherit (goDep.fetch) url rev sha256;
         }
+      else if goDep.fetch.type == "FromGitHub" then
+        fetchFromGitHub {
+          inherit (goDep.fetch) owner repo rev sha256;
+        }
       else abort "Unrecognized package fetch type: ${goDep.fetch.type}";
     };
 
@@ -140,7 +145,7 @@ go.stdenv.mkDerivation (
       if [ -n "$subPackages" ]; then
         echo "$subPackages" | sed "s,\(^\| \),\1$goPackagePath/,g"
       else
-        pushd go/src >/dev/null
+        pushd "$NIX_BUILD_TOP/go/src" >/dev/null
         find "$goPackagePath" -type f -name \*$type.go -exec dirname {} \; | grep -v "/vendor/" | sort | uniq
         popd >/dev/null
       fi
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index f7df3ec31581..5203a7c7618d 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -65,9 +65,6 @@ self: super: {
   options = dontCheck super.options;
   statistics = dontCheck super.statistics;
 
-  # segfault due to missing return: https://github.com/haskell/c2hs/pull/184
-  c2hs = dontCheck super.c2hs;
-
   # https://github.com/gilith/hol/pull/1
   hol = appendPatch (doJailbreak super.hol) (pkgs.fetchpatch {
     name = "hol.patch";
@@ -98,7 +95,7 @@ self: super: {
       name = "git-annex-${drv.version}-src";
       url = "git://git-annex.branchable.com/";
       rev = "refs/tags/" + drv.version;
-      sha256 = "0iz0yz0bwkmpza5qahsxr9plg1ylmkv7znp1a8f0z65px7f300an";
+      sha256 = "14449sllp81d23mnjwn1m658kzry5qvww2ykxkbkdcrlz6kl6dy0";
     };
   })).override {
     dbus = if pkgs.stdenv.isLinux then self.dbus else null;
@@ -978,4 +975,17 @@ self: super: {
 
   # missing dependencies: Glob >=0.7.14 && <0.8, data-fix ==0.0.4
   stack2nix = doJailbreak super.stack2nix;
+
+  # Hacks to work around https://github.com/haskell/c2hs/issues/192.
+  c2hs = (overrideCabal super.c2hs {
+    version = "0.26.2-28-g8b79823";
+    doCheck = false;
+    src = pkgs.fetchFromGitHub {
+      owner = "deech";
+      repo = "c2hs";
+      rev = "8b79823c32e234c161baec67fdf7907952ca62b8";
+      sha256 = "0hyrcyssclkdfcw2kgcark8jl869snwnbrhr9k0a9sbpk72wp7nz";
+    };
+  }).override { language-c = self.language-c_0_7_0; };
+
 }
diff --git a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
index d71d829bcb59..1a9158fa6651 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-7.10.x.nix
@@ -157,9 +157,6 @@ self: super: {
   haddock-api = self.haddock-api_2_16_1;
   haddock-library = self.haddock-library_1_2_1;
 
-  # lens-family-th >= 0.5.0.0 is GHC 8.0 only
-  lens-family-th = self.lens-family-th_0_4_1_0;
-
   # The tests in vty-ui do not build, but vty-ui itself builds.
   vty-ui = enableCabalFlag super.vty-ui "no-tests";
 
@@ -207,9 +204,6 @@ self: super: {
   # also tests require bytestring>=0.10.8.1
   cereal = dontCheck (addBuildDepend super.cereal self.fail);
 
-  # Moved out from common as no longer the case for GHC8
-  ghc-mod = super.ghc-mod.override { cabal-helper = self.cabal-helper_0_6_3_1; };
-
   # The test suite requires Cabal 1.24.x or later to compile.
   comonad = dontCheck super.comonad;
   semigroupoids = dontCheck super.semigroupoids;
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
index 93d8180bd0a7..48cd2c96f08e 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix.yaml
@@ -37,7 +37,7 @@ core-packages:
   - ghcjs-base-0
 
 default-package-overrides:
-  # LTS Haskell 9.11
+  # LTS Haskell 9.13
   - abstract-deque ==0.3
   - abstract-deque-tests ==0.3
   - abstract-par ==0.3.3
@@ -65,7 +65,7 @@ default-package-overrides:
   - Agda ==2.5.3
   - airship ==0.6.0
   - alarmclock ==0.4.0.3
-  - alerta ==0.1.0.4
+  - alerta ==0.1.0.5
   - alex ==3.2.3
   - algebraic-graphs ==0.0.5
   - alsa-core ==0.5.0.1
@@ -225,7 +225,7 @@ default-package-overrides:
   - base64-bytestring ==1.0.0.1
   - base64-string ==0.2
   - base-compat ==0.9.3
-  - basement ==0.0.3
+  - basement ==0.0.4
   - base-noprelude ==4.9.1.0
   - base-orphans ==0.6
   - base-prelude ==1.2.0.1
@@ -327,7 +327,7 @@ default-package-overrides:
   - c2hs ==0.28.2
   - Cabal ==1.24.2.0
   - cabal-dependency-licenses ==0.2.0.0
-  - cabal-doctest ==1.0.2
+  - cabal-doctest ==1.0.3
   - cabal-file-th ==0.2.4
   - cabal-helper ==0.7.3.0
   - cabal-rpm ==0.11.2
@@ -363,7 +363,7 @@ default-package-overrides:
   - cheapskate-highlight ==0.1.0.0
   - cheapskate-lucid ==0.1.0.0
   - check-email ==1.0.2
-  - checkers ==0.4.7
+  - checkers ==0.4.9.5
   - chell ==0.4.0.1
   - choice ==0.2.2
   - chunked-data ==0.3.0
@@ -405,7 +405,7 @@ default-package-overrides:
   - codo-notation ==0.5.2
   - colorful-monoids ==0.2.1.0
   - colour ==2.3.3
-  - comfort-graph ==0.0.2
+  - comfort-graph ==0.0.2.1
   - commutative ==0.0.1.4
   - comonad ==5.0.2
   - comonads-fd ==4.0
@@ -444,7 +444,7 @@ default-package-overrides:
   - control-monad-loop ==0.1
   - control-monad-omega ==0.3.1
   - convertible ==1.1.1.0
-  - cookie ==0.4.2.1
+  - cookie ==0.4.3
   - countable ==1.0
   - courier ==0.1.1.5
   - cpphs ==1.20.8
@@ -622,7 +622,7 @@ default-package-overrides:
   - elm-export ==0.6.0.1
   - elm-export-persistent ==0.1.2
   - emailaddress ==0.2.0.0
-  - email-validate ==2.3.1
+  - email-validate ==2.3.2
   - enclosed-exceptions ==1.0.2
   - encoding-io ==0.0.1
   - engine-io ==1.2.17
@@ -678,7 +678,7 @@ default-package-overrides:
   - fail ==4.9.0.0
   - farmhash ==0.1.0.5
   - fasta ==0.10.4.2
-  - fast-builder ==0.0.0.6
+  - fast-builder ==0.0.1.0
   - fast-digits ==0.2.1.0
   - fast-logger ==2.4.10
   - fast-math ==1.0.2
@@ -731,7 +731,7 @@ default-package-overrides:
   - forma ==0.2.0
   - format-numbers ==0.1.0.0
   - formatting ==6.2.5
-  - foundation ==0.0.16
+  - foundation ==0.0.17
   - Frames ==0.1.9
   - free ==4.12.4
   - freenect ==1.2.1
@@ -749,6 +749,7 @@ default-package-overrides:
   - functor-classes-compat ==1
   - fuzzcheck ==0.1.1
   - fuzzy ==0.1.0.0
+  - gauge ==0.1.3
   - gd ==3000.7.3
   - Genbank ==1.0.3
   - general-games ==1.0.5
@@ -764,12 +765,12 @@ default-package-overrides:
   - ghc-events ==0.6.0
   - ghc-exactprint ==0.5.5.0
   - ghc-heap-view ==0.5.10
-  - ghcid ==0.6.7
+  - ghcid ==0.6.8
   - ghcjs-base-stub ==0.1.0.4
   - ghcjs-codemirror ==0.0.0.1
   - ghcjs-perch ==0.3.3.2
   - ghc-paths ==0.1.0.9
-  - ghc-prof ==1.4.0.2
+  - ghc-prof ==1.4.0.3
   - ghc-syb-utils ==0.2.3.3
   - ghc-tcplugins-extra ==0.2.1
   - ghc-typelits-extra ==0.2.3
@@ -933,7 +934,7 @@ default-package-overrides:
   - groundhog-postgresql ==0.8.0.1
   - groundhog-sqlite ==0.8
   - groundhog-th ==0.8.0.1
-  - group-by-date ==0.1.0.1
+  - group-by-date ==0.1.0.2
   - grouped-list ==0.2.1.3
   - groupoids ==4.0
   - groups ==0.4.0.0
@@ -985,6 +986,7 @@ default-package-overrides:
   - haskell-src ==1.0.2.0
   - haskell-src-exts ==1.18.2
   - haskell-src-exts-simple ==1.19.0.0
+  - haskell-src-exts-util ==0.2.1.2
   - haskell-src-meta ==0.8.0.1
   - haskell-tools-ast ==0.8.1.0
   - haskell-tools-backend-ghc ==0.8.1.0
@@ -996,11 +998,11 @@ default-package-overrides:
   - haskell-tools-refactor ==0.8.1.0
   - haskell-tools-rewrite ==0.8.1.0
   - haskintex ==0.7.0.1
-  - hasmin ==0.3.3
+  - hasmin ==0.3.3.1
   - hasql ==0.19.18.2
   - hasql-migration ==0.1.3
-  - hasql-pool ==0.4.2.1
-  - hasql-transaction ==0.5.1
+  - hasql-pool ==0.4.3
+  - hasql-transaction ==0.5.2
   - hastache ==0.6.1
   - hasty-hamiltonian ==1.3.0
   - HaTeX ==3.17.3.1
@@ -1028,7 +1030,7 @@ default-package-overrides:
   - hedis ==0.9.11
   - here ==1.2.11
   - heredoc ==0.2.0.0
-  - heterocephalus ==1.0.5.0
+  - heterocephalus ==1.0.5.1
   - hex ==0.1.2
   - hexml ==0.3.3
   - hexpat ==0.20.13
@@ -1054,7 +1056,7 @@ default-package-overrides:
   - hjsonschema ==1.6.3
   - hlibgit2 ==0.18.0.16
   - hlibsass ==0.1.6.1
-  - hlint ==2.0.9
+  - hlint ==2.0.10
   - hmatrix ==0.18.0.0
   - hmatrix-gsl ==0.18.0.1
   - hmatrix-gsl-stats ==0.4.1.7
@@ -1114,7 +1116,7 @@ default-package-overrides:
   - hspec-expectations ==0.8.2
   - hspec-expectations-lifted ==0.10.0
   - hspec-expectations-pretty-diff ==0.7.2.4
-  - hspec-golden-aeson ==0.2.0.3
+  - hspec-golden-aeson ==0.2.1.0
   - hspec-megaparsec ==0.3.1
   - hspec-meta ==2.4.4
   - hspec-pg-transact ==0.1.0.2
@@ -1154,7 +1156,7 @@ default-package-overrides:
   - http-types ==0.9.1
   - human-readable-duration ==0.2.0.3
   - HUnit ==1.5.0.0
-  - HUnit-approx ==1.1
+  - HUnit-approx ==1.1.1.1
   - hunit-dejafu ==0.6.0.0
   - hvect ==0.4.0.0
   - hw-balancedparens ==0.1.0.2
@@ -1199,7 +1201,7 @@ default-package-overrides:
   - imm ==1.2.0.0
   - immortal ==0.2.2.1
   - include-file ==0.1.0.3
-  - incremental-parser ==0.2.5.1
+  - incremental-parser ==0.2.5.2
   - indentation-core ==0.0.0.1
   - indentation-parsec ==0.0.0.1
   - indents ==0.4.0.0
@@ -1217,7 +1219,7 @@ default-package-overrides:
   - interpolate ==0.1.1
   - interpolatedstring-perl6 ==1.0.0
   - interpolation ==0.1.0.1
-  - IntervalMap ==0.5.2.0
+  - IntervalMap ==0.5.3.1
   - intervals ==0.8.1
   - intro ==0.3.0.1
   - invariant ==0.4.3
@@ -1264,8 +1266,8 @@ default-package-overrides:
   - json-rpc-generic ==0.2.1.2
   - json-schema ==0.7.4.1
   - json-stream ==0.4.1.5
-  - JuicyPixels ==3.2.8.3
-  - JuicyPixels-extra ==0.2.1
+  - JuicyPixels ==3.2.9.1
+  - JuicyPixels-extra ==0.2.2
   - JuicyPixels-scale-dct ==0.1.1.2
   - jvm ==0.2.2
   - jvm-streaming ==0.2
@@ -1284,7 +1286,7 @@ default-package-overrides:
   - kraken ==0.0.3
   - l10n ==0.1.0.1
   - labels ==0.3.3
-  - lackey ==0.4.4
+  - lackey ==0.4.6
   - lame ==0.1.1
   - language-c ==0.6.1
   - language-c-quote ==0.12.1
@@ -1372,7 +1374,7 @@ default-package-overrides:
   - machines-io ==0.2.0.13
   - machines-process ==0.2.0.8
   - magic ==1.1
-  - magicbane ==0.1.1
+  - magicbane ==0.1.3
   - mainland-pretty ==0.6.1
   - makefile ==1.0.0.4
   - managed ==1.0.5
@@ -1409,7 +1411,7 @@ default-package-overrides:
   - mfsolve ==0.3.2.0
   - microformats2-parser ==1.0.1.7
   - microlens ==0.4.8.1
-  - microlens-aeson ==2.2.0.1
+  - microlens-aeson ==2.2.0.2
   - microlens-contra ==0.1.0.1
   - microlens-ghc ==0.4.8.0
   - microlens-mtl ==0.1.11.0
@@ -1468,9 +1470,9 @@ default-package-overrides:
   - monoid-extras ==0.4.2
   - monoid-subclasses ==0.4.4
   - monoid-transformer ==0.0.3
-  - mono-traversable ==1.0.2.1
+  - mono-traversable ==1.0.4.0
   - mono-traversable-instances ==0.1.0.0
-  - morte ==1.6.10
+  - morte ==1.6.11
   - mountpoints ==1.0.2
   - mstate ==0.2.7
   - mtl ==2.2.1
@@ -1566,7 +1568,7 @@ default-package-overrides:
   - Only ==0.1
   - oo-prototypes ==0.1.0.0
   - opaleye ==0.5.4.0
-  - opaleye-trans ==0.3.6
+  - opaleye-trans ==0.3.7
   - OpenAL ==1.7.0.4
   - open-browser ==0.2.1.0
   - openexr-write ==0.1.0.1
@@ -1584,7 +1586,7 @@ default-package-overrides:
   - optparse-applicative ==0.13.2.0
   - optparse-generic ==1.2.2
   - optparse-helper ==0.2.1.1
-  - optparse-simple ==0.0.3
+  - optparse-simple ==0.0.4
   - optparse-text ==0.1.1.0
   - osdkeys ==0.0
   - overloaded-records ==0.4.2.0
@@ -1689,14 +1691,14 @@ default-package-overrides:
   - posix-realtime ==0.0.0.4
   - postgresql-binary ==0.12.1
   - postgresql-libpq ==0.9.3.1
-  - postgresql-schema ==0.1.11
+  - postgresql-schema ==0.1.13
   - postgresql-simple ==0.5.3.0
   - postgresql-simple-migration ==0.1.11.0
   - postgresql-simple-opts ==0.2.0.2
   - postgresql-simple-queue ==0.5.1.1
   - postgresql-simple-url ==0.2.0.0
   - postgresql-transactional ==1.1.1
-  - postgresql-typed ==0.5.1
+  - postgresql-typed ==0.5.2
   - post-mess-age ==0.2.1.0
   - pqueue ==1.3.2.3
   - prednote ==0.36.0.4
@@ -1766,7 +1768,7 @@ default-package-overrides:
   - quickcheck-instances ==0.3.12
   - quickcheck-io ==0.2.0
   - quickcheck-simple ==0.1.0.2
-  - quickcheck-special ==0.1.0.5
+  - quickcheck-special ==0.1.0.6
   - quickcheck-text ==0.1.2.1
   - quickcheck-unicode ==1.0.1.0
   - raaz ==0.1.1
@@ -1784,7 +1786,7 @@ default-package-overrides:
   - rank-product ==0.2.0.1
   - Rasterific ==0.7.2.1
   - rasterific-svg ==0.3.3
-  - ratel ==0.3.6
+  - ratel ==0.3.7
   - ratel-wai ==0.2.0
   - rattletrap ==2.5.0
   - rawfilepath ==0.2.4
@@ -1916,16 +1918,16 @@ default-package-overrides:
   - servant-docs ==0.11
   - servant-elm ==0.4.0.1
   - servant-foreign ==0.10.1
-  - servant-js ==0.9.3
+  - servant-js ==0.9.3.1
   - servant-JuicyPixels ==0.3.0.3
   - servant-lucid ==0.7.1
-  - servant-mock ==0.8.2
+  - servant-mock ==0.8.3
   - servant-purescript ==0.8.0.1
   - servant-ruby ==0.2.1.0
   - servant-server ==0.11.0.1
   - servant-static-th ==0.1.0.6
   - servant-subscriber ==0.6.0.0
-  - servant-swagger ==1.1.3.1
+  - servant-swagger ==1.1.4
   - servant-swagger-ui ==0.2.4.3.4.0
   - servant-yaml ==0.1.0.0
   - serversession ==1.0.1
@@ -1992,6 +1994,7 @@ default-package-overrides:
   - sparkle ==0.5.0.1
   - sparse-linear-algebra ==0.2.9.8
   - spdx ==0.2.2.0
+  - special-values ==0.1.0.0
   - speculation ==1.5.0.3
   - speedy-slice ==0.3.0
   - sphinx ==0.6.0.2
@@ -2014,7 +2017,7 @@ default-package-overrides:
   - srcloc ==0.5.1.1
   - stache ==0.2.2
   - stackage-curator ==0.14.5
-  - stackage-query ==0.1.1
+  - stackage-query ==0.1.2
   - stackage-types ==1.2.0
   - stack-run-auto ==0.1.1.4
   - stack-type ==0.1.0.0
@@ -2103,7 +2106,7 @@ default-package-overrides:
   - tasty-dejafu ==0.6.0.0
   - tasty-discover ==3.0.2
   - tasty-expected-failure ==0.11.0.4
-  - tasty-fail-fast ==0.0.2
+  - tasty-fail-fast ==0.0.3
   - tasty-golden ==2.3.1.1
   - tasty-hspec ==1.1.3.2
   - tasty-html ==0.4.1.1
@@ -2138,7 +2141,7 @@ default-package-overrides:
   - terminal-progress-bar ==0.1.1.1
   - terminal-size ==0.3.2.1
   - terminfo ==0.4.1.0
-  - test-fixture ==0.5.0.2
+  - test-fixture ==0.5.1.0
   - test-framework ==0.8.1.1
   - test-framework-hunit ==0.3.0.2
   - test-framework-quickcheck2 ==0.3.0.4
@@ -2207,7 +2210,7 @@ default-package-overrides:
   - tls ==1.3.11
   - tls-debug ==0.4.4
   - tls-session-manager ==0.0.0.1
-  - tmp-postgres ==0.1.1.0
+  - tmp-postgres ==0.1.1.1
   - token-bucket ==0.1.0.1
   - torrent ==10000.1.1
   - tostring ==0.2.1.1
@@ -2269,12 +2272,12 @@ default-package-overrides:
   - union-find ==0.2
   - uniplate ==1.6.12
   - uniq-deep ==1.1.0.0
-  - Unique ==0.4.7.1
   - unique ==0
+  - Unique ==0.4.7.1
   - unit-constraint ==0.0.0
   - units ==2.4
   - units-defs ==2.0.1.1
-  - units-parser ==0.1.0.1
+  - units-parser ==0.1.1
   - universe ==1.0
   - universe-base ==1.0.2.1
   - universe-instances-base ==1.0
@@ -2327,7 +2330,7 @@ default-package-overrides:
   - versions ==3.1.1
   - vhd ==0.2.2
   - ViennaRNAParser ==1.3.3
-  - viewprof ==0.0.0.10
+  - viewprof ==0.0.0.11
   - vinyl ==0.5.3
   - vinyl-utils ==0.3.0.0
   - void ==0.7.2
@@ -2449,12 +2452,12 @@ default-package-overrides:
   - xml-types ==0.3.6
   - xmonad ==0.13
   - xmonad-contrib ==0.13
-  - xmonad-extras ==0.13.1
+  - xmonad-extras ==0.13.2
   - xss-sanitize ==0.3.5.7
   - xturtle ==0.2.0.0
   - yackage ==0.8.1
   - yahoo-finance-api ==0.2.0.2
-  - yaml ==0.8.23.3
+  - yaml ==0.8.24
   - Yampa ==0.10.6.2
   - YampaSynth ==0.2
   - yesod ==1.4.5
@@ -2463,7 +2466,7 @@ default-package-overrides:
   - yesod-auth-basic ==0.1.0.2
   - yesod-auth-fb ==1.8.1
   - yesod-auth-hashdb ==1.6.2
-  - yesod-bin ==1.5.2.5
+  - yesod-bin ==1.5.2.6
   - yesod-core ==1.4.37
   - yesod-default ==1.2.0
   - yesod-eventsource ==1.4.1
@@ -2804,6 +2807,7 @@ dont-distribute-packages:
   aeson-streams:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-t:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-tiled:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  aeson-value-parser:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   aeson-yak:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   AesonBson:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   affection:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2848,6 +2852,7 @@ dont-distribute-packages:
   amazon-emailer-client-snap:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazon-emailer:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   amazon-products:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  amazonka-ec2:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   amby:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   AMI:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ampersand:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -2946,6 +2951,7 @@ dont-distribute-packages:
   atlassian-connect-core:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   atlassian-connect-descriptor:                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   atndapi:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  atom-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   atom-msp430:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   atomic-primops-foreign:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   atomic-primops-vector:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3153,6 +3159,7 @@ dont-distribute-packages:
   bittorrent:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   bkr:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   bla:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  black-jewel:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   blakesum-demo:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   blakesum:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   blank-canvas:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3230,6 +3237,7 @@ dont-distribute-packages:
   butcher:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   butterflies:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytable:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  bytearray-parsing:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-class:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-csv:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   bytestring-read:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3274,6 +3282,7 @@ dont-distribute-packages:
   CabalSearch:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabalvchk:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   cabocha:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  cacophony:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   caffegraph:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   cake3:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   cakyrespa:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3557,6 +3566,7 @@ dont-distribute-packages:
   conduit-audio-samplerate:                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   conduit-find:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   conduit-network-stream:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  conduit-parse:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   conduit-resumablesink:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   conf:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   conffmt:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3898,6 +3908,7 @@ dont-distribute-packages:
   direct-fastcgi:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   direct-http:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   direct-plugins:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  direct-rocksdb:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   directed-cubical:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   dirfiles:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   discogs-haskell:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3957,6 +3968,7 @@ dont-distribute-packages:
   dotfs:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   dow:                                          [ "x86_64-darwin" ]
   download-media-content:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  download:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   dozenal:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   dozens:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   DP:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -3994,6 +4006,7 @@ dont-distribute-packages:
   dtd-types:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   dtd:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   dtw:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  dublincore-xml-conduit:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   duckling:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   dumb-cas:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   duplo:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4040,6 +4053,7 @@ dont-distribute-packages:
   editline:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   EditTimeReport:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   EEConfig:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  effect-monad:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   effective-aspects-mzv:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   effective-aspects:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   egison-quote:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4262,6 +4276,9 @@ dont-distribute-packages:
   fixed-point:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-precision:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-storable-array:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fixed-vector-binary:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fixed-vector-cborg:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  fixed-vector-cereal:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixed-width:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixfile:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   fixplate:                                     [ "x86_64-darwin" ]
@@ -4274,6 +4291,7 @@ dont-distribute-packages:
   flexiwrap-smallcheck:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   flexiwrap:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   flickr:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  flight-igc:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   Flippi:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   flite:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   floating-bits:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4459,6 +4477,7 @@ dont-distribute-packages:
   ghc-events-parallel:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-generic-instances:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-imported-from:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ghc-make:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-man-completion:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-parser:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   ghc-pkg-autofix:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -4646,6 +4665,7 @@ dont-distribute-packages:
   gssapi-wai:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   gssapi:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gstreamer:                                    [ "x86_64-darwin" ]
+  gstreamer:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   GTALib:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   gtfs:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   gtk-largeTreeStore:                           [ "x86_64-darwin" ]
@@ -4708,7 +4728,9 @@ dont-distribute-packages:
   hackage-mirror:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackage-proxy:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackage-server:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hackage-sparks:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackage-whatsnew:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
+  hackage2hwn:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackage2twitter:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   hackernews:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   HackMail:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5573,6 +5595,7 @@ dont-distribute-packages:
   imapget:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   imbib:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   imgurder:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
+  imm:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   imparse:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   imperative-edsl-vhdl:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   imperative-edsl:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5823,6 +5846,7 @@ dont-distribute-packages:
   lagrangian:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   laika:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-bridge:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
+  lambda-calculator:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-canvas:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-devs:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   lambda-toolbox:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -5945,6 +5969,7 @@ dont-distribute-packages:
   liblinear-enumerator:                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   libltdl:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libmolude:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
+  liboath-hs:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   liboleg:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libpafe:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   libpq:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6207,6 +6232,7 @@ dont-distribute-packages:
   memo-ptr:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   memo-sqlite:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   memoization-utils:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  mercury-api:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   merge-bash-history:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   merkle-patricia-db:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   messente:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6341,6 +6367,8 @@ dont-distribute-packages:
   morfeusz:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
   morph:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mosaico-lib:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
+  motor-diagrams:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
+  motor-reflection:                             [ i686-linux, x86_64-linux, x86_64-darwin ]
   motor:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   mount:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   movie-monad:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6634,6 +6662,7 @@ dont-distribute-packages:
   OpenVG:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   OpenVGRaw:                                    [ i686-linux, x86_64-linux, x86_64-darwin ]
   Operads:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
+  opml-conduit:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   opn:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   optimal-blocks:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   optimization:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -6800,6 +6829,7 @@ dont-distribute-packages:
   pipes-attoparsec-streaming:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-bgzf:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-binary:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  pipes-cacophony:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-cereal-plus:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-cereal:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   pipes-conduit:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7317,6 +7347,7 @@ dont-distribute-packages:
   rsagl:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   rset:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   rspp:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
+  rss-conduit:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   rss2irc:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   rtnetlink:                                    [ "x86_64-darwin" ]
   rtorrent-rpc:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7465,6 +7496,7 @@ dont-distribute-packages:
   servant-auth-token-leveldb:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-token-persistent:                [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-auth-token-rocksdb:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  servant-client-core:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-csharp:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-db-postgresql:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   servant-db:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7546,6 +7578,7 @@ dont-distribute-packages:
   sifflet:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   signals:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   signed-multiset:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
+  silvi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   simd:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   simgi:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   simple-atom:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7799,6 +7832,7 @@ dont-distribute-packages:
   Strafunski-ATermLib:                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   Strafunski-Sdf2Haskell:                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   StrappedTemplates:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
+  stratosphere:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   stratum-tool:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   stratux-http:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   stratux-types:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7846,6 +7880,7 @@ dont-distribute-packages:
   supero:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   supervisor:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   supplemented:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
+  SVD2HS:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   svg2q:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   SVG2Q:                                        [ i686-linux, x86_64-linux, x86_64-darwin ]
   svgutils:                                     [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -7940,6 +7975,7 @@ dont-distribute-packages:
   tasty-jenkins-xml:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-laws:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   tasty-lens:                                   [ i686-linux, x86_64-linux, x86_64-darwin ]
+  tasty-travis:                                 [ i686-linux, x86_64-linux, x86_64-darwin ]
   TaxonomyTools:                                [ i686-linux, x86_64-linux, x86_64-darwin ]
   TBC:                                          [ i686-linux, x86_64-linux, x86_64-darwin ]
   TBit:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8495,6 +8531,7 @@ dont-distribute-packages:
   wreq-sb:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
   wreq-stringless:                              [ i686-linux, x86_64-linux, x86_64-darwin ]
   wright:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
+  ws:                                           [ i686-linux, x86_64-linux, x86_64-darwin ]
   wsdl:                                         [ i686-linux, x86_64-linux, x86_64-darwin ]
   wsedit:                                       [ i686-linux, x86_64-linux, x86_64-darwin ]
   wtk-gtk:                                      [ i686-linux, x86_64-linux, x86_64-darwin ]
@@ -8544,6 +8581,7 @@ dont-distribute-packages:
   xlsx-templater:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-catalog:                                  [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-conduit-decode:                           [ i686-linux, x86_64-linux, x86_64-darwin ]
+  xml-conduit-parse:                            [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-enumerator-combinators:                   [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-enumerator:                               [ i686-linux, x86_64-linux, x86_64-darwin ]
   xml-html-conduit-lens:                        [ i686-linux, x86_64-linux, x86_64-darwin ]
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index cc0d8deb1f53..e8a39395870d 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -2442,8 +2442,8 @@ self: {
        pname = "Cabal";
        version = "1.24.2.0";
        sha256 = "0h33v1716wkqh9wvq2wynvhwzkjjhg4aav0a1i3cmyq36n7fpl5p";
-       revision = "1";
-       editedCabalFile = "0jw809psa2ms9sy1mnirmbj9h7rs76wbmf24zgjqvhp4wq919z3m";
+       revision = "2";
+       editedCabalFile = "15ncrm7x2lg4hn0m5mhc8hy769bzhmajsm6l9i6536plfs2bbbdj";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
          pretty process time unix
@@ -2469,6 +2469,8 @@ self: {
        pname = "Cabal";
        version = "2.0.0.2";
        sha256 = "0chhl2113jbahd5gychx9rdqj1aw22h7dyj6z44871hzqxngx6bc";
+       revision = "1";
+       editedCabalFile = "1k4alrrz7yza66kaya69m0rkcz45mw48afrcv1x54q31cka9xyx1";
        libraryHaskellDepends = [
          array base binary bytestring containers deepseq directory filepath
          pretty process time unix
@@ -6554,15 +6556,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "Glob_0_9_0" = callPackage
+  "Glob_0_9_1" = 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.9.0";
-       sha256 = "08q2s8ms5klir1pipbsvb5pwdh6hj784p9dkbph7spk2jcqm67lv";
+       version = "0.9.1";
+       sha256 = "0rzmsknl02p332dxmm36fyrz3dpma7bchn0ymyjipxvqil20pjw0";
        libraryHaskellDepends = [
          base containers directory dlist filepath transformers
          transformers-compat
@@ -8735,15 +8737,13 @@ self: {
      }) {};
 
   "HUnit-approx" = callPackage
-    ({ mkDerivation, base, HUnit }:
+    ({ mkDerivation, base, call-stack, HUnit }:
      mkDerivation {
        pname = "HUnit-approx";
-       version = "1.1";
-       sha256 = "19ih90i0j7zzydqpii9lv9g16ndbkylmsyilnd2zis4j0099xk6p";
-       revision = "1";
-       editedCabalFile = "1h78rwj5vy88pdj192l57181z0617gn5p8psrgbz6qgimfq35dpw";
-       libraryHaskellDepends = [ base HUnit ];
-       testHaskellDepends = [ base HUnit ];
+       version = "1.1.1.1";
+       sha256 = "1brblqpz002jzql9wgzxk5zlfglmkv91s8gcfd6992xv539jfhsa";
+       libraryHaskellDepends = [ base call-stack HUnit ];
+       testHaskellDepends = [ base call-stack HUnit ];
        homepage = "https://github.com/goldfirere/HUnit-approx";
        description = "Approximate equality for floating point numbers with HUnit";
        license = stdenv.lib.licenses.bsd3;
@@ -10393,8 +10393,8 @@ self: {
      }:
      mkDerivation {
        pname = "IntervalMap";
-       version = "0.5.2.0";
-       sha256 = "110nafhkakvb3jcvpjszad5jybz4mklsliyi4wr3lcqcwhd4j6h3";
+       version = "0.5.3.1";
+       sha256 = "08cc7zasgj083yqhkd0bh3nmwnmbk6sqb6579irqpm3ayrcm8mws";
        libraryHaskellDepends = [ base containers deepseq ];
        testHaskellDepends = [ base Cabal containers deepseq QuickCheck ];
        benchmarkHaskellDepends = [
@@ -10656,8 +10656,8 @@ self: {
      }:
      mkDerivation {
        pname = "JuicyPixels";
-       version = "3.2.8.3";
-       sha256 = "1g4cjldlncll6snykgm4qwkryqq66m5a3a5jrxq79nzfizvwsl4c";
+       version = "3.2.9.1";
+       sha256 = "1g31zgsg7gq5ac9r5aizghvrg7jwn1a0qs4qwnfillqn4wkw6y5b";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq mtl primitive
          transformers vector zlib
@@ -10684,10 +10684,8 @@ self: {
     ({ mkDerivation, base, criterion, hspec, JuicyPixels }:
      mkDerivation {
        pname = "JuicyPixels-extra";
-       version = "0.2.1";
-       sha256 = "0lai831n9iak96l854fynpa1bf41rq8mg45397zjg0p25w0i1dka";
-       revision = "1";
-       editedCabalFile = "0f42a7jirsk3ciyd081wcb2pkss34yzfwhaiaclgf17yiav4zzv0";
+       version = "0.2.2";
+       sha256 = "1f0ysxwd73s04mrqzqj9rfp6dd5441ckc96x2a4zkc1hixgkfzld";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [ base JuicyPixels ];
        testHaskellDepends = [ base hspec JuicyPixels ];
@@ -11045,6 +11043,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) openldap;};
 
+  "LParse" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "LParse";
+       version = "0.1.3.1";
+       sha256 = "0gyc1cqbz97cps8awvkl3yfmlvaf7fkvxgs48rq95j1b2xbf417p";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/MarcusVoelker/LParse#readme";
+       description = "A continuation-based parser library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "LRU" = callPackage
     ({ mkDerivation, base, containers, QuickCheck }:
      mkDerivation {
@@ -11769,8 +11780,8 @@ self: {
     ({ mkDerivation, base, bytestring, hidapi, mtl }:
      mkDerivation {
        pname = "MBot";
-       version = "0.1.2.0";
-       sha256 = "08zjla8fy1ccg0yf9j02896azq3795wxp4s9fzjgpnfgb26qkpsy";
+       version = "0.2.0.0";
+       sha256 = "08n8xyvcj99wx1zipw5pz1w4qsm57b9vzhshvwhcay2pw3jn5x43";
        libraryHaskellDepends = [ base bytestring hidapi mtl ];
        description = "Haskell interface for controlling the mBot educational robot";
        license = stdenv.lib.licenses.gpl3;
@@ -15848,8 +15859,8 @@ self: {
      }:
      mkDerivation {
        pname = "STLinkUSB";
-       version = "0.1.0";
-       sha256 = "17rqwr9f0g9p4i7qw4gih1g7wj2y7d7bdma55warp82v0v996ypr";
+       version = "0.1.1";
+       sha256 = "1b0cxrjbldsdh948fa3d5qr0lmjl2g5qkh7ii4smkmsakzk9jx0s";
        libraryHaskellDepends = [
          base binary bytestring transformers usb vector
        ];
@@ -15858,6 +15869,33 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "STM32-Zombie" = callPackage
+    ({ mkDerivation, base, binary, bytestring, containers, STLinkUSB
+     , STM32F103xx-SVD, transformers
+     }:
+     mkDerivation {
+       pname = "STM32-Zombie";
+       version = "0.2.0";
+       sha256 = "10vknxgihz3cgyzi1rmyh30zqyg0q7ll653ljndjj8lh3hnghajx";
+       libraryHaskellDepends = [
+         base binary bytestring containers STLinkUSB STM32F103xx-SVD
+         transformers
+       ];
+       description = "control a STM32F103 microcontroller";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "STM32F103xx-SVD" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "STM32F103xx-SVD";
+       version = "0.1";
+       sha256 = "0m6vvj4mfmmn1r21aglwdb6801bwr0ks60vbwz7y1cb97vsdad9v";
+       libraryHaskellDepends = [ base ];
+       description = "Definition for Peripherals,Registers and Fields from STM32F103xx.svd";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "STMonadTrans" = callPackage
     ({ mkDerivation, array, base, Cabal, mtl }:
      mkDerivation {
@@ -15872,6 +15910,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "SVD2HS" = callPackage
+    ({ mkDerivation, base, containers, pretty, text, xml-conduit
+     , xml-lens
+     }:
+     mkDerivation {
+       pname = "SVD2HS";
+       version = "0.1";
+       sha256 = "16crp18wyp7gb99x0vmjcqdwvsvns2kppaic3aspnidlc14hwg35";
+       libraryHaskellDepends = [
+         base containers pretty text xml-conduit xml-lens
+       ];
+       description = "translate a SVD of a Microcontroller to Haskell tables";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "SVG2Q" = callPackage
     ({ mkDerivation, base, haskell98, language-c, pretty, svgutils, syb
      , xml
@@ -16663,8 +16717,10 @@ self: {
     ({ mkDerivation, array, base, HGL, random, Yampa }:
      mkDerivation {
        pname = "SpaceInvaders";
-       version = "0.4.4";
-       sha256 = "0jiah6b1crg6pw64a218ssnhymf27yw3icjc81mdqxl3bqx9wqz9";
+       version = "0.4.5";
+       sha256 = "1nf50gdjdm7bwxzg5ligly9v1hkkdmqd8b1f8637a9bg8sz1rzbd";
+       revision = "1";
+       editedCabalFile = "0s21i9snp7734amqd6q7ckbj77vsnl0mi2k939ha0phfvdisb5gy";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ array base HGL random Yampa ];
@@ -17464,8 +17520,8 @@ self: {
      }:
      mkDerivation {
        pname = "TeX-my-math";
-       version = "0.201.1.0";
-       sha256 = "13rf0q74kk8lmgwfxicgf2d83b1jnvyq623pykm5z4g3cnap4nn4";
+       version = "0.201.1.1";
+       sha256 = "064ram3i1a59ypd8i3wnp7x9vbkc8zawby52676y4pfkqvddnhnm";
        libraryHaskellDepends = [
          base decimal-literals dumb-cas hashable haskell-src-meta HaTeX
          template-haskell text unordered-containers vector-space void
@@ -17949,8 +18005,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "TypeNat";
-       version = "0.4.0.1";
-       sha256 = "1wq4fn4zbmkdg0vwy47j0mxf87z32c1q9rwzsn3h9jj3mlmz8bp6";
+       version = "0.5.0.0";
+       sha256 = "1css4pb2x514s396c35brghgn3pgysdps8k09k1wcx5k2qpg90cx";
        libraryHaskellDepends = [ base ];
        homepage = "https://github.com/avieth/TypeNat";
        description = "Some Nat-indexed types for GHC";
@@ -18316,8 +18372,8 @@ self: {
      }:
      mkDerivation {
        pname = "Villefort";
-       version = "0.1.2.1";
-       sha256 = "1iabmpf31vb493xp8ypmai15ld4jbf0zchjnmf6hwfs58w92v27d";
+       version = "0.1.2.4";
+       sha256 = "1dyq8n7filv8v4qf42v53ji2fnyam4jkjvd5aflh2qnib2wqsl04";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -19952,6 +20008,8 @@ self: {
        pname = "accelerate-examples";
        version = "1.1.0.0";
        sha256 = "0zpjmk6v314jfda7fy22xghfqlqfh8vyf938qwyp6xjf1mpq1r1x";
+       revision = "2";
+       editedCabalFile = "1r53mc266gr6h2j0diyb82isaw72g6cdgvlqbhcnlidi3g7vqqcs";
        configureFlags = [ "-f-opencl" ];
        isLibrary = true;
        isExecutable = true;
@@ -22019,21 +22077,23 @@ self: {
      }) {};
 
   "aeson-value-parser" = callPackage
-    ({ mkDerivation, aeson, base-prelude, json-pointer
+    ({ mkDerivation, aeson, base-prelude, foldl, json-pointer
      , json-pointer-aeson, mtl-prelude, scientific, text, transformers
      , unordered-containers, vector
      }:
      mkDerivation {
        pname = "aeson-value-parser";
-       version = "0.12.2";
-       sha256 = "1hyw3338wiv3p3p0fnwzmdhds239bzkpqvqjjfdnmygi0nql8nnf";
+       version = "0.12.3";
+       sha256 = "1qrd5kdgmwpxf7lxcy0hw0qdzm0251k9d918ggjjhmwssg9ci8zb";
        libraryHaskellDepends = [
-         aeson base-prelude json-pointer json-pointer-aeson mtl-prelude
-         scientific text transformers unordered-containers vector
+         aeson base-prelude foldl json-pointer json-pointer-aeson
+         mtl-prelude scientific text transformers unordered-containers
+         vector
        ];
        homepage = "https://github.com/sannsyn/aeson-value-parser";
        description = "An API for parsing \"aeson\" JSON tree into Haskell types";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "aeson-yak" = callPackage
@@ -22411,6 +22471,37 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "airship_0_9_0" = callPackage
+    ({ mkDerivation, attoparsec, base, base64-bytestring, blaze-builder
+     , bytestring, bytestring-trie, case-insensitive, containers
+     , cryptohash, directory, either, filepath, http-date, http-media
+     , http-types, lifted-base, microlens, mime-types, mmorph
+     , monad-control, mtl, network, old-locale, random, tasty
+     , tasty-hunit, tasty-quickcheck, text, time, transformers
+     , transformers-base, unix, unordered-containers, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "airship";
+       version = "0.9.0";
+       sha256 = "1hpm99jyb5v131352y1wlja59sp3c3wqw0p935xg142zw4qckacx";
+       libraryHaskellDepends = [
+         attoparsec base base64-bytestring blaze-builder bytestring
+         bytestring-trie case-insensitive containers cryptohash directory
+         either filepath http-date http-media http-types lifted-base
+         microlens mime-types mmorph monad-control mtl network old-locale
+         random text time transformers transformers-base unix
+         unordered-containers wai wai-extra
+       ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-hunit tasty-quickcheck text
+         transformers wai
+       ];
+       homepage = "https://github.com/helium/airship/";
+       description = "A Webmachine-inspired HTTP library";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "airtable-api" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hashable, lens, text
      , time, unordered-containers, wreq
@@ -22435,8 +22526,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika";
-       version = "5.3.1";
-       sha256 = "1qgccxz77fa3j6vakg14z81wqw3259zrgg3xvfmrizshxnp1vh54";
+       version = "5.4";
+       sha256 = "1ymzhbmff1wnpksnad0dc47xa0iha5pf6w3ng6gykni2wx8smsgv";
        libraryHaskellDepends = [
          array base binary containers deepseq mtl mwc-random random vector
        ];
@@ -22462,16 +22553,16 @@ self: {
      }) {};
 
   "aivika-distributed" = callPackage
-    ({ mkDerivation, aivika, aivika-transformers, base, binary
+    ({ mkDerivation, aivika, aivika-transformers, array, base, binary
      , containers, distributed-process, exceptions, mtl, mwc-random
      , random, stm, time
      }:
      mkDerivation {
        pname = "aivika-distributed";
-       version = "0.8";
-       sha256 = "1ggr95d6na41sllnz6a8lnscb63v04b8x466hw6658r8vxai0560";
+       version = "1.0";
+       sha256 = "1nc0qhmkh75jda3id4wndhs5gmjiqcqi0gwpmwafm5czzg3g6lch";
        libraryHaskellDepends = [
-         aivika aivika-transformers base binary containers
+         aivika aivika-transformers array base binary containers
          distributed-process exceptions mtl mwc-random random stm time
        ];
        homepage = "http://www.aivikasoft.com";
@@ -22572,8 +22663,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika-lattice";
-       version = "0.4";
-       sha256 = "0fczcyg9bmijjwzh4x2kgs5q0x5swz17b51cv298ka4cmbqbhmgv";
+       version = "0.6";
+       sha256 = "0199d3ycs98a7gbqaakv2s4aj1paw08ix32xv3ln4p7x56avc6rn";
        libraryHaskellDepends = [
          aivika aivika-transformers array base containers mtl mwc-random
          random
@@ -22606,8 +22697,8 @@ self: {
      }:
      mkDerivation {
        pname = "aivika-transformers";
-       version = "5.3";
-       sha256 = "08c8hkc1sbq08dsj25sb6ik9nq0insv0k8j42klbpgzmmc4pjvxd";
+       version = "5.4";
+       sha256 = "0if4i3jsc0bf8l0grdrijyzs5h5c85nq328gkwpmzpmawzssbqr5";
        libraryHaskellDepends = [
          aivika array base containers mtl mwc-random random vector
        ];
@@ -22698,8 +22789,8 @@ self: {
      }:
      mkDerivation {
        pname = "alerta";
-       version = "0.1.0.4";
-       sha256 = "107qdab0wag38qj5j5wl0r3zp7zyhm2zj3c12zmksq4g5bzki8cb";
+       version = "0.1.0.5";
+       sha256 = "1fmdn30nmz0gqa3kqyc675msmwvrdvbissfbgax19xma3yppafal";
        libraryHaskellDepends = [
          aeson aeson-pretty base containers data-default http-api-data
          http-client servant servant-client servant-server text time
@@ -22709,6 +22800,26 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "alerta_0_1_0_6" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, containers
+     , data-default, http-api-data, http-client, servant, servant-client
+     , servant-client-core, servant-server, text, time
+     }:
+     mkDerivation {
+       pname = "alerta";
+       version = "0.1.0.6";
+       sha256 = "1dg66p8gc2k0mfxd33dsc8cv6y43kq7qvyj51rvidjmdg0v5bdfm";
+       libraryHaskellDepends = [
+         aeson aeson-pretty base containers data-default http-api-data
+         http-client servant servant-client servant-client-core
+         servant-server text time
+       ];
+       homepage = "https://github.com/mjhopkins/alerta-client";
+       description = "Bindings to the alerta REST API";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "alerts" = callPackage
     ({ mkDerivation, base, blaze-html, text }:
      mkDerivation {
@@ -22798,6 +22909,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "alg" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "alg";
+       version = "0.2.0.0";
+       sha256 = "1lh5pz3zmzyq9dkgzabgi8xhlssxccxw24ng97lynmsvc7jjras8";
+       libraryHaskellDepends = [ base ];
+       description = "Algebraic structures";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "alga" = callPackage
     ({ mkDerivation, aeson, base, containers, data-default, exceptions
      , file-embed, filepath, formatting, haskeline, hspec, hxt
@@ -24083,6 +24205,7 @@ self: {
        homepage = "https://github.com/brendanhay/amazonka";
        description = "Amazon Elastic Compute Cloud SDK";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "amazonka-ecr" = callPackage
@@ -26006,8 +26129,8 @@ self: {
      }:
      mkDerivation {
        pname = "apecs";
-       version = "0.2.4.3";
-       sha256 = "01l9q8wbxiad3r1k2s8y3r08aq12148wr84y565s8i3y3w8ff8fp";
+       version = "0.2.4.4";
+       sha256 = "05yj40vbsjbylxnqqvczs8f3i42i719mihnps8b9mhrysdvz3wlp";
        libraryHaskellDepends = [
          async base containers mtl template-haskell vector
        ];
@@ -26262,15 +26385,15 @@ self: {
 
   "apiary-http-client" = callPackage
     ({ mkDerivation, apiary, base, bytestring, bytestring-builder
-     , http-client, http-types, text, transformers, types-compat, wai
+     , http-client, http-types, text, transformers, wai
      }:
      mkDerivation {
        pname = "apiary-http-client";
-       version = "0.1.3.0";
-       sha256 = "1p1scvv9m93g11xy7fix10nyw1ps4261v9h98k77z2hmhcvwnrpd";
+       version = "0.1.4.0";
+       sha256 = "0y5sl8xy2ginmb97495xb3dzzczjvrznfrdklvrbsrll9a4b5iia";
        libraryHaskellDepends = [
          apiary base bytestring bytestring-builder http-client http-types
-         text transformers types-compat wai
+         text transformers wai
        ];
        homepage = "https://github.com/winterland1989/apiary-http-client";
        description = "A http client for Apiary";
@@ -26376,6 +26499,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "apiary-redis" = callPackage
+    ({ mkDerivation, apiary, base, hedis, transformers }:
+     mkDerivation {
+       pname = "apiary-redis";
+       version = "1.5.1";
+       sha256 = "0b9m165qs7nd9iisbkkx0vpdkv37bh0vvrwq769bjc2k8qkqspwl";
+       libraryHaskellDepends = [ apiary base hedis transformers ];
+       homepage = "https://github.com/philopon/apiary";
+       description = "redis support for apiary web framework";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "apiary-session" = callPackage
     ({ mkDerivation, apiary, base, wai }:
      mkDerivation {
@@ -26891,6 +27026,37 @@ self: {
        hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {inherit (pkgs.xorg) libXScrnSaver;};
 
+  "arcgrid" = callPackage
+    ({ mkDerivation, base, parsec, parsec-numeric }:
+     mkDerivation {
+       pname = "arcgrid";
+       version = "0.1.0.0";
+       sha256 = "153ngiw2bp0c5lpiqbvhnxbf55x06ymiicnr262hbmzxkasdxskf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base parsec parsec-numeric ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/nbrk/arcgrid";
+       description = "Parse ESRI/ArcInfo (ArcGrid) raster GIS files";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
+  "arcgrid-viewer" = callPackage
+    ({ mkDerivation, arcgrid, base, bytestring, gloss, transformers }:
+     mkDerivation {
+       pname = "arcgrid-viewer";
+       version = "0.1.0.0";
+       sha256 = "1avxg7xic2h9visv16frzajdh4kn8rriq7p47714b3zarhx1f99p";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         arcgrid base bytestring gloss transformers
+       ];
+       homepage = "https://github.com/nbrk/arcgrid-viewer";
+       description = "Simple viewer for ESRI/ArcInfo (ArcGrid) geospatial data";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "archive" = callPackage
     ({ mkDerivation, base, bytestring, debian, debian-mirror, directory
      , Extra, filepath, help, HUnit, mtl, network, old-locale, pretty
@@ -27278,6 +27444,8 @@ self: {
        pname = "arithmoi";
        version = "0.6.0.0";
        sha256 = "14kcv5n9rm48f9vac333cbazy4hlpb0wqgb4fbv97ivxnjs7g22m";
+       revision = "1";
+       editedCabalFile = "0408asx3296s0rwpzjmsllfjavdnh9h2rnmbvz908xs7qc5njixd";
        configureFlags = [ "-f-llvm" ];
        libraryHaskellDepends = [
          array base containers exact-pi ghc-prim integer-gmp
@@ -28216,8 +28384,8 @@ self: {
      }:
      mkDerivation {
        pname = "async-pool";
-       version = "0.9.0.1";
-       sha256 = "12z2prc23iw77p4byyws7nljhal0275495snb669g18fy0wcrisl";
+       version = "0.9.0.2";
+       sha256 = "1wg78y80zd7qyizyis073dmmvq4s67ni1pkaq31jl5klr49rs5g0";
        libraryHaskellDepends = [
          async base containers fgl monad-control stm transformers
          transformers-base
@@ -28513,6 +28681,7 @@ self: {
        ];
        description = "Streaming parser/renderer for the Atom 1.0 standard (RFC 4287).";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "atom-conduit_0_5_0_0" = callPackage
@@ -31390,10 +31559,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "basement";
-       version = "0.0.3";
-       sha256 = "06jwanjdd3dw2n6i1c77513abin113f90nsj9vals8krgvq8jnr7";
-       revision = "1";
-       editedCabalFile = "1abv3p6y527vfg69y8fxvmgfi0mrrcvr1gvi9f0hvnq7vc2zs6jw";
+       version = "0.0.4";
+       sha256 = "1zdqv8dbzv8jx6z8fcghinbnxdc5fb97i7sdfswdr1fcp8jq6i38";
        libraryHaskellDepends = [ base ghc-prim ];
        homepage = "https://github.com/haskell-foundation/foundation";
        description = "Foundation scrap box of array & string";
@@ -34918,6 +35085,7 @@ self: {
        homepage = "http://git.kaction.name/black-jewel";
        description = "The pirate bay client";
        license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "blacktip" = callPackage
@@ -36306,6 +36474,19 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "boop" = callPackage
+    ({ mkDerivation, base, mtl, text }:
+     mkDerivation {
+       pname = "boop";
+       version = "0.1.0.0";
+       sha256 = "1gn4b8y6dlhhf1vi92km32lyryl25xvbc8akbq1xxgn16iq49y8c";
+       libraryHaskellDepends = [ base mtl text ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/tdammers/boop";
+       description = "OOP primitives for Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "bootstrap-types" = callPackage
     ({ mkDerivation, base, text }:
      mkDerivation {
@@ -36752,22 +36933,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "brick_0_28" = callPackage
-    ({ mkDerivation, base, containers, contravariant, data-clist
-     , deepseq, dlist, microlens, microlens-mtl, microlens-th, stm
-     , template-haskell, text, text-zipper, transformers, vector, vty
-     , word-wrap
+  "brick_0_29" = callPackage
+    ({ mkDerivation, base, config-ini, containers, contravariant
+     , data-clist, deepseq, dlist, microlens, microlens-mtl
+     , microlens-th, stm, template-haskell, text, text-zipper
+     , transformers, vector, vty, word-wrap
      }:
      mkDerivation {
        pname = "brick";
-       version = "0.28";
-       sha256 = "03rm4pq65i49hh2nyz9njabsjh7cbv889g5rscpy42mrhdlppqhk";
+       version = "0.29";
+       sha256 = "05zwp8rrb9iyfcp36pczxr8l035wsi5nnmc4dwv1d5vn7rcbiipw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers contravariant data-clist deepseq dlist microlens
-         microlens-mtl microlens-th stm template-haskell text text-zipper
-         transformers vector vty word-wrap
+         base config-ini containers contravariant data-clist deepseq dlist
+         microlens microlens-mtl microlens-th stm template-haskell text
+         text-zipper transformers vector vty word-wrap
        ];
        executableHaskellDepends = [
          base microlens microlens-th text text-zipper vector vty word-wrap
@@ -37141,8 +37322,8 @@ self: {
      }:
      mkDerivation {
        pname = "buffer";
-       version = "0.5.0.1";
-       sha256 = "09dwscqkdppmiprz8k0rfxkwf7qd8b6md8iviqmxw3wamm9qx7dl";
+       version = "0.5.3";
+       sha256 = "0bf9y6rb3q26rk6qd7a2mjlb1gd1gp2k080ywhp5g48l474h6p26";
        libraryHaskellDepends = [ base base-prelude bug bytestring ];
        testHaskellDepends = [
          bug quickcheck-instances rerebase tasty tasty-hunit
@@ -37536,8 +37717,8 @@ self: {
      }:
      mkDerivation {
        pname = "butcher";
-       version = "1.2.0.0";
-       sha256 = "0i18j6pw67bh2bb04zh4x4cbxyy9n7x65yyqfcl3qvl7mz4wzd7k";
+       version = "1.2.1.0";
+       sha256 = "0vam5lqbp2k8r56d997bcp63lnsc4bbs7yd4lzjvibimr38g032w";
        libraryHaskellDepends = [
          base bifunctors containers deque either extra free microlens
          microlens-th mtl multistate pretty transformers unsafe void
@@ -37633,6 +37814,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "bytearray-parsing" = callPackage
+    ({ mkDerivation, base, bytestring, primitive, text }:
+     mkDerivation {
+       pname = "bytearray-parsing";
+       version = "0.1";
+       sha256 = "1b1lz0y1a20v05bpa4xlxchc6k025gmm17hj3ysmv6j2i3k8micd";
+       libraryHaskellDepends = [ base bytestring primitive text ];
+       homepage = "https://github.com/nikita-volkov/bytearray-parsing";
+       description = "Parsing of bytearray-based data";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "bytedump" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -38568,8 +38762,8 @@ self: {
     ({ mkDerivation, base, Cabal, directory, filepath }:
      mkDerivation {
        pname = "cabal-doctest";
-       version = "1.0.2";
-       sha256 = "0h3wsjf2mg8kw1zvxc0f9nzchj5kzvza9z0arcyixkd9rkgqq6sa";
+       version = "1.0.3";
+       sha256 = "1qyqxmw5z1418jda3q5j04pknqirfrfrqigibbxi4n31ajwlfisc";
        libraryHaskellDepends = [ base Cabal directory filepath ];
        homepage = "https://github.com/phadej/cabal-doctest";
        description = "A Setup.hs helper for doctests running";
@@ -39122,15 +39316,15 @@ self: {
      }) {};
 
   "cabal-toolkit" = callPackage
-    ({ mkDerivation, base, binary, bytestring, Cabal, containers
+    ({ mkDerivation, base, binary, bytestring, Cabal, containers, ghc
      , template-haskell
      }:
      mkDerivation {
        pname = "cabal-toolkit";
-       version = "0.0.1";
-       sha256 = "0rlr2zcm4pmiknw7z4jgn1n1wd9wr056g5hbv7jcr3l709b1753j";
+       version = "0.0.3";
+       sha256 = "1l0ak8jch6hvmk5phibadzphwac60f00l1rkq03irifqs17c9a1f";
        libraryHaskellDepends = [
-         base binary bytestring Cabal containers template-haskell
+         base binary bytestring Cabal containers ghc template-haskell
        ];
        homepage = "https://github.com/TerrorJack/cabal-toolkit#readme";
        description = "Helper functions for writing custom Setup.hs scripts.";
@@ -39523,6 +39717,7 @@ self: {
        homepage = "https://github.com/centromere/cacophony#readme";
        description = "A library implementing the Noise protocol";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "caf" = callPackage
@@ -40870,15 +41065,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "cassava-conduit_0_4_0_0" = callPackage
+  "cassava-conduit_0_4_0_1" = callPackage
     ({ mkDerivation, array, base, bifunctors, bytestring, cassava
      , conduit, conduit-extra, containers, criterion, mtl, QuickCheck
      , text
      }:
      mkDerivation {
        pname = "cassava-conduit";
-       version = "0.4.0.0";
-       sha256 = "1pl3vbkyjvgz08ijm75rdxnxx5h27mya7bgzi9jpws7v2dwxlg22";
+       version = "0.4.0.1";
+       sha256 = "0y4zlr0k3hcwh8b9ly1aslpz4fbns7xw2h8jwghfl7zpi52zlj9y";
        libraryHaskellDepends = [
          array base bifunctors bytestring cassava conduit conduit-extra
          containers mtl text
@@ -41305,6 +41500,8 @@ self: {
        pname = "cci";
        version = "0.3.1";
        sha256 = "0pvap67fn9kmjvn2qqq3x99k3mzrrsnb6q6fhawvyxv8drihsfc7";
+       revision = "1";
+       editedCabalFile = "11s00cbbimpglashmp1vmw1xhd4y2g1spn01ajvx3sw6wdyh614n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base bytestring ];
@@ -41658,6 +41855,18 @@ self: {
        license = stdenv.lib.licenses.asl20;
      }) {};
 
+  "cereal-time" = callPackage
+    ({ mkDerivation, base, cereal, hspec, QuickCheck, time }:
+     mkDerivation {
+       pname = "cereal-time";
+       version = "0.1.0.0";
+       sha256 = "1ciwlkgpacc2yy5pfj0xpc0z2x7mjpv4rni550jfwny47q8dbimy";
+       libraryHaskellDepends = [ base cereal time ];
+       testHaskellDepends = [ base cereal hspec QuickCheck time ];
+       description = "Serialize instances for types from `time` package";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "cereal-vector" = callPackage
     ({ mkDerivation, base, bytestring, cereal, QuickCheck, vector }:
      mkDerivation {
@@ -42222,8 +42431,8 @@ self: {
      }:
      mkDerivation {
        pname = "chatwork";
-       version = "0.1.1.3";
-       sha256 = "0g7995g5i49mxd0qhdb2l1l1yz047yqwnmzk9f6xvqv5fqy5c6p5";
+       version = "0.1.1.5";
+       sha256 = "1r3sayix8lid0hxx8xl424q4zcff89c5gdln7zs17jg3rb9a9x57";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42278,6 +42487,8 @@ self: {
        pname = "cheapskate";
        version = "0.1.1";
        sha256 = "1hiqi7h76shjzs2zj0j8g6wnq2hbiq1hmfafdazr97fba2zl2432";
+       revision = "1";
+       editedCabalFile = "1zrbp211ciia8j1br6krbxbqsj69kmx0rgkbvbpxdklmbgpfam3b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42399,28 +42610,17 @@ self: {
      }) {};
 
   "checkers" = callPackage
-    ({ mkDerivation, array, base, QuickCheck, random }:
-     mkDerivation {
-       pname = "checkers";
-       version = "0.4.7";
-       sha256 = "15rb9j7hsdpnf57nw115z74bbk794x705bha8kz0qgb1rlpwpngr";
-       libraryHaskellDepends = [ array base QuickCheck random ];
-       description = "Check properties on standard classes and data structures";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "checkers_0_4_9" = callPackage
     ({ mkDerivation, array, base, QuickCheck, random, semigroupoids }:
      mkDerivation {
        pname = "checkers";
-       version = "0.4.9";
-       sha256 = "1vpyyhvq1xkq8pxz2xpmw14yldn8ks95zaijpqxdzsmq4v3sy83a";
+       version = "0.4.9.5";
+       sha256 = "1xaffx0vmq4swciyq3qzjfklfj19nnhd5yama9di5sas4f8v517i";
        libraryHaskellDepends = [
          array base QuickCheck random semigroupoids
        ];
+       homepage = "https://github.com/conal/checkers";
        description = "Check properties on standard classes and data structures";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "checkmate" = callPackage
@@ -42432,8 +42632,8 @@ self: {
      }:
      mkDerivation {
        pname = "checkmate";
-       version = "0.3.0";
-       sha256 = "0yqinjpc65flh50kb2jax10lrmcbp8lcy36ivrya180wdfvlcm0n";
+       version = "0.3.2";
+       sha256 = "1s79cpi5hzfb59705i6gdvicczvddsbikcwwqx22v3yfyakbbxww";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -42451,7 +42651,7 @@ self: {
        ];
        homepage = "https://github.com/spoqa/checkmate#readme";
        description = "Generate checklists relevant to a given patch";
-       license = stdenv.lib.licenses.gpl3;
+       license = stdenv.lib.licenses.agpl3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
@@ -44389,7 +44589,7 @@ self: {
        description = "Haskell bindings to the Clingo ASP solver";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
-     }) {clingo = null;};
+     }) {inherit (pkgs) clingo;};
 
   "clippard" = callPackage
     ({ mkDerivation, base, process }:
@@ -45819,17 +46019,17 @@ self: {
      }) {};
 
   "collection-json" = callPackage
-    ({ mkDerivation, aeson, base, network-uri, QuickCheck
-     , quickcheck-instances, test-invariant, text
+    ({ mkDerivation, aeson, base, bytestring, hspec, network-uri
+     , QuickCheck, quickcheck-instances, test-invariant, text
      }:
      mkDerivation {
        pname = "collection-json";
-       version = "1.0.1.0";
-       sha256 = "1vq21mjc0zfn1q1mwscq3m5j3dls8dsfcanc9n8kp3sz4lz2f3zw";
+       version = "1.1.0.1";
+       sha256 = "1bmjcgnqldysxyb4jn8d1pwa86c938f80s2xqj19w3cvwv261ybc";
        libraryHaskellDepends = [ aeson base network-uri text ];
        testHaskellDepends = [
-         aeson base network-uri QuickCheck quickcheck-instances
-         test-invariant text
+         aeson base bytestring hspec network-uri QuickCheck
+         quickcheck-instances test-invariant text
        ];
        homepage = "https://github.com/alunduil/collection-json.hs";
        description = "Collection+JSON—Hypermedia Type Tools";
@@ -46099,17 +46299,17 @@ self: {
   "columbia" = callPackage
     ({ mkDerivation, array, base, bytestring, containers, contravariant
      , data-endian, directory, filelock, invariant, mmap, mmorph
-     , monad-loops, mtl, parallel, pointed, pointless-haskell
-     , syb-with-class, transformers
+     , monad-loops, mtl, parallel, pointless-haskell, syb-with-class
+     , transformers
      }:
      mkDerivation {
        pname = "columbia";
-       version = "0.1.1";
-       sha256 = "10yd0rp9zzdsx2hcb7gn0yxz8b9zj0pfy4g8d09qgs3c8lg8fdan";
+       version = "0.1.3";
+       sha256 = "1p211lc448vc5dv9x199pi9w5371sqkdm17gjixvrgcr0dgksqc2";
        libraryHaskellDepends = [
          array base bytestring containers contravariant data-endian
          directory filelock invariant mmap mmorph monad-loops mtl parallel
-         pointed pointless-haskell syb-with-class transformers
+         pointless-haskell syb-with-class transformers
        ];
        description = "Enhanced serialization for media that support seeking";
        license = stdenv.lib.licenses.bsd3;
@@ -46316,8 +46516,8 @@ self: {
      }:
      mkDerivation {
        pname = "comfort-graph";
-       version = "0.0.2";
-       sha256 = "0gpvx1c3k30h3rkv02f8lcakbg8h38k2s9hj76ar1xy3i9qw2sgc";
+       version = "0.0.2.1";
+       sha256 = "02brkbrvs6q7nss3mpqcqwgz3nmim2xz30nvbkxqy7zdxci6kign";
        libraryHaskellDepends = [
          base containers QuickCheck transformers utility-ht
        ];
@@ -47488,14 +47688,14 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "concurrency_1_2_1_2" = callPackage
+  "concurrency_1_2_2_0" = callPackage
     ({ mkDerivation, array, atomic-primops, base, exceptions
      , monad-control, mtl, stm, transformers
      }:
      mkDerivation {
        pname = "concurrency";
-       version = "1.2.1.2";
-       sha256 = "110666c1ms104byr2shcjj1dlq1rixppsskfjzm3iyjp24diwyq6";
+       version = "1.2.2.0";
+       sha256 = "1cnr7c3w09f24rmcgyhj24w2gz84i0dw6y2ncyv3c6jw7fg7vpvw";
        libraryHaskellDepends = [
          array atomic-primops base exceptions monad-control mtl stm
          transformers
@@ -47865,24 +48065,24 @@ self: {
   "conduit-algorithms" = callPackage
     ({ mkDerivation, async, base, bytestring, bzlib-conduit, conduit
      , conduit-combinators, conduit-extra, containers, deepseq
-     , directory, filepath, HUnit, mtl, resourcet, stm, stm-chans
-     , stm-conduit, test-framework, test-framework-hunit
-     , test-framework-th, transformers, unix
+     , directory, HUnit, mtl, resourcet, stm, stm-conduit
+     , test-framework, test-framework-hunit, test-framework-th
+     , transformers
      }:
      mkDerivation {
        pname = "conduit-algorithms";
-       version = "0.0.6.0";
-       sha256 = "0b3wpmx35bl85mzy9v0hiz48flzv2vjdimkgdv58si24l3drg6g6";
+       version = "0.0.6.1";
+       sha256 = "0zs7klxlkirch0j7gasxqalfw9nc4pfslgrg93jwn5vhpxdxhgwk";
        libraryHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra containers deepseq directory filepath mtl resourcet
-         stm stm-chans stm-conduit transformers unix
+         conduit-extra containers deepseq mtl resourcet stm stm-conduit
+         transformers
        ];
        testHaskellDepends = [
          async base bytestring bzlib-conduit conduit conduit-combinators
-         conduit-extra containers deepseq directory filepath HUnit mtl
-         resourcet stm stm-chans stm-conduit test-framework
-         test-framework-hunit test-framework-th transformers unix
+         conduit-extra containers deepseq directory HUnit mtl resourcet stm
+         stm-conduit test-framework test-framework-hunit test-framework-th
+         transformers
        ];
        description = "Conduit-based algorithms";
        license = stdenv.lib.licenses.mit;
@@ -48171,19 +48371,20 @@ self: {
        homepage = "https://github.com/k0ral/conduit-parse";
        description = "Parsing framework based on conduit";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "conduit-resumablesink" = callPackage
-    ({ mkDerivation, base, bytestring, conduit, hspec, transformers
-     , void
+    ({ mkDerivation, base, bytestring, conduit, hspec, resourcet
+     , transformers, void
      }:
      mkDerivation {
        pname = "conduit-resumablesink";
-       version = "0.1.1";
-       sha256 = "1bqdpnhqjh4dhvppsa8nlgja0jpdw48kxywz2999sp5hi53qxdfg";
+       version = "0.2";
+       sha256 = "0pk4qvsxmmvrx9kfypbsjiq6kgcma73w97873rk3nrc9vdcm888v";
        libraryHaskellDepends = [ base conduit void ];
        testHaskellDepends = [
-         base bytestring conduit hspec transformers void
+         base bytestring conduit hspec resourcet transformers void
        ];
        homepage = "http://github.com/A1kmm/conduit-resumablesink";
        description = "Allows conduit to resume sinks to feed multiple sources into it";
@@ -48193,21 +48394,21 @@ self: {
 
   "conduit-throttle" = callPackage
     ({ mkDerivation, async, base, conduit, conduit-combinators
-     , conduit-extra, HUnit, resourcet, stm, stm-chans, stm-conduit
-     , test-framework, test-framework-hunit, throttle-io-stream
-     , unliftio, unliftio-core
+     , conduit-extra, HUnit, monad-control, resourcet, stm, stm-chans
+     , stm-conduit, test-framework, test-framework-hunit
+     , throttle-io-stream, unliftio, unliftio-core
      }:
      mkDerivation {
        pname = "conduit-throttle";
-       version = "0.2.0.1";
-       sha256 = "0402bnj5z4m2lqgagbw8rc7c8vmm3sldp1vcrywd5zvcp5031xsa";
+       version = "0.3.0.0";
+       sha256 = "1kwrryplhck8q6hn6lx6j741d9hllzf84ykmqwiq0h34fjdd0a4r";
        libraryHaskellDepends = [
-         async base conduit conduit-combinators conduit-extra resourcet stm
-         stm-chans throttle-io-stream unliftio unliftio-core
+         async base conduit conduit-combinators conduit-extra monad-control
+         resourcet stm stm-chans throttle-io-stream unliftio unliftio-core
        ];
        testHaskellDepends = [
          async base conduit conduit-combinators conduit-extra HUnit
-         resourcet stm stm-chans stm-conduit test-framework
+         monad-control resourcet stm stm-chans stm-conduit test-framework
          test-framework-hunit throttle-io-stream unliftio unliftio-core
        ];
        homepage = "https://github.com/mtesseract/conduit-throttle#readme";
@@ -48291,21 +48492,19 @@ self: {
      }) {};
 
   "config-ini" = callPackage
-    ({ mkDerivation, base, directory, doctest, ini, megaparsec
-     , microlens, QuickCheck, text, transformers, unordered-containers
+    ({ mkDerivation, base, containers, directory, doctest, hedgehog
+     , ini, megaparsec, microlens, text, transformers
+     , unordered-containers
      }:
      mkDerivation {
        pname = "config-ini";
-       version = "0.1.2.1";
-       sha256 = "14yq2yssk13ip0iz7q7wl3gp9k575wcj3h7c603halkdqf17iibi";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.2.0.0";
+       sha256 = "1sp62zw4ibgczcv927m7irrpyp4pgm67wdkf7z815699nqjad284";
        libraryHaskellDepends = [
-         base megaparsec text transformers unordered-containers
+         base containers megaparsec text transformers unordered-containers
        ];
-       executableHaskellDepends = [ base text ];
        testHaskellDepends = [
-         base directory doctest ini microlens QuickCheck text
+         base containers directory doctest hedgehog ini microlens text
          unordered-containers
        ];
        homepage = "https://github.com/aisamanra/config-ini";
@@ -48336,6 +48535,19 @@ self: {
        license = stdenv.lib.licenses.gpl3;
      }) {};
 
+  "config-parser" = callPackage
+    ({ mkDerivation, base, hspec, lens, parsec, text }:
+     mkDerivation {
+       pname = "config-parser";
+       version = "0.2.0.0";
+       sha256 = "0mpqk41inrb7p16bwhxcffvpl7v5ix1qim28bp4j1s00bjyn9n4i";
+       libraryHaskellDepends = [ base parsec ];
+       testHaskellDepends = [ base hspec lens parsec text ];
+       homepage = "https://github.com/protoben/config-parser";
+       description = "Parse config files using parsec and generate parse errors on unhandled keys";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "config-schema" = callPackage
     ({ mkDerivation, base, config-value, containers, free
      , kan-extensions, pretty, semigroupoids, text, transformers
@@ -49078,6 +49290,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "content-store" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cond, conduit
+     , conduit-combinators, conduit-extra, cryptonite, directory
+     , filepath, hspec, htoml, memory, monad-control, mtl, resourcet
+     , temporary, text, transformers, transformers-base, unix
+     }:
+     mkDerivation {
+       pname = "content-store";
+       version = "0.1.1";
+       sha256 = "1rzapw039a2k4g5s0vlw4mm6hrq35xzj6iksp0qpq87150bzy6pp";
+       libraryHaskellDepends = [
+         aeson base bytestring cond conduit conduit-combinators
+         conduit-extra cryptonite directory filepath htoml memory
+         monad-control mtl resourcet temporary text transformers
+         transformers-base unix
+       ];
+       testHaskellDepends = [ base bytestring hspec memory ];
+       homepage = "https://github.com/weldr/content-store";
+       description = "Store and retrieve data from an on-disk store";
+       license = "LGPL";
+     }) {};
+
   "context-free-grammar" = callPackage
     ({ mkDerivation, array, base, containers, control-monad-omega
      , dlist, HUnit, mtl, pretty, QuickCheck, quickcheck-properties
@@ -49662,8 +49896,8 @@ self: {
      }:
      mkDerivation {
        pname = "cookie";
-       version = "0.4.2.1";
-       sha256 = "1r2j518lfcswn76qm6p2h1rl98gfsxad7p7z9qaww84fj28k0h86";
+       version = "0.4.3";
+       sha256 = "0qpdydhb9gw590ffabqg70x7xvjpg8l74idqnrfbhv5yrr7hryzv";
        libraryHaskellDepends = [
          base blaze-builder bytestring data-default-class deepseq old-locale
          text time
@@ -50146,8 +50380,8 @@ self: {
      }:
      mkDerivation {
        pname = "country";
-       version = "0.1.3";
-       sha256 = "0gn73gkfqn4iy9zjbkzf5x65pljg82hm6dvi7fb81hxswwm50qbs";
+       version = "0.1.4";
+       sha256 = "027i4ncnsyii41wfndn369xmlbkp4vvcrx7m7cdb07n4wlcpz0bl";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring ghc-prim hashable primitive
          scientific text unordered-containers
@@ -51930,6 +52164,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "cryptohash-sha256_0_11_101_0" = callPackage
+    ({ mkDerivation, base, base16-bytestring, bytestring, criterion
+     , SHA, tasty, tasty-hunit, tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "cryptohash-sha256";
+       version = "0.11.101.0";
+       sha256 = "1p85vajcgw9hmq8zsz9krzx0vxh7aggwbg5w9ws8w97avcsn8xaj";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring ];
+       testHaskellDepends = [
+         base base16-bytestring bytestring SHA tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [ base bytestring criterion ];
+       homepage = "https://github.com/hvr/cryptohash-sha256";
+       description = "Fast, pure and practical SHA-256 implementation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "cryptohash-sha512" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, criterion
      , SHA, tasty, tasty-hunit, tasty-quickcheck
@@ -57000,12 +57256,12 @@ self: {
      }:
      mkDerivation {
        pname = "deiko-config";
-       version = "0.5.0.0";
-       sha256 = "0zhi173mm905aqh52fsw1c9y3hxk07yc1g2s0rrjr75cdl7ssljy";
+       version = "0.5.0.1";
+       sha256 = "0jcnidr4b52n12byx96y6k25949xwn3krby691la58jnvgmi22dr";
        libraryHaskellDepends = [
          array base containers exceptions mtl parsec text transformers
        ];
-       homepage = "http://github.com/YoEight/deiko-config";
+       homepage = "https://github.com/YoEight/deiko-config";
        description = "Small and typesafe configuration library";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -57030,14 +57286,14 @@ self: {
        hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {};
 
-  "dejafu_0_9_0_1" = callPackage
+  "dejafu_0_9_0_3" = callPackage
     ({ mkDerivation, base, concurrency, containers, deepseq, exceptions
      , leancheck, random, ref-fd, transformers, transformers-base
      }:
      mkDerivation {
        pname = "dejafu";
-       version = "0.9.0.1";
-       sha256 = "18i21basz8d50axa1ccgz9djghd95iazv4k7x499fff1nak39147";
+       version = "0.9.0.3";
+       sha256 = "11nhxn5cmqw0xybbpvq54y9nbrjv915hzysai4hqfr4b1jk3fwbh";
        libraryHaskellDepends = [
          base concurrency containers deepseq exceptions leancheck random
          ref-fd transformers transformers-base
@@ -57523,12 +57779,20 @@ self: {
      }) {};
 
   "derive-storable-plugin" = callPackage
-    ({ mkDerivation, base, derive-storable, ghc, ghci }:
+    ({ mkDerivation, base, criterion, deepseq, derive-storable, ghc
+     , ghc-paths, ghci, hspec, QuickCheck
+     }:
      mkDerivation {
        pname = "derive-storable-plugin";
-       version = "0.1.0.2";
-       sha256 = "1kdbr0zb3gynvhj0wimxfd320rhnd13fyb73v3nv4sci6pxq1c6r";
+       version = "0.2.0.0";
+       sha256 = "1s0pm6crwbp3j4dfv5mf3lr75l0cvzy019968gbi4hml8v9wd6iw";
        libraryHaskellDepends = [ base derive-storable ghc ghci ];
+       testHaskellDepends = [
+         base derive-storable ghc ghc-paths ghci hspec QuickCheck
+       ];
+       benchmarkHaskellDepends = [
+         base criterion deepseq derive-storable
+       ];
        homepage = "https://www.github.com/mkloczko/derive-storable-plugin/";
        description = "GHC core plugin supporting the derive-storable package";
        license = stdenv.lib.licenses.mit;
@@ -57833,23 +58097,25 @@ self: {
      }) {};
 
   "dhall" = callPackage
-    ({ mkDerivation, ansi-wl-pprint, base, bytestring, case-insensitive
-     , charset, containers, contravariant, exceptions, http-client
-     , http-client-tls, lens, optparse-generic, parsers, prettyprinter
-     , system-fileio, system-filepath, tasty, tasty-hunit, text
-     , text-format, transformers, trifecta, unordered-containers, vector
+    ({ mkDerivation, ansi-wl-pprint, base, base16-bytestring
+     , bytestring, case-insensitive, charset, containers, contravariant
+     , cryptohash, exceptions, http-client, http-client-tls, lens
+     , optparse-generic, parsers, prettyprinter, system-fileio
+     , system-filepath, tasty, tasty-hunit, text, text-format
+     , transformers, trifecta, unordered-containers, vector
      }:
      mkDerivation {
        pname = "dhall";
-       version = "1.7.0";
-       sha256 = "1177px9xlvby3wbhwgrvx23wxgmcqhl3qllbry6k42rbgf7rw900";
+       version = "1.8.0";
+       sha256 = "0bfnylfjqp8065i2akz5b8p55c45396hi8h6lx0jkl1i597567c4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint base bytestring case-insensitive charset containers
-         contravariant exceptions http-client http-client-tls lens parsers
-         prettyprinter system-fileio system-filepath text text-format
-         transformers trifecta unordered-containers vector
+         ansi-wl-pprint base base16-bytestring bytestring case-insensitive
+         charset containers contravariant cryptohash exceptions http-client
+         http-client-tls lens parsers prettyprinter system-fileio
+         system-filepath text text-format transformers trifecta
+         unordered-containers vector
        ];
        executableHaskellDepends = [
          base optparse-generic prettyprinter system-filepath text trifecta
@@ -57868,8 +58134,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-bash";
-       version = "1.0.5";
-       sha256 = "1cicl18sz969ws64jybxsibcbk1686mfia9avw8asy1fmr2w6ryv";
+       version = "1.0.6";
+       sha256 = "1wjwjpprvd90dpmxij5zj1gr5x41bvzmr4qwyfhxd2am6bzg5n5d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57910,8 +58176,8 @@ self: {
      }:
      mkDerivation {
        pname = "dhall-json";
-       version = "1.0.7";
-       sha256 = "1wgzj9gfvxs2yvh0hnncfck2qbf4fhqpnibl6n10d0hllmvdbq1b";
+       version = "1.0.8";
+       sha256 = "0icwbsx7a6m62klyghllvwj474f2kxghh40d7f5v01l135qrg8a1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57928,16 +58194,18 @@ self: {
 
   "dhall-nix" = callPackage
     ({ mkDerivation, base, containers, data-fix, dhall, hnix
-     , neat-interpolation, optparse-generic, text, trifecta, vector
+     , neat-interpolation, optparse-generic, text, text-format, trifecta
+     , vector
      }:
      mkDerivation {
        pname = "dhall-nix";
-       version = "1.0.8";
-       sha256 = "1z6jgcfk1zi0alhpp6ycskb6yd40j2l7bl9bxfkb79443383r2mm";
+       version = "1.0.9";
+       sha256 = "06njwk2mmn8virrzd7q1bw91rwagcczkjn21kjhbajn6gzl77dry";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base containers data-fix dhall hnix neat-interpolation text vector
+         base containers data-fix dhall hnix neat-interpolation text
+         text-format vector
        ];
        executableHaskellDepends = [
          base dhall hnix optparse-generic text trifecta
@@ -57951,8 +58219,8 @@ self: {
     ({ mkDerivation, base, dhall, optparse-generic, text }:
      mkDerivation {
        pname = "dhall-text";
-       version = "1.0.3";
-       sha256 = "1kic5mwndqmxqrg9f2a7panawns5j43pik42hl2dds5fvj3cmvr9";
+       version = "1.0.4";
+       sha256 = "1ba2sljiq016jhgx7ifh5vjrwxd1czv2gm56h2pig3p0x45ds2wm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [ base dhall optparse-generic text ];
@@ -59181,8 +59449,8 @@ self: {
     ({ mkDerivation, base, Cabal, ghc-prim, QuickCheck }:
      mkDerivation {
        pname = "dimensions";
-       version = "0.3.1.0";
-       sha256 = "1img3byk6jyfjqn1diss2067k88ii6hg5g92yaghkizh1d2vmyi0";
+       version = "0.3.2.0";
+       sha256 = "1ps9yy363xfpvq6dl5mjp02h0cj1vdib2vggvsykvgqwwrnra83p";
        libraryHaskellDepends = [ base ghc-prim ];
        testHaskellDepends = [ base Cabal QuickCheck ];
        homepage = "https://github.com/achirkin/easytensor#readme";
@@ -59274,13 +59542,13 @@ self: {
      }:
      mkDerivation {
        pname = "diplomacy";
-       version = "0.1.0.0";
-       sha256 = "0ynq3khwxwiazqlfibd353cqbha5n55576picrx98w3lbnqv3g47";
+       version = "0.2.0.0";
+       sha256 = "0n0vqc65rjkbplamjhc3zx0ahlx6lf72yyqrkd2d7b03jzfmjvfq";
        libraryHaskellDepends = [
          base containers HUnit parsec transformers TypeNat
        ];
        homepage = "https://github.com/avieth/diplomacy";
-       description = "The board game Diplomacy, spoken in Haskell";
+       description = "Diplomacy board game";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -59397,6 +59665,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "direct-rocksdb" = callPackage
+    ({ mkDerivation, base, bytestring, Cabal, cabal-toolkit, directory
+     , filepath, safe-exceptions
+     }:
+     mkDerivation {
+       pname = "direct-rocksdb";
+       version = "0.0.3";
+       sha256 = "12h5hasv7pm3iglxhbvdmdzybi4m1czi4f5hrhv2685nwvkqsdc4";
+       setupHaskellDepends = [
+         base Cabal cabal-toolkit directory filepath
+       ];
+       libraryHaskellDepends = [ base bytestring safe-exceptions ];
+       testHaskellDepends = [
+         base bytestring directory filepath safe-exceptions
+       ];
+       homepage = "https://github.com/TerrorJack/direct-rocksdb#readme";
+       description = "Bindings to RocksDB";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "direct-sqlite" = callPackage
     ({ mkDerivation, base, base16-bytestring, bytestring, directory
      , HUnit, temporary, text
@@ -59699,6 +59988,21 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "disjoint-containers" = callPackage
+    ({ mkDerivation, base, containers, doctest, QuickCheck
+     , transformers
+     }:
+     mkDerivation {
+       pname = "disjoint-containers";
+       version = "0.2.1";
+       sha256 = "1082mx4af7h70hvnj0fxgimhnqbgn3ywkh53lm1hyhcfalnmyrs7";
+       libraryHaskellDepends = [ base containers transformers ];
+       testHaskellDepends = [ base containers doctest QuickCheck ];
+       homepage = "https://github.com/andrewthad/disjoint-containers#readme";
+       description = "Disjoint containers";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "disjoint-set" = callPackage
     ({ mkDerivation, base, containers, HUnit, mtl, QuickCheck
      , transformers
@@ -59763,8 +60067,8 @@ self: {
      }:
      mkDerivation {
        pname = "diskhash";
-       version = "0.0.2.3";
-       sha256 = "08g484knhw96mlk5qa6cx1cm9kblxrz8979c9xcvmidgj44phb8z";
+       version = "0.0.3.2";
+       sha256 = "0sfm7x9pqfbd6p894ivq212ckd7sj2sgdgsdjv5dip2pb95x3i78";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring directory HUnit QuickCheck test-framework
@@ -60242,6 +60546,8 @@ self: {
        pname = "distributed-process-simplelocalnet";
        version = "0.2.4";
        sha256 = "0ayz2l48ykbsb7wmyf5cl6anmrrr3bxspbadv7nwa1lg74rqpsif";
+       revision = "2";
+       editedCabalFile = "1msya8gyk48yngw5znyr68f5ygvmiz6yjyhwkgxzjj56h4zh0jh4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -61037,6 +61343,20 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "docstrings" = callPackage
+    ({ mkDerivation, base, containers, heredoc, template-haskell }:
+     mkDerivation {
+       pname = "docstrings";
+       version = "0.1.0.0";
+       sha256 = "0v8wks6vrpbwiimh8g88nyk18c4g0x8ad8vpf4av2v4y5h7vv5qd";
+       libraryHaskellDepends = [
+         base containers heredoc template-haskell
+       ];
+       homepage = "https://github.com/daig/docstrings#readme";
+       description = "Docstrings for documentation in the repl";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "doctemplates" = callPackage
     ({ mkDerivation, aeson, base, blaze-html, blaze-markup, bytestring
      , containers, hspec, parsec, scientific, text, unordered-containers
@@ -61660,6 +61980,7 @@ self: {
        homepage = "https://github.com/psibi/download";
        description = "High-level file download based on URLs";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "download-curl" = callPackage
@@ -62384,6 +62705,7 @@ self: {
        homepage = "https://github.com/k0ral/dublincore-xml-conduit";
        description = "XML streaming parser/renderer for the Dublin Core standard elements";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "duckling" = callPackage
@@ -62424,8 +62746,8 @@ self: {
      }:
      mkDerivation {
        pname = "dumb-cas";
-       version = "0.1.1.0";
-       sha256 = "1crzw0axgamjhxrm2ggdqw45jw80avp227bwc1v0c7lmb4cmkr3p";
+       version = "0.1.1.1";
+       sha256 = "0pimlspgrfv04hwz91krbcq0g01fhrp9vgi2sj1kc7wz9hcd1pva";
        libraryHaskellDepends = [
          base containers decimal-literals hashable template-haskell
          unordered-containers
@@ -62479,9 +62801,10 @@ self: {
     ({ mkDerivation, base, transformers, transformers-base }:
      mkDerivation {
        pname = "dunai";
-       version = "0.2.0.0";
-       sha256 = "1h6rw4h300hbmv05immhzxzf5yb9kc5zsykifdysi40l4fbx7rkc";
+       version = "0.3.0.0";
+       sha256 = "0ncznc3khbanqsq4ab0n246sx30slq13awclafln5bjxvi1cx3yl";
        libraryHaskellDepends = [ base transformers transformers-base ];
+       homepage = "https://github.com/ivanperez-keera/dunai";
        description = "Generalised reactive framework supporting classic, arrowized and monadic FRP";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -62835,8 +63158,8 @@ self: {
      }:
      mkDerivation {
        pname = "dynamic-plot";
-       version = "0.2.2.0";
-       sha256 = "1w4w58x75x04i4mgfwb2znprrbf8vbml691niymlx1vlzlcsf13z";
+       version = "0.3.0.0";
+       sha256 = "0a674aqs9jnkga3a9sp24qyr3fssbizh4p1zwfvzwafnjrbmrc5c";
        libraryHaskellDepends = [
          base colour colour-space constrained-categories containers
          data-default deepseq diagrams-cairo diagrams-core diagrams-gtk
@@ -63187,8 +63510,8 @@ self: {
      }:
      mkDerivation {
        pname = "easytensor";
-       version = "0.3.1.0";
-       sha256 = "07shnpbnh3qq28yhcrhwhhb8m8b9x5ad36cj5f5hxqghfhih7k6b";
+       version = "0.4.0.0";
+       sha256 = "13wgg67gjg07r1n91kqikbhz8nnzfbgmi0v8a1596a6z7al4kvpr";
        libraryHaskellDepends = [ base dimensions ghc-prim ];
        testHaskellDepends = [ base Cabal dimensions QuickCheck ];
        benchmarkHaskellDepends = [ base dimensions time ];
@@ -63674,6 +63997,7 @@ self: {
        libraryHaskellDepends = [ base type-level-sets ];
        description = "Embeds effect systems into Haskell using graded monads";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "effective-aspects" = callPackage
@@ -63765,8 +64089,8 @@ self: {
      }:
      mkDerivation {
        pname = "egison";
-       version = "3.6.5";
-       sha256 = "1fdlpk51y9ddwj5nky0k7shxm1z2nv0l3xfbfgmjcq44xc5wpzsn";
+       version = "3.7.0";
+       sha256 = "01k6ywf4ww302s92wdpbf54wdlrgs0f2a2b56g58gjn4icyp1b9x";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -63896,8 +64220,8 @@ self: {
      }:
      mkDerivation {
        pname = "eigen";
-       version = "2.1.6";
-       sha256 = "0287j907pasjb7w7bwr6snb4qic7j14msxhps445yjfkqa2arzfz";
+       version = "2.1.7";
+       sha256 = "080dv9hxjfqaarj0vzmaxjc382a3aqp4z69k6nl4vs09g2i1cfg4";
        libraryHaskellDepends = [
          base binary bytestring primitive transformers vector
        ];
@@ -64350,17 +64674,18 @@ self: {
      }) {};
 
   "eliminators" = callPackage
-    ({ mkDerivation, base, extra, hspec, singletons, template-haskell
-     , th-abstraction, th-desugar
+    ({ mkDerivation, base, extra, hspec, singleton-nats, singletons
+     , template-haskell, th-abstraction, th-desugar
      }:
      mkDerivation {
        pname = "eliminators";
-       version = "0.2";
-       sha256 = "1flv7bmsx38wgb88kdvwncn55fkahfsi2gghc5jwy0j9036pr3h9";
+       version = "0.3";
+       sha256 = "1x52m3dqq0l5lz0apkcgd9m5nlw58d42gdi0q8c8cf0dk8m3b8mn";
        libraryHaskellDepends = [
-         base extra singletons template-haskell th-abstraction th-desugar
+         base extra singleton-nats singletons template-haskell
+         th-abstraction th-desugar
        ];
-       testHaskellDepends = [ base hspec singletons ];
+       testHaskellDepends = [ base hspec singleton-nats singletons ];
        homepage = "https://github.com/RyanGlScott/eliminators";
        description = "Dependently typed elimination functions using singletons";
        license = stdenv.lib.licenses.bsd3;
@@ -64697,6 +65022,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "elm-websocket" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, concurrent-extra
+     , containers, directory, formatting, hspec, http-types, lens, mtl
+     , network, scotty, stm, text, time, wai, wai-middleware-static
+     , wai-websockets, warp, websockets, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "elm-websocket";
+       version = "1.0";
+       sha256 = "10v97m93dl34apvv3jn26jfcb7f206q3bqvwqk220j83s8kas07a";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring concurrent-extra containers directory
+         formatting lens mtl stm text time wai wai-websockets websockets
+         wl-pprint-text
+       ];
+       executableHaskellDepends = [
+         aeson base concurrent-extra http-types scotty text wai
+         wai-middleware-static warp
+       ];
+       testHaskellDepends = [
+         aeson base concurrent-extra hspec http-types mtl network text wai
+         warp websockets
+       ];
+       homepage = "http://github.com/rhyskeepence/elm-websocket";
+       description = "Generate ELM code from a Wai websocket application";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "elm-yesod" = callPackage
     ({ mkDerivation, base, blaze-markup, Elm, shakespeare-js, text
      , yesod-core
@@ -64852,8 +65207,8 @@ self: {
      }:
      mkDerivation {
        pname = "email-validate";
-       version = "2.3.1";
-       sha256 = "0fzbaxshhlg97pm66yjhz7fxxq9j1m3k0sqslzngh36r8aw9l66j";
+       version = "2.3.2";
+       sha256 = "1h15z89qsp7b08nnjgs2rcwavfhfrkanvh7j8jp0rrx7xh0rz6lv";
        libraryHaskellDepends = [
          attoparsec base bytestring template-haskell
        ];
@@ -64927,8 +65282,8 @@ self: {
      }:
      mkDerivation {
        pname = "emailparse";
-       version = "0.2.0.6";
-       sha256 = "0n02h7d3n4xaivwpqiki2p0qca44y1md5zxp77l74ld7lf7y7rm9";
+       version = "0.2.0.8";
+       sha256 = "1x6hzmmsmdyqbcsx3sfgzi59y21ps7knz5hdinsyg1s30i22zgkz";
        libraryHaskellDepends = [
          attoparsec base bytestring either either-unwrap mime MissingH
          strptime text text-icu time word8
@@ -66330,8 +66685,8 @@ self: {
      }:
      mkDerivation {
        pname = "ethereum-analyzer";
-       version = "3.0.0";
-       sha256 = "008y4r5xfw8sd3s1lq39clb9sbzhph4xjdw34875hg1shny3n902";
+       version = "3.1.0";
+       sha256 = "0f92wvj70afzp7azrx67rvckylv9d0wdlz42f12ydbfjyfz8dlsc";
        libraryHaskellDepends = [
          aeson base bimap bytestring containers ethereum-analyzer-deps extra
          fgl GenericPretty graphviz hexstring hoopl pretty protolude split
@@ -66356,8 +66711,8 @@ self: {
      }:
      mkDerivation {
        pname = "ethereum-analyzer-cli";
-       version = "3.0.0";
-       sha256 = "1fsvslfa94v9yfy94l5qwgn7gl96f6k8826rmdllbzsq8q6wgrzz";
+       version = "3.1.0";
+       sha256 = "125vh338p4a2vvllcip8y94qfq75x4lfqqh6q2h6cygf1x0kpn6h";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -66383,8 +66738,8 @@ self: {
      }:
      mkDerivation {
        pname = "ethereum-analyzer-deps";
-       version = "3.0.0";
-       sha256 = "0d23sa2zva6bzzg7369g770azvx9xhbvc61kafa6gk1wcfb6y7qz";
+       version = "3.1.0";
+       sha256 = "1acydya38c26fkzai9i3j347f3cmbscdzd5kvja6wincl8ym7i88";
        libraryHaskellDepends = [
          aeson ansi-wl-pprint base base16-bytestring binary bytestring
          containers deepseq fast-logger global-lock monad-logger split text
@@ -66404,8 +66759,8 @@ self: {
      }:
      mkDerivation {
        pname = "ethereum-analyzer-webui";
-       version = "3.0.0";
-       sha256 = "1nf134v74spqbwjk5b0hb3f298ps4h6073nmwxhadhm886sif8k5";
+       version = "3.1.0";
+       sha256 = "0kshih6fmg3y5m0dzv3129l2lxbh97vzkxqi12rn1l5krpcs1wlz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -67575,6 +67930,8 @@ self: {
        pname = "exinst";
        version = "0.4";
        sha256 = "0n7fk3gjwyvw8k9paznwfgc8bgg7aiz9brfzkcfl3q57hr84dwj9";
+       revision = "1";
+       editedCabalFile = "01rwd7q00c86l73pfkq7k1qvw3ijpiy66axckj9702s2xc962dji";
        libraryHaskellDepends = [
          aeson base binary bytes cereal constraints deepseq hashable
          profunctors QuickCheck singletons
@@ -68614,27 +68971,6 @@ self: {
      }:
      mkDerivation {
        pname = "fast-builder";
-       version = "0.0.0.6";
-       sha256 = "074ymsrgh549xvfd9gswgiph7shzdql1494vrzbl7v119vxw50sa";
-       libraryHaskellDepends = [ base bytestring ghc-prim ];
-       testHaskellDepends = [ base bytestring process QuickCheck stm ];
-       benchmarkHaskellDepends = [
-         aeson base bytestring containers criterion deepseq ghc-prim
-         scientific template-haskell text true-name unordered-containers
-         vector
-       ];
-       homepage = "http://github.com/takano-akio/fast-builder";
-       description = "Fast ByteString Builder";
-       license = stdenv.lib.licenses.publicDomain;
-     }) {};
-
-  "fast-builder_0_0_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, criterion
-     , deepseq, ghc-prim, process, QuickCheck, scientific, stm
-     , template-haskell, text, true-name, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "fast-builder";
        version = "0.0.1.0";
        sha256 = "09s0jyiv1ch8cbgwfaxn5mmn9w7ik661h2g6d5znxr0nsi0bp2n1";
        libraryHaskellDepends = [ base bytestring ghc-prim ];
@@ -68647,7 +68983,6 @@ self: {
        homepage = "http://github.com/takano-akio/fast-builder";
        description = "Fast ByteString Builder";
        license = stdenv.lib.licenses.publicDomain;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fast-digits" = callPackage
@@ -71034,20 +71369,51 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fixed-vector_1_0_0_0" = callPackage
+    ({ mkDerivation, base, deepseq, doctest, filemanip, primitive }:
+     mkDerivation {
+       pname = "fixed-vector";
+       version = "1.0.0.0";
+       sha256 = "1y2250frzbx750jpp9qslmhfjdx9bn8aariwng3py3kz392p7x3g";
+       libraryHaskellDepends = [ base deepseq primitive ];
+       testHaskellDepends = [ base doctest filemanip primitive ];
+       description = "Generic vectors with statically known size";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fixed-vector-binary" = callPackage
     ({ mkDerivation, base, binary, fixed-vector, tasty
      , tasty-quickcheck
      }:
      mkDerivation {
        pname = "fixed-vector-binary";
-       version = "0.6.0.0";
-       sha256 = "1yjyw9wc92laiwd9w8ng3456azicvf9a9wqk2v6liiksj3flw7hy";
+       version = "1.0.0.0";
+       sha256 = "1q3rjjgn16fa5d8cqrlaac2b29v3045am1aanyn77vi843xzah98";
        libraryHaskellDepends = [ base binary fixed-vector ];
        testHaskellDepends = [
          base binary fixed-vector tasty tasty-quickcheck
        ];
        description = "Binary instances for fixed-vector";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "fixed-vector-cborg" = callPackage
+    ({ mkDerivation, base, cborg, fixed-vector, serialise, tasty
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "fixed-vector-cborg";
+       version = "1.0.0.0";
+       sha256 = "0fmdl4vfg65709iw8s18hjayqhdx4zgn36l17z2x9xlh0prspkki";
+       libraryHaskellDepends = [ base cborg fixed-vector serialise ];
+       testHaskellDepends = [
+         base fixed-vector serialise tasty tasty-quickcheck
+       ];
+       description = "Binary instances for fixed-vector";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fixed-vector-cereal" = callPackage
@@ -71056,14 +71422,15 @@ self: {
      }:
      mkDerivation {
        pname = "fixed-vector-cereal";
-       version = "0.6.0.0";
-       sha256 = "1kf3d0pfaif5fish1vc5z7d5ym23bwl80l8bg4bgpdw75cg2dnn6";
+       version = "1.0.0.0";
+       sha256 = "1vg44xjwf4ffq4jxiqzk5rphbkgys81lzm1nzjsrfr8s7hhn0clp";
        libraryHaskellDepends = [ base cereal fixed-vector ];
        testHaskellDepends = [
          base cereal fixed-vector tasty tasty-quickcheck
        ];
        description = "Cereal instances for fixed-vector";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "fixed-vector-hetero" = callPackage
@@ -71074,6 +71441,8 @@ self: {
        pname = "fixed-vector-hetero";
        version = "0.3.1.2";
        sha256 = "0l8vphi8ijyzyk372r9i7imq8r6ki1w774gid69c8d2a2b63gvdd";
+       revision = "1";
+       editedCabalFile = "05scgl0r3g9nnb0pfg39cinylm11wdyqr8f51k69wj5y79fzf5yz";
        libraryHaskellDepends = [
          base deepseq fixed-vector ghc-prim primitive transformers
        ];
@@ -71082,6 +71451,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "fixed-vector-hetero_0_4_0_0" = callPackage
+    ({ mkDerivation, base, deepseq, fixed-vector, primitive }:
+     mkDerivation {
+       pname = "fixed-vector-hetero";
+       version = "0.4.0.0";
+       sha256 = "1x163xw7r95xj8m7nrsbi090pvbmvqw6wplg5ki96k6wa5slidin";
+       libraryHaskellDepends = [ base deepseq fixed-vector primitive ];
+       homepage = "http://github.org/Shimuuar/fixed-vector-hetero";
+       description = "Generic heterogeneous vectors";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "fixed-width" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -71554,6 +71936,7 @@ self: {
        homepage = "https://github.com/BlockScope/haskell-flight-igc#readme";
        description = "A parser for IGC files";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "flippers" = callPackage
@@ -71982,8 +72365,8 @@ self: {
      }:
      mkDerivation {
        pname = "fluid-idl";
-       version = "0.0.1";
-       sha256 = "1mqswhsvyycxa7c7c92jag6rsp0dbkdm8bwjv6pcr92w293ycrv2";
+       version = "0.0.4";
+       sha256 = "1kdiq6mw01dr85ii7vg7bsw8m260y6njjf5afx3p718hsxwiw4yr";
        libraryHaskellDepends = [
          aeson base bytestring containers errors exceptions lifted-async
          monad-control monad-logger mtl random safe-exceptions scientific
@@ -72667,8 +73050,8 @@ self: {
      }:
      mkDerivation {
        pname = "forest-fire";
-       version = "0.2.1";
-       sha256 = "007jx5iylhfxjdq7x3ffn1cx27wy7201wvxw23w5nds48vfna6ia";
+       version = "0.2.2";
+       sha256 = "053gp1wmzfhn26gq0awhz3fas8vcjbx953cis4r4ahfzwvy71r7r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -73061,14 +73444,16 @@ self: {
      }) {};
 
   "foundation" = callPackage
-    ({ mkDerivation, base, basement, criterion, ghc-prim }:
+    ({ mkDerivation, base, basement, gauge, ghc-prim }:
      mkDerivation {
        pname = "foundation";
-       version = "0.0.16";
-       sha256 = "1kyczi9lfiwbib9irgz4dzy1h60hv6irxyqba6x48bp6vzylfscr";
+       version = "0.0.17";
+       sha256 = "00f2p47h715fjb3rpsxlf4jskgwk9sz5p692r09gspspqmrs5l84";
+       revision = "1";
+       editedCabalFile = "15y38y0mj4vc694jwh3cjgnq8xv5vv7954g633f7mw5f0hb3yxkn";
        libraryHaskellDepends = [ base basement ghc-prim ];
        testHaskellDepends = [ base basement ];
-       benchmarkHaskellDepends = [ base basement criterion ];
+       benchmarkHaskellDepends = [ base basement gauge ];
        homepage = "https://github.com/haskell-foundation/foundation";
        description = "Alternative prelude with batteries and no dependencies";
        license = stdenv.lib.licenses.bsd3;
@@ -75590,8 +75975,8 @@ self: {
      }:
      mkDerivation {
        pname = "gelatin";
-       version = "0.1.0.0";
-       sha256 = "08y9wsym19rgwr6k44n8pxffwi1fna3nmg4bq5cc7in5zj1ihfbv";
+       version = "0.1.0.1";
+       sha256 = "151sf11a9sfwi6wg26l7lyphklv3lgy51djfqx3qszykhzccgv7b";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -75983,15 +76368,15 @@ self: {
      }) {};
 
   "generic-lens" = callPackage
-    ({ mkDerivation, base, criterion, deepseq, ghc-proofs, lens
+    ({ mkDerivation, base, criterion, deepseq, inspection-testing, lens
      , profunctors, QuickCheck
      }:
      mkDerivation {
        pname = "generic-lens";
-       version = "0.4.0.1";
-       sha256 = "1imldy8sf7cfzyhxfijh70pclrvdxxr0i4j5gygvi7n5khkh1ask";
+       version = "0.4.1.0";
+       sha256 = "1nlizrgnfivabc35199aizahv0za9wvp7dhsqmvhafkjj0sr5113";
        libraryHaskellDepends = [ base profunctors ];
-       testHaskellDepends = [ base ghc-proofs ];
+       testHaskellDepends = [ base inspection-testing ];
        benchmarkHaskellDepends = [
          base criterion deepseq lens QuickCheck
        ];
@@ -76167,8 +76552,8 @@ self: {
        pname = "generic-xmlpickler";
        version = "0.1.0.5";
        sha256 = "1brnlgnbys811qy64aps2j03ks2p0rkihaqzaszfwl80cpsn05ym";
-       revision = "2";
-       editedCabalFile = "0knkxg05kasx08flzjzhkl1mb28wifsghz02812vwajxpp6rysm5";
+       revision = "3";
+       editedCabalFile = "17z1kfyshlqr8ayljs5f2jbahvc58kqyd272afcpqvs7kq1c0aja";
        libraryHaskellDepends = [ base generic-deriving hxt text ];
        testHaskellDepends = [
          base hxt hxt-pickle-utils tasty tasty-hunit tasty-th
@@ -76897,8 +77282,8 @@ self: {
      }:
      mkDerivation {
        pname = "geoip2";
-       version = "0.3.0.0";
-       sha256 = "1yazd4wgf4ivk2x3apymddcww24z7a4b0jxzph7l8273wd8dy8zg";
+       version = "0.3.1.0";
+       sha256 = "1w9iqfkyi0ij33kng4adczi6m8chyhsadc2af5ryp8xzl7w64l8m";
        libraryHaskellDepends = [
          base bytestring cereal containers iproute mmap reinterpret-cast
          text
@@ -77455,8 +77840,8 @@ self: {
     ({ mkDerivation, base, process, shake, unordered-containers }:
      mkDerivation {
        pname = "ghc-make";
-       version = "0.3.2";
-       sha256 = "10vbibmgssb1ichxha92q5mqlaglhkcv4xxiikq4mh3l3bgzw6bj";
+       version = "0.3.3";
+       sha256 = "17rsj6x49iv4vk8vfgqw5y5vxk97lh1b5za07m2aijk4js7rqm75";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -77465,6 +77850,7 @@ self: {
        homepage = "https://github.com/ndmitchell/ghc-make#readme";
        description = "Accelerated version of ghc --make";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ghc-man-completion" = callPackage
@@ -77675,8 +78061,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-prof";
-       version = "1.4.0.2";
-       sha256 = "0qcz4283gm9hxnqx462rdn1r3q9jmad19b3y8n0z4lsrpfziynq1";
+       version = "1.4.0.3";
+       sha256 = "0zlarx19czj9vrckh9vam58l4vybszznxr4kwn7x2mb3vdhv0ghd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -77915,14 +78301,14 @@ self: {
        license = stdenv.lib.licenses.bsd2;
      }) {};
 
-  "ghc-typelits-natnormalise_0_5_6" = callPackage
+  "ghc-typelits-natnormalise_0_5_7" = callPackage
     ({ mkDerivation, base, ghc, ghc-tcplugins-extra, integer-gmp, tasty
      , tasty-hunit, template-haskell
      }:
      mkDerivation {
        pname = "ghc-typelits-natnormalise";
-       version = "0.5.6";
-       sha256 = "07rrc3aw00i36z6xgp2jik9wqi0d8byzy48dy8jj089vp7s6birb";
+       version = "0.5.7";
+       sha256 = "0spqlrj7iys6i355sv7r71niimaqx9n3p4p5pfkfck8n5rfc9lq3";
        libraryHaskellDepends = [
          base ghc ghc-tcplugins-extra integer-gmp
        ];
@@ -78106,8 +78492,8 @@ self: {
      }:
      mkDerivation {
        pname = "ghcid";
-       version = "0.6.7";
-       sha256 = "1drx6nwniflgz0l7szdnnbski03c4jpgqlx45cilyq6s50byvqy6";
+       version = "0.6.8";
+       sha256 = "1ca8962sh41jkz82lx1snx8fzp8s2v5dsq0mczgzc7aqjgclb35g";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -79263,7 +79649,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "ginger_0_7_2_0" = callPackage
+  "ginger_0_7_3_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring
      , data-default, filepath, http-types, mtl, parsec, safe, scientific
      , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers
@@ -79271,8 +79657,8 @@ self: {
      }:
      mkDerivation {
        pname = "ginger";
-       version = "0.7.2.0";
-       sha256 = "1xgczxqqd4ml8ifcyr45nrgbqn5a40nrbkvzbn4r4djpivnsrk0k";
+       version = "0.7.3.0";
+       sha256 = "1c4k0ixpkdb711arxcn028z27y78ssr6j5n7dfs9cajf93x727gs";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -79475,8 +79861,8 @@ self: {
      }:
      mkDerivation {
        pname = "git-annex";
-       version = "6.20171026";
-       sha256 = "0i44cfxp5wy6y527l9jbj83ilkxilp4jm7106q70czls0hnx6yij";
+       version = "6.20171109";
+       sha256 = "15fl5vazl38yfqi3iz9dqfqkav031wyd306rz1hlgxdqplayz3y5";
        configureFlags = [
          "-fassistant" "-fcryptonite" "-fdbus" "-fdesktopnotify" "-fdns"
          "-ffeed" "-finotify" "-fpairing" "-fproduction" "-fquvi" "-fs3"
@@ -79897,7 +80283,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "github_0_17_0" = callPackage
+  "github_0_18" = callPackage
     ({ mkDerivation, aeson, aeson-compat, base, base-compat
      , base16-bytestring, binary, binary-orphans, byteable, bytestring
      , containers, cryptohash, deepseq, deepseq-generics, exceptions
@@ -79908,10 +80294,8 @@ self: {
      }:
      mkDerivation {
        pname = "github";
-       version = "0.17.0";
-       sha256 = "1w9r40c2wjzlc503g30br6dwq213b2q6qap4r1nlk13z9r57c9mk";
-       revision = "1";
-       editedCabalFile = "183a17k7mgnq7x7pc9hg51692vq0n8v7qp9s5rvzkbdk4gl4kcn8";
+       version = "0.18";
+       sha256 = "0i4cs6d95ik5c8zs2508nmhjh2v30a0qjyxfqyxhjsz48p9h5p1i";
        libraryHaskellDepends = [
          aeson aeson-compat base base-compat base16-bytestring binary
          binary-orphans byteable bytestring containers cryptohash deepseq
@@ -79921,8 +80305,8 @@ self: {
          vector vector-instances
        ];
        testHaskellDepends = [
-         aeson-compat base base-compat file-embed hspec unordered-containers
-         vector
+         aeson-compat base base-compat bytestring file-embed hspec
+         unordered-containers vector
        ];
        homepage = "https://github.com/phadej/github";
        description = "Access to the GitHub API, v3";
@@ -81364,8 +81748,8 @@ self: {
      }:
      mkDerivation {
        pname = "gnss-converters";
-       version = "0.3.16";
-       sha256 = "0fhwl0l5vzacqc62sdrvdsl0vhw1wi8l4c3pmg21nsgy73rxb1ar";
+       version = "0.3.21";
+       sha256 = "13r593v6yb78352xf2365n0c49jcb6ijjvkrpsis9rbcglj6cnbx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -83524,20 +83908,20 @@ self: {
      }) {};
 
   "gpio" = callPackage
-    ({ mkDerivation, base, basic-prelude, monad-control
-     , optparse-generic, string-conversions
+    ({ mkDerivation, base, directory, exceptions, monad-control
+     , optparse-generic, safe
      }:
      mkDerivation {
        pname = "gpio";
-       version = "0.1.0.2";
-       sha256 = "0xm5yaji6by4jvvgpfldmrs370k9ph5c5c3h0zsyv5mhjz7z010b";
+       version = "0.1.0.3";
+       sha256 = "1ky4i7hyx2cmxj75kx34b8w4rxrvags88xm7fbfjsb76bs1m9z10";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base basic-prelude monad-control string-conversions
+         base directory exceptions monad-control optparse-generic safe
        ];
        executableHaskellDepends = [
-         base basic-prelude optparse-generic string-conversions
+         base directory exceptions monad-control optparse-generic safe
        ];
        homepage = "http://github.com/tgolson/gpio";
        description = "Haskell GPIO interface, designed specifically for the RaspberryPi";
@@ -84906,8 +85290,8 @@ self: {
      }:
      mkDerivation {
        pname = "group-by-date";
-       version = "0.1.0.1";
-       sha256 = "08gzxskp996m92pn49zz5h8543rnn6jk5vffgb8iiwvrzsa4xn0d";
+       version = "0.1.0.2";
+       sha256 = "09x5wag0s6bkmhqcdbrzcibpwjqg5jr8lfm9vcbwi0qyv2nn7f5h";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -85175,7 +85559,7 @@ self: {
        homepage = "http://projects.haskell.org/gtk2hs/";
        description = "Binding to the GStreamer open source multimedia framework";
        license = stdenv.lib.licenses.lgpl21;
-       hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) gst-plugins-base; inherit (pkgs) gstreamer;};
 
   "gt-tools" = callPackage
@@ -87072,6 +87456,7 @@ self: {
        homepage = "http://code.haskell.org/~dons/code/hackage-sparks";
        description = "Generate sparkline graphs of hackage statistics";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hackage-whatsnew" = callPackage
@@ -87106,6 +87491,7 @@ self: {
        homepage = "http://code.haskell.org/~dons/code/hackage2hwn";
        description = "Convert Hackage RSS feeds to wiki format for publishing on Haskell.org";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "hackage2twitter" = callPackage
@@ -89839,15 +90225,16 @@ self: {
 
   "hardware-edsl" = callPackage
     ({ mkDerivation, array, base, bytestring, constraints, containers
-     , language-vhdl, mtl, operational-alacarte, pretty, syntactic
+     , deepseq, language-vhdl, mtl, operational-alacarte, pretty
+     , syntactic
      }:
      mkDerivation {
        pname = "hardware-edsl";
-       version = "0.1.0.1";
-       sha256 = "1363bzain9g7xf6b8npizbkdj9z120cciz3vyd7jd5nvqbi8n86b";
+       version = "0.1.2";
+       sha256 = "0vf82qkh0wvdi0d3lvnp8wks09a4ngr57l2kd122f2284a868xfx";
        libraryHaskellDepends = [
-         array base bytestring constraints containers language-vhdl mtl
-         operational-alacarte pretty syntactic
+         array base bytestring constraints containers deepseq language-vhdl
+         mtl operational-alacarte pretty syntactic
        ];
        homepage = "https://github.com/markus-git/hardware-edsl";
        description = "Deep embedding of hardware descriptions with code generation";
@@ -90586,8 +90973,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskanoid";
-       version = "0.1.5.2";
-       sha256 = "1hw4ylwwsmp59ifw8s4w1394gv7p2xc6nvqajfmil0p8r8s6r1pf";
+       version = "0.1.5.4";
+       sha256 = "01cwjvs1sj66w9siqfq3vzrw5607bh2pxr6zzx64jhqhcr3yv73d";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -91178,6 +91565,20 @@ self: {
        license = stdenv.lib.licenses.lgpl21;
      }) {inherit (pkgs) glib;};
 
+  "haskell-gi-base_0_20_5" = callPackage
+    ({ mkDerivation, base, bytestring, containers, glib, text }:
+     mkDerivation {
+       pname = "haskell-gi-base";
+       version = "0.20.5";
+       sha256 = "1854v6z8ragc5bbv4jc1qwbn85pw7z9gsqd17qizps6zmpx3gm9a";
+       libraryHaskellDepends = [ base bytestring containers text ];
+       libraryPkgconfigDepends = [ glib ];
+       homepage = "https://github.com/haskell-gi/haskell-gi-base";
+       description = "Foundation for libraries generated by haskell-gi";
+       license = stdenv.lib.licenses.lgpl21;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {inherit (pkgs) glib;};
+
   "haskell-gi-overloading_0_0" = callPackage
     ({ mkDerivation }:
      mkDerivation {
@@ -93681,8 +94082,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasmin";
-       version = "0.3.3";
-       sha256 = "0xpy48vhrjy8lckyym76888r8byyipcq27qcml04j3fvk5gw0cf0";
+       version = "0.3.3.1";
+       sha256 = "0hcrdyyhaj3s7mam8i0lbaljgs0xmdv5076jaxb3jhh459fl682c";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -93789,7 +94190,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hasql_1" = callPackage
+  "hasql_1_1" = callPackage
     ({ mkDerivation, attoparsec, base, base-prelude, bug, bytestring
      , bytestring-strict-builder, contravariant, contravariant-extras
      , criterion, data-default-class, dlist, either, hashable
@@ -93800,8 +94201,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1";
-       sha256 = "0zhk9vwlmjc1cwbqx1l9nns155a5f2zbb8k1240wqcylignfqi2b";
+       version = "1.1";
+       sha256 = "1c2gfdgxki17ng6b5qr3pvmra7v7x3hf9vh75hq4n6jr8rp03iki";
        libraryHaskellDepends = [
          attoparsec base base-prelude bytestring bytestring-strict-builder
          contravariant contravariant-extras data-default-class dlist either
@@ -93870,8 +94271,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-cursor-query";
-       version = "0.4.3.1";
-       sha256 = "0m9lr2n5ac0n9gslj2v24jmm68b1aq29zb9ca5wszfs16x6v92ci";
+       version = "0.4.4";
+       sha256 = "0xbnhgix1g4sf2cpimz77ljiwm79l4lnx1ys7q31rak1fyw7fgs0";
        libraryHaskellDepends = [
          base base-prelude bytestring contravariant foldl hasql
          hasql-cursor-transaction hasql-transaction profunctors
@@ -93893,8 +94294,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-cursor-transaction";
-       version = "0.6.2.1";
-       sha256 = "113fkkkdh2ar431b9l3jbqabymmas2r0fwc7icfys3ayh8r50fg7";
+       version = "0.6.3";
+       sha256 = "12vzkay4r0pzz41p4n60zd077yigr3373i5nr8cpf8z39msj8vaj";
        libraryHaskellDepends = [
          base base-prelude bytestring bytestring-tree-builder contravariant
          contravariant-extras hasql hasql-transaction transformers
@@ -93953,8 +94354,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-optparse-applicative";
-       version = "0.2.3";
-       sha256 = "0ph2dzfl12bcdcd4xqw5kg1sdyd36ajz3n3ha27rnvv0l8slld6i";
+       version = "0.2.4";
+       sha256 = "0gdbwhzcfjriq2yah5kfn9r1anc77f1iyay86zsdgq4z8qi6asvr";
        libraryHaskellDepends = [
          base-prelude hasql hasql-pool optparse-applicative
        ];
@@ -93967,8 +94368,8 @@ self: {
     ({ mkDerivation, base-prelude, hasql, resource-pool, time }:
      mkDerivation {
        pname = "hasql-pool";
-       version = "0.4.2.1";
-       sha256 = "0gr7cml6qzj4936yaf4wn4y9ss3vklndlnxfg10lgm8f85sgg40m";
+       version = "0.4.3";
+       sha256 = "08fzh0y1cxaslp8ia26p9jhs3dckjfdvmiqw1lasdabb7ij82i0j";
        libraryHaskellDepends = [ base-prelude hasql resource-pool time ];
        homepage = "https://github.com/nikita-volkov/hasql-pool";
        description = "A pool of connections for Hasql";
@@ -94067,8 +94468,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-transaction";
-       version = "0.5.1";
-       sha256 = "0iy114xfkqxpqya13wb5h238wk8gqf4hhh2k5mcqrjxp24cmwl78";
+       version = "0.5.2";
+       sha256 = "0w4y65vqgc4pk66xpip9jzzbas6cpnss4gx1w91rg7j48491cmym";
        libraryHaskellDepends = [
          base base-prelude bytestring bytestring-tree-builder contravariant
          contravariant-extras hasql mtl transformers
@@ -94318,10 +94719,8 @@ self: {
      }:
      mkDerivation {
        pname = "hat";
-       version = "2.9.0.0";
-       sha256 = "05sbgq1mliahdn4qj7flgw7klrm67r2mz7gxs03i6lx6mi3phm9f";
-       revision = "1";
-       editedCabalFile = "1wspd2shxpp3x4p4ghgf82vqchlkxk6qhvsgn07ypzm2kfz3a9dh";
+       version = "2.9.4";
+       sha256 = "13ldpj92qzp243zwnx0q044isdq2nmbh93wardqzr37jybs7m4xs";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -95824,6 +96223,31 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "hedis_0_9_12" = callPackage
+    ({ mkDerivation, async, base, bytestring, bytestring-lexing
+     , deepseq, HUnit, mtl, network, resource-pool, scanner
+     , slave-thread, stm, test-framework, test-framework-hunit, text
+     , time, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "hedis";
+       version = "0.9.12";
+       sha256 = "0z9d0d1f394xf1c6fsi4c0ib3pgn0w3d6iw2h34774bxrmglf5aa";
+       libraryHaskellDepends = [
+         async base bytestring bytestring-lexing deepseq mtl network
+         resource-pool scanner stm text time unordered-containers vector
+       ];
+       testHaskellDepends = [
+         async base bytestring HUnit mtl slave-thread stm test-framework
+         test-framework-hunit text time
+       ];
+       benchmarkHaskellDepends = [ base mtl time ];
+       homepage = "https://github.com/informatikr/hedis";
+       description = "Client library for the Redis datastore: supports full command set, pipelining";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hedis-config" = callPackage
     ({ mkDerivation, aeson, base, bytestring, hedis, scientific, text
      , time
@@ -96781,8 +97205,8 @@ self: {
      }:
      mkDerivation {
        pname = "heterocephalus";
-       version = "1.0.5.0";
-       sha256 = "1qhm8vq8dncmqd9mjqghw1b327brjc9ij9pxjbkpk0lppx3pgsnw";
+       version = "1.0.5.1";
+       sha256 = "01klxr6wmibav30yaxz0mf8xhd57frs6ika8c26qsgwjlj5qd94p";
        libraryHaskellDepends = [
          base blaze-html blaze-markup containers dlist mtl parsec
          shakespeare template-haskell text transformers
@@ -99130,7 +99554,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "hjsonschema_1_7_0" = callPackage
+  "hjsonschema_1_7_1" = callPackage
     ({ mkDerivation, aeson, async, base, bytestring, containers
      , directory, file-embed, filepath, hashable, hjsonpointer, hspec
      , http-client, http-types, pcre-heavy, profunctors, protolude
@@ -99139,8 +99563,8 @@ self: {
      }:
      mkDerivation {
        pname = "hjsonschema";
-       version = "1.7.0";
-       sha256 = "01k29v8xqw3d8vy3qdf6ppgjmly7ppbg19yjrsiv10szishwigg2";
+       version = "1.7.1";
+       sha256 = "0x9w33scdnbfdmadxpx2c4fgkmpvny9ipsl2y7fq56zr6fa0ybfz";
        libraryHaskellDepends = [
          aeson base bytestring containers file-embed filepath hashable
          hjsonpointer http-client http-types pcre-heavy profunctors
@@ -99342,6 +99766,8 @@ self: {
        pname = "hledger-api";
        version = "1.4";
        sha256 = "00vpl1ch1v80f37y8yn2psdzm7ccxpfn3jp93xqxbasksxfawfa7";
+       revision = "1";
+       editedCabalFile = "1q3fvasxg32xza2pgf725x0j5dsz4rklng3blyw0kq70bccgdaka";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -99402,8 +99828,8 @@ self: {
        pname = "hledger-iadd";
        version = "1.2.6";
        sha256 = "1l5vzhyya5h6sc3l74iy0mnys8bcjp6m5z0m3lqabk37ik31ld36";
-       revision = "5";
-       editedCabalFile = "0sv6lqnsi5s28f001xi72bjlaykwl1l7ygf9kqpj01i8km7l5xpr";
+       revision = "6";
+       editedCabalFile = "06bk66lcd6ps370nwqns0dn00vxivg27hhln5bz57syjqlamfd0j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -99511,8 +99937,8 @@ self: {
        pname = "hledger-ui";
        version = "1.4";
        sha256 = "0rm6091nlpijhi6k74dg35g38a7ly22mqfnb0mvjp8pyxb4phq33";
-       revision = "4";
-       editedCabalFile = "0gffnqaf35yscg080p1p50f4w4l5rcvf5q5y19fbwmgwvp9nm687";
+       revision = "5";
+       editedCabalFile = "0lplgg7xffpjk6qjzvjp2klmb178bc06wnyq0qlh6fm29g8d18yp";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -99670,22 +100096,24 @@ self: {
      }) {inherit (pkgs) libsass;};
 
   "hlint" = callPackage
-    ({ mkDerivation, ansi-terminal, base, bytestring, cmdargs
-     , containers, cpphs, directory, extra, filepath, haskell-src-exts
-     , hscolour, process, refact, text, transformers, uniplate
-     , unordered-containers, vector, yaml
+    ({ mkDerivation, aeson, ansi-terminal, base, bytestring, cmdargs
+     , containers, cpphs, data-default, directory, extra, filepath
+     , haskell-src-exts, haskell-src-exts-util, hscolour, process
+     , refact, text, transformers, uniplate, unordered-containers
+     , vector, yaml
      }:
      mkDerivation {
        pname = "hlint";
-       version = "2.0.9";
-       sha256 = "1bd5nizx1dbzhrfcr9mgpjvg4b6f6z73jvslkbialp7g9pkr6a95";
+       version = "2.0.10";
+       sha256 = "1kmjgdj652lx269sppa35wga8a2376nzjd548nnc6h52kdpgix30";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         ansi-terminal base bytestring cmdargs containers cpphs directory
-         extra filepath haskell-src-exts hscolour process refact text
-         transformers uniplate unordered-containers vector yaml
+         aeson ansi-terminal base bytestring cmdargs containers cpphs
+         data-default directory extra filepath haskell-src-exts
+         haskell-src-exts-util hscolour process refact text transformers
+         uniplate unordered-containers vector yaml
        ];
        executableHaskellDepends = [ base ];
        homepage = "https://github.com/ndmitchell/hlint#readme";
@@ -99817,7 +100245,7 @@ self: {
          vector
        ];
        librarySystemDepends = [ openblasCompat ];
-       preConfigure = "sed -i hmatrix.cabal -e 's@/usr/@/dont/hardcode/paths/@'";
+       preConfigure = "sed -i hmatrix.cabal -e '/\\/usr\\//D'";
        homepage = "https://github.com/albertoruiz/hmatrix";
        description = "Numeric Linear Algebra";
        license = stdenv.lib.licenses.bsd3;
@@ -99837,7 +100265,7 @@ self: {
          vector
        ];
        librarySystemDepends = [ openblasCompat ];
-       preConfigure = "sed -i hmatrix.cabal -e 's@/usr/@/dont/hardcode/paths/@'";
+       preConfigure = "sed -i hmatrix.cabal -e '/\\/usr\\//D'";
        homepage = "https://github.com/albertoruiz/hmatrix";
        description = "Numeric Linear Algebra";
        license = stdenv.lib.licenses.bsd3;
@@ -100432,29 +100860,31 @@ self: {
     ({ mkDerivation, aeson, aeson-pretty, attoparsec
      , attoparsec-iso8601, base, bytestring, conduit
      , conduit-combinators, conduit-extra, containers, criterion
-     , directory, hspec, hspec-attoparsec, hspec-core
+     , deepseq, directory, extra, hspec, hspec-attoparsec, hspec-core
      , hspec-expectations, ip, lifted-base, monad-control, monad-loops
      , monad-par, mtl, optparse-applicative, permute, random, resourcet
-     , text, time, transformers-base, unix, unordered-containers, word8
-     , yaml, zeromq4-conduit, zeromq4-haskell
+     , stm-conduit, text, time, transformers-base, unix
+     , unordered-containers, word8, yaml, zeromq4-conduit
+     , zeromq4-haskell
      }:
      mkDerivation {
        pname = "hnormalise";
-       version = "0.4.8.0";
-       sha256 = "1s4ilaw574xhvfhsl9afvb7khz50sg7bag6hckbfadf1h4mhblal";
+       version = "0.5.0.0";
+       sha256 = "01xiqkm94amm7kdwvdgcm3f4slylmvc04qxkbddh2xsm8wz4c9a2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson aeson-pretty attoparsec attoparsec-iso8601 base bytestring
-         containers directory ip permute resourcet text time
-         unordered-containers yaml
+         conduit containers deepseq directory ip monad-loops permute
+         resourcet text time unordered-containers yaml zeromq4-conduit
+         zeromq4-haskell
        ];
        executableHaskellDepends = [
          aeson aeson-pretty attoparsec attoparsec-iso8601 base bytestring
-         conduit conduit-combinators conduit-extra containers directory ip
-         lifted-base monad-control monad-loops monad-par mtl
-         optparse-applicative resourcet text time transformers-base unix
-         word8 yaml zeromq4-conduit zeromq4-haskell
+         conduit conduit-combinators conduit-extra containers deepseq
+         directory extra ip lifted-base monad-control monad-loops monad-par
+         mtl optparse-applicative resourcet stm-conduit text time
+         transformers-base unix word8 yaml zeromq4-conduit zeromq4-haskell
        ];
        testHaskellDepends = [
          aeson attoparsec attoparsec-iso8601 base conduit-extra hspec
@@ -100530,15 +100960,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "hoauth2_1_4_0" = callPackage
+  "hoauth2_1_5_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, exceptions
      , http-conduit, http-types, microlens, text, unordered-containers
      , uri-bytestring, uri-bytestring-aeson, wai, warp
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.4.0";
-       sha256 = "0wksa14mj7pyd6mjv81m1djqs8s79sri8a1by14l626pgai7p3h0";
+       version = "1.5.0";
+       sha256 = "0dfrqdjrvc94f94xl8vqggdvzbkiwj3xfkmwilkskvnfg1s1hg8q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -100826,8 +101256,8 @@ self: {
      }:
      mkDerivation {
        pname = "hol";
-       version = "1.2";
-       sha256 = "121nz9v05fj7qph9x1c7vg7zasvcm2bdlqsk8y0apvgx1wh58cdp";
+       version = "1.3";
+       sha256 = "067grmahi268xx8ajy032p43rcggksky6vi6hqxr82i2dzs217l6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -100835,8 +101265,8 @@ self: {
          transformers
        ];
        executableHaskellDepends = [
-         base bytestring containers filepath parsec pretty process
-         QuickCheck text transformers
+         base bytestring containers filepath parsec pretty process text
+         transformers
        ];
        testHaskellDepends = [
          base bytestring containers filepath parsec pretty process
@@ -101466,8 +101896,8 @@ self: {
        pname = "hopenpgp-tools";
        version = "0.19.5";
        sha256 = "1yb6slxphz7lghclv1cjs2kwig1ll1dxzcaf4js26nanq280lqz0";
-       revision = "1";
-       editedCabalFile = "0lid8ck44b5ybb8wq81bh8wianr4r4rigqzq49cfr1g4kxmhqcq8";
+       revision = "2";
+       editedCabalFile = "1w9ban4w6zm7cknfnlzhgx649xg2j0vsrhqdlnd5g8qzcbbhh0si";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -103688,6 +104118,28 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "hsass_0_5_0" = callPackage
+    ({ mkDerivation, base, bytestring, data-default-class, filepath
+     , hlibsass, hspec, hspec-discover, monad-loops, temporary
+     , transformers
+     }:
+     mkDerivation {
+       pname = "hsass";
+       version = "0.5.0";
+       sha256 = "07jhny061fnxqiijr2rqac85qzlxz24w8dms5pn844as8nkwdi4d";
+       libraryHaskellDepends = [
+         base bytestring data-default-class filepath hlibsass monad-loops
+         transformers
+       ];
+       testHaskellDepends = [
+         base bytestring data-default-class hspec hspec-discover temporary
+       ];
+       homepage = "https://github.com/jakubfijalkowski/hsass";
+       description = "Integrating Sass into Haskell applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hsay" = callPackage
     ({ mkDerivation, base, Hclip, HTTP, process, unix }:
      mkDerivation {
@@ -105602,8 +106054,8 @@ self: {
      }:
      mkDerivation {
        pname = "hspec-golden-aeson";
-       version = "0.2.0.3";
-       sha256 = "1yq3qxidz9qw1vvd7pcyhiwhgxfb2q42kjywx2bn2w13cjxg56fd";
+       version = "0.2.1.0";
+       sha256 = "0qb50fbni4ma87lx356j412ii18b82svkrg8gv2kx67n1f84hisq";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring directory filepath hspec
          QuickCheck quickcheck-arbitrary-adt random transformers
@@ -105992,6 +106444,31 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hspec-wai_0_9_0" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, case-insensitive
+     , hspec, hspec-core, hspec-expectations, http-types, QuickCheck
+     , text, transformers, wai, wai-extra
+     }:
+     mkDerivation {
+       pname = "hspec-wai";
+       version = "0.9.0";
+       sha256 = "1fnzarsksv8hwawggimvy3qyb8k5vkj3971xkg86lzdpl789xzn8";
+       libraryHaskellDepends = [
+         base base-compat bytestring case-insensitive hspec-core
+         hspec-expectations http-types QuickCheck text transformers wai
+         wai-extra
+       ];
+       testHaskellDepends = [
+         base base-compat bytestring case-insensitive hspec hspec-core
+         hspec-expectations http-types QuickCheck text transformers wai
+         wai-extra
+       ];
+       homepage = "https://github.com/hspec/hspec-wai#readme";
+       description = "Experimental Hspec support for testing WAI applications";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-wai-json" = callPackage
     ({ mkDerivation, aeson, aeson-qq, base, bytestring
      , case-insensitive, hspec, hspec-wai, template-haskell
@@ -106010,6 +106487,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "hspec-wai-json_0_9_0" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, base, bytestring
+     , case-insensitive, hspec, hspec-wai, template-haskell
+     }:
+     mkDerivation {
+       pname = "hspec-wai-json";
+       version = "0.9.0";
+       sha256 = "11c0w9mg4syd532mnbrdiib4a07k1qm70x02jm3gqzzwlwgl1id1";
+       libraryHaskellDepends = [
+         aeson aeson-qq base bytestring case-insensitive hspec-wai
+         template-haskell
+       ];
+       testHaskellDepends = [ base hspec hspec-wai ];
+       homepage = "https://github.com/hspec/hspec-wai#readme";
+       description = "Testing JSON APIs with hspec-wai";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "hspec-webdriver" = callPackage
     ({ mkDerivation, aeson, base, data-default, hashable, hspec
      , hspec-core, HUnit, lifted-base, stm, text, transformers
@@ -107526,6 +108022,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "http-client-extra" = callPackage
+    ({ mkDerivation, aeson, array, base, base64-bytestring
+     , blaze-builder, bytestring, case-insensitive, containers
+     , data-default, exceptions, http-client, http-types, random, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "http-client-extra";
+       version = "0.1.2.0";
+       sha256 = "087qwyg2ws3fz26ghys4vafdcbkfx6bxsz1pzni8102ynk3hwn5m";
+       libraryHaskellDepends = [
+         aeson array base base64-bytestring blaze-builder bytestring
+         case-insensitive containers data-default exceptions http-client
+         http-types random text transformers
+       ];
+       description = "wrapper for http-client exposing cookies";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "http-client-lens" = callPackage
     ({ mkDerivation, base, bytestring, http-client, http-types, lens
      , network
@@ -108354,8 +108869,8 @@ self: {
      }:
      mkDerivation {
        pname = "http2-client";
-       version = "0.4.0.0";
-       sha256 = "077qd9pqgyw2ldsl1rjmn9bk04i6pndckdk9wnqiaq8gibl7d6yw";
+       version = "0.5.0.0";
+       sha256 = "1vzbh65ifndpbwdwaam1zcy7myqxk39sl0m8244pg7ixy8yrnc25";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -108530,6 +109045,27 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) ruby;};
 
+  "huck" = callPackage
+    ({ mkDerivation, base, classy-prelude, containers, hedgehog
+     , megaparsec, scientific, text, time, unordered-containers
+     }:
+     mkDerivation {
+       pname = "huck";
+       version = "0.0.1";
+       sha256 = "0kwv459n32zj4vpas055cswp3xcqj959y6syxmv7h3yhz74nqw4f";
+       libraryHaskellDepends = [
+         base classy-prelude containers megaparsec scientific text time
+         unordered-containers
+       ];
+       testHaskellDepends = [
+         base classy-prelude hedgehog megaparsec text time
+         unordered-containers
+       ];
+       homepage = "https://github.com/tmcgilchrist/huck";
+       description = "huck";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "huckleberry" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -109398,8 +109934,8 @@ self: {
      }:
      mkDerivation {
        pname = "hw-kafka-client";
-       version = "2.0.4";
-       sha256 = "0mqrxczjr822hccmrdsmy98mw10jdmiiq94vdibkqrh618hs4fd5";
+       version = "2.1.3";
+       sha256 = "006lkyjwjsn1npznzv9ysqsap2f7w3gsxn8rimlpv0manvk8h5bg";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -109816,8 +110352,8 @@ self: {
      }:
      mkDerivation {
        pname = "hwsl2";
-       version = "0.4.0.0";
-       sha256 = "0f081h2w2his8fgis6prj6z5bywh4csjqgwn5mc4wdy5s1zi6010";
+       version = "0.4.0.1";
+       sha256 = "07kg0m75fi9m236lnisrjdyx7y53hl6pm4v5l9cxvghfankfbgk0";
        libraryHaskellDepends = [ base bytestring ];
        testHaskellDepends = [
          base bytestring quickcheck-properties tasty tasty-quickcheck
@@ -111377,7 +111913,7 @@ self: {
        pname = "idris";
        version = "1.0";
        sha256 = "1srbz0cyvd0k1yqgbrwnfj94yg5y3z533q1kzac96z1h7v454s5h";
-       configureFlags = [ "-fcurses" "-fffi" "-fgmp" ];
+       configureFlags = [ "-fcurses" "-f-execonly" "-fffi" "-fgmp" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -111421,7 +111957,7 @@ self: {
        pname = "idris";
        version = "1.1.1";
        sha256 = "0rq43i3mf7b4yiwzrzzpyh3ldka3j514ms9cf31vsfpy0jn3bvkp";
-       configureFlags = [ "-fcurses" "-fffi" "-fgmp" ];
+       configureFlags = [ "-fcurses" "-fexeconly" "-fffi" "-fgmp" ];
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -112235,6 +112771,7 @@ self: {
        homepage = "https://github.com/k0ral/imm";
        description = "Execute arbitrary actions for each unread element of RSS/Atom feeds";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "imm_1_2_1_0" = callPackage
@@ -112325,10 +112862,8 @@ self: {
      }:
      mkDerivation {
        pname = "imperative-edsl";
-       version = "0.7";
-       sha256 = "1xzm0l79vdbqmkxqjpmnblapzzk4nj9mbsdvdcqyb13bzcv7f80s";
-       revision = "2";
-       editedCabalFile = "15sgfxw2ajg7xp9riy5kxl1xwpy69ncspjxvyas4pcclnjxhdln0";
+       version = "0.7.1";
+       sha256 = "0cia9yq5z7h3024kwhwjzzaq97281aib1nwimj6b4rp425yfybfr";
        libraryHaskellDepends = [
          array base BoundedChan containers data-default-class deepseq
          directory exception-transformers ghc-prim language-c-quote
@@ -112509,14 +113044,15 @@ self: {
      }) {};
 
   "impure-containers" = callPackage
-    ({ mkDerivation, base, containers, ghc-prim, hashable, HUnit
-     , primitive, QuickCheck, test-framework, test-framework-hunit
-     , test-framework-quickcheck2, transformers, vector
+    ({ mkDerivation, base, containers, criterion, ghc-prim, hashable
+     , HUnit, primitive, QuickCheck, test-framework
+     , test-framework-hunit, test-framework-quickcheck2, transformers
+     , vector
      }:
      mkDerivation {
        pname = "impure-containers";
-       version = "0.4.0";
-       sha256 = "0fwk9fqfll9mw89maaiz7hg848nqa9mjyr9md9w5ll9g94l1scbf";
+       version = "0.4.1";
+       sha256 = "06z74yxa3pxwa0ad1464riqjzylnsldzkzfpw1di7n4a8a0g0n0x";
        libraryHaskellDepends = [
          base containers ghc-prim hashable primitive vector
        ];
@@ -112524,6 +113060,7 @@ self: {
          base containers HUnit QuickCheck test-framework
          test-framework-hunit test-framework-quickcheck2 transformers vector
        ];
+       benchmarkHaskellDepends = [ base criterion ];
        homepage = "https://github.com/andrewthad/impure-containers#readme";
        description = "Mutable containers in haskell";
        license = stdenv.lib.licenses.bsd3;
@@ -112648,8 +113185,8 @@ self: {
      }:
      mkDerivation {
        pname = "incremental-parser";
-       version = "0.2.5.1";
-       sha256 = "1kdrpwnj3sbil0mhmqspi2jbh1pibrzaybyijcknvvvm5ldrgafz";
+       version = "0.2.5.2";
+       sha256 = "0qlawnlghp8cz96sc6kjzhp0dlinmnyh38gjcp6i1wfn2qy8qy7d";
        libraryHaskellDepends = [ base monoid-subclasses ];
        testHaskellDepends = [
          base checkers monoid-subclasses QuickCheck tasty tasty-quickcheck
@@ -113474,6 +114011,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "inspection-testing" = callPackage
+    ({ mkDerivation, base, containers, ghc, template-haskell }:
+     mkDerivation {
+       pname = "inspection-testing";
+       version = "0.1.1.2";
+       sha256 = "1q8xqm63s0filhlg942kql71m9w85dgr409z4wzr7fsrvqydmaqi";
+       libraryHaskellDepends = [ base containers ghc template-haskell ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/nomeata/inspection-testing";
+       description = "GHC plugin to do inspection testing";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "inspector-wrecker" = callPackage
     ({ mkDerivation, aeson, base, bytestring, case-insensitive
      , connection, data-default, http-client, http-client-tls
@@ -113999,6 +114549,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "interpolation_0_1_0_2" = callPackage
+    ({ mkDerivation, array, base, containers, QuickCheck, utility-ht }:
+     mkDerivation {
+       pname = "interpolation";
+       version = "0.1.0.2";
+       sha256 = "1qjh0jx6xx1x80diay8q18basfwkrsm9x0yrqd27ig2mi9drp0qq";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base utility-ht ];
+       testHaskellDepends = [
+         array base containers QuickCheck utility-ht
+       ];
+       homepage = "http://hub.darcs.net/thielema/interpolation/";
+       description = "piecewise linear and cubic Hermite interpolation";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "interruptible" = callPackage
     ({ mkDerivation, base, Cabal, either, lifted-base, monad-control
      , transformers
@@ -114964,8 +115532,8 @@ self: {
        pname = "irc-dcc";
        version = "2.0.1";
        sha256 = "1pyj4ngh6rw0k1cd9nlrhwb6rr3jmpiwaxs6crik8gbl6f3s4234";
-       revision = "4";
-       editedCabalFile = "05g3c22qz9slc2q107blvg2bym2igk22w0gs60xw7ly78fh1s6s3";
+       revision = "5";
+       editedCabalFile = "1m0p5pyaghwjz9rwh4jmm02hrax2yz4z0nlgjij8673hjr8ggdzz";
        libraryHaskellDepends = [
          attoparsec base binary bytestring io-streams iproute irc-ctcp mtl
          network path safe-exceptions transformers utf8-string
@@ -117152,30 +117720,32 @@ self: {
 
   "json-autotype" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, directory
-     , filepath, GenericPretty, hashable, hflags, lens, mmap, mtl
-     , pretty, process, QuickCheck, scientific, smallcheck, text
-     , uniplate, unordered-containers, vector, yaml
+     , filepath, GenericPretty, hashable, lens, mtl
+     , optparse-applicative, pretty, process, QuickCheck, scientific
+     , smallcheck, text, uniplate, unordered-containers, vector, yaml
      }:
      mkDerivation {
        pname = "json-autotype";
-       version = "1.0.15";
-       sha256 = "0ig0pgv45aw2c8nq9k1r3h3g6h0wnlr8byv0by5d8lwrlh1yjlj5";
+       version = "1.0.17";
+       sha256 = "06wsx4m4x6h65jqr29ddgp93y56xmkd1h5gp80ks6734sawnnpl4";
+       revision = "1";
+       editedCabalFile = "1ng3dg8ra752mms2xnz2q4l7asd8mcr3shi1z62iaw66pkw2accx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bytestring containers filepath GenericPretty hashable
-         hflags lens mmap mtl pretty process scientific text uniplate
-         unordered-containers vector
+         lens mtl optparse-applicative pretty process scientific text
+         uniplate unordered-containers vector
        ];
        executableHaskellDepends = [
          aeson base bytestring containers filepath GenericPretty hashable
-         hflags lens mtl pretty process scientific text uniplate
-         unordered-containers vector yaml
+         lens mtl optparse-applicative pretty process scientific text
+         uniplate unordered-containers vector yaml
        ];
        testHaskellDepends = [
          aeson base bytestring containers directory filepath GenericPretty
-         hashable hflags lens mtl pretty process QuickCheck scientific
-         smallcheck text uniplate unordered-containers vector
+         hashable lens mtl optparse-applicative pretty process QuickCheck
+         scientific smallcheck text uniplate unordered-containers vector
        ];
        homepage = "https://github.com/mgajda/json-autotype";
        description = "Automatic type declaration for JSON input data";
@@ -117570,8 +118140,8 @@ self: {
        pname = "json-schema";
        version = "0.7.4.1";
        sha256 = "15kwgpkryd865nls9zm6ya6jzmiygsb537ij7ps39dzasqbnl3an";
-       revision = "8";
-       editedCabalFile = "052pfjcqx0hgzk0s7sxi5598ikh0lnhcd51h8qsggwgwg1vxnvrc";
+       revision = "9";
+       editedCabalFile = "0g7hyapnlzid4ix7nrw3rxgn1vcd63hb34blyj5ldmzwz76qqp0b";
        libraryHaskellDepends = [
          aeson base containers generic-aeson generic-deriving mtl scientific
          text time unordered-containers vector
@@ -118786,6 +119356,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "katydid" = callPackage
+    ({ mkDerivation, base, containers, directory, filepath, HUnit, hxt
+     , json, mtl, parsec, regex-tdfa, tasty, tasty-hunit
+     }:
+     mkDerivation {
+       pname = "katydid";
+       version = "0.1.1.0";
+       sha256 = "1j1ld7krxyaazyracpzdhngm4lqfi5g9iw5hn40a1gj1dyjxwyvw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers hxt json mtl parsec regex-tdfa
+       ];
+       executableHaskellDepends = [ base mtl ];
+       testHaskellDepends = [
+         base containers directory filepath HUnit hxt json mtl parsec tasty
+         tasty-hunit
+       ];
+       homepage = "https://github.com/katydid/katydid-haskell";
+       description = "A haskell implementation of Katydid";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "kawaii" = callPackage
     ({ mkDerivation, base, bytestring, containers, data-default, hakyll
      , hspec, lens, lifted-base, monad-control, monad-logger, mtl
@@ -120230,15 +120823,13 @@ self: {
      }) {};
 
   "lackey" = callPackage
-    ({ mkDerivation, base, servant, servant-foreign, tasty, tasty-hspec
-     , text
-     }:
+    ({ mkDerivation, base, hspec, servant, servant-foreign, text }:
      mkDerivation {
        pname = "lackey";
-       version = "0.4.4";
-       sha256 = "0p689g86rim4hqw0chn6p22yr9vcb4xcl44aiv6lzqb8fnwzyadx";
+       version = "0.4.6";
+       sha256 = "162nlb96l7mzyr449lw15c3l8ljx9821bnijlzcq47vyrjlh2ym5";
        libraryHaskellDepends = [ base servant servant-foreign text ];
-       testHaskellDepends = [ base servant tasty tasty-hspec text ];
+       testHaskellDepends = [ base hspec servant servant-foreign text ];
        homepage = "https://github.com/tfausak/lackey#readme";
        description = "Generate Ruby clients from Servant APIs";
        license = stdenv.lib.licenses.mit;
@@ -120332,6 +120923,7 @@ self: {
        homepage = "https://github.com/sgillespie/lambda-calculus#readme";
        description = "A lambda calculus interpreter";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "lambda-canvas" = callPackage
@@ -123109,8 +123701,8 @@ self: {
      }:
      mkDerivation {
        pname = "leksah-server";
-       version = "0.16.2.0";
-       sha256 = "0wfikbv98p29rv2cl1wwnac82g5vj1w70hy4m40vxgag3qpnr6iw";
+       version = "0.16.3.0";
+       sha256 = "0cjg4r6yjwfzr2xn90gvrw2x93mlpz6z2i1i4djbnilknl9s53vp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -123568,8 +124160,8 @@ self: {
     ({ mkDerivation, base, base-unicode-symbols, transformers }:
      mkDerivation {
        pname = "lenz";
-       version = "0.1.2.1";
-       sha256 = "058j5gkcz0dcwscnssjzxhkgkq5zxffbsj12dwbgiiyd57fwfv88";
+       version = "0.1.2.2";
+       sha256 = "1hzvw76fgaf5d5l1dca9662c0pplgv0h53dwfr42cwg0hxj6c876";
        libraryHaskellDepends = [ base base-unicode-symbols transformers ];
        description = "Van Laarhoven lenses";
        license = "unknown";
@@ -123581,8 +124173,8 @@ self: {
      }:
      mkDerivation {
        pname = "lenz-template";
-       version = "0.1";
-       sha256 = "1cbpb0m31kf7x9li0yf0c2gblz0nbyhl3k7pj70k97y1d4ns0g7h";
+       version = "0.1.0.1";
+       sha256 = "1j11cg76w9kyc1nn395qhzj9cp64ff0jq8y0h5x9lcn2r18zihhi";
        libraryHaskellDepends = [
          base base-unicode-symbols containers lenz template-haskell
        ];
@@ -124301,6 +124893,29 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {nvvm = null;};
 
+  "liboath-hs" = callPackage
+    ({ mkDerivation, base, bytestring, inline-c, liboath, oath
+     , safe-exceptions, time
+     }:
+     mkDerivation {
+       pname = "liboath-hs";
+       version = "0.0.1.0";
+       sha256 = "1cmgr9075li4r6p8ljklqh1zi6phynj9yhim5rz78n9vsiijfang";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring inline-c safe-exceptions time
+       ];
+       librarySystemDepends = [ oath ];
+       libraryPkgconfigDepends = [ liboath ];
+       executableHaskellDepends = [ base bytestring time ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/parsonsmatt/liboath-hs#readme";
+       description = "Bindings to liboath";
+       license = stdenv.lib.licenses.gpl3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {liboath = null; oath = null;};
+
   "liboleg" = callPackage
     ({ mkDerivation, base, CC-delcont, containers, mtl
      , template-haskell, unix
@@ -124431,17 +125046,19 @@ self: {
      }) {inherit (pkgs) libssh2;};
 
   "libssh2-conduit" = callPackage
-    ({ mkDerivation, base, conduit, libssh2, monad-control, stm
+    ({ mkDerivation, base, bytestring, conduit, libssh2, stm
      , transformers
      }:
      mkDerivation {
        pname = "libssh2-conduit";
-       version = "0.1";
-       sha256 = "1zpcj6qwc4kpdcgdqlzspzwz99a990f3r5wpl13l54j8c1g0kc8h";
+       version = "0.2.1";
+       sha256 = "1jlvms8czw9nyhvkgw4lfp3kgc38y8nzfjdvdfhrm66lyvimnj85";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base conduit libssh2 monad-control stm transformers
+         base bytestring conduit libssh2 stm transformers
        ];
-       homepage = "http://redmine.iportnov.ru/projects/libssh2-hs";
+       homepage = "https://github.com/portnov/libssh2-hs";
        description = "Conduit wrappers for libssh2 FFI bindings (see libssh2 package)";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -127374,21 +127991,21 @@ self: {
      , data-default, deepseq, directory, dlist, errors, exceptions
      , extra, filepath, fmt, formatting, hashable, hspec, HUnit, lens
      , mmorph, monad-control, monad-loops, mtl, network, QuickCheck
-     , safecopy, text, text-format, time, transformers
-     , transformers-base, universum, unix, unordered-containers, yaml
+     , text, text-format, time, transformers, transformers-base
+     , universum, unix, unordered-containers, yaml
      }:
      mkDerivation {
        pname = "log-warper";
-       version = "1.4.0";
-       sha256 = "07yb19bwx8n697fird3952nn1a9d4cqbf8wcxmlji41brznhgbkz";
+       version = "1.6.0";
+       sha256 = "0g40cxcyk9x1hfvy8lp8k5mn898022k866drpzv68i171wsjb81a";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson ansi-terminal base containers deepseq directory dlist errors
          exceptions extra filepath fmt formatting hashable lens mmorph
-         monad-control monad-loops mtl network safecopy text text-format
-         time transformers transformers-base universum unix
-         unordered-containers yaml
+         monad-control monad-loops mtl network text text-format time
+         transformers transformers-base universum unix unordered-containers
+         yaml
        ];
        executableHaskellDepends = [ base exceptions text universum yaml ];
        testHaskellDepends = [
@@ -127528,6 +128145,64 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "logging-effect-extra" = callPackage
+    ({ mkDerivation, base, logging-effect, logging-effect-extra-file
+     , logging-effect-extra-handler, wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "logging-effect-extra";
+       version = "1.2.0";
+       sha256 = "0d4n4swwgwz4hw750a9firyi516mhb83nr3gqpnrbfyf4mqnr1bc";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base logging-effect logging-effect-extra-file
+         logging-effect-extra-handler wl-pprint-text
+       ];
+       executableHaskellDepends = [ base ];
+       homepage = "https://github.com/jship/logging-effect-extra#readme";
+       description = "Supplemental packages for `logging-effect`";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "logging-effect-extra-file" = callPackage
+    ({ mkDerivation, base, logging-effect, template-haskell
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "logging-effect-extra-file";
+       version = "1.1.1";
+       sha256 = "198mil2v6z13gv7m37lqhqpdfsgk3l231rm9anq9pj7z2x4xqcpw";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base logging-effect template-haskell wl-pprint-text
+       ];
+       executableHaskellDepends = [ base logging-effect wl-pprint-text ];
+       homepage = "https://github.com/jship/logging-effect-extra#readme";
+       description = "TH splices to augment log messages with file info";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
+  "logging-effect-extra-handler" = callPackage
+    ({ mkDerivation, base, exceptions, logging-effect, time
+     , wl-pprint-text
+     }:
+     mkDerivation {
+       pname = "logging-effect-extra-handler";
+       version = "1.1.0";
+       sha256 = "01kkkcn49m684rbf7vgyl5swbfv6yv7h1nkwcii2caghkc0yxapi";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base exceptions logging-effect time wl-pprint-text
+       ];
+       executableHaskellDepends = [ base logging-effect wl-pprint-text ];
+       homepage = "https://github.com/jship/logging-effect-extra#readme";
+       description = "Handy logging handler combinators";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "logging-facade" = callPackage
     ({ mkDerivation, base, call-stack, hspec, transformers }:
      mkDerivation {
@@ -128166,8 +128841,8 @@ self: {
      }:
      mkDerivation {
        pname = "loup";
-       version = "0.0.15";
-       sha256 = "1pb2ka69vpv9x318b80dcgk72g6r4s24j9n8dcjg0ibw6cxsn5fg";
+       version = "0.0.16";
+       sha256 = "1psv29w1zjl1fk7khgm6m08k3yq802gfnm2swdsp8apsyq1ha0mn";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -128400,8 +129075,8 @@ self: {
      }:
      mkDerivation {
        pname = "ltk";
-       version = "0.16.1.0";
-       sha256 = "00vxsp5w38wv12wl09z6wa72kpczd6k5g9m02clshaq3ai6cyg1a";
+       version = "0.16.2.0";
+       sha256 = "1x8abgss6j46wp0cz7vfr704j38f00pcgkhyxn8ismqf3k7sdzxc";
        libraryHaskellDepends = [
          base base-compat Cabal containers filepath ghc gi-cairo gi-gdk
          gi-glib gi-gobject gi-gtk gi-gtk-hs haskell-gi-base
@@ -128818,10 +129493,8 @@ self: {
      }:
      mkDerivation {
        pname = "lxd-client";
-       version = "0.1.0.2";
-       sha256 = "1m1rqzbjnd73p6y2iak5fpdq15n52pn2lancvr5s0japw45knqhz";
-       revision = "1";
-       editedCabalFile = "003vlaqpqcxhdmc2l0851i4c689bzlc2s9rlrdw6mdcsl4l58qwr";
+       version = "0.1.0.3";
+       sha256 = "0kywqhd4nd7j2nm7fwx9f3h94m6r5dv85xs1ix796iq0vdxxpmys";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -129351,21 +130024,22 @@ self: {
      , containers, criterion, directory, file-embed, hspec
      , hspec-megaparsec, http-client, http-client-tls, megaparsec
      , MonadRandom, mtl, optparse-applicative, process, random-shuffle
-     , recursion-schemes, tar, template-haskell, text, th-lift-instances
-     , titlecase, zip-archive, zlib
+     , recursion-schemes, recursion-schemes-ext, tar, template-haskell
+     , text, th-lift-instances, titlecase, zip-archive, zlib
      }:
      mkDerivation {
        pname = "madlang";
-       version = "3.1.1.13";
-       sha256 = "0qmgd368brmmibqlimv254i20ayxw96ipnwcfid4q3pdml9javn4";
+       version = "3.1.1.18";
+       sha256 = "00np5hkbab7hi46056hp6maa7fc63vbx227pj0y3d5q502hgf3jj";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal directory process ];
        libraryHaskellDepends = [
          ansi-wl-pprint base composition-prelude containers directory
          file-embed http-client http-client-tls megaparsec MonadRandom mtl
-         optparse-applicative random-shuffle recursion-schemes tar
-         template-haskell text th-lift-instances titlecase zip-archive zlib
+         optparse-applicative random-shuffle recursion-schemes
+         recursion-schemes-ext tar template-haskell text th-lift-instances
+         titlecase zip-archive zlib
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec hspec-megaparsec text ];
@@ -129418,10 +130092,8 @@ self: {
      }:
      mkDerivation {
        pname = "magicbane";
-       version = "0.1.1";
-       sha256 = "1ijd04xdhxa7mgb9zfacv1p62j467b8f2iz9gw91fxyrqmq2w0m4";
-       revision = "3";
-       editedCabalFile = "0qjdgz644277qhxph8nwfja3gaxg43pkz2bmqqc0p4r7mqw4qzbh";
+       version = "0.1.3";
+       sha256 = "164zljyc0wvisj8xb6q5j0xlhjhxw7068jl9s9y4rkd3x637j3as";
        libraryHaskellDepends = [
          aeson aeson-qq attoparsec base classy-prelude conduit
          conduit-combinators data-default data-has either ekg-core ekg-wai
@@ -129432,7 +130104,7 @@ self: {
          servant-server split string-conversions text transformers
          unordered-containers wai wai-cli wai-middleware-metrics
        ];
-       homepage = "https://github.com/myfreeweb/magicbane";
+       homepage = "https://github.com/myfreeweb/magicbane#readme";
        description = "A web framework that integrates Servant, ClassyPrelude, EKG, fast-logger, wai-cli…";
        license = stdenv.lib.licenses.publicDomain;
      }) {};
@@ -132436,6 +133108,7 @@ self: {
        homepage = "https://github.com/ppelleti/hs-mercury-api";
        description = "Haskell binding to Mercury API for ThingMagic RFID readers";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "merge-bash-history" = callPackage
@@ -132814,6 +133487,22 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "microc" = callPackage
+    ({ mkDerivation, base, parsec }:
+     mkDerivation {
+       pname = "microc";
+       version = "1.0.0.1";
+       sha256 = "1bl37j0zx64pqb0nxg071cxbvwbs0i9i8291azsi36j0y4j4dflp";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base parsec ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       homepage = "https://github.com/hurou927/microc-haskell#readme";
+       description = "microc compiler";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "microformats2-parser" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, aeson-qq, attoparsec, base
      , base-compat, blaze-html, blaze-markup, bytestring, containers
@@ -132899,8 +133588,8 @@ self: {
      }:
      mkDerivation {
        pname = "microlens-aeson";
-       version = "2.2.0.1";
-       sha256 = "0hpi61410yq1qkfzm7dxqhpn2bw6596byfi8mkd66skkj67x1cfh";
+       version = "2.2.0.2";
+       sha256 = "05zk6pfb9s48kgfpim1lj32vh3p54g633d5x4771inxihlskqd4d";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring microlens scientific text
          unordered-containers vector
@@ -133003,19 +133692,20 @@ self: {
      }) {};
 
   "micrologger" = callPackage
-    ({ mkDerivation, aeson, base, containers, hspec, text, text-format
-     , time, transformers
+    ({ mkDerivation, aeson, base, bytestring, containers, hspec, lens
+     , text, text-format, time, transformers
      }:
      mkDerivation {
        pname = "micrologger";
-       version = "0.4.0.1";
-       sha256 = "0bw552jh0dnrdl1hsbi3pvh0ip3vp3l7z2xqmndq5qayfbqzdpa1";
+       version = "0.5.0.0";
+       sha256 = "0n3jqavza0fkhngikbpjnn8x268qrnhrg1g08yp3p58jvbvwbr6p";
        libraryHaskellDepends = [
-         aeson base containers text text-format time transformers
+         aeson base bytestring containers lens text text-format time
+         transformers
        ];
        testHaskellDepends = [ aeson base hspec text ];
        homepage = "https://github.com/savannidgerinel/micrologger#readme";
-       description = "A super simple logging module. Only for use for very simple projects.";
+       description = "A super simple logging module";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -134343,6 +135033,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "model_0_4_2" = callPackage
+    ({ mkDerivation, base, containers, convertible, deepseq, doctest
+     , either, filemanip, ghc-prim, pretty, tasty, tasty-hunit
+     , tasty-quickcheck, transformers
+     }:
+     mkDerivation {
+       pname = "model";
+       version = "0.4.2";
+       sha256 = "0ynv6fwns4ix0nhz8b3aqsw6q9avn7n60spakhpa30lya9asinjb";
+       libraryHaskellDepends = [
+         base containers convertible deepseq either pretty transformers
+       ];
+       testHaskellDepends = [
+         base containers doctest filemanip ghc-prim pretty tasty tasty-hunit
+         tasty-quickcheck
+       ];
+       homepage = "http://github.com/tittoassini/model";
+       description = "Derive a model of a data type using Generics";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "modelicaparser" = callPackage
     ({ mkDerivation, ansi-terminal, base, containers, filepath, parsec
      , QuickCheck
@@ -134368,8 +135080,8 @@ self: {
      }:
      mkDerivation {
        pname = "modern-uri";
-       version = "0.1.0.0";
-       sha256 = "04k6v2mdkwdwvphfhhm7dwgy12n3kwxi02azkpzng0qa24vb1w1r";
+       version = "0.1.1.0";
+       sha256 = "0j2h4rh8ws4zcc47kcs0q8zr543aqnc1i6y4vkv2a8a5v2h2wzxr";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec profunctors QuickCheck template-haskell text
@@ -135400,15 +136112,17 @@ self: {
   "monad-persist" = callPackage
     ({ mkDerivation, base, exceptions, hspec, monad-control
      , monad-logger, mtl, persistent, persistent-sqlite
-     , persistent-template, text, transformers-base
+     , persistent-template, text, transformers, transformers-base
      }:
      mkDerivation {
        pname = "monad-persist";
-       version = "0.0.1.4";
-       sha256 = "032732piflwzx43rdndbjy757pmkm68p28bb6znz6dsj7r0xv349";
+       version = "0.0.2.0";
+       sha256 = "17jq41r7bmycnzz028pii14cm0qjvclj01z78aj6aj1h4mlwlbc1";
+       revision = "1";
+       editedCabalFile = "0sghbyfd7jpwi80hivzbh2z77zl9kpzlvablkfx2w0q70hnbbrvd";
        libraryHaskellDepends = [
          base exceptions monad-control monad-logger mtl persistent text
-         transformers-base
+         transformers transformers-base
        ];
        testHaskellDepends = [
          base hspec monad-control monad-logger persistent persistent-sqlite
@@ -135918,6 +136632,25 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "monadlog" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, exceptions, fast-logger
+     , lifted-base, monad-control, template-haskell, text, text-show
+     , transformers
+     }:
+     mkDerivation {
+       pname = "monadlog";
+       version = "0.1.1.1";
+       sha256 = "0vjzx3vqpwkngf483fqaaiszklnkbqhra73bk6pryvn81x1mycwn";
+       revision = "1";
+       editedCabalFile = "0mmmnrhyw0ak8zd6xdrnlb61nad277av94vwc7wzi2lwfm61imc5";
+       libraryHaskellDepends = [
+         aeson base bytestring exceptions fast-logger lifted-base
+         monad-control template-haskell text text-show transformers
+       ];
+       description = "A simple and fast logging monad";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "monadoid" = callPackage
     ({ mkDerivation, base, monad-control, mtl, transformers-base }:
      mkDerivation {
@@ -136183,8 +136916,8 @@ self: {
      }:
      mkDerivation {
        pname = "mono-traversable";
-       version = "1.0.2.1";
-       sha256 = "0smirpwika7d5a98h20jr9jqg41n7vqfy7k31crmn449qfig9ljf";
+       version = "1.0.4.0";
+       sha256 = "0qwmzjf25gradzajr4f9zw3a48m4hw26qvqnb134daqkyxpkzf13";
        libraryHaskellDepends = [
          base bytestring containers hashable split text transformers
          unordered-containers vector vector-algorithms
@@ -136605,8 +137338,8 @@ self: {
      }:
      mkDerivation {
        pname = "morte";
-       version = "1.6.10";
-       sha256 = "0wlcizw6kfbir18mqplnyap76gslbzia6ni25z2r4jb8mxrh5z6d";
+       version = "1.6.11";
+       sha256 = "10zwdf82hxjgxh7zs7wlnvyzjpaqalwj7rlg454jjlml59ifzvmw";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -136662,13 +137395,14 @@ self: {
 
   "motor" = callPackage
     ({ mkDerivation, base, CTRex, indexed, indexed-extras, reflection
+     , template-haskell
      }:
      mkDerivation {
        pname = "motor";
-       version = "0.1.0.0";
-       sha256 = "00jr7dlnm22cvjwprclizcbm4kw2i84zzzd7n6im9li00w1a2iwy";
+       version = "0.2.0.0";
+       sha256 = "0py79plg65d1h49zm8jz6hbzg57lq0psv8k5m5w23dwrgn9jr4x1";
        libraryHaskellDepends = [
-         base CTRex indexed indexed-extras reflection
+         base CTRex indexed indexed-extras reflection template-haskell
        ];
        testHaskellDepends = [ base CTRex indexed indexed-extras ];
        description = "Type-safe effectful state machines in Haskell";
@@ -136676,6 +137410,42 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "motor-diagrams" = callPackage
+    ({ mkDerivation, base, hspec, hspec-discover, motor
+     , motor-reflection, template-haskell, text
+     }:
+     mkDerivation {
+       pname = "motor-diagrams";
+       version = "0.2.0.0";
+       sha256 = "094in9l2sngxg4p2ijfi97dqs6v7rk1a4h7fcbi269qmh9sfck43";
+       libraryHaskellDepends = [
+         base motor motor-reflection template-haskell text
+       ];
+       testHaskellDepends = [
+         base hspec hspec-discover motor motor-reflection text
+       ];
+       description = "Generate state diagrams from Motor FSM typeclasses";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "motor-reflection" = callPackage
+    ({ mkDerivation, base, CTRex, hspec, hspec-discover, indexed, motor
+     , template-haskell, text
+     }:
+     mkDerivation {
+       pname = "motor-reflection";
+       version = "0.2.0.0";
+       sha256 = "0qycmskhvh3n3pa4xib72irzka8hn93bqv4ayrykhnp4k0fbbndd";
+       libraryHaskellDepends = [ base motor template-haskell text ];
+       testHaskellDepends = [
+         base CTRex hspec hspec-discover indexed motor
+       ];
+       description = "Reflect on Motor FSM typeclasses to obtain runtime representations";
+       license = stdenv.lib.licenses.mpl20;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "mount" = callPackage
     ({ mkDerivation, base, bytestring }:
      mkDerivation {
@@ -138809,6 +139579,8 @@ self: {
        pname = "mysql-haskell";
        version = "0.8.3.0";
        sha256 = "1b3sa119m82qmq2mkn0ixhs175i6l92nk4qwvfhh226crj6g5bp9";
+       revision = "1";
+       editedCabalFile = "1kpfmrwwdaxjqwbsc6m9imlcfi2vvkz62pin5nrvm1fk17isy69v";
        libraryHaskellDepends = [
          base binary binary-ieee754 binary-parsers blaze-textual bytestring
          bytestring-lexing cryptonite io-streams memory monad-loops network
@@ -139592,8 +140364,8 @@ self: {
        pname = "natural-transformation";
        version = "0.4";
        sha256 = "1by8xwjc23l6pa9l4iv7zp82dykpll3vc3hgxk0pgva724n8xhma";
-       revision = "1";
-       editedCabalFile = "1scwm1gs07znkj4ahfyxpwrksj4rdl1pa81xflcqhkqfgcndvgl3";
+       revision = "2";
+       editedCabalFile = "1j90pd1zznr18966axskad5w0kx4dvqg62r65rmw1ihqwxm1ndix";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [
          base containers quickcheck-instances tasty tasty-quickcheck
@@ -141411,6 +142183,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "network-uri-json" = callPackage
+    ({ mkDerivation, aeson, base, hspec, network-uri, QuickCheck
+     , test-invariant, text
+     }:
+     mkDerivation {
+       pname = "network-uri-json";
+       version = "0.1.0.0";
+       sha256 = "0q4h37zf8n56s7jjd5nalk8q6q5hh5d612p7w9agjqwjhl26p782";
+       libraryHaskellDepends = [ aeson base network-uri text ];
+       testHaskellDepends = [
+         aeson base hspec network-uri QuickCheck test-invariant text
+       ];
+       homepage = "https://github.com/alunduil/network-uri-json";
+       description = "FromJSON and ToJSON Instances for Network.URI";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "network-uri-static" = callPackage
     ({ mkDerivation, base, doctest, network-uri, template-haskell }:
      mkDerivation {
@@ -144130,8 +144919,8 @@ self: {
      }:
      mkDerivation {
        pname = "ombra";
-       version = "1.0.0.0";
-       sha256 = "1mksrvidrl3nxfx5xy915sma23csw1iw959l5xl78r683kf4bkj7";
+       version = "1.1.0.0";
+       sha256 = "00cki27h3wpgpmcc3rv8fip1dmh9zsg5n0m5gfgdy0xs36xlyn4m";
        libraryHaskellDepends = [
          base Boolean gl hashable hashtables MemoTrie monad-control
          transformers transformers-base unordered-containers vector-space
@@ -144512,8 +145301,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye-trans";
-       version = "0.3.6";
-       sha256 = "03pg31rxnfw22zqpk3l098z32gl2r4dk9pma8z4f8ssp7crz7z8p";
+       version = "0.3.7";
+       sha256 = "17yfa0kgd3v8dlz77nlgplyi23f622f46z9q2xyswnrrf5w2c4z0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -144528,6 +145317,29 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "opaleye-trans_0_4_2" = callPackage
+    ({ mkDerivation, base, exceptions, mtl, opaleye, postgresql-simple
+     , product-profunctors, transformers
+     }:
+     mkDerivation {
+       pname = "opaleye-trans";
+       version = "0.4.2";
+       sha256 = "05fvwbql1lvm0wbk3mmwy14ngpvilqir73yxp2xjb4y7wjk7r5wm";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base exceptions mtl opaleye postgresql-simple product-profunctors
+         transformers
+       ];
+       executableHaskellDepends = [
+         base opaleye postgresql-simple product-profunctors
+       ];
+       homepage = "https://github.com/WraithM/opaleye-trans";
+       description = "A monad transformer for Opaleye";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "open-browser" = callPackage
     ({ mkDerivation, base, process }:
      mkDerivation {
@@ -144693,10 +145505,8 @@ self: {
      }:
      mkDerivation {
        pname = "opencv";
-       version = "0.0.1.1";
-       sha256 = "095vljv7y7am7dfn7hp9rncfcbcmmqvgzwgw6iwrp6s3z0qv10jn";
-       revision = "1";
-       editedCabalFile = "1gql71xhyd3ns0a7cigjgdpar7x0b0bwr9kvi17gfs91ggiw7684";
+       version = "0.0.2.0";
+       sha256 = "1v3a97qrqxssl56bwip98ifkism9lzjhmizbgxbdhn8dbrmn8jgg";
        configureFlags = [
          "--with-gcc=${stdenv.cc}/bin/c++" "--with-ld=${stdenv.cc}/bin/c++"
        ];
@@ -144729,10 +145539,8 @@ self: {
      }:
      mkDerivation {
        pname = "opencv-extra";
-       version = "0.1.0.0";
-       sha256 = "1ah6jipanqag0vk4fjd35rr5xi479w2iym0ix6wd9g9zswb89k8j";
-       revision = "1";
-       editedCabalFile = "0pqkh3lqmgspg6h38jff8g4w7s28k4l6r17d7xkrfrghhaxl47mp";
+       version = "0.2.0.0";
+       sha256 = "0qdcikwr3shxjx3sdsnawwbg0h6pc1pn29cxq15hpjbv37yg2fc1";
        setupHaskellDepends = [ base Cabal ];
        libraryHaskellDepends = [
          base bindings-DSL bytestring containers inline-c inline-c-cpp
@@ -145452,6 +146260,7 @@ self: {
        homepage = "https://github.com/k0ral/opml-conduit";
        description = "Streaming parser/renderer for the OPML 2.0 format.";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "opn" = callPackage
@@ -145685,6 +146494,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "optparse-generic_1_2_3" = callPackage
+    ({ mkDerivation, base, bytestring, Only, optparse-applicative
+     , semigroups, system-filepath, text, time, transformers, void
+     }:
+     mkDerivation {
+       pname = "optparse-generic";
+       version = "1.2.3";
+       sha256 = "1wxzpj4xj3bafg3piarwsr69xxzp75fdglx9c3spbahl1aq9wzgk";
+       libraryHaskellDepends = [
+         base bytestring Only optparse-applicative semigroups
+         system-filepath text time transformers void
+       ];
+       description = "Auto-generate a command-line parser for your datatype";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "optparse-helper" = callPackage
     ({ mkDerivation, base, optparse-applicative }:
      mkDerivation {
@@ -145698,17 +146524,18 @@ self: {
      }) {};
 
   "optparse-simple" = callPackage
-    ({ mkDerivation, base, either, gitrev, optparse-applicative
-     , template-haskell, transformers
+    ({ mkDerivation, base, bytestring, directory, either, gitrev
+     , optparse-applicative, template-haskell, transformers
      }:
      mkDerivation {
        pname = "optparse-simple";
-       version = "0.0.3";
-       sha256 = "0zlcvxhx98k1akbv5fzsvwcrmb1rxsmmyaiwkhfrp5dxq6kg0is5";
+       version = "0.0.4";
+       sha256 = "1md24dlz6949rqv6y2x9d5r07lrqw42c21kdy09nk5y8r3mq43x0";
        libraryHaskellDepends = [
          base either gitrev optparse-applicative template-haskell
          transformers
        ];
+       testHaskellDepends = [ base bytestring directory ];
        description = "Simple interface to optparse-applicative";
        license = stdenv.lib.licenses.bsd3;
      }) {};
@@ -146004,7 +146831,7 @@ self: {
      }) {};
 
   "orgstat" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, bytestring, colour
+    ({ mkDerivation, aeson, attoparsec, base, boxes, bytestring, colour
      , containers, data-default, diagrams-lib, diagrams-svg, directory
      , exceptions, filepath, formatting, hashable, hspec, HUnit, lens
      , linear, log-warper, mtl, optparse-simple, orgmode-parse
@@ -146013,15 +146840,15 @@ self: {
      }:
      mkDerivation {
        pname = "orgstat";
-       version = "0.1.1";
-       sha256 = "0241f7d996akmqi1id6dqwki5yql7mgw331msxvza616s3gcyd36";
+       version = "0.1.2";
+       sha256 = "11q8n9sy841klms368bs0wl14wg0q5dq5gfcipzm25pw6jswfgyy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson attoparsec base bytestring colour containers data-default
-         diagrams-lib diagrams-svg directory exceptions filepath formatting
-         hashable lens linear log-warper mtl optparse-simple orgmode-parse
-         text time turtle universum yaml
+         aeson attoparsec base boxes bytestring colour containers
+         data-default diagrams-lib diagrams-svg directory exceptions
+         filepath formatting hashable lens linear log-warper mtl
+         optparse-simple orgmode-parse text time turtle universum yaml
        ];
        executableHaskellDepends = [
          base bytestring directory exceptions filepath formatting log-warper
@@ -146843,7 +147670,7 @@ self: {
        maintainers = with stdenv.lib.maintainers; [ peti ];
      }) {};
 
-  "pandoc_2_0_0_1" = callPackage
+  "pandoc_2_0_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base64-bytestring
      , binary, blaze-html, blaze-markup, bytestring, Cabal
      , case-insensitive, cmark-gfm, containers, criterion, data-default
@@ -146857,8 +147684,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc";
-       version = "2.0.0.1";
-       sha256 = "1wq21vsg9afv8lxk6rmmmb57437q7gv1qs4ymbzd1mvxkvzx0hwh";
+       version = "2.0.2";
+       sha256 = "1ygrxq5hpzr29pdmir3ms2crihg1bqrdjlxjvm6yfq4pjdlxg7xp";
        configureFlags = [ "-fhttps" "-f-trypandoc" ];
        isLibrary = true;
        isExecutable = true;
@@ -146929,7 +147756,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pandoc-citeproc_0_11_1_2" = callPackage
+  "pandoc-citeproc_0_12_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, attoparsec, base, bytestring
      , Cabal, containers, data-default, directory, filepath, hs-bibutils
      , mtl, old-locale, pandoc, pandoc-types, parsec, process, rfc5051
@@ -146938,8 +147765,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-citeproc";
-       version = "0.11.1.2";
-       sha256 = "0lv1j035f5c0dd0n772ivav6kwzfxvnk6zcxmmhmkc3s9r9716sd";
+       version = "0.12.1";
+       sha256 = "1b62bzvdmxb6dlpfawvvimaa0pd8nq9l3mbnwgzw3xzj1idv44kz";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -146987,27 +147814,34 @@ self: {
     ({ mkDerivation, base, containers, data-accessor
      , data-accessor-template, data-accessor-transformers, data-default
      , directory, filepath, hspec, mtl, pandoc, pandoc-types
-     , roman-numerals, syb, template-haskell, utility-ht
+     , roman-numerals, syb, template-haskell, text, utility-ht
      }:
      mkDerivation {
        pname = "pandoc-crossref";
-       version = "0.2.6.0";
-       sha256 = "1mbv2840l6kjc878f6miar3vfbgx2mwllxaryjlj9y6s6001185b";
+       version = "0.2.7.0";
+       sha256 = "1nh9yi2p7i8ms45rfd5859639f8rh5vxnvdqrdi399rmnp74vj9k";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers data-accessor data-accessor-template
          data-accessor-transformers data-default directory filepath mtl
-         pandoc pandoc-types roman-numerals syb template-haskell utility-ht
+         pandoc pandoc-types roman-numerals syb template-haskell text
+         utility-ht
+       ];
+       executableHaskellDepends = [
+         base containers data-accessor data-accessor-template
+         data-accessor-transformers data-default directory filepath mtl
+         pandoc pandoc-types roman-numerals syb template-haskell text
+         utility-ht
        ];
-       executableHaskellDepends = [ base pandoc pandoc-types ];
        testHaskellDepends = [
          base containers data-accessor data-accessor-template
          data-accessor-transformers data-default directory filepath hspec
-         mtl pandoc pandoc-types roman-numerals syb template-haskell
+         mtl pandoc pandoc-types roman-numerals syb template-haskell text
          utility-ht
        ];
+       homepage = "https://github.com/lierdakil/pandoc-crossref#readme";
        description = "Pandoc filter for cross-references";
        license = stdenv.lib.licenses.gpl2;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -147076,8 +147910,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-include-code";
-       version = "1.1.0.0";
-       sha256 = "1ygdmnmr4lw7f83xhqaa7m074ii6wbrsx148i9qx3inz5z2rm9b5";
+       version = "1.2.0.1";
+       sha256 = "1qcmhdx47grgjydq0dzcz6iss247p0y8432bpw908ygr222gkqhp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -147184,17 +148018,17 @@ self: {
      }) {};
 
   "pandoc-stylefrommeta" = callPackage
-    ({ mkDerivation, base, containers, HaTeX, MissingH, pandoc
-     , pandoc-types
+    ({ mkDerivation, base, bytestring, containers, MissingH, pandoc
+     , pandoc-types, text
      }:
      mkDerivation {
        pname = "pandoc-stylefrommeta";
-       version = "0.1.1.0";
-       sha256 = "0blgccnzyignq14y94cnascjxlk6088wwpxifwm45rnn0hs786vf";
+       version = "0.2.0.2";
+       sha256 = "12yvbh8cx5r6llx0gnz70n1b3zwm3zc8bdciq3cxyfivci5iks2r";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base containers HaTeX MissingH pandoc pandoc-types
+         base bytestring containers MissingH pandoc pandoc-types text
        ];
        homepage = "http://github.com/lyokha/styleFromMeta";
        description = "Pandoc filter to customize links, images and paragraphs";
@@ -147224,7 +148058,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "pandoc-types_1_17_2" = callPackage
+  "pandoc-types_1_17_3" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, criterion
      , deepseq, ghc-prim, HUnit, QuickCheck, string-qq, syb
      , test-framework, test-framework-hunit, test-framework-quickcheck2
@@ -147232,8 +148066,8 @@ self: {
      }:
      mkDerivation {
        pname = "pandoc-types";
-       version = "1.17.2";
-       sha256 = "0wgd83xjpkc73xiig1n7wpfaa67widka7q1kx83pz8liswdqxq73";
+       version = "1.17.3";
+       sha256 = "0k6z5ixgpi7gm4wlpvy2j7zzv68xsqak7fhajrf0fb60dpn4ac0n";
        libraryHaskellDepends = [
          aeson base bytestring containers deepseq ghc-prim QuickCheck syb
          transformers
@@ -147967,12 +148801,12 @@ self: {
     ({ mkDerivation, base, data-diverse, hspec, transformers }:
      mkDerivation {
        pname = "parameterized";
-       version = "0.2.0.0";
-       sha256 = "0z40b6cja2c4y177w6iwg8dijlpk5zwrf5yfwppc5y6n57g260z7";
+       version = "0.4.0.0";
+       sha256 = "0jv0ff4frpds69a6bljyh2jzm0yj7hjd923xss136xsrb4dka700";
        libraryHaskellDepends = [ base data-diverse transformers ];
        testHaskellDepends = [ base data-diverse hspec transformers ];
        homepage = "https://github.com/louispan/parameterized#readme";
-       description = "Extensible records and polymorphic variants";
+       description = "Parameterized/indexed monoids and monads using only a single parameter type variable";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
@@ -147989,6 +148823,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "paramtree" = callPackage
+    ({ mkDerivation, base, bytestring, containers, tasty, tasty-golden
+     , tasty-hunit, temporary
+     }:
+     mkDerivation {
+       pname = "paramtree";
+       version = "0.1.1";
+       sha256 = "1k6bcx0h4prg7a85knhaw4z7vh9gilc9m1y66r9qrhj2fqi0ilj3";
+       libraryHaskellDepends = [ base containers ];
+       testHaskellDepends = [
+         base bytestring tasty tasty-golden tasty-hunit temporary
+       ];
+       homepage = "https://github.com/merijn/paramtree";
+       description = "Generate labelled test/benchmark trees from sets of parameters";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "paranoia" = callPackage
     ({ mkDerivation, base, bytestring, directory, filepath, hdaemonize
      , HsOpenSSL, http-client, http-client-openssl, http-types, network
@@ -148926,6 +149777,18 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "path-extra_0_0_6" = callPackage
+    ({ mkDerivation, base, exceptions, path }:
+     mkDerivation {
+       pname = "path-extra";
+       version = "0.0.6";
+       sha256 = "0db91bgp57abzpqfpm1vrdvmsvnxqr2fsm0rvx0hsfqbarqs6fl8";
+       libraryHaskellDepends = [ base exceptions path ];
+       description = "Chris Done's path library, enriched with URL-related goodies";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "path-io" = callPackage
     ({ mkDerivation, base, containers, directory, exceptions, filepath
      , hspec, path, temporary, time, transformers, unix-compat
@@ -150104,6 +150967,35 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "perfect-hash-generator" = callPackage
+    ({ mkDerivation, base, containers, data-ordlist, directory
+     , filepath, hashable, HUnit, optparse-applicative, random
+     , test-framework, test-framework-hunit, unordered-containers
+     , vector
+     }:
+     mkDerivation {
+       pname = "perfect-hash-generator";
+       version = "0.1.0.4";
+       sha256 = "1g3z5q3wq1rzch3l6nb9x3k828hlrmqwqwyr5iz979rm0iif7yfy";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers data-ordlist directory filepath hashable
+         unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         base containers hashable optparse-applicative random
+         unordered-containers vector
+       ];
+       testHaskellDepends = [
+         base hashable HUnit optparse-applicative test-framework
+         test-framework-hunit unordered-containers vector
+       ];
+       homepage = "https://github.com/kostmo/perfect-hash-generator#readme";
+       description = "Perfect minimal hashing implementation in native Haskell";
+       license = stdenv.lib.licenses.asl20;
+     }) {};
+
   "perfecthash" = callPackage
     ({ mkDerivation, array, base, bytestring, cmph, containers
      , criterion, deepseq, hspec, QuickCheck, random, time
@@ -151048,8 +151940,8 @@ self: {
        pname = "pgdl";
        version = "10.9";
        sha256 = "0hwky1331bv1zbjq9nbfnvx8gkbfhs5sjawxjccz9l484xsrbb5z";
-       revision = "6";
-       editedCabalFile = "193ndd6awakj53h027p11cjj6j3lcqrrzrbvav94ccx40b72k3xd";
+       revision = "7";
+       editedCabalFile = "1blwncbg1r8is1jq2qbxqnsnr4k0n7qqws7xyh6xfyxpz4pr843g";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -151246,8 +152138,8 @@ self: {
      }:
      mkDerivation {
        pname = "phoityne-vscode";
-       version = "0.0.17.0";
-       sha256 = "1bwgxw4mknz9k94y8lk2j62i72czvfjb1szddix4mp4bi17kcxnl";
+       version = "0.0.18.0";
+       sha256 = "1y9qrl1sskfyqdh7n6n467rjsf3zh969f072v3hrlrmlrd7y7vq0";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -152032,6 +152924,7 @@ self: {
        homepage = "https://github.com/centromere/pipes-cacophony#readme";
        description = "Pipes for Noise-secured network connections";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "pipes-category" = callPackage
@@ -154956,8 +155849,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-connector";
-       version = "0.2.3";
-       sha256 = "168w1219bz5z8i30s1l0ak6zwhpcfr38qkz8fkdhijpqammyf4x3";
+       version = "0.2.4";
+       sha256 = "0ly6p75c7vsrwlc7zsb91k19ffz0va6xc38djyc184qlji52hr1w";
        libraryHaskellDepends = [
          base bytestring exceptions lens mtl postgresql-simple resource-pool
          resourcet time transformers-base
@@ -155096,12 +155989,12 @@ self: {
 
   "postgresql-schema" = callPackage
     ({ mkDerivation, base, basic-prelude, optparse-applicative
-     , postgresql-simple, shelly, text, time, time-locale-compat
+     , postgresql-simple, shelly, text, time
      }:
      mkDerivation {
        pname = "postgresql-schema";
-       version = "0.1.11";
-       sha256 = "1xhaqxc389dghf77hlz6zy6pa6phxv8by42lzs91ymjhvwhnb7bl";
+       version = "0.1.13";
+       sha256 = "03f4hfdp632wyhygh72c6k8xwpqy2ijv51zkx3d176pb1429l0fi";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -155110,7 +156003,6 @@ self: {
        ];
        executableHaskellDepends = [
          base basic-prelude optparse-applicative shelly text time
-         time-locale-compat
        ];
        homepage = "https://github.com/mfine/postgresql-schema";
        description = "PostgreSQL Schema Management";
@@ -155343,10 +156235,8 @@ self: {
      }:
      mkDerivation {
        pname = "postgresql-typed";
-       version = "0.5.1";
-       sha256 = "0bvrbbzqjvzsm0bqinvbcz897fzf1isg76mk3hniyf8l9a19a3wv";
-       revision = "1";
-       editedCabalFile = "047bjdwgg94gbpzcapar46vw33n4g8gx639ns9i4d32105w32f0r";
+       version = "0.5.2";
+       sha256 = "0ws9xmh199jsvdmxjxkhm59j05ljfsrf16xchkbxqd8p1pg8786c";
        libraryHaskellDepends = [
          aeson array attoparsec base binary bytestring containers cryptonite
          haskell-src-meta HDBC memory network old-locale postgresql-binary
@@ -155427,19 +156317,18 @@ self: {
      }) {};
 
   "postgrest-ws" = callPackage
-    ({ mkDerivation, aeson, ansi-wl-pprint, auto-update, base
-     , base64-bytestring, bytestring, configurator, containers
-     , contravariant, either, hasql, hasql-pool, heredoc, hspec
-     , hspec-wai, hspec-wai-json, http-types, jose, jwt, lens
-     , lens-aeson, optparse-applicative, postgresql-libpq, protolude
-     , retry, stm, stm-containers, stringsearch, text, time
-     , transformers, unix, unordered-containers, wai, wai-app-static
-     , wai-extra, wai-websockets, warp, websockets
+    ({ mkDerivation, aeson, ansi-wl-pprint, base, base64-bytestring
+     , bytestring, configurator, containers, contravariant, either
+     , hasql, hasql-pool, heredoc, hspec, hspec-wai, hspec-wai-json
+     , http-types, jose, jwt, lens, lens-aeson, optparse-applicative
+     , postgresql-libpq, protolude, retry, stm, stm-containers
+     , stringsearch, text, time, transformers, unordered-containers, wai
+     , wai-app-static, wai-extra, wai-websockets, warp, websockets
      }:
      mkDerivation {
        pname = "postgrest-ws";
-       version = "0.4.1.0";
-       sha256 = "0i1bri8a0k7x9m47736ykdq46xpx0hhy8lp3qz1b1xfswmj3hhjg";
+       version = "0.4.2.0";
+       sha256 = "05s6w638acq9ixsflcgibjbi6h7f0knqq6yp5wilvshn07x5dcyi";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -155449,10 +156338,9 @@ self: {
          unordered-containers wai wai-websockets websockets
        ];
        executableHaskellDepends = [
-         ansi-wl-pprint auto-update base base64-bytestring bytestring
-         configurator hasql hasql-pool heredoc http-types jwt
-         optparse-applicative postgresql-libpq protolude text time
-         transformers unix wai wai-app-static wai-extra warp
+         ansi-wl-pprint base base64-bytestring bytestring configurator hasql
+         hasql-pool heredoc optparse-applicative protolude text time
+         transformers wai wai-app-static wai-extra warp
        ];
        testHaskellDepends = [
          aeson base containers hasql hasql-pool hspec hspec-wai
@@ -155837,8 +156725,8 @@ self: {
      }:
      mkDerivation {
        pname = "preamble";
-       version = "0.0.49";
-       sha256 = "1xk8l4lbicl1k6xr14x80dlc5g55dj59xgzgx01b61d0k595mmj1";
+       version = "0.0.53";
+       sha256 = "0y0745i8mq803zv73l36k78j36z0h4vb44pwbvc4qsdkh5760nnz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -157838,24 +158726,28 @@ self: {
      }) {};
 
   "prometheus-effect" = callPackage
-    ({ mkDerivation, base, bytestring, clock, hashable, http-streams
-     , http-types, io-streams, mtl, retry, safe-exceptions, streaming
+    ({ mkDerivation, base, bytestring, clock, criterion, hashable
+     , http-types, mtl, random, retry, safe-exceptions, streaming
      , streaming-bytestring, streaming-utils, streaming-wai, text
      , transformers, unordered-containers, vector, vector-algorithms
-     , wai
+     , wai, warp, weigh
      }:
      mkDerivation {
        pname = "prometheus-effect";
-       version = "1.0.0";
-       sha256 = "132mzsi5g6fmc2141vd1dwix2an0a00xq15ypr74larz7c7v6qk7";
-       revision = "1";
-       editedCabalFile = "01mkdbif7girjyi3aganp9c8m0di6zv3ddw8brqwlw6r4h3w2imf";
+       version = "1.1.0";
+       sha256 = "1haajyrky42gkwgg7k6w3blc0dirwsx60lx9kkjfynsslbh8jx1a";
+       isLibrary = true;
+       isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring clock hashable http-streams http-types io-streams
-         mtl retry safe-exceptions streaming streaming-bytestring
-         streaming-utils streaming-wai text transformers
-         unordered-containers vector vector-algorithms wai
+         base bytestring clock hashable http-types mtl retry safe-exceptions
+         streaming streaming-bytestring streaming-utils streaming-wai text
+         transformers unordered-containers vector vector-algorithms wai
        ];
+       executableHaskellDepends = [
+         base http-types random text wai warp
+       ];
+       testHaskellDepends = [ base text weigh ];
+       benchmarkHaskellDepends = [ base criterion text ];
        homepage = "https://github.com/ocharles/prometheus-effect";
        description = "Instrument applications with metrics and publish/push to Prometheus";
        license = stdenv.lib.licenses.bsd3;
@@ -158697,12 +159589,13 @@ self: {
      }) {};
 
   "pthread" = callPackage
-    ({ mkDerivation, base }:
+    ({ mkDerivation, base, generic-deriving, hspec, hspec-discover }:
      mkDerivation {
        pname = "pthread";
-       version = "0.1.1";
-       sha256 = "1b0fqz06yi8g7gpsnkl12dxkkrm00701274f6whk12ixr9d32405";
-       libraryHaskellDepends = [ base ];
+       version = "0.2.0";
+       sha256 = "12130fpdskml0mdgbr38zki48n5ffid0diiixyn89kzcq948vvmn";
+       libraryHaskellDepends = [ base generic-deriving ];
+       testHaskellDepends = [ base hspec hspec-discover ];
        homepage = "http://github.com/tweag/pthread";
        description = "Bindings for the pthread library";
        license = stdenv.lib.licenses.bsd3;
@@ -158711,15 +159604,15 @@ self: {
   "ptr" = callPackage
     ({ mkDerivation, base, base-prelude, bug, bytestring, contravariant
      , mtl, profunctors, quickcheck-instances, rerebase, semigroups
-     , tasty, tasty-hunit, tasty-quickcheck, text, transformers
+     , tasty, tasty-hunit, tasty-quickcheck, text, time, transformers
      }:
      mkDerivation {
        pname = "ptr";
-       version = "0.15.3";
-       sha256 = "1h66bk595nv0jmcxdzfzvpr7ymfm6hl3n4bnglwlwkp2y1ymm3i3";
+       version = "0.15.7";
+       sha256 = "0zbyr8kzz47c1rfjpw8rk0kh4rys8qd8vihz69wmnxgy0fa4z7l4";
        libraryHaskellDepends = [
          base base-prelude bug bytestring contravariant mtl profunctors
-         semigroups text transformers
+         semigroups text time transformers
        ];
        testHaskellDepends = [
          bug quickcheck-instances rerebase tasty tasty-hunit
@@ -160692,16 +161585,12 @@ self: {
      }) {};
 
   "quickcheck-special" = callPackage
-    ({ mkDerivation, base, bytestring, ieee754, QuickCheck, scientific
-     , text
-     }:
+    ({ mkDerivation, base, QuickCheck, special-values }:
      mkDerivation {
        pname = "quickcheck-special";
-       version = "0.1.0.5";
-       sha256 = "189gadjm06zm3jilr5dcqbmfgq8d6j91nsvnzwwp9kdn3j9m711p";
-       libraryHaskellDepends = [
-         base bytestring ieee754 QuickCheck scientific text
-       ];
+       version = "0.1.0.6";
+       sha256 = "1dhwgy1jwglp4y3nbysr1i182415aibqlcsrvwxn2c5x162qjwwm";
+       libraryHaskellDepends = [ base QuickCheck special-values ];
        homepage = "https://github.com/minad/quickcheck-special#readme";
        description = "Edge cases and special values for QuickCheck Arbitrary instances";
        license = stdenv.lib.licenses.mit;
@@ -161576,8 +162465,8 @@ self: {
      }:
      mkDerivation {
        pname = "rakuten";
-       version = "0.1.0.1";
-       sha256 = "1y9kyipmhhy5f0f7v805a17x7g938vkvxnzj9n4h9rlprpdbdczc";
+       version = "0.1.0.3";
+       sha256 = "1l09lw0cr32vizzad7rgmwgfz7yy535n4fawikdr8lm8yzs0nr6d";
        libraryHaskellDepends = [
          aeson base bytestring connection constraints data-default-class
          extensible http-api-data http-client http-client-tls http-types
@@ -162105,8 +162994,8 @@ self: {
     ({ mkDerivation, base, doctest, template-haskell, transformers }:
      mkDerivation {
        pname = "rank2classes";
-       version = "0.2";
-       sha256 = "017vz33qafc1synzccl3p3cws010vg03l13i5y5igfs8f1rf5l80";
+       version = "0.2.1.1";
+       sha256 = "0h28979zg3ac642m3i01f1brbhh73ri909zlh3is4kx8h6qbkr5b";
        libraryHaskellDepends = [ base template-haskell transformers ];
        testHaskellDepends = [ base doctest ];
        homepage = "https://github.com/blamario/grampa/tree/master/rank2classes";
@@ -162428,8 +163317,8 @@ self: {
      }:
      mkDerivation {
        pname = "ratel";
-       version = "0.3.6";
-       sha256 = "04d93i7044zpax9hhx1xyipc8lliyn5z1xgq7k0011yzdsd8w31s";
+       version = "0.3.7";
+       sha256 = "0jwmlnxnaaldi1gr988gdy82y3ylvmi9ylnrsas8rg6pwyj76v9c";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive containers http-client
          http-client-tls http-types text uuid
@@ -162520,29 +163409,32 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "rattletrap_3_0_0" = callPackage
+  "rattletrap_3_1_0" = callPackage
     ({ mkDerivation, aeson, base, bimap, binary, binary-bits
      , bytestring, containers, data-binary-ieee754, filepath, hspec
-     , template-haskell, temporary, text, vector
+     , http-client, http-client-tls, template-haskell, temporary, text
+     , vector
      }:
      mkDerivation {
        pname = "rattletrap";
-       version = "3.0.0";
-       sha256 = "0n24q5vjbrv093n1nchf7pkn0ibkp75zm5mbjrmdwvr6vlb1ih73";
+       version = "3.1.0";
+       sha256 = "1yv24p76w6zz91qjx5xhrcp7r72lqijfh32gzyjavvs6p1rnq61w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson base bimap binary binary-bits bytestring containers
-         data-binary-ieee754 template-haskell text vector
+         data-binary-ieee754 http-client http-client-tls template-haskell
+         text vector
        ];
        executableHaskellDepends = [
          aeson base bimap binary binary-bits bytestring containers
-         data-binary-ieee754 template-haskell text vector
+         data-binary-ieee754 http-client http-client-tls template-haskell
+         text vector
        ];
        testHaskellDepends = [
          aeson base bimap binary binary-bits bytestring containers
-         data-binary-ieee754 filepath hspec template-haskell temporary text
-         vector
+         data-binary-ieee754 filepath hspec http-client http-client-tls
+         template-haskell temporary text vector
        ];
        homepage = "https://github.com/tfausak/rattletrap#readme";
        description = "Parse and generate Rocket League replays";
@@ -163251,8 +164143,8 @@ self: {
      }:
      mkDerivation {
        pname = "reactive-midyim";
-       version = "0.4";
-       sha256 = "0aq3iaq3l4wcdixa09q9na2n4l92nkzikjbma3mxl4d6gklhcvhy";
+       version = "0.4.0.1";
+       sha256 = "1ck2f8nhlhcw9vyh42svp94xrnd4jcvic2kzxikw50vjcd4w6rrf";
        libraryHaskellDepends = [
          base containers data-accessor data-accessor-transformers event-list
          midi non-negative random reactive-banana-bunch transformers
@@ -163540,7 +164432,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "rebase_1_1" = callPackage
+  "rebase_1_1_1" = callPackage
     ({ mkDerivation, base, base-prelude, bifunctors, bytestring
      , containers, contravariant, contravariant-extras, deepseq, dlist
      , either, fail, hashable, mtl, profunctors, scientific
@@ -163549,8 +164441,8 @@ self: {
      }:
      mkDerivation {
        pname = "rebase";
-       version = "1.1";
-       sha256 = "1qkhnpcc4g2vd6jmbf3b6psqkan6hyawqzrwzqdd931hsb02l6ia";
+       version = "1.1.1";
+       sha256 = "0rhfpdh8hmna02pbiljkiy623sdy1nqk60azr43cdx5q9aw1b3jy";
        libraryHaskellDepends = [
          base base-prelude bifunctors bytestring containers contravariant
          contravariant-extras deepseq dlist either fail hashable mtl
@@ -166614,7 +167506,7 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "req_0_4_0" = callPackage
+  "req_0_5_0" = callPackage
     ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder
      , bytestring, case-insensitive, connection, data-default-class
      , hspec, hspec-core, http-api-data, http-client, http-client-tls
@@ -166623,8 +167515,8 @@ self: {
      }:
      mkDerivation {
        pname = "req";
-       version = "0.4.0";
-       sha256 = "1ahs0ig9xi2i6470q6vdc011pk2l0sp39jr1n3f9a0mp5l0m7n0s";
+       version = "0.5.0";
+       sha256 = "0wrlbmix8avvvl3mwijsbzajpbkz4n208gvqim8xyhw0ic5lxf3q";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -166678,8 +167570,8 @@ self: {
        pname = "req-conduit";
        version = "0.2.1";
        sha256 = "1f3nbmdmkr68i5nm3527s06w9crdgn9jrkzam2fgcg8qp6q73q4c";
-       revision = "2";
-       editedCabalFile = "1r7qfg670gdncb9yszgg4dw5x8az17cfgbkpbnb7zjdy7rqrj442";
+       revision = "3";
+       editedCabalFile = "0g56b7jqgz45dk674y8pklcvgsmai8vj3ibdylmajij0b4gcsvwd";
        libraryHaskellDepends = [
          base bytestring conduit http-client req resourcet transformers
        ];
@@ -166739,12 +167631,12 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "rerebase_1_1" = callPackage
+  "rerebase_1_1_2" = callPackage
     ({ mkDerivation, rebase }:
      mkDerivation {
        pname = "rerebase";
-       version = "1.1";
-       sha256 = "17x606gm0mfy7xgfy1dby8gxs4jzspnrlchv1d93rjqklr2wsyyv";
+       version = "1.1.2";
+       sha256 = "1nlms737hwk8b9jb354w1czgsg0hgjm8xdj7rjhxv99zkhmp8bmi";
        libraryHaskellDepends = [ rebase ];
        homepage = "https://github.com/nikita-volkov/rerebase";
        description = "Reexports from \"base\" with a bunch of other standard libraries";
@@ -167176,6 +168068,24 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "rest-snap_0_3_0_0" = callPackage
+    ({ mkDerivation, base, base-compat, bytestring, case-insensitive
+     , rest-core, safe, snap-core, unordered-containers, uri-encode
+     , utf8-string
+     }:
+     mkDerivation {
+       pname = "rest-snap";
+       version = "0.3.0.0";
+       sha256 = "1s38xrmg90y80rxmz1kf5wfxq7dgf63xysicg0jfawwl3sy88iff";
+       libraryHaskellDepends = [
+         base base-compat bytestring case-insensitive rest-core safe
+         snap-core unordered-containers uri-encode utf8-string
+       ];
+       description = "Rest driver for Snap";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "rest-stringmap" = callPackage
     ({ mkDerivation, aeson, base, containers, hashable, hxt
      , json-schema, tostring, unordered-containers
@@ -167660,8 +168570,8 @@ self: {
      }:
      mkDerivation {
        pname = "rhine";
-       version = "0.1.1.0";
-       sha256 = "1vl7hnnb2bmrzaf4231pq9rvn8l7y2y3x5g6b1ry77rb45bzspkq";
+       version = "0.2.0.0";
+       sha256 = "03vskqdgf52lrqm5fjzhyh6sd05xkpvz6n92vd53piklnpvf25gh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -169134,6 +170044,7 @@ self: {
        ];
        description = "Streaming parser/renderer for the RSS standard";
        license = stdenv.lib.licenses.publicDomain;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "rss-conduit_0_4_2_0" = callPackage
@@ -169201,8 +170112,8 @@ self: {
      }:
      mkDerivation {
        pname = "rtcm";
-       version = "0.2.6";
-       sha256 = "1j3sgsrz6l6c77xcy1ni8jglrpahb7kg3ba92lgbdbr6jcrfqi1x";
+       version = "0.2.8";
+       sha256 = "014cs6lsg6hdm7s2747j681xj87lh60l77mqbjijcl4lxh9brglw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170601,14 +171512,21 @@ self: {
      }) {};
 
   "savage" = callPackage
-    ({ mkDerivation, base, random, tf-random }:
+    ({ mkDerivation, base, bytestring, containers, exceptions, mmorph
+     , monad-control, mtl, primitive, random, resourcet, text, time
+     , transformers, transformers-base, unix
+     }:
      mkDerivation {
        pname = "savage";
-       version = "1.0.0";
-       sha256 = "0njnj1191k90882k957kkgdmb5sfzakk79gmpsa0hvdkdx6fskaz";
-       libraryHaskellDepends = [ base random tf-random ];
+       version = "1.0.2";
+       sha256 = "0fs4nbcmxcq62jmfa5ds52c3qra9dypac7grppsgxcbva7jfpw7l";
+       libraryHaskellDepends = [
+         base bytestring containers exceptions mmorph monad-control mtl
+         primitive random resourcet text time transformers transformers-base
+         unix
+       ];
        homepage = "https://github.com/chessai/savage";
-       description = "Re-exported random generators from QuickCheck";
+       description = "re-export of the random generators from Hedgehog";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
@@ -170639,8 +171557,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbp";
-       version = "2.2.15";
-       sha256 = "02y9mvy2ij1kdn06wgdpn5y5f4wa814lj4krvfsjyc2g9am06y83";
+       version = "2.3.0";
+       sha256 = "14y8d8zlvf6bzc393mzdqjyw4if7wm3nwy6v89cdylyknf2klqls";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -170690,8 +171608,8 @@ self: {
      }:
      mkDerivation {
        pname = "sbv";
-       version = "7.3";
-       sha256 = "01vcil4zij8ap1bnkmmi8439mmnsbw3qc1gw994wdnar082wzh66";
+       version = "7.4";
+       sha256 = "0yylg2zdrcqzckhmlz9d5chac1jawbnrdp7fn49ia1nsl0i3jggc";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          array async base containers crackNum data-binary-ieee754 deepseq
@@ -171093,7 +172011,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "schematic_0_4_0_0" = callPackage
+  "schematic_0_4_2_0" = callPackage
     ({ mkDerivation, aeson, base, bytestring, containers, hjsonschema
      , hspec, hspec-core, hspec-discover, hspec-smallcheck, HUnit, lens
      , mtl, profunctors, regex-tdfa, regex-tdfa-text, scientific
@@ -171102,8 +172020,8 @@ self: {
      }:
      mkDerivation {
        pname = "schematic";
-       version = "0.4.0.0";
-       sha256 = "1n0i7irbf4flnhybhvl5kqkcyz673nyv7bl8z14yxi152a7kjkqi";
+       version = "0.4.2.0";
+       sha256 = "0k63pnv8mip8kn623s5n7w24bd4spjmi1a9h280nf7wd1q8z72n4";
        libraryHaskellDepends = [
          aeson base bytestring containers hjsonschema mtl profunctors
          regex-tdfa regex-tdfa-text scientific singletons smallcheck tagged
@@ -171306,6 +172224,8 @@ self: {
        pname = "scientific";
        version = "0.3.5.2";
        sha256 = "0msnjz7ml0zycw9bssslxbg0nigziw7vs5km4q3vjbs8jpzpkr2w";
+       revision = "1";
+       editedCabalFile = "1gnz52yrd9bnq4qvd4v9kd00clx0sfbh64phafdq5g2hbk9yrg0v";
        libraryHaskellDepends = [
          base binary bytestring containers deepseq hashable integer-gmp
          integer-logarithms primitive text
@@ -172263,13 +173183,15 @@ self: {
      }) {};
 
   "search" = callPackage
-    ({ mkDerivation, base, directory, doctest, filepath, ghc-prim
-     , profunctors, semigroupoids, tagged, transformers
+    ({ mkDerivation, base, Cabal, cabal-doctest, directory, doctest
+     , filepath, ghc-prim, profunctors, semigroupoids, tagged
+     , transformers
      }:
      mkDerivation {
        pname = "search";
-       version = "0.1.0.1";
-       sha256 = "0w9pfyw33zrfjy70bwslbgyns1jswshzxcz71cgbfl4q5hjbmvkw";
+       version = "0.2";
+       sha256 = "0xdacs6adcwi3ls8w8dk08yvb9s90ymcdvcm9232wfh263mq13w7";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base ghc-prim profunctors semigroupoids tagged transformers
        ];
@@ -173008,15 +173930,15 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "sensu-run_0_4_0_1" = callPackage
+  "sensu-run_0_4_0_2" = callPackage
     ({ mkDerivation, aeson, base, bytestring, filepath, http-client
      , http-types, lens, network, optparse-applicative, process
      , temporary, text, time, unix, unix-compat, vector, wreq
      }:
      mkDerivation {
        pname = "sensu-run";
-       version = "0.4.0.1";
-       sha256 = "05vmrbf3hk26ya5rvhadc8q1qb932x2n0x153bhafbf60yzc4bc5";
+       version = "0.4.0.2";
+       sha256 = "1hsl9p9gzbjlalnrlbia7bvi2rs159d3h5mv5zzi81c20y5ybkjk";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -173526,8 +174448,8 @@ self: {
        pname = "servant";
        version = "0.11";
        sha256 = "00vbhijdxb00n8ha068zdwvqlfqv1iradkkdchzzvnhg2jpzgcy5";
-       revision = "1";
-       editedCabalFile = "1az9id2dl7psc8lknf7y9cvzkivcjzw7g27yyp40flb6bfvmaqp3";
+       revision = "2";
+       editedCabalFile = "1b5zxz1cqf0n2y1jfvb1rsza95hdyhn9fc6fl73bxr5m9apv511z";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson attoparsec base base-compat bytestring case-insensitive
@@ -173545,6 +174467,36 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant_0_12" = callPackage
+    ({ mkDerivation, aeson, aeson-compat, attoparsec, base, base-compat
+     , 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.12";
+       sha256 = "0h8xjidjjq1bzp4grcndpybp3migka5qzgyx1sxpps28gndmbz89";
+       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 tagged text
+         vault
+       ];
+       testHaskellDepends = [
+         aeson aeson-compat attoparsec base base-compat bytestring directory
+         doctest filemanip filepath hspec QuickCheck quickcheck-instances
+         string-conversions text url
+       ];
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "A family of combinators for defining webservices APIs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-JuicyPixels" = callPackage
     ({ mkDerivation, base, bytestring, http-media, JuicyPixels, servant
      , servant-server, wai, warp
@@ -173594,35 +174546,35 @@ self: {
      }) {};
 
   "servant-auth" = callPackage
-    ({ mkDerivation, base, doctest, Glob, hspec, QuickCheck, yaml }:
+    ({ mkDerivation, base }:
      mkDerivation {
        pname = "servant-auth";
-       version = "0.3.0.0";
-       sha256 = "085xfhrim0y067yab3pwgiilk7zzdg8b7dz3i08f4cfd633an8km";
+       version = "0.3.0.1";
+       sha256 = "1nd7wfkkwwpl7iq3d6vx2nizqsxxh5v030rjpy61phhd7jxgmbyb";
        libraryHaskellDepends = [ base ];
-       testHaskellDepends = [ base doctest Glob hspec QuickCheck yaml ];
        homepage = "http://github.com/plow-technologies/servant-auth#readme";
        description = "Authentication combinators for servant";
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "servant-auth-client" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, doctest, Glob, hspec
+    ({ mkDerivation, aeson, base, bytestring, containers, hspec
      , http-client, http-types, jose, QuickCheck, servant, servant-auth
-     , servant-auth-server, servant-client, servant-server, text, time
-     , transformers, wai, warp, yaml
+     , servant-auth-server, servant-client, servant-client-core
+     , servant-server, text, time, transformers, wai, warp
      }:
      mkDerivation {
        pname = "servant-auth-client";
-       version = "0.3.0.0";
-       sha256 = "048rrakd4v9nhgnqdwk4hwdb4mrailpkmf0ip1zmav18rg9ij3c7";
+       version = "0.3.1.0";
+       sha256 = "0kinczwmr32zasjb3f7csbiv865r4vz7yf6ga4j1yk857zx4zdys";
        libraryHaskellDepends = [
-         base bytestring servant servant-auth servant-client text
+         base bytestring containers servant servant-auth servant-client-core
+         text
        ];
        testHaskellDepends = [
-         aeson base bytestring doctest Glob hspec http-client http-types
-         jose QuickCheck servant servant-auth servant-auth-server
-         servant-client servant-server text time transformers wai warp yaml
+         aeson base bytestring hspec http-client http-types jose QuickCheck
+         servant servant-auth servant-auth-server servant-client
+         servant-server time transformers wai warp
        ];
        homepage = "http://github.com/plow-technologies/servant-auth#readme";
        description = "servant-client/servant-auth compatibility";
@@ -173659,27 +174611,28 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "servant-auth-cookie_0_5_0_6" = callPackage
+  "servant-auth-cookie_0_6_0" = callPackage
     ({ mkDerivation, base, base64-bytestring, blaze-builder, bytestring
-     , cereal, cookie, criterion, cryptonite, data-default, deepseq
-     , exceptions, hspec, http-api-data, http-types, memory, mtl
-     , QuickCheck, servant, servant-server, tagged, time, transformers
-     , wai
+     , cereal, cereal-time, cookie, criterion, cryptonite, data-default
+     , deepseq, exceptions, hspec, http-api-data, http-types, memory
+     , mtl, QuickCheck, servant, servant-server, tagged
+     , template-haskell, text, time, transformers, wai
      }:
      mkDerivation {
        pname = "servant-auth-cookie";
-       version = "0.5.0.6";
-       sha256 = "1bxvgf71710jzs0k83bz4rdj7zsagmwpsqv96invw8d7shipg650";
+       version = "0.6.0";
+       sha256 = "04pyy8534hnwwa5z423d6p5j2d5mzwbgls2q11hcma35nkz8y0xw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base base64-bytestring blaze-builder bytestring cereal cookie
-         cryptonite data-default exceptions http-api-data http-types memory
-         mtl servant servant-server tagged time transformers wai
+         base base64-bytestring blaze-builder bytestring cereal cereal-time
+         cookie cryptonite data-default exceptions http-api-data http-types
+         memory mtl servant servant-server tagged text time transformers wai
        ];
        testHaskellDepends = [
-         base bytestring cereal cryptonite data-default deepseq hspec
-         QuickCheck servant-server time transformers
+         base bytestring cereal cryptonite data-default deepseq exceptions
+         hspec QuickCheck servant-server tagged template-haskell time
+         transformers
        ];
        benchmarkHaskellDepends = [
          base bytestring criterion cryptonite servant-server
@@ -173690,19 +174643,21 @@ self: {
      }) {};
 
   "servant-auth-docs" = callPackage
-    ({ mkDerivation, base, doctest, Glob, hspec, lens, QuickCheck
-     , servant, servant-auth, servant-docs, text, yaml
+    ({ mkDerivation, base, Cabal, cabal-doctest, doctest, hspec, lens
+     , QuickCheck, servant, servant-auth, servant-docs, template-haskell
+     , text
      }:
      mkDerivation {
        pname = "servant-auth-docs";
-       version = "0.2.7.0";
-       sha256 = "1ip46fbj39dnvvz9c2rgxparl2x9gafxdnvz39hyi9q82fz9ygx5";
+       version = "0.2.8.0";
+       sha256 = "1qw0mf3cg8iljynxd7qidxv8m6h41sygh0v6512d3gv6cgkqc5yj";
+       setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base lens servant servant-auth servant-docs text
        ];
        testHaskellDepends = [
-         base doctest Glob hspec lens QuickCheck servant servant-auth
-         servant-docs text yaml
+         base doctest hspec lens QuickCheck servant servant-auth
+         servant-docs template-haskell text
        ];
        homepage = "http://github.com/plow-technologies/servant-auth#readme";
        description = "servant-docs/servant-auth compatibility";
@@ -173756,10 +174711,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-server";
-       version = "0.3.0.0";
-       sha256 = "1rs51w929hlwsgrg5ajcv3cp09hnk37p1n5s2ydmja22m4ba93ak";
-       revision = "1";
-       editedCabalFile = "077qvaxqcnhvyl1d1318hyx9ckjd3z5n48vq0bqma0z7wqlzqs2v";
+       version = "0.3.1.0";
+       sha256 = "1mx8yp7nabnh9ymm6sd5xrb0x8qkx075h5pz7i5fd63k2axi8kbb";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -173770,19 +174723,13 @@ self: {
          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 tagged
-         text time transformers unordered-containers wai warp
+         aeson base markdown-unlit mtl servant-auth servant-server
+         transformers 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 tagged text time unordered-containers
-         wai warp wreq
+         aeson base bytestring case-insensitive hspec http-client http-types
+         jose lens lens-aeson mtl QuickCheck servant-server time wai warp
+         wreq
        ];
        homepage = "http://github.com/plow-technologies/servant-auth#readme";
        description = "servant-server/servant-auth compatibility";
@@ -173791,19 +174738,19 @@ self: {
      }) {};
 
   "servant-auth-swagger" = callPackage
-    ({ mkDerivation, base, doctest, Glob, hspec, lens, QuickCheck
-     , servant, servant-auth, servant-swagger, swagger2, text, yaml
+    ({ mkDerivation, base, hspec, lens, QuickCheck, servant
+     , servant-auth, servant-swagger, swagger2, text
      }:
      mkDerivation {
        pname = "servant-auth-swagger";
-       version = "0.2.7.0";
-       sha256 = "0rg8j50hp6wb5mwrsd495gp6qrl29h0r5k54b9zb6663isimbmr2";
+       version = "0.2.8.0";
+       sha256 = "0g2dyjj401qlpmxf0gk6lvqv5qivyxjp9r3navn0r0c9xf0b513r";
        libraryHaskellDepends = [
          base lens servant servant-auth servant-swagger swagger2 text
        ];
        testHaskellDepends = [
-         base doctest Glob hspec lens QuickCheck servant servant-auth
-         servant-swagger swagger2 text yaml
+         base hspec lens QuickCheck servant servant-auth servant-swagger
+         swagger2 text
        ];
        homepage = "http://github.com/plow-technologies/servant-auth#readme";
        description = "servant-swagger/servant-auth compatibility";
@@ -173946,8 +174893,8 @@ self: {
        pname = "servant-blaze";
        version = "0.7.1";
        sha256 = "0ii60xn5khsj8w3glvwqpwrpd6v9yc1n52gk9qsfwfxq49x1rvch";
-       revision = "5";
-       editedCabalFile = "05zz0kvnmai230palf44f72gm1vadqyssk9hl4h0qq5263frbsli";
+       revision = "6";
+       editedCabalFile = "051m44rqmxkl30n96qcbz1xwwsw2n7l7laflnc0xydc40ws0bj96";
        libraryHaskellDepends = [ base blaze-html http-media servant ];
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Blaze-html support for servant";
@@ -173962,8 +174909,8 @@ self: {
        pname = "servant-cassava";
        version = "0.9";
        sha256 = "08g1yjrfx2q79r0ldjnxr05437bg889virfy52i3s66d5h69d9q3";
-       revision = "1";
-       editedCabalFile = "04rzz2a310q4jkr94j7j7scmyvc0ms7vw285jq2dv2r9g7gwdb3s";
+       revision = "2";
+       editedCabalFile = "1whcfyncvnjsf3iarpzk60q2f1srail41mjgf31hg6xahhjgqg3m";
        libraryHaskellDepends = [
          base base-compat bytestring cassava http-media servant vector
        ];
@@ -174038,6 +174985,58 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-client_0_12_0_1" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, bytestring
+     , containers, deepseq, exceptions, generics-sop, hspec
+     , http-api-data, http-client, http-client-tls, http-media
+     , http-types, HUnit, monad-control, mtl, network, QuickCheck
+     , semigroupoids, servant, servant-client-core, servant-server, text
+     , transformers, transformers-base, transformers-compat, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-client";
+       version = "0.12.0.1";
+       sha256 = "12apsxsxqxc9xxcpn6l4y69x3q22407gni3ixxa7c0afcr5jnani";
+       libraryHaskellDepends = [
+         aeson attoparsec base base-compat bytestring containers exceptions
+         http-client http-client-tls http-media http-types monad-control mtl
+         semigroupoids servant-client-core text transformers
+         transformers-base transformers-compat
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring containers deepseq generics-sop
+         hspec http-api-data http-client http-media http-types HUnit mtl
+         network QuickCheck servant servant-client-core servant-server text
+         transformers transformers-compat wai warp
+       ];
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "automatical derivation of querying functions for servant webservices";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
+  "servant-client-core" = callPackage
+    ({ mkDerivation, base, base-compat, base64-bytestring, bytestring
+     , containers, deepseq, exceptions, generics-sop, hspec
+     , http-api-data, http-media, http-types, mtl, network-uri
+     , QuickCheck, safe, servant, text
+     }:
+     mkDerivation {
+       pname = "servant-client-core";
+       version = "0.12";
+       sha256 = "0wb36sgirhyfqa32zjs6gz3fwzcim6qvhb6w6a3anpi2nlfaq355";
+       libraryHaskellDepends = [
+         base base-compat base64-bytestring bytestring containers exceptions
+         generics-sop http-api-data http-media http-types mtl network-uri
+         safe servant text
+       ];
+       testHaskellDepends = [ base base-compat deepseq hspec QuickCheck ];
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "Core functionality and class for client function generation for servant APIs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-csharp" = callPackage
     ({ mkDerivation, aeson, base, bytestring, directory, filepath
      , heredocs, http-types, lens, mtl, servant, servant-foreign
@@ -174130,6 +175129,35 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-docs_0_11_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
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "servant-docs";
+       version = "0.11.1";
+       sha256 = "1i2680jzgrlcajxmakcg1hvddkbx6fbz4vvrbz0ca660hil2vlb2";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat bytestring case-insensitive
+         control-monad-omega hashable http-media http-types lens servant
+         string-conversions text unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base lens servant string-conversions text
+       ];
+       testHaskellDepends = [
+         aeson base hspec lens servant string-conversions
+       ];
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "generate API docs for your servant webservice";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-ede" = callPackage
     ({ mkDerivation, aeson, base, bytestring, ede, either, filepath
      , http-media, http-types, semigroups, servant, servant-server, text
@@ -174240,6 +175268,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-foreign_0_10_2" = callPackage
+    ({ mkDerivation, base, hspec, http-types, lens, servant, text }:
+     mkDerivation {
+       pname = "servant-foreign";
+       version = "0.10.2";
+       sha256 = "16r42df628jsw9khv5kjwb702ajwmxg4kya19acm10660c0gxygs";
+       libraryHaskellDepends = [ base http-types lens servant text ];
+       testHaskellDepends = [ base hspec servant ];
+       description = "Helpers for generating clients for servant APIs in any programming language";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-generic" = callPackage
     ({ mkDerivation, base, servant, servant-server, text, warp }:
      mkDerivation {
@@ -174253,19 +175294,21 @@ self: {
      }) {};
 
   "servant-github" = callPackage
-    ({ mkDerivation, aeson, base, hspec, http-api-data, http-client
-     , http-link-header, QuickCheck, servant, servant-client, text
-     , transformers
+    ({ mkDerivation, aeson, base, bytestring, cryptonite, hspec
+     , http-api-data, http-client, http-client-tls, http-link-header
+     , http-media, jose, lens, mtl, QuickCheck, servant, servant-client
+     , text, time, transformers
      }:
      mkDerivation {
        pname = "servant-github";
-       version = "0.1.0.4";
-       sha256 = "1l1l4yphixvg14rzibi7p67jhdyqbbyw6kdb4kdprib86my4xlyn";
+       version = "0.1.0.6";
+       sha256 = "14bmh9gbmrd9254zd6c4s74x63qjdvdv2hfw8q17rcr1752f9qrf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson base http-api-data http-client http-link-header servant
-         servant-client text transformers
+         aeson base bytestring cryptonite http-api-data http-client
+         http-client-tls http-link-header http-media jose lens mtl servant
+         servant-client text time transformers
        ];
        executableHaskellDepends = [ base text transformers ];
        testHaskellDepends = [ base hspec QuickCheck ];
@@ -174373,10 +175416,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-js";
-       version = "0.9.3";
-       sha256 = "1hicrbp4r57dwxrv4jncpklnvjr8gh01zdqmnh83k46qqni0as88";
-       revision = "2";
-       editedCabalFile = "0m4dsa285rmwrc3ilzvm9anzcnbnmvfkl6vz09hsmkr413ajr5gw";
+       version = "0.9.3.1";
+       sha256 = "01an3s6xnjng7vwzha658hcf3n28v99dviindqq0qv7dbrf3r1ri";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -174402,8 +175443,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-kotlin";
-       version = "0.1.0.0";
-       sha256 = "0rsy8bmycmgxpnimaly08shlaqmna084bdgcxxs3ad0kicc427r1";
+       version = "0.1.0.1";
+       sha256 = "1bv6chggrpil6332nal8blnchnn6ahiblcf5q7syray7wkkmgpjk";
        libraryHaskellDepends = [
          base containers directory formatting lens servant servant-foreign
          text time wl-pprint-text
@@ -174427,8 +175468,8 @@ self: {
        pname = "servant-lucid";
        version = "0.7.1";
        sha256 = "0h7yw140ymigrzrzp2vkkhg13gg1d8pj9xmcpq8bw2cv2myvl9pc";
-       revision = "5";
-       editedCabalFile = "0hqwbh0mcl3mdv0aj9xvnzpqdv8am07i48cjpx96yihkg86r5phm";
+       revision = "6";
+       editedCabalFile = "0bz3j6xjig6qj7qwkvzv9kqvivd6qvz0kn42lpwg1kcf1j6w31mc";
        libraryHaskellDepends = [ base http-media lucid servant ];
        homepage = "http://haskell-servant.readthedocs.org/";
        description = "Servant support for lucid";
@@ -174463,10 +175504,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-mock";
-       version = "0.8.2";
-       sha256 = "146z4n7ayg0347kabwdz1crha7ilfdcdx3pazdgsmq2bl8mwad3w";
-       revision = "2";
-       editedCabalFile = "16zbbjz7rj7fg6qs8zjy9arz7bwza9pq1gn15csnsvm5n6qnpgal";
+       version = "0.8.3";
+       sha256 = "0fwkygv4rx98qys8apj7aby4xhssgzqdgsxmb6vh4ky71vjq0q5m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -174487,24 +175526,22 @@ self: {
 
   "servant-multipart" = callPackage
     ({ mkDerivation, base, bytestring, directory, http-client
-     , http-media, network, resourcet, servant, servant-server, text
-     , transformers, wai, wai-extra, warp
+     , http-media, lens, network, resourcet, servant, servant-docs
+     , servant-server, text, transformers, wai, wai-extra, warp
      }:
      mkDerivation {
        pname = "servant-multipart";
-       version = "0.10.0.1";
-       sha256 = "1wba440qlcjw6h6k8qiycsfq26snfkmy0p45d51li704s4m3idcv";
-       revision = "1";
-       editedCabalFile = "1li09340kh4ak1nnqk0qxnwx2yngqwk3fj1c0824yrib29c65973";
+       version = "0.11";
+       sha256 = "1m3mzqsg09mcdkr88rba2fq4j19kqrgmrq9nd70dwivfqbh5nvpj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base bytestring directory http-media resourcet servant
-         servant-server text transformers wai wai-extra
+         base bytestring directory http-media lens resourcet servant
+         servant-docs servant-server text transformers wai wai-extra
        ];
        executableHaskellDepends = [
-         base http-client network servant servant-server text transformers
-         wai warp
+         base bytestring http-client network servant servant-server text
+         transformers wai warp
        ];
        homepage = "https://github.com/haskell-servant/servant-multipart#readme";
        description = "multipart/form-data (e.g file upload) support for servant";
@@ -174878,6 +175915,44 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "servant-server_0_12" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat
+     , 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
+     , tagged, temporary, text, transformers, transformers-base
+     , transformers-compat, wai, wai-app-static, wai-extra, warp, word8
+     }:
+     mkDerivation {
+       pname = "servant-server";
+       version = "0.12";
+       sha256 = "1iiwk4d945z4xkxm3hn4d9ybi04n1ig4niip7vk3xp0wzikk7wk5";
+       isLibrary = true;
+       isExecutable = true;
+       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 tagged text transformers
+         transformers-base transformers-compat wai wai-app-static warp word8
+       ];
+       executableHaskellDepends = [ aeson base servant text wai warp ];
+       testHaskellDepends = [
+         aeson base base-compat base64-bytestring bytestring directory
+         doctest exceptions filemanip filepath hspec hspec-wai http-types
+         mtl network parsec QuickCheck resourcet safe servant
+         should-not-typecheck string-conversions temporary text transformers
+         transformers-compat wai wai-extra warp
+       ];
+       homepage = "http://haskell-servant.readthedocs.org/";
+       description = "A family of combinators for defining webservices APIs and serving them";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "servant-smsc-ru" = callPackage
     ({ mkDerivation, aeson, base, bytestring, http-client
      , http-client-tls, HUnit, mtl, QuickCheck, quickcheck-text
@@ -175034,10 +176109,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger";
-       version = "1.1.3.1";
-       sha256 = "0n5vvrxg1lllkm385g0jd2j5bsr21bcibwn5szdpn6r5yh2mvn78";
-       revision = "1";
-       editedCabalFile = "1bx68rcz4whjw3pqm40aiqpfigcgg9dkgjdlggry2iv81s0415xf";
+       version = "1.1.4";
+       sha256 = "0xcs019v0kmaa265a15zbqj591d3nrrj19r5176816pldq8q213i";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson base bytestring hspec http-media insert-ordered-containers
@@ -175063,6 +176136,8 @@ self: {
        pname = "servant-swagger-ui";
        version = "0.2.4.3.4.0";
        sha256 = "1vb1bp7hjjyhb1p6x0j7z2ky05n72qm7zcmwgnsmnqalaxdnsvri";
+       revision = "1";
+       editedCabalFile = "1bd920kkwyfz4jvy57k026nqdjlxla09hb5z2rfc6y9d5qx05rfk";
        libraryHaskellDepends = [
          base blaze-markup bytestring directory file-embed filepath
          http-media servant servant-blaze servant-server servant-swagger
@@ -175109,8 +176184,8 @@ self: {
        pname = "servant-yaml";
        version = "0.1.0.0";
        sha256 = "011jxvr2i65bf0kmdn0sxkqgfz628a0sfhzphr1rqsmh8sqdj5y9";
-       revision = "16";
-       editedCabalFile = "1szf52wk171jzm1vrs6lby7b7wijmfid3ar6wb960v9kq7g9k3iy";
+       revision = "17";
+       editedCabalFile = "1525b9dm2g8r2xrisciypi0ihm3rmbs3g3f9nvg01qwa3q1sxf70";
        libraryHaskellDepends = [
          base bytestring http-media servant yaml
        ];
@@ -176283,8 +177358,8 @@ self: {
      }:
      mkDerivation {
        pname = "shakers";
-       version = "0.0.33";
-       sha256 = "1wn0bk867nbzcg6c6a8q5sa4ma60r3zc46ykpdla34k61nq5g3qy";
+       version = "0.0.36";
+       sha256 = "1l2dn9s1pijh84l0difw7sb2b3id49p64fn235lj5qybww60ijhw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -176754,7 +177829,7 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "shelly_1_6_8_4" = callPackage
+  "shelly_1_6_8_5" = callPackage
     ({ mkDerivation, async, base, bytestring, containers, directory
      , enclosed-exceptions, exceptions, hspec, HUnit, lifted-async
      , lifted-base, monad-control, mtl, process, system-fileio
@@ -176763,8 +177838,8 @@ self: {
      }:
      mkDerivation {
        pname = "shelly";
-       version = "1.6.8.4";
-       sha256 = "1s69ifnamzjd121rf7k5idxzbwhc4ap8msxjhfsya04kwzjcixyj";
+       version = "1.6.8.5";
+       sha256 = "036p32xrcv698wsgs3cdxy9rirkzql2myczzyz30iahk91hl2qiw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -177176,8 +178251,8 @@ self: {
     ({ mkDerivation, base, bytestring, hsI2C, time, transformers }:
      mkDerivation {
        pname = "si-clock";
-       version = "0.1.3";
-       sha256 = "0s2d1liaknk5qhh41pi3508m3dz9k0ljl5fc2v1vs6ckv4sd9fjr";
+       version = "0.1.3.1";
+       sha256 = "15fk63nynpk5wz9ikij18g5vnrslsrv97fn649dkssmsdwifjfj5";
        libraryHaskellDepends = [
          base bytestring hsI2C time transformers
        ];
@@ -177368,6 +178443,23 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "silvi" = callPackage
+    ({ mkDerivation, base, bytestring, chronos, http-types, ip
+     , quantification, savage, text
+     }:
+     mkDerivation {
+       pname = "silvi";
+       version = "0.0.2";
+       sha256 = "1rls25wifkgkz1fg4xw4bvpxa1807dp1h2q8kk7j7if7b66pj0cx";
+       libraryHaskellDepends = [
+         base bytestring chronos http-types ip quantification savage text
+       ];
+       homepage = "https://github.com/chessai/silvi#readme";
+       description = "A generator for different kinds of logs";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "simd" = callPackage
     ({ mkDerivation, base, ghc-prim, primitive, vector }:
      mkDerivation {
@@ -178390,8 +179482,8 @@ self: {
     ({ mkDerivation, base, singletons }:
      mkDerivation {
        pname = "singleton-nats";
-       version = "0.4.0.2";
-       sha256 = "1nrjdy7rkjla2cgyb2j50p7qi30divl6aa75m3yvf2whb38wgisw";
+       version = "0.4.0.3";
+       sha256 = "150pfyfgyvksx600c9c7pyw154dvjgfiykas3wxfzkm3l9mhg32v";
        libraryHaskellDepends = [ base singletons ];
        homepage = "https://github.com/AndrasKovacs/singleton-nats";
        description = "Unary natural numbers relying on the singletons infrastructure";
@@ -178508,6 +179600,30 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "siren-json" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, case-insensitive
+     , containers, hspec, http-media, http-types, network-uri
+     , QuickCheck, quickcheck-instances, test-invariant, text
+     , unordered-containers
+     }:
+     mkDerivation {
+       pname = "siren-json";
+       version = "0.1.0.1";
+       sha256 = "1wm1pkdq6wrnw8rkyf5sq4iic8qijzliwd1nmqsvrq35vid5ms2i";
+       libraryHaskellDepends = [
+         aeson base bytestring containers http-media http-types network-uri
+         text unordered-containers
+       ];
+       testHaskellDepends = [
+         aeson base bytestring case-insensitive containers hspec http-media
+         http-types network-uri QuickCheck quickcheck-instances
+         test-invariant text unordered-containers
+       ];
+       homepage = "https://github.com/alunduil/siren-json.hs";
+       description = "Siren Tools for Haskell";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "sirkel" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, hashtables
      , haskell98, random, remote, SHA, transformers
@@ -178546,8 +179662,8 @@ self: {
      }:
      mkDerivation {
        pname = "sitepipe";
-       version = "0.1.1";
-       sha256 = "1kymvi3pf67chjsvqxv29i4fbac2yyrjx5llc2r7qjfw3hblf5sj";
+       version = "0.2.0.0";
+       sha256 = "15cynic59qkfgb8d3ca6hr3dag0cs48af266xaiblpvim39rk1fb";
        libraryHaskellDepends = [
          aeson base bytestring containers directory exceptions filepath Glob
          lens lens-aeson megaparsec MissingH mtl mustache
@@ -178873,7 +179989,7 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "skylighting_0_4_2" = callPackage
+  "skylighting_0_4_3_2" = callPackage
     ({ mkDerivation, aeson, attoparsec, base, base64-bytestring, binary
      , blaze-html, bytestring, case-insensitive, containers, criterion
      , Diff, directory, filepath, HUnit, hxt, mtl, pretty-show, random
@@ -178882,8 +179998,8 @@ self: {
      }:
      mkDerivation {
        pname = "skylighting";
-       version = "0.4.2";
-       sha256 = "0szhhmjz14wq1ica3gl6nj5fh85fwh55xyywlq8q3dq8isl1hcz3";
+       version = "0.4.3.2";
+       sha256 = "00qs35kjj68z75vmc0ijqn5ghrq2gdyi5q2j9x4lchvizgq6czhw";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -179012,16 +180128,17 @@ self: {
   "slack-web" = callPackage
     ({ mkDerivation, aeson, base, containers, errors, hspec
      , http-api-data, http-client, http-client-tls, megaparsec, mtl
-     , servant, servant-client, text, time, transformers
+     , servant, servant-client, servant-client-core, text, time
+     , transformers
      }:
      mkDerivation {
        pname = "slack-web";
-       version = "0.2.0.1";
-       sha256 = "1v1w6szcjy4qgdx66754vkp7w4fnkyg0pngijy2v422pqmc4jpr9";
+       version = "0.2.0.2";
+       sha256 = "18hp8s5qcl2756p6sdx98d49p6bjk44616z9mcpd2ic9gcrs60q5";
        libraryHaskellDepends = [
          aeson base containers errors http-api-data http-client
-         http-client-tls megaparsec mtl servant servant-client text time
-         transformers
+         http-client-tls megaparsec mtl servant servant-client
+         servant-client-core text time transformers
        ];
        testHaskellDepends = [
          aeson base containers errors hspec http-api-data megaparsec text
@@ -179841,6 +180958,8 @@ self: {
        pname = "snap-core";
        version = "1.0.3.1";
        sha256 = "0m2pbz7r5dllk859r8bs3yjkmdh4xrw0vafz390jfmj15vaz0j87";
+       revision = "1";
+       editedCabalFile = "0yf3i0pb14zff083cnz4lszg5bkbbzg5r1v3yj9s66dchrszrjbd";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-builder case-insensitive
          containers directory filepath hashable HUnit io-streams lifted-base
@@ -180052,6 +181171,8 @@ self: {
        pname = "snap-server";
        version = "1.0.3.3";
        sha256 = "1vjfpgcl09l974mdsvgxdlqcl68xmn33z1scx3sfyvcnz32xnnkl";
+       revision = "1";
+       editedCabalFile = "1laqh4q98ia8l7znhsv4vpx04rb9sdb9dgycx4aychfrb0fbb3pc";
        configureFlags = [ "-fopenssl" ];
        isLibrary = true;
        isExecutable = true;
@@ -180756,13 +181877,13 @@ self: {
      }:
      mkDerivation {
        pname = "snaplet-riak";
-       version = "0.2.1.0";
-       sha256 = "0ff616s550sp2182n99l3q5xvf4gji1pmlqq2i6z8d2inrzcjh1w";
+       version = "0.2.1.1";
+       sha256 = "1dmxbjl3cq0rj31l8n683z9r6z3dfvwxkb7jgkdf3f53mpf6rcnm";
        libraryHaskellDepends = [
          aeson base containers data-lens data-lens-template mtl riak
          riak-protobuf snap snap-core time transformers
        ];
-       homepage = "http://github.com/statusfailed/snaplet-riak";
+       homepage = "http://github.com/tmcgilchrist/snaplet-riak";
        description = "A Snaplet for the Riak database";
        license = stdenv.lib.licenses.mit;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -182319,6 +183440,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "special-values" = callPackage
+    ({ mkDerivation, base, bytestring, ieee754, scientific, text }:
+     mkDerivation {
+       pname = "special-values";
+       version = "0.1.0.0";
+       sha256 = "1kkdw2c4d2hha99v9f89ahmifjxp7fxmxyfwq9a8xk6s0h9xs51w";
+       libraryHaskellDepends = [
+         base bytestring ieee754 scientific text
+       ];
+       homepage = "https://github.com/minad/special-values#readme";
+       description = "Typeclass providing special values";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "specialize-th" = callPackage
     ({ mkDerivation, base, checkers, composition, DebugTraceHelpers
      , derive, HUnit, MissingH, mtl, newtype, newtype-th, QuickCheck
@@ -182370,8 +183505,8 @@ self: {
     ({ mkDerivation, base, cmdargs, containers, leancheck }:
      mkDerivation {
        pname = "speculate";
-       version = "0.2.9";
-       sha256 = "0xk8i5hskr59vrf8vkvwsvp4n048fd66k959q7nl0i5z3k0lx2m2";
+       version = "0.3.0";
+       sha256 = "05xc8dkrzf60pdbxw4mpdy2yqd4l3vxsqkq27f2wf6qqf6bc4vsh";
        libraryHaskellDepends = [ base cmdargs containers leancheck ];
        testHaskellDepends = [ base leancheck ];
        benchmarkHaskellDepends = [ base leancheck ];
@@ -184257,8 +185392,8 @@ self: {
      }:
      mkDerivation {
        pname = "stackage-query";
-       version = "0.1.1";
-       sha256 = "0prwl42pn3k4yy2439bjsq2m5429xybxwivx1x5ws4k4chvl81fp";
+       version = "0.1.2";
+       sha256 = "0lxln46nwsz7646yc65c07biqg35vr75l1hdvb864ajv680wp2l0";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -184467,6 +185602,18 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "star" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "star";
+       version = "0.0.0.2";
+       sha256 = "1xg1gfdkskhkvd1a2nlaxc9942xi1j406p58i4ycb15lqcz8nz27";
+       libraryHaskellDepends = [ base ];
+       homepage = "https://github.com/chessai/star#readme";
+       description = "*-semirings";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "star-to-star" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
@@ -185198,26 +186345,28 @@ self: {
 
   "stgi" = callPackage
     ({ mkDerivation, ansi-terminal, ansi-wl-pprint, base, containers
-     , deepseq, doctest, parsers, QuickCheck, semigroups, smallcheck
+     , deepseq, doctest, parsers, prettyprinter
+     , prettyprinter-ansi-terminal, QuickCheck, semigroups, smallcheck
      , tasty, tasty-html, tasty-hunit, tasty-quickcheck, tasty-rerun
      , tasty-smallcheck, template-haskell, text, th-lift, transformers
      , trifecta
      }:
      mkDerivation {
        pname = "stgi";
-       version = "1.0.1";
-       sha256 = "0ap9hygfb7kbxwxnfr94h2b71ffpkpya5430xkdmfiqll2qcvh9g";
+       version = "1.1";
+       sha256 = "1kl2nxwm8r2pjciy5kmkf4mqqrrc8iy5i02h76xm0ysmwzndq1ck";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         ansi-wl-pprint base containers deepseq parsers semigroups
-         template-haskell text th-lift transformers trifecta
+         ansi-wl-pprint base containers deepseq parsers prettyprinter
+         prettyprinter-ansi-terminal semigroups template-haskell text
+         th-lift transformers trifecta
        ];
        executableHaskellDepends = [ ansi-terminal base semigroups text ];
        testHaskellDepends = [
-         ansi-wl-pprint base containers deepseq doctest QuickCheck
-         semigroups smallcheck tasty tasty-html tasty-hunit tasty-quickcheck
-         tasty-rerun tasty-smallcheck template-haskell text
+         ansi-wl-pprint base containers deepseq doctest prettyprinter
+         QuickCheck semigroups smallcheck tasty tasty-html tasty-hunit
+         tasty-quickcheck tasty-rerun tasty-smallcheck template-haskell text
        ];
        homepage = "https://github.com/quchen/stgi#readme";
        description = "Educational implementation of the STG (Spineless Tagless G-machine)";
@@ -185893,17 +187042,18 @@ self: {
        homepage = "https://github.com/frontrowed/stratosphere#readme";
        description = "EDSL for AWS CloudFormation";
        license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
-  "stratosphere_0_10_0" = callPackage
+  "stratosphere_0_11_0" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, hashable
      , hspec, hspec-discover, lens, template-haskell, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "stratosphere";
-       version = "0.10.0";
-       sha256 = "195rr247bzrnnvjv7i13z88xbpajxk34n94ywqvfyf3457466iqh";
+       version = "0.11.0";
+       sha256 = "1l9wyyw8zvmb7z0qvs5qk0mxbjnlm1405sxiz7wzff6ibxvk9kn5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -187529,8 +188679,8 @@ self: {
     ({ mkDerivation, attoparsec, base, hspec, NoTrace, text }:
      mkDerivation {
        pname = "substring-parser";
-       version = "0.1.0.0";
-       sha256 = "0f4rbfpdhbnpk4gm4rsavblqdabxlqbf58xr9rvjcxq62hac6lvc";
+       version = "0.2.0.0";
+       sha256 = "1bk50vsx9l1bys0fb37k818zh607221mxn6h8fmyl7ql623d6r87";
        libraryHaskellDepends = [ attoparsec base NoTrace text ];
        testHaskellDepends = [ attoparsec base hspec NoTrace text ];
        homepage = "https://gitlab.com/igrep/substring-parser";
@@ -187808,26 +188958,29 @@ self: {
 
   "super-user-spark" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, directory
-     , filepath, hspec, hspec-core, HUnit, mtl, optparse-applicative
-     , parsec, process, pureMD5, QuickCheck, shelly, text, transformers
-     , unix
+     , filepath, genvalidity, genvalidity-hspec, genvalidity-hspec-aeson
+     , genvalidity-path, hashable, hspec, hspec-core, HUnit, iostring
+     , mtl, optparse-applicative, parsec, path, path-io, process
+     , QuickCheck, text, transformers, unix, validity, validity-path
      }:
      mkDerivation {
        pname = "super-user-spark";
-       version = "0.3.2.0";
-       sha256 = "138imrm2ancdk5adsy960j6x2k9s6y34i3lb7clcl1ja8124vvyv";
+       version = "0.4.0.0";
+       sha256 = "1yk0kkp9rj63m7vqvki7zs3l8r5da8as7hpw1l6qk2gf74lpkfdy";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty base bytestring directory filepath mtl
-         optparse-applicative parsec process pureMD5 shelly text
-         transformers unix
+         aeson aeson-pretty base bytestring directory filepath hashable
+         iostring mtl optparse-applicative parsec path path-io process text
+         unix validity validity-path
        ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
-         aeson aeson-pretty base bytestring directory filepath hspec
-         hspec-core HUnit mtl optparse-applicative parsec process pureMD5
-         QuickCheck shelly text transformers unix
+         aeson aeson-pretty base bytestring directory filepath genvalidity
+         genvalidity-hspec genvalidity-hspec-aeson genvalidity-path hashable
+         hspec hspec-core HUnit iostring mtl optparse-applicative parsec
+         path path-io process QuickCheck text transformers unix validity
+         validity-path
        ];
        description = "Configure your dotfile deployment with a DSL";
        license = stdenv.lib.licenses.mit;
@@ -187932,8 +189085,8 @@ self: {
     ({ mkDerivation, base, Cabal, containers, directory, filepath }:
      mkDerivation {
        pname = "superdoc";
-       version = "0.1.2.4";
-       sha256 = "0l32y0g3dymamqkwr8x8syiwvkk1z19xlls9b4qskxzsxrx8w414";
+       version = "0.1.2.5";
+       sha256 = "0b0610pg2b9j5phc0mwsyk8rzp4w77453g4631p3j2wgrjiw425n";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -188240,8 +189393,8 @@ self: {
      }:
      mkDerivation {
        pname = "swagger-petstore";
-       version = "0.0.1.5";
-       sha256 = "0fpviny6yxrmdhraan3ffhgwynn1lj88xdj093jf4229ysj0cskk";
+       version = "0.0.1.6";
+       sha256 = "0whvh1b2s6jzr885avakswrcriv8hs4x36gdx22hg0fj77dh3b5q";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
          deepseq exceptions http-api-data http-client http-client-tls
@@ -189420,12 +190573,12 @@ self: {
      }) {};
 
   "system-info" = callPackage
-    ({ mkDerivation, base, process, regex, regex-with-pcre }:
+    ({ mkDerivation, attoparsec, base, process, text }:
      mkDerivation {
        pname = "system-info";
-       version = "0.1.0.8";
-       sha256 = "0pv4f5yrzybm2r1zi02ranq1ag1akkpzzc8w3qjpwliv2ahy4516";
-       libraryHaskellDepends = [ base process regex regex-with-pcre ];
+       version = "0.1.0.10";
+       sha256 = "164f8x4npp5pywplpz7x7q2qrmc7fc2hlqxm8zw083402sw668m7";
+       libraryHaskellDepends = [ attoparsec base process text ];
        testHaskellDepends = [ base ];
        homepage = "https://github.com/ChaosGroup/system-info";
        description = "Get information about CPUs, memory, etc";
@@ -190844,6 +191997,25 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "tasty_0_12" = callPackage
+    ({ mkDerivation, ansi-terminal, async, base, clock, containers
+     , deepseq, mtl, optparse-applicative, regex-tdfa, stm, tagged
+     , unbounded-delays, unix
+     }:
+     mkDerivation {
+       pname = "tasty";
+       version = "0.12";
+       sha256 = "0840ziawhj0lrzn927nx9lww6wxc5krvf0c3xygl577vvxh4adg1";
+       libraryHaskellDepends = [
+         ansi-terminal async base clock containers deepseq mtl
+         optparse-applicative regex-tdfa stm tagged unbounded-delays unix
+       ];
+       homepage = "https://github.com/feuerbach/tasty";
+       description = "Modern and extensible testing framework";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tasty-ant-xml" = callPackage
     ({ mkDerivation, base, containers, directory, filepath
      , generic-deriving, ghc-prim, mtl, stm, tagged, tasty, transformers
@@ -190897,12 +192069,12 @@ self: {
        hydraPlatforms = [ "i686-linux" "x86_64-linux" ];
      }) {};
 
-  "tasty-dejafu_0_7_0_2" = callPackage
+  "tasty-dejafu_0_7_0_3" = callPackage
     ({ mkDerivation, base, dejafu, random, tagged, tasty }:
      mkDerivation {
        pname = "tasty-dejafu";
-       version = "0.7.0.2";
-       sha256 = "1yj4sdprlz79sk14q5b8089sw1bn0z4nqpbdb2sr90smlxa57zpa";
+       version = "0.7.0.3";
+       sha256 = "0xvqlw5w5rwz1xxi277r9w7iad7prds5i1rrmy8wz3x3vh9kbnmm";
        libraryHaskellDepends = [ base dejafu random tagged tasty ];
        homepage = "https://github.com/barrucadu/dejafu";
        description = "Deja Fu support for the Tasty test framework";
@@ -190979,15 +192151,15 @@ self: {
      }:
      mkDerivation {
        pname = "tasty-fail-fast";
-       version = "0.0.2";
-       sha256 = "1iis2p6amiph2cv351q4vha2h06cgv6sr93n0qd6ydayx2rn7r18";
+       version = "0.0.3";
+       sha256 = "1pkqa3b1jglmy6g2sx9pyw2f6dlsg2crmgvy039xiyldl985g9w4";
        libraryHaskellDepends = [ base containers stm tagged tasty ];
        testHaskellDepends = [
          base directory tasty tasty-golden tasty-hunit tasty-tap
        ];
        homepage = "http://github.com/MichaelXavier/tasty-fail-fast#readme";
        description = "Adds the ability to fail a tasty test suite on first test failure";
-       license = stdenv.lib.licenses.mit;
+       license = stdenv.lib.licenses.bsd3;
      }) {};
 
   "tasty-golden" = callPackage
@@ -191057,6 +192229,8 @@ self: {
        pname = "tasty-hspec";
        version = "1.1.3.2";
        sha256 = "0n4pn89jz9i8d7mxsdp6ynwkg5gjyaipdy261parx64m3nxi4vcv";
+       revision = "1";
+       editedCabalFile = "05fl6jirj479lax2wqg6h5m82mkc475lhas7wmpx91kv1kfklx54";
        libraryHaskellDepends = [
          base hspec hspec-core QuickCheck random tagged tasty
          tasty-quickcheck tasty-smallcheck
@@ -191321,6 +192495,8 @@ self: {
        pname = "tasty-stats";
        version = "0.2.0.3";
        sha256 = "1jyywffrs270rvf8k9zc82b7fqqv6x1czk6qlbi6sq9z1wgs5w1b";
+       revision = "1";
+       editedCabalFile = "1kvvz549gs7vm9w6gypr8pa1klsab335rzmdq7v638rvijgqfbn8";
        libraryHaskellDepends = [
          base containers directory process stm tagged tasty time
        ];
@@ -191363,6 +192539,20 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "tasty-travis" = callPackage
+    ({ mkDerivation, base, tasty, tasty-hunit }:
+     mkDerivation {
+       pname = "tasty-travis";
+       version = "0.2.0";
+       sha256 = "1k0cgjbj2dgf5d8j13ns2nk9kw74ixa62bwk7wmj1gr1yfwv1klx";
+       libraryHaskellDepends = [ base tasty ];
+       testHaskellDepends = [ base tasty tasty-hunit ];
+       homepage = "https://github.com/merijn/tasty-travis";
+       description = "Fancy Travis CI output for tasty tests";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "tateti-tateti" = callPackage
     ({ mkDerivation, array, base, lens-simple, mtl, ncurses, random }:
      mkDerivation {
@@ -192696,27 +193886,6 @@ self: {
      }) {};
 
   "test-fixture" = callPackage
-    ({ mkDerivation, base, data-default-class, haskell-src-exts
-     , haskell-src-meta, hspec, hspec-discover, mtl, template-haskell
-     , th-orphans, transformers
-     }:
-     mkDerivation {
-       pname = "test-fixture";
-       version = "0.5.0.2";
-       sha256 = "1k4skkwswwh60cwcqai5j4k7x8ma24dqc9mnh5ia0yw8dam5vinz";
-       libraryHaskellDepends = [
-         base data-default-class haskell-src-exts haskell-src-meta mtl
-         template-haskell th-orphans
-       ];
-       testHaskellDepends = [
-         base hspec hspec-discover mtl template-haskell transformers
-       ];
-       homepage = "http://github.com/cjdev/test-fixture#readme";
-       description = "Test monadic side-effects";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "test-fixture_0_5_1_0" = callPackage
     ({ mkDerivation, base, data-default-class, exceptions
      , haskell-src-exts, haskell-src-meta, hspec, hspec-discover, mtl
      , template-haskell, th-orphans, transformers
@@ -192735,7 +193904,6 @@ self: {
        homepage = "http://github.com/cjdev/test-fixture#readme";
        description = "Test monadic side-effects";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "test-framework" = callPackage
@@ -193292,8 +194460,8 @@ self: {
      }:
      mkDerivation {
        pname = "texbuilder";
-       version = "0.1.1.1";
-       sha256 = "14fg4hxyfvv54n85495dbk6avccms92kw5jzgycylnk8aiw2nxa4";
+       version = "0.1.1.2";
+       sha256 = "069y2d2k87sfx4mkmd8219iiyh9s6x79kigxbdi9swfa4k9xa1gm";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -193331,6 +194499,31 @@ self: {
        license = "GPL";
      }) {};
 
+  "texmath_0_10" = callPackage
+    ({ mkDerivation, base, bytestring, containers, directory, filepath
+     , mtl, network-uri, pandoc-types, parsec, process, split, syb
+     , temporary, text, utf8-string, xml
+     }:
+     mkDerivation {
+       pname = "texmath";
+       version = "0.10";
+       sha256 = "0i9haxii7kklz6qrfidb54iv5cl73p201zy24mwkf4bf56lff1pa";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers mtl pandoc-types parsec syb xml
+       ];
+       executableHaskellDepends = [ network-uri ];
+       testHaskellDepends = [
+         base bytestring directory filepath process split temporary text
+         utf8-string xml
+       ];
+       homepage = "http://github.com/jgm/texmath";
+       description = "Conversion between formats used to represent mathematics";
+       license = "GPL";
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "texrunner" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, directory, filepath
      , HUnit, io-streams, lens, mtl, process, temporary, test-framework
@@ -193422,19 +194615,19 @@ self: {
 
   "text-builder" = callPackage
     ({ mkDerivation, base, base-prelude, bytestring, criterion
-     , quickcheck-instances, rerebase, semigroups, tasty, tasty-hunit
-     , tasty-quickcheck, tasty-smallcheck, text
+     , QuickCheck, quickcheck-instances, rerebase, semigroups, tasty
+     , tasty-hunit, tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "text-builder";
-       version = "0.4.1";
-       sha256 = "089kzb24530j9v95vqlw0z5l4mwmys9y9gsxisjwywxdp7j6zcb3";
+       version = "0.4.2";
+       sha256 = "1k3dna9l438cxlcyl2a28ld68ki3a7qrc35vrssn2dlcf5l89ng4";
        libraryHaskellDepends = [
          base base-prelude bytestring semigroups text
        ];
        testHaskellDepends = [
-         quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck
-         tasty-smallcheck
+         QuickCheck quickcheck-instances rerebase tasty tasty-hunit
+         tasty-quickcheck
        ];
        benchmarkHaskellDepends = [ criterion rerebase ];
        homepage = "https://github.com/nikita-volkov/text-builder";
@@ -194744,6 +195937,17 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "th-pprint" = callPackage
+    ({ mkDerivation, base, lens, pretty, template-haskell }:
+     mkDerivation {
+       pname = "th-pprint";
+       version = "0.1.0.0";
+       sha256 = "0i9c20q6pfn0bl3l2hj8lgzfmj04i19xlbkfl1ac3vr9ikq91q01";
+       libraryHaskellDepends = [ base lens pretty template-haskell ];
+       description = "Simplify and render Template Haskell";
+       license = stdenv.lib.licenses.bsd3;
+     }) {};
+
   "th-printf" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring, hspec, HUnit
      , QuickCheck, template-haskell, text, transformers
@@ -194908,6 +196112,22 @@ self: {
        hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
+  "theatre" = callPackage
+    ({ mkDerivation, base, base-prelude, contravariant, semigroups
+     , slave-thread, unagi-chan
+     }:
+     mkDerivation {
+       pname = "theatre";
+       version = "1";
+       sha256 = "1jwa4851rvac084gb70bqfwarwv6rjhqcs7b48md5kaad3zvgbd2";
+       libraryHaskellDepends = [
+         base base-prelude contravariant semigroups slave-thread unagi-chan
+       ];
+       homepage = "https://github.com/nikita-volkov/theatre";
+       description = "Minimalistic actor library";
+       license = stdenv.lib.licenses.mit;
+     }) {};
+
   "themoviedb" = callPackage
     ({ mkDerivation, aeson, base, binary, bytestring, either
      , http-client, http-client-tls, http-types, mtl, tasty, tasty-hunit
@@ -195149,16 +196369,16 @@ self: {
 
   "thread-hierarchy" = callPackage
     ({ mkDerivation, base, containers, hspec, lifted-base
-     , monad-control, transformers-base
+     , monad-control, stm, transformers-base
      }:
      mkDerivation {
        pname = "thread-hierarchy";
-       version = "0.1.0.3";
-       sha256 = "1j5caivjcvrmfqgl13lhlx9dq81kka64w96ykb0bfb089kwi0j9f";
+       version = "0.2.0.0";
+       sha256 = "1y11q5ijb9hqvxgcf5jig6d24895nrrg06ig8sy7fk1s32rr0bqm";
        libraryHaskellDepends = [
-         base containers lifted-base monad-control transformers-base
+         base containers lifted-base monad-control stm transformers-base
        ];
-       testHaskellDepends = [ base containers hspec ];
+       testHaskellDepends = [ base containers hspec stm ];
        homepage = "https://github.com/nshimaza/thread-hierarchy#readme";
        description = "Simple Haskel thread management in hierarchical manner";
        license = stdenv.lib.licenses.mit;
@@ -197158,10 +198378,11 @@ self: {
      }:
      mkDerivation {
        pname = "tmp-postgres";
-       version = "0.1.1.0";
-       sha256 = "1afmj859c1yl2lfvjqzvwx24hdrp8lf3v9zp7n56p9n6q74mknr0";
+       version = "0.1.1.1";
+       sha256 = "0qz85flbg2ihkcsjdhambgj07xrz75pgpiz8wpapj0gnady5ap9c";
        libraryHaskellDepends = [
-         base directory network process temporary unix
+         base bytestring directory network postgresql-simple process
+         temporary unix
        ];
        testHaskellDepends = [
          base bytestring directory hspec hspec-discover postgresql-simple
@@ -197502,8 +198723,8 @@ self: {
      }:
      mkDerivation {
        pname = "tomlcheck";
-       version = "0.1.0.17";
-       sha256 = "0yfy0453j3s5sskz529rd50dbjxhr411a4g5803dsw06kibij05s";
+       version = "0.1.0.19";
+       sha256 = "1ql24s1wy4c34rmxh8x8lggnkpx686l8x5zsp3asdsxlx0k8n8zp";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -197537,18 +198758,17 @@ self: {
   "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
+     , filepath, flat, hslogger, mtl, pipes, pretty, safecopy, tasty
+     , tasty-hunit, template-haskell, text, transformers, websockets, zm
      }:
      mkDerivation {
        pname = "top";
-       version = "0.2";
-       sha256 = "0xspyjz9cwfcwb0ihir8y5ddygsvdm3mxy2gdq3cfvzx8axainzh";
+       version = "0.2.2";
+       sha256 = "1j97n3a66983pxnajk11c4jm4ccckvmf4xjvfxbmqj23ixl6isfp";
        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
+         deepseq extra filepath flat hslogger mtl pipes pretty safecopy
+         template-haskell text transformers websockets zm
        ];
        testHaskellDepends = [
          base directory doctest filemanip tasty tasty-hunit zm
@@ -198591,19 +199811,15 @@ self: {
 
   "tree-diff" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, ansi-wl-pprint, base
-     , base-compat, bytestring, Cabal, cabal-doctest, containers
-     , doctest, generics-sop, hashable, MemoTrie, parsec, parsers
-     , pretty, QuickCheck, scientific, tagged, tasty, tasty-golden
-     , tasty-quickcheck, template-haskell, text, time, trifecta
+     , base-compat, bytestring, containers, generics-sop, hashable
+     , MemoTrie, parsec, parsers, pretty, QuickCheck, scientific, tagged
+     , tasty, tasty-golden, tasty-quickcheck, text, time, trifecta
      , unordered-containers, uuid-types, vector
      }:
      mkDerivation {
        pname = "tree-diff";
-       version = "0";
-       sha256 = "1xiwnq1rrbkzarz5ylnq0p8xk3ldjg7cj7cbmdalr1507qg7wdn7";
-       revision = "1";
-       editedCabalFile = "0gclbdb5pa2f7fzkqyqdhdq57v55w6w0nx9khn9piih1zw6qlnqh";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "0.0.0.1";
+       sha256 = "0km6himykj2q9ymaivv67dvlk7ia9dli2zhyx6g8yh8963mcn91v";
        libraryHaskellDepends = [
          aeson ansi-terminal ansi-wl-pprint base base-compat bytestring
          containers generics-sop hashable MemoTrie parsec parsers pretty
@@ -198611,9 +199827,8 @@ self: {
          uuid-types vector
        ];
        testHaskellDepends = [
-         ansi-terminal ansi-wl-pprint base base-compat doctest parsec
-         QuickCheck tasty tasty-golden tasty-quickcheck template-haskell
-         trifecta
+         ansi-terminal ansi-wl-pprint base base-compat parsec QuickCheck
+         tasty tasty-golden tasty-quickcheck trifecta
        ];
        homepage = "https://github.com/phadej/tree-diff";
        description = "Diffing of (expression) trees";
@@ -199692,8 +200907,8 @@ self: {
      }:
      mkDerivation {
        pname = "tweet-hs";
-       version = "1.0.1.21";
-       sha256 = "0m35d2ym83d3c0k2imjr9ws2nai6yhm784is9k1g6xrbazd947gr";
+       version = "1.0.1.27";
+       sha256 = "1jd902al2xajf2404bqg8y7k06mrncyyipp0gdfqd864bfqxivz6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -200661,8 +201876,8 @@ self: {
     ({ mkDerivation, base, ghc-prim }:
      mkDerivation {
        pname = "type-level-sets";
-       version = "0.8.0.0";
-       sha256 = "0kxp9faby0zph9bkccvw5hrxq3m3ps9hg22aymqcah57sd8zlg92";
+       version = "0.8.5.0";
+       sha256 = "1ahfrwrlbdh61w6vh2v5j2ammkvcjxvw53d28pgqy296mpxikwvz";
        libraryHaskellDepends = [ base ghc-prim ];
        description = "Type-level sets and finite maps (with value-level counterparts)";
        license = stdenv.lib.licenses.bsd3;
@@ -200736,8 +201951,8 @@ self: {
      }:
      mkDerivation {
        pname = "type-of-html";
-       version = "1.0.1.1";
-       sha256 = "1fc8pqkvmrcvh3wayykqbc0ha336x77xq0hbzym9bknzr1xpy56n";
+       version = "1.1.0.0";
+       sha256 = "18a7pfqab0pk2mn11f3y5slx18m6vpdmzbq91p3wp86v59wsid2d";
        libraryHaskellDepends = [
          base bytestring double-conversion ghc-prim text
        ];
@@ -202547,8 +203762,8 @@ self: {
      }:
      mkDerivation {
        pname = "units-parser";
-       version = "0.1.0.1";
-       sha256 = "1kmac80hnb2dric6d5ll7cdyhs8s4qqkk5vmd8gq9zjdyl6zxmrp";
+       version = "0.1.1";
+       sha256 = "0d39r1vcwqs61529gjz3329a41fp4pwx0x4j4kw4xl2lza3wr164";
        libraryHaskellDepends = [ base containers mtl multimap parsec ];
        testHaskellDepends = [
          base containers mtl multimap parsec syb tasty tasty-hunit
@@ -202749,8 +203964,8 @@ self: {
      }:
      mkDerivation {
        pname = "universum";
-       version = "0.7.1";
-       sha256 = "1q7q1ynfm4m1zz2inyvvj7868p3yxjl7w512j5xiz4mzx3llb292";
+       version = "0.7.1.1";
+       sha256 = "08q3ldx0saahlxh2zkwmsq71lkwrvfrs19nzbgwwdvd31y4r0iq6";
        libraryHaskellDepends = [
          base bytestring containers deepseq exceptions ghc-prim hashable
          microlens microlens-mtl mtl safe safe-exceptions stm text
@@ -202805,6 +204020,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "unix-compat_0_5" = callPackage
+    ({ mkDerivation, base, unix }:
+     mkDerivation {
+       pname = "unix-compat";
+       version = "0.5";
+       sha256 = "0jx7r35q83sx0h46khl39azjg3zplpvgf3aiz4r4qmp3x50hwy98";
+       libraryHaskellDepends = [ base unix ];
+       homepage = "http://github.com/jystic/unix-compat";
+       description = "Portable POSIX-compatibility layer";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "unix-fcntl" = callPackage
     ({ mkDerivation, base, foreign-var, unix }:
      mkDerivation {
@@ -203795,7 +205023,7 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
-  "urlpath_7_0_0" = callPackage
+  "urlpath_7_0_1" = callPackage
     ({ mkDerivation, attoparsec-uri, base, exceptions, mmorph
      , monad-control, monad-control-aligned, monad-logger, mtl
      , path-extra, resourcet, split, strict, text, transformers
@@ -203803,8 +205031,8 @@ self: {
      }:
      mkDerivation {
        pname = "urlpath";
-       version = "7.0.0";
-       sha256 = "0al003vwbr286rj9la5w01zfj1q3jccfia6iy38w3d0hajkmw6qj";
+       version = "7.0.1";
+       sha256 = "05n1lmd8dd71l2ghgrb3i7jsrh541nappwps5vqqppq2hvv90rpz";
        libraryHaskellDepends = [
          attoparsec-uri base exceptions mmorph monad-control
          monad-control-aligned monad-logger mtl path-extra resourcet split
@@ -205513,17 +206741,17 @@ self: {
 
   "vector-builder" = callPackage
     ({ mkDerivation, base, base-prelude, bug, criterion, foldl
-     , quickcheck-instances, rebase, rerebase, semigroups, tasty
-     , tasty-hunit, tasty-quickcheck, vector
+     , QuickCheck, quickcheck-instances, rebase, rerebase, semigroups
+     , tasty, tasty-hunit, tasty-quickcheck, vector
      }:
      mkDerivation {
        pname = "vector-builder";
-       version = "0.3.3.1";
-       sha256 = "03z461123b59z0r2fzhjpb4jxv4wkjkaqbsci526brkazl4qk0x8";
+       version = "0.3.4.1";
+       sha256 = "1dzbcm6br9cay28hz804n15bwdhbzhysd4hj0fa6ijfwmfb90r6i";
        libraryHaskellDepends = [ base base-prelude semigroups vector ];
        testHaskellDepends = [
-         bug criterion foldl quickcheck-instances rebase rerebase tasty
-         tasty-hunit tasty-quickcheck
+         bug criterion foldl QuickCheck quickcheck-instances rebase rerebase
+         tasty tasty-hunit tasty-quickcheck
        ];
        benchmarkHaskellDepends = [ criterion foldl rerebase ];
        homepage = "https://github.com/nikita-volkov/vector-builder";
@@ -206008,16 +207236,19 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
-  "versions_3_2_0" = callPackage
-    ({ mkDerivation, base, deepseq, hashable, megaparsec, microlens
-     , tasty, tasty-hunit, text
+  "versions_3_3_0" = callPackage
+    ({ mkDerivation, base, checkers, deepseq, hashable, megaparsec
+     , microlens, QuickCheck, tasty, tasty-hunit, tasty-quickcheck, text
      }:
      mkDerivation {
        pname = "versions";
-       version = "3.2.0";
-       sha256 = "0hvjcjjrdgxrrdm300mhbj2mbvad66ak04pcbvs23wgxkqrgmqml";
+       version = "3.3.0";
+       sha256 = "11qgmkdinf0nhgylzfkwlcz22q7g8l4zki05hdwlb77dm2a5fam5";
        libraryHaskellDepends = [ base deepseq hashable megaparsec text ];
-       testHaskellDepends = [ base microlens tasty tasty-hunit text ];
+       testHaskellDepends = [
+         base checkers microlens QuickCheck tasty tasty-hunit
+         tasty-quickcheck text
+       ];
        description = "Types and parsers for software version numbers";
        license = stdenv.lib.licenses.bsd3;
        hydraPlatforms = stdenv.lib.platforms.none;
@@ -206097,8 +207328,8 @@ self: {
      }:
      mkDerivation {
        pname = "viewprof";
-       version = "0.0.0.10";
-       sha256 = "000x7xlais9r2f42nbd2cbp6h07d6p31nn16vvbvyg5a12pw44vh";
+       version = "0.0.0.11";
+       sha256 = "1j0pafrfqkp00z3jqcp2v49v2m931wyp9plwap2445b6ncpz1fhv";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -210971,20 +212202,20 @@ self: {
 
   "wolf" = callPackage
     ({ mkDerivation, aeson, amazonka, amazonka-swf, base, bytestring
-     , conduit, directory, exceptions, filemanip, filepath, http-types
-     , lifted-async, lifted-base, optparse-generic, preamble, process
-     , shakers, time, uuid, yaml
+     , conduit, directory, filepath, http-types, lifted-async
+     , lifted-base, optparse-generic, preamble, process, shakers, time
+     , uuid, yaml
      }:
      mkDerivation {
        pname = "wolf";
-       version = "0.3.29";
-       sha256 = "147s2xg9y77gw81gnqgijnfzfx728ddv018n7zs2sl231asjqy3i";
+       version = "0.3.34";
+       sha256 = "1g4sh2k0wkz847pxkjcpm21mf22z5lp4j428sqkvklgry1wk512q";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson amazonka amazonka-swf base bytestring conduit directory
-         exceptions filemanip filepath http-types lifted-async lifted-base
-         preamble process time uuid yaml
+         filepath http-types lifted-async lifted-base preamble process time
+         uuid yaml
        ];
        executableHaskellDepends = [ base optparse-generic shakers ];
        homepage = "https://github.com/swift-nav/wolf";
@@ -211439,8 +212670,8 @@ self: {
      }:
      mkDerivation {
        pname = "wrecker-ui";
-       version = "2.4.1.0";
-       sha256 = "07agqw6pwhly4qhkyiij9zlxisls1lhsblld4bjswaziicab2p3m";
+       version = "3.0.0.0";
+       sha256 = "0plzkb9bhsrd14h07f6rd9689hxx79kdr9gs5r5qsxsk3zpn4rs6";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -211759,6 +212990,7 @@ self: {
        ];
        description = "A simple CLI utility for interacting with a websocket";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "ws-chans" = callPackage
@@ -213069,6 +214301,7 @@ self: {
        homepage = "https://github.com/k0ral/xml-conduit-parse";
        description = "Streaming XML parser based on conduits";
        license = "unknown";
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xml-conduit-writer" = callPackage
@@ -213851,26 +215084,6 @@ self: {
      }:
      mkDerivation {
        pname = "xmonad-extras";
-       version = "0.13.1";
-       sha256 = "09qwcfb84r4k65vzv99syy4434pa3pchv1i4mm1qs03b5c835jh0";
-       configureFlags = [
-         "-f-with_hlist" "-fwith_parsec" "-fwith_split"
-       ];
-       libraryHaskellDepends = [
-         alsa-mixer base bytestring containers hint libmpd mtl network
-         regex-posix X11 xmonad xmonad-contrib
-       ];
-       homepage = "https://github.com/xmonad/xmonad-extras";
-       description = "Third party extensions for xmonad with wacky dependencies";
-       license = stdenv.lib.licenses.bsd3;
-     }) {};
-
-  "xmonad-extras_0_13_2" = callPackage
-    ({ mkDerivation, alsa-mixer, base, bytestring, containers, hint
-     , libmpd, mtl, network, regex-posix, X11, xmonad, xmonad-contrib
-     }:
-     mkDerivation {
-       pname = "xmonad-extras";
        version = "0.13.2";
        sha256 = "1ixnr76gmym9gab6m6r2rvrrvakxa5kda6cll9nbq954sjvj54jx";
        configureFlags = [
@@ -213883,7 +215096,6 @@ self: {
        homepage = "https://github.com/xmonad/xmonad-extras";
        description = "Third party extensions for xmonad with wacky dependencies";
        license = stdenv.lib.licenses.bsd3;
-       hydraPlatforms = stdenv.lib.platforms.none;
      }) {};
 
   "xmonad-screenshot" = callPackage
@@ -214471,8 +215683,39 @@ self: {
      }:
      mkDerivation {
        pname = "yaml";
-       version = "0.8.23.3";
-       sha256 = "0hvmxl8krh8m3804d1nrvgmbirvw11a8iy80ciq4rg0csmz5r1fc";
+       version = "0.8.24";
+       sha256 = "08cawq5q2bm23fi48m56x1h6qdf52wn9i9y770v6q2810wj2f7n1";
+       configureFlags = [ "-fsystem-libyaml" ];
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring conduit containers directory
+         filepath resourcet scientific semigroups template-haskell text
+         transformers unordered-containers vector
+       ];
+       libraryPkgconfigDepends = [ libyaml ];
+       executableHaskellDepends = [ aeson base bytestring ];
+       testHaskellDepends = [
+         aeson aeson-qq base base-compat bytestring conduit directory hspec
+         HUnit mockery resourcet temporary text transformers
+         unordered-containers vector
+       ];
+       homepage = "http://github.com/snoyberg/yaml/";
+       description = "Support for parsing and rendering YAML documents";
+       license = stdenv.lib.licenses.bsd3;
+     }) {inherit (pkgs) libyaml;};
+
+  "yaml_0_8_25" = callPackage
+    ({ mkDerivation, aeson, aeson-qq, attoparsec, base, base-compat
+     , bytestring, conduit, containers, directory, filepath, hspec
+     , HUnit, libyaml, mockery, resourcet, scientific, semigroups
+     , template-haskell, temporary, text, transformers
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "yaml";
+       version = "0.8.25";
+       sha256 = "16bx7vkj455796wdklh8h13zm98h5m81dl8np0sjbx9hcsrfdbyp";
        configureFlags = [ "-fsystem-libyaml" ];
        isLibrary = true;
        isExecutable = true;
@@ -214491,6 +215734,7 @@ self: {
        homepage = "http://github.com/snoyberg/yaml/";
        description = "Support for parsing and rendering YAML documents";
        license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
      }) {inherit (pkgs) libyaml;};
 
   "yaml-combinators" = callPackage
@@ -214623,8 +215867,8 @@ self: {
      }:
      mkDerivation {
        pname = "yaml-union";
-       version = "0.0.2";
-       sha256 = "1lmlrf3x4icx0ikl02k00hv1wibvy0n3lmxdgjrh0vbq89sbx55a";
+       version = "0.0.3";
+       sha256 = "0g030mhwzwh4fz8s3ggajkfvky18rkpz4g098r9gy2hyaf3mmr2b";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -215501,8 +216745,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.5.2.5";
-       sha256 = "0jwnjxfb6s2gcx66am74hpq38fv3svgp1a08yf4610g6fskhkx4n";
+       version = "1.5.2.6";
+       sha256 = "1in4c0q2w0h36lm1cf48ai0zpl9r8x0z116j85mfmq66wxmd6h9r";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -216531,6 +217775,23 @@ self: {
        license = stdenv.lib.licenses.mit;
      }) {};
 
+  "yesod-recaptcha2_0_2_3" = callPackage
+    ({ mkDerivation, base, classy-prelude-yesod, http-conduit
+     , yesod-auth
+     }:
+     mkDerivation {
+       pname = "yesod-recaptcha2";
+       version = "0.2.3";
+       sha256 = "1q7anpls9nczvx65ba64nd1gmqgkznfd1ghv6c7z7pndq5cy91in";
+       libraryHaskellDepends = [
+         base classy-prelude-yesod http-conduit yesod-auth
+       ];
+       homepage = "https://github.com/ncaq/yesod-recaptcha2#readme";
+       description = "yesod recaptcha2";
+       license = stdenv.lib.licenses.mit;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "yesod-routes" = callPackage
     ({ mkDerivation, base, bytestring, containers, hspec, HUnit
      , path-pieces, template-haskell, text, vector
@@ -217002,8 +218263,8 @@ self: {
      }:
      mkDerivation {
        pname = "yi";
-       version = "0.15.0";
-       sha256 = "1mkdpc4fg7qx8mslcmjwnws24hr5p7289v026qf0m6ivc4dkbkbi";
+       version = "0.17.1";
+       sha256 = "18937w0w1hk7ngyrl1p5gy4djgz8py9kcsndas82w82wwh36jnqg";
        configureFlags = [ "-fpango" "-fvty" ];
        isLibrary = false;
        isExecutable = true;
@@ -217081,23 +218342,23 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-core_0_17_0" = callPackage
+  "yi-core_0_17_1" = callPackage
     ({ mkDerivation, array, attoparsec, base, binary, bytestring
      , containers, criterion, data-default, deepseq, directory, dlist
-     , dynamic-state, filepath, hashable, ListLike, microlens-platform
-     , mtl, old-locale, oo-prototypes, parsec, pointedlist, process
-     , process-extras, quickcheck-text, split, tasty, tasty-hunit
-     , tasty-quickcheck, text, time, transformers-base, unix
-     , unix-compat, unordered-containers, xdg-basedir, yi-language
-     , yi-rope
+     , dynamic-state, exceptions, filepath, hashable, ListLike
+     , microlens-platform, mtl, old-locale, oo-prototypes, parsec
+     , pointedlist, process, process-extras, quickcheck-text, split
+     , tasty, tasty-hunit, tasty-quickcheck, text, time
+     , transformers-base, unix, unix-compat, unordered-containers
+     , xdg-basedir, yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-core";
-       version = "0.17.0";
-       sha256 = "018fcmviyy0xrzrvmcrdl4r4mk69ig7jgck5zgq58y0h7m4wxkmg";
+       version = "0.17.1";
+       sha256 = "1qv86znr7kjwnxv771xx1j7z63fqbnfasn2ndkbj5ldk3m5bil0p";
        libraryHaskellDepends = [
          array attoparsec base binary bytestring containers data-default
-         directory dlist dynamic-state filepath hashable ListLike
+         directory dlist dynamic-state exceptions filepath hashable ListLike
          microlens-platform mtl old-locale oo-prototypes parsec pointedlist
          process process-extras split text time transformers-base unix
          unix-compat unordered-containers xdg-basedir yi-language yi-rope
@@ -217119,8 +218380,8 @@ self: {
      }:
      mkDerivation {
        pname = "yi-dynamic-configuration";
-       version = "0.17.0";
-       sha256 = "1slf3qrq61b171sg6izw212qajvmjwv786gndhql8r9kyi7na9ys";
+       version = "0.17.1";
+       sha256 = "1cnafzrgi7js9zayq223752v7jvl9rp526s7bd1nwwyjwl59y0h8";
        libraryHaskellDepends = [
          base data-default dyre microlens-platform mtl text
          transformers-base yi-core yi-rope
@@ -217150,8 +218411,8 @@ self: {
      }:
      mkDerivation {
        pname = "yi-frontend-pango";
-       version = "0.17.0";
-       sha256 = "141kp6f6f0xrql8jmghqj1h5vrbim28z7p1a9psa40xry1hhlhr7";
+       version = "0.17.1";
+       sha256 = "0jh9bmxhjr1wpilmghanihq6iwn4xn34ihqlfc2c080wm5s8kw4w";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base containers filepath glib gtk microlens-platform mtl
@@ -217182,15 +218443,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-frontend-vty_0_17_0" = callPackage
+  "yi-frontend-vty_0_17_1" = callPackage
     ({ mkDerivation, base, containers, data-default, dlist
      , microlens-platform, pointedlist, stm, text, vty, yi-core
      , yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-frontend-vty";
-       version = "0.17.0";
-       sha256 = "12yl4d3dkjkbz8n184lcs8z08mj8yc1ybaj52z7j58nialvq4ibh";
+       version = "0.17.1";
+       sha256 = "0i00m3z7zj6xqgh78wfrw2zqwcffsb31i2549m0b5g9qsicfp9h6";
        libraryHaskellDepends = [
          base containers data-default dlist microlens-platform pointedlist
          stm text vty yi-core yi-language yi-rope
@@ -217219,15 +218480,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-fuzzy-open_0_17_0" = callPackage
+  "yi-fuzzy-open_0_17_1" = callPackage
     ({ mkDerivation, base, binary, containers, data-default, directory
      , filepath, mtl, pointedlist, text, transformers-base, vector
      , yi-core, yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-fuzzy-open";
-       version = "0.17.0";
-       sha256 = "1447w8gqwjnala08sysvy1bxhdna1hydh0bnjx2awz7hns5040ap";
+       version = "0.17.1";
+       sha256 = "1wd1w1d67hkp5rk3130cnmffgh40qb1vp9pnz6f36n0c8b2jqvjh";
        libraryHaskellDepends = [
          base binary containers data-default directory filepath mtl
          pointedlist text transformers-base vector yi-core yi-language
@@ -217268,14 +218529,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-ireader_0_17_0" = callPackage
+  "yi-ireader_0_17_1" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, data-default
      , microlens-platform, text, yi-core, yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-ireader";
-       version = "0.17.0";
-       sha256 = "0cwfjajs25lbxhzn8zbpjavy1yjym3k4iliqal9iq3i51k9inacc";
+       version = "0.17.1";
+       sha256 = "12babkhlqr7w3mb7z8w8ccwrvmkz8583yi0p9s50rqkn778cij7y";
        libraryHaskellDepends = [
          base binary bytestring containers data-default microlens-platform
          text yi-core yi-language yi-rope
@@ -217302,14 +218563,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-keymap-cua_0_17_0" = callPackage
+  "yi-keymap-cua_0_17_1" = callPackage
     ({ mkDerivation, base, microlens-platform, text, yi-core
      , yi-keymap-emacs, yi-rope
      }:
      mkDerivation {
        pname = "yi-keymap-cua";
-       version = "0.17.0";
-       sha256 = "0v7gcd5arq33r2cf55ig307cfvapz3r1h9cz3ssvkw0fjzr1p1a3";
+       version = "0.17.1";
+       sha256 = "053w4b1p482wma64888vb3ikh7x0f58bl43vy7xs1lazlz22iwaj";
        libraryHaskellDepends = [
          base microlens-platform text yi-core yi-keymap-emacs yi-rope
        ];
@@ -217338,15 +218599,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-keymap-emacs_0_17_0" = callPackage
+  "yi-keymap-emacs_0_17_1" = callPackage
     ({ mkDerivation, base, containers, filepath, Hclip
      , microlens-platform, mtl, oo-prototypes, text, transformers-base
      , yi-core, yi-language, yi-misc-modes, yi-rope
      }:
      mkDerivation {
        pname = "yi-keymap-emacs";
-       version = "0.17.0";
-       sha256 = "1d90884kjpq13d7nrxjla9kx6gr09xh8lwzbpnf69jg6iiavjlfg";
+       version = "0.17.1";
+       sha256 = "1jx7vhp7v098p3rrs21b43fwcbra6fmg4clamgqbbvbqgiy4bsrw";
        libraryHaskellDepends = [
          base containers filepath Hclip microlens-platform mtl oo-prototypes
          text transformers-base yi-core yi-language yi-misc-modes yi-rope
@@ -217386,7 +218647,7 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-keymap-vim_0_16_0" = callPackage
+  "yi-keymap-vim_0_17_1" = callPackage
     ({ mkDerivation, attoparsec, base, binary, containers, data-default
      , directory, filepath, Hclip, microlens-platform, mtl
      , oo-prototypes, pointedlist, QuickCheck, safe, tasty, tasty-hunit
@@ -217395,9 +218656,8 @@ self: {
      }:
      mkDerivation {
        pname = "yi-keymap-vim";
-       version = "0.16.0";
-       sha256 = "1fvl4frjikkdp561zai6z35r8r7f4fq2izlcxl1k1rvsvxz3cbi2";
-       enableSeparateDataOutput = true;
+       version = "0.17.1";
+       sha256 = "1zvd0y6ak56cqxa60x4kgil2lp5lbidnkmp6kh7dq3i71n0nv48w";
        libraryHaskellDepends = [
          attoparsec base binary containers data-default directory filepath
          Hclip microlens-platform mtl oo-prototypes pointedlist safe text
@@ -217443,7 +218703,7 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-language_0_17_0" = callPackage
+  "yi-language_0_17_1" = callPackage
     ({ mkDerivation, alex, array, base, binary, containers
      , data-default, hashable, microlens-platform, oo-prototypes
      , pointedlist, regex-base, regex-tdfa, tasty, tasty-hspec
@@ -217452,8 +218712,8 @@ self: {
      }:
      mkDerivation {
        pname = "yi-language";
-       version = "0.17.0";
-       sha256 = "046aavm0pf5s8bx6z0v8fvbizzr3s9s8kq79sj3gvis26im9kzpy";
+       version = "0.17.1";
+       sha256 = "17mnjfhxr6vhpfx7l4zg606f2vffjr39ga4j5qmnp7cf4y5n5vja";
        libraryHaskellDepends = [
          array base binary containers data-default hashable
          microlens-platform oo-prototypes pointedlist regex-base regex-tdfa
@@ -217491,14 +218751,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-misc-modes_0_17_0" = callPackage
+  "yi-misc-modes_0_17_1" = callPackage
     ({ mkDerivation, alex, array, base, binary, data-default, filepath
      , microlens-platform, text, yi-core, yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-misc-modes";
-       version = "0.17.0";
-       sha256 = "0ki6dc1frzhgn7dfbsrpbf75a5i32iz9a8cvy1c33xmdh9s8k4fw";
+       version = "0.17.1";
+       sha256 = "0yyv8p65vhpcjj97pzax0b8bbqhh3lzy3by4rzf0f11p862wzag0";
        libraryHaskellDepends = [
          array base binary data-default filepath microlens-platform text
          yi-core yi-language yi-rope
@@ -217528,14 +218788,14 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-mode-haskell_0_17_0" = callPackage
+  "yi-mode-haskell_0_17_1" = callPackage
     ({ mkDerivation, alex, array, base, binary, data-default, filepath
      , microlens-platform, text, yi-core, yi-language, yi-rope
      }:
      mkDerivation {
        pname = "yi-mode-haskell";
-       version = "0.17.0";
-       sha256 = "17cfbww6lpg29dz51pbzlsx95azhxlgv0lqcpxpxk82w9s4c2dji";
+       version = "0.17.1";
+       sha256 = "1fl9kmv264c0cmpn6c77ylyngyjh9ilcvpcrsn7j75g2xacgdpyx";
        libraryHaskellDepends = [
          array base binary data-default filepath microlens-platform text
          yi-core yi-language yi-rope
@@ -217566,15 +218826,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-mode-javascript_0_17_0" = callPackage
+  "yi-mode-javascript_0_17_1" = callPackage
     ({ mkDerivation, alex, array, base, binary, data-default, dlist
      , filepath, microlens-platform, mtl, text, yi-core, yi-language
      , yi-rope
      }:
      mkDerivation {
        pname = "yi-mode-javascript";
-       version = "0.17.0";
-       sha256 = "040mc9mfm46alfl21p6p4a8n9p8hr12ywn6sfgq32zrhpa1zn9yb";
+       version = "0.17.1";
+       sha256 = "073yywxsf3j4vcc9rg0hw7jm6gmwvc7krvm0g9q9pv2y49n5aj14";
        libraryHaskellDepends = [
          array base binary data-default dlist filepath microlens-platform
          mtl text yi-core yi-language yi-rope
@@ -217661,15 +218921,15 @@ self: {
        license = stdenv.lib.licenses.gpl2;
      }) {};
 
-  "yi-snippet_0_17_0" = callPackage
+  "yi-snippet_0_17_1" = callPackage
     ({ mkDerivation, base, binary, containers, data-default, free
      , microlens-platform, mtl, tasty-hunit, tasty-th, text, vector
      , yi-core, yi-rope
      }:
      mkDerivation {
        pname = "yi-snippet";
-       version = "0.17.0";
-       sha256 = "10680a4zc5r9mnvhajgfrvzxpf8naclx4sygvbi69c5aann4q4a1";
+       version = "0.17.1";
+       sha256 = "1prczicjzmqnpkq6sda878f056g4ld1g6wmfpqzly2qa5rs4zg6b";
        libraryHaskellDepends = [
          base binary containers data-default free microlens-platform mtl
          text vector yi-core yi-rope
@@ -218877,6 +220137,30 @@ self: {
        license = stdenv.lib.licenses.bsd3;
      }) {};
 
+  "zm_0_3_1" = callPackage
+    ({ mkDerivation, base, bytestring, containers, convertible
+     , cryptonite, deepseq, doctest, either, filemanip, flat, memory
+     , model, mtl, pretty, tasty, tasty-hunit, tasty-quickcheck, text
+     , timeit, transformers
+     }:
+     mkDerivation {
+       pname = "zm";
+       version = "0.3.1";
+       sha256 = "0cdggfyzb0h3xfjm91l3rx28yq1ksxfprn1wp1mdj1zm7y0paiiv";
+       libraryHaskellDepends = [
+         base bytestring containers convertible cryptonite deepseq either
+         flat memory model mtl pretty text transformers
+       ];
+       testHaskellDepends = [
+         base bytestring containers doctest filemanip flat model pretty
+         tasty tasty-hunit tasty-quickcheck text timeit
+       ];
+       homepage = "http://github.com/tittoassini/zm";
+       description = "Language independent, reproducible, absolute types";
+       license = stdenv.lib.licenses.bsd3;
+       hydraPlatforms = stdenv.lib.platforms.none;
+     }) {};
+
   "zmcat" = callPackage
     ({ mkDerivation, base, bytestring, zeromq3-haskell }:
      mkDerivation {
diff --git a/pkgs/development/haskell-modules/make-package-set.nix b/pkgs/development/haskell-modules/make-package-set.nix
index ebfe44dd25ae..61043252155e 100644
--- a/pkgs/development/haskell-modules/make-package-set.nix
+++ b/pkgs/development/haskell-modules/make-package-set.nix
@@ -118,23 +118,16 @@ let
       '';
   };
 
-  all-cabal-hashes-component = name: import (pkgs.runCommand "all-cabal-hashes-component-${name}.nix" {}
-    ''
-      set +o pipefail
-      for component in ${all-cabal-hashes}/*; do
-        if ls $component | grep -q "^${name}$"; then
-          echo "builtins.storePath $component" > $out
-          exit 0
-        fi
-      done
-      echo "${name} not found in any all-cabal-hashes component, are you sure it's in hackage?" >&2
-      exit 1
-    '');
-
-  hackage2nix = name: version: let component = all-cabal-hashes-component name; in self.haskellSrc2nix {
+  all-cabal-hashes-component = name: version: pkgs.runCommand "all-cabal-hashes-component-${name}-${version}" {} ''
+    tar --wildcards -xzvf ${all-cabal-hashes} \*/${name}/${version}/${name}.{json,cabal}
+    mkdir -p $out
+    mv */${name}/${version}/${name}.{json,cabal} $out
+  '';
+
+  hackage2nix = name: version: let component = all-cabal-hashes-component name version; in self.haskellSrc2nix {
     name   = "${name}-${version}";
-    sha256 = ''$(sed -e 's/.*"SHA256":"//' -e 's/".*$//' "${component}/${name}/${version}/${name}.json")'';
-    src    = "${component}/${name}/${version}/${name}.cabal";
+    sha256 = ''$(sed -e 's/.*"SHA256":"//' -e 's/".*$//' "${component}/${name}.json")'';
+    src    = "${component}/${name}.cabal";
   };
 
 in package-set { inherit pkgs stdenv callPackage; } self // {
diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix
index 4d7c4928283a..16f6c65b094a 100644
--- a/pkgs/development/idris-modules/default.nix
+++ b/pkgs/development/idris-modules/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, idris, overrides ? (self: super: {}) }: let
+{ pkgs, idris-no-deps, overrides ? (self: super: {}) }: let
   inherit (pkgs.lib) callPackageWith fix' extends;
 
   /* Taken from haskell-modules/default.nix, should probably abstract this away */
@@ -33,7 +33,12 @@
 
     value = callPackage (./. + "/${name}.nix") {};
   }) files)) // {
-    inherit idris callPackage;
+    inherit idris-no-deps callPackage;
+    # See #10450 about why we have to wrap the executable
+    idris =
+        (pkgs.callPackage ./idris-wrapper.nix {})
+          idris-no-deps
+          { path = [ pkgs.gcc ]; lib = [pkgs.gmp]; };
 
     # A list of all of the libraries that come with idris
     builtins = pkgs.lib.mapAttrsToList (name: value: value) builtins_;
diff --git a/pkgs/development/idris-modules/idris-wrapper.nix b/pkgs/development/idris-modules/idris-wrapper.nix
new file mode 100644
index 000000000000..32424ba1f862
--- /dev/null
+++ b/pkgs/development/idris-modules/idris-wrapper.nix
@@ -0,0 +1,14 @@
+{ symlinkJoin, makeWrapper, stdenv }: idris: { path, lib }:
+
+symlinkJoin {
+  name = idris.name;
+  src = idris.src;
+  paths = [ idris ];
+  buildInputs = [ makeWrapper ];
+  postBuild = ''
+    wrapProgram $out/bin/idris \
+      --suffix PATH : ${ stdenv.lib.makeBinPath path } \
+      --suffix LIBRARY_PATH : ${stdenv.lib.makeLibraryPath lib}
+      '';
+  }
+
diff --git a/pkgs/development/interpreters/acl2/default.nix b/pkgs/development/interpreters/acl2/default.nix
index f1e2315d7941..16734c184eb8 100644
--- a/pkgs/development/interpreters/acl2/default.nix
+++ b/pkgs/development/interpreters/acl2/default.nix
@@ -1,16 +1,26 @@
-{ stdenv, fetchurl, sbcl }:
+{ stdenv, fetchFromGitHub,
+  # perl, which, nettools,
+  sbcl }:
 
-stdenv.mkDerivation rec {
+let hashes = {
+  "7.4" = "04jb789nks9llwysxz1zw9pq1dh0j39b5fcmivcc4bq9v9cga2l1";
+};
+in stdenv.mkDerivation rec {
   name = "acl2-${version}";
-  version = "v6-5";
+  version = "7.4";
 
-  src = fetchurl {
-    url = "http://www.cs.utexas.edu/users/moore/acl2/${version}/distrib/acl2.tar.gz";
-    sha256 = "19kfclgpdyms016s06pjf3icj3mx9jlcj8vfgpbx2ac4ls0ir36g";
-    name = "acl2-${version}.tar.gz";
+  src = fetchFromGitHub {
+    owner = "acl2-devel";
+    repo = "acl2-devel";
+    rev = "${version}";
+    sha256 = hashes."${version}";
   };
 
-  buildInputs = [ sbcl ];
+  buildInputs = [ sbcl
+    # which perl nettools
+  ];
+
+  enableParallelBuilding = true;
 
   phases = "unpackPhase installPhase";
 
@@ -18,18 +28,45 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/share/${installSuffix}
+    mkdir -p $out/bin
     cp -R . $out/share/${installSuffix}
     cd $out/share/${installSuffix}
-    make 'LISP=${sbcl}/bin/sbcl --dynamic-space-size 2000'
-    make 'LISP=${sbcl}/bin/sbcl --dynamic-space-size 2000' regression
-    make LISP=${sbcl}/bin/sbcl TAGS
-    mkdir -p $out/bin
+
+    # make ACL2 image
+    make LISP=${sbcl}/bin/sbcl
+
+    # The community books don't build properly under Nix yet.
+    rm -rf books
+    #make ACL2=$out/share/saved_acl2 USE_QUICKLISP=1 regression-everything
+
     cp saved_acl2 $out/bin/acl2
   '';
 
   meta = {
     description = "An interpreter and a prover for a Lisp dialect";
-    maintainers = with stdenv.lib.maintainers; [ raskin ];
+    longDescription = ''
+      ACL2 is a logic and programming language in which you can model
+      computer systems, together with a tool to help you prove
+      properties of those models. "ACL2" denotes "A Computational
+      Logic for Applicative Common Lisp".
+
+      ACL2 is part of the Boyer-Moore family of provers, for which its
+      authors have received the 2005 ACM Software System Award.
+
+      NOTE: In nixpkgs, the community books that usually ship with
+      ACL2 have been removed because it is not currently possible to
+      build them with Nix.
+    '';
+    homepage = http://www.cs.utexas.edu/users/moore/acl2/;
+    downloadPage = https://github.com/acl2-devel/acl2-devel/releases;
+    # There are a bunch of licenses in the community books, but since
+    # they currently get deleted during the build, we don't mention
+    # their licenses here.  ACL2 proper is released under a BSD
+    # 3-clause license.
+    #license = with stdenv.lib.licenses;
+    #[ free bsd3 mit gpl2 llgpl21 cc0 publicDomain ];
+    license = stdenv.lib.licenses.bsd3;
+    maintainers = with stdenv.lib.maintainers; [ kini raskin ];
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/interpreters/clisp/2.33.2.nix b/pkgs/development/interpreters/clisp/2.33.2.nix
deleted file mode 100644
index 18b325684ca5..000000000000
--- a/pkgs/development/interpreters/clisp/2.33.2.nix
+++ /dev/null
@@ -1,66 +0,0 @@
-{ stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11
-, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
-, libffi, libffcall, coreutils, automake, autoconf, linuxHeaders
-, groff
-}:
-        
-stdenv.mkDerivation rec {
-  version = "2.33.2";
-  name = "clisp-${version}";
-  
-  src = fetchurl {
-    url = "mirror://gnu/clisp/release/${version}/${name}.tar.gz";
-    sha256 = "0rqyggviixaa68n5ll092ll4a2xy4y7jraq65l0gn0hkjhjnm5zh";
-  };
-
-  buildInputs =
-    [ libsigsegv gettext ncurses readline libX11 libXau libXt pcre
-      zlib libXpm xproto libXext xextproto libffi libffcall 
-      automake autoconf groff
-    ]
-    ++ (stdenv.lib.optional stdenv.isLinux linuxHeaders)
-    ;
-
-  # First, replace port 9090 (rather low, can be used)
-  # with 64237 (much higher, IANA private area, not
-  # anything rememberable).
-  # Also remove reference to a type that disappeared from recent glibc
-  # (seems the correct thing to do, found no reference to any solution)
-  postPatch = ''
-    sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
-    find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
-
-    substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
-  '';
-  
-  configureFlags =
-    ''
-      builddir
-      --with-readline --with-ffcall --with-dynamic-ffi
-      --with-module=readline --with-module=i18n --with-module=pcre
-      --with-module=syscalls --with-modules=zlib --with-module=curses
-    '';
-
-  preBuild = ''
-    echo Pre-build starting!
-    sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
-    sed -e '/asm\/page.h/d' -i src/unix.d
-    cd builddir
-    ./makemake $configureFlags > Makefile
-    make config.lisp
-    cat config.lisp
-  '';
-
-  NIX_CFLAGS_COMPILE="-O0 -lreadline -lncursesw";
-
-  # TODO : make mod-check fails
-  doCheck = false;
-
-  meta = {
-    description = "ANSI Common Lisp Implementation";
-    homepage = http://clisp.cons.org;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-    branch = "2.44";
-  };
-}
diff --git a/pkgs/development/interpreters/clisp/2.44.1.nix b/pkgs/development/interpreters/clisp/2.44.1.nix
deleted file mode 100644
index b7b329ea9560..000000000000
--- a/pkgs/development/interpreters/clisp/2.44.1.nix
+++ /dev/null
@@ -1,60 +0,0 @@
-{ stdenv, fetchurl, libsigsegv, gettext, ncurses, readline, libX11
-, libXau, libXt, pcre, zlib, libXpm, xproto, libXext, xextproto
-, libffi, libffcall, coreutils }:
-
-stdenv.mkDerivation rec {
-  v = "2.44.1";
-  name = "clisp-${v}";
-
-  src = fetchurl {
-    url = "mirror://gnu/clisp/release/${v}/${name}.tar.gz";
-    sha256 = "0rkp6j6rih4s5d9acifh7pi4b9xfgcspif512l269dqy9qgyy4j1";
-  };
-
-  buildInputs =
-    [ libsigsegv gettext ncurses readline libX11 libXau libXt pcre
-      zlib libXpm xproto libXext xextproto libffi libffcall ];
-
-  patches = [ ./bits_ipctypes_to_sys_ipc.patch ]; # from Gentoo
-
-  # First, replace port 9090 (rather low, can be used)
-  # with 64237 (much higher, IANA private area, not
-  # anything rememberable).
-  # Also remove reference to a type that disappeared from recent glibc
-  # (seems the correct thing to do, found no reference to any solution)
-  postPatch = ''
-    sed -e 's@9090@64237@g' -i tests/socket.tst
-    sed -i 's@/bin/pwd@${coreutils}&@' src/clisp-link.in
-    find . -type f | xargs sed -e 's/-lICE/-lXau &/' -i
-
-    substituteInPlace modules/bindings/glibc/linux.lisp --replace "(def-c-type __swblk_t)" ""
-  '';
-
-  configureFlags =
-    ''
-      --with-readline builddir --with-dynamic-ffi
-      --with-module=clx/new-clx --with-module=i18n --with-module=bindings/glibc
-      --with-module=pcre --with-module=rawsock --with-module=readline
-      --with-module=syscalls --with-module=wildcard --with-module=zlib
-    '';
-
-  preBuild = ''
-    sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
-    cd builddir
-  '';
-
-  NIX_CFLAGS_COMPILE = "-O0 ${stdenv.lib.optionalString (!stdenv.is64bit) "-falign-functions=4"}";
-
-  hardeningDisable = [ "format" ];
-
-  # TODO : make mod-check fails
-  doCheck = false;
-
-  meta = {
-    description = "ANSI Common Lisp Implementation";
-    homepage = http://clisp.cons.org;
-    maintainers = [stdenv.lib.maintainers.raskin];
-    platforms = stdenv.lib.platforms.linux;
-    branch = "2.44";
-  };
-}
diff --git a/pkgs/development/interpreters/clisp/default.nix b/pkgs/development/interpreters/clisp/default.nix
index 2386cc271550..9ab43e7392d7 100644
--- a/pkgs/development/interpreters/clisp/default.nix
+++ b/pkgs/development/interpreters/clisp/default.nix
@@ -48,7 +48,11 @@ stdenv.mkDerivation rec {
     libX11 libXau libXt libXpm xproto libXext xextproto
   ];
 
-  patches = [ ./bits_ipctypes_to_sys_ipc.patch ]; # from Gentoo
+  patches = [
+    ./bits_ipctypes_to_sys_ipc.patch # from Gentoo
+    # The cfree alias no longer exists since glibc 2.26
+    ./remove-cfree-binding.patch
+  ];
 
   # First, replace port 9090 (rather low, can be used)
   # with 64237 (much higher, IANA private area, not
diff --git a/pkgs/development/interpreters/clisp/hg.nix b/pkgs/development/interpreters/clisp/hg.nix
index 597f75c46456..9839220796c7 100644
--- a/pkgs/development/interpreters/clisp/hg.nix
+++ b/pkgs/development/interpreters/clisp/hg.nix
@@ -23,13 +23,13 @@ assert x11Support -> (libX11 != null && libXau != null && libXt != null
   && libXpm != null && xproto != null && libXext != null && xextproto != null);
 
 stdenv.mkDerivation rec {
-  v = "2.50pre20170130";
+  v = "2.50pre20171114";
   name = "clisp-${v}";
 
   src = fetchhg {
     url = "http://hg.code.sf.net/p/clisp/clisp";
-    rev = "130e74c8ea17";
-    sha256 = "1aqaxskvghc4ipbs3m4syvzn6bzj165zqvjpw0xa696i07vkk19j";
+    rev = "36df6dc59b8f";
+    sha256 = "1pidiv1m55lvc4ln8vx0ylnnhlj95y6hrfdq96nrj14f4v8fkvmr";
   };
 
   inherit libsigsegv gettext coreutils;
@@ -74,6 +74,7 @@ stdenv.mkDerivation rec {
 
   preBuild = ''
     sed -e '/avcall.h/a\#include "config.h"' -i src/foreign.d
+    sed -i -re '/ cfree /d' -i modules/bindings/glibc/linux.lisp
     cd builddir
   '';
 
diff --git a/pkgs/development/interpreters/clisp/remove-cfree-binding.patch b/pkgs/development/interpreters/clisp/remove-cfree-binding.patch
new file mode 100644
index 000000000000..4b570c3a4672
--- /dev/null
+++ b/pkgs/development/interpreters/clisp/remove-cfree-binding.patch
@@ -0,0 +1,12 @@
+diff --git a/modules/bindings/glibc/linux.lisp b/modules/bindings/glibc/linux.lisp
+index c40b4f8..1c8edca 100644
+--- a/modules/bindings/glibc/linux.lisp
++++ b/modules/bindings/glibc/linux.lisp
+@@ -648,7 +648,6 @@
+ (def-call-out calloc (:arguments (nmemb size_t) (size size_t))
+   (:return-type c-pointer))
+ (def-call-out free (:arguments (ptr c-pointer)) (:return-type nil))
+-(def-call-out cfree (:arguments (ptr c-pointer)) (:return-type nil))
+ (def-call-out valloc (:arguments (size size_t)) (:return-type c-pointer))
+ 
+ (def-call-out abort (:arguments) (:return-type nil))
diff --git a/pkgs/development/interpreters/elixir/1.5.nix b/pkgs/development/interpreters/elixir/1.5.nix
index e85d25002235..469502a3f85e 100644
--- a/pkgs/development/interpreters/elixir/1.5.nix
+++ b/pkgs/development/interpreters/elixir/1.5.nix
@@ -1,7 +1,7 @@
 { mkDerivation }:
 
 mkDerivation rec {
-  version = "1.5.1";
-  sha256 = "0q0zr3v9cyb7p9aab8v038hnjm84nf9b60kikffp6w9rfqqqf767";
+  version = "1.5.2";
+  sha256 = "0ng7z2gz1c8lkn07fric18b3awcw886s9xb864kmnn2iah5gc65j";
   minimumOTPVersion = "18";
 }
diff --git a/pkgs/development/interpreters/erlang/R18.nix b/pkgs/development/interpreters/erlang/R18.nix
index 0d20ae662a50..39a1a8a0048e 100644
--- a/pkgs/development/interpreters/erlang/R18.nix
+++ b/pkgs/development/interpreters/erlang/R18.nix
@@ -1,14 +1,14 @@
-{ mkDerivation, fetchurl }:
+{ mkDerivation, fetchpatch }:
 
 let
-  rmAndPwdPatch = fetchurl {
+  rmAndPwdPatch = fetchpatch {
      url = "https://github.com/erlang/otp/commit/98b8650d22e94a5ff839170833f691294f6276d0.patch";
-     sha256 = "0cd5pkqrigiqz6cyma5irqwzn0bi17k371k9vlg8ir31h3zmqfip";
+     sha256 = "0zjs7as83prgq4d5gaw2cmnajnsprdk8cjl5kklknx0pc2b3hfg5";
   };
 
-  envAndCpPatch = fetchurl {
+  envAndCpPatch = fetchpatch {
      url = "https://github.com/erlang/otp/commit/9f9841eb7327c9fe73e84e197fd2965a97b639cf.patch";
-     sha256 = "10h5348p6g279b4q01i5jdqlljww5chcvrx5b4b0dv79pk0p0m9f";
+     sha256 = "00fx5wc88ki3z71z5q4xzi9h3whhjw1zblpn09w995ygn07m9qhm";
   };
 
 in mkDerivation rec {
diff --git a/pkgs/development/interpreters/erlang/R20.nix b/pkgs/development/interpreters/erlang/R20.nix
index 8866d9848e7a..cf94a8800f9c 100644
--- a/pkgs/development/interpreters/erlang/R20.nix
+++ b/pkgs/development/interpreters/erlang/R20.nix
@@ -1,8 +1,8 @@
 { mkDerivation, fetchurl }:
 
 mkDerivation rec {
-  version = "20.0";
-  sha256 = "12dbay254ivnakwknjn5h55wndb0a0wqx55p156h8hwjhykj2kn0";
+  version = "20.1";
+  sha256 = "13f53lzgq2himg9kax41f66rzv5pjfrb1ln8b54yv9spkqx2hqqi";
 
   prePatch = ''
     substituteInPlace configure.in --replace '`sw_vers -productVersion`' '10.10'
diff --git a/pkgs/development/interpreters/joker/default.nix b/pkgs/development/interpreters/joker/default.nix
new file mode 100644
index 000000000000..8906c9c5d249
--- /dev/null
+++ b/pkgs/development/interpreters/joker/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, buildGoPackage, fetchFromGitHub }:
+
+buildGoPackage rec {
+  name = "joker-${version}";
+  version = "0.8.6";
+
+  goPackagePath = "github.com/candid82/joker";
+
+  src = fetchFromGitHub {
+    rev = "v${version}";
+    owner = "candid82";
+    repo = "joker";
+    sha256 = "0m6xi1jgss6f4maxqpwjyyhyyc71wy5a7jpm908m49xx80mz5ams";
+  };
+
+  preBuild = "go generate ./...";
+
+  dontInstallSrc = true;
+
+  excludedPackages = "gen"; # Do not install private generators.
+
+  goDeps = ./deps.nix;
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/candid82/joker;
+    description = "A small Clojure interpreter and linter written in Go";
+    license = licenses.epl10;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ andrestylianos ];
+  };
+}
diff --git a/pkgs/development/interpreters/joker/deps.nix b/pkgs/development/interpreters/joker/deps.nix
new file mode 100644
index 000000000000..d5cc0bc44b0b
--- /dev/null
+++ b/pkgs/development/interpreters/joker/deps.nix
@@ -0,0 +1,11 @@
+[
+  {
+    goPackagePath = "github.com/chzyer/readline";
+    fetch = {
+      type = "git";
+      url = "https://github.com/chzyer/readline";
+      rev = "6a4bc7b4feaeff8feb63f87d5fb2cf3e3610a559";
+      sha256 = "1ny3rws671sa9bj5phg6k1rprlgzys73kfdr14vxq4wnwz84zbrc";
+    };
+  }
+]
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index 0ea1bf19231f..ff192c072865 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "3" "3" "";
 jruby = stdenv.mkDerivation rec {
   name = "jruby-${version}";
 
-  version = "9.1.12.0";
+  version = "9.1.13.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha256 = "15x5w4awy8h6xfkbj0p4xnb68xzfrss1rf2prk0kzk5kyjakrcnx";
+    sha256 = "021rmm5c18js569i4z6vj1bb193j4nska43jfiqz5hisc936c5cx";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/php/default.nix b/pkgs/development/interpreters/php/default.nix
index be9aab50cb9f..db4eb6eaee0c 100644
--- a/pkgs/development/interpreters/php/default.nix
+++ b/pkgs/development/interpreters/php/default.nix
@@ -1,6 +1,8 @@
+# pcre functionality is tested in nixos/tests/php-pcre.nix
+
 { lib, stdenv, fetchurl, composableDerivation, autoconf, automake, flex, bison
 , mysql, libxml2, readline, zlib, curl, postgresql, gettext
-, openssl, pkgconfig, sqlite, config, libjpeg, libpng, freetype
+, openssl, pcre, pkgconfig, sqlite, config, libjpeg, libpng, freetype
 , libxslt, libmcrypt, bzip2, icu, openldap, cyrus_sasl, libmhash, freetds
 , uwimap, pam, gmp, apacheHttpd, libiconv, systemd }:
 
@@ -11,6 +13,8 @@ let
 
     let php7 = lib.versionAtLeast version "7.0";
         mysqlHeaders = mysql.lib.dev or mysql;
+        mysqlndSupport = config.php.mysqlnd or false;
+        mysqlBuildInputs = lib.optional (!mysqlndSupport) mysqlHeaders;
 
     in composableDerivation.composableDerivation {} (fixed: {
 
@@ -20,10 +24,12 @@ let
 
       enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-      buildInputs = [ flex bison ]
+      nativeBuildInputs = [ pkgconfig ];
+      buildInputs = [ flex bison pcre ]
         ++ lib.optional stdenv.isLinux systemd;
 
+      CXXFLAGS = lib.optional stdenv.cc.isClang "-std=c++11";
+
       flags = {
 
         # much left to do here...
@@ -50,7 +56,7 @@ let
 
         ldap = {
           configureFlags = [
-            "--with-ldap"
+            "--with-ldap=/invalid/path"
             "LDAP_DIR=${openldap.dev}"
             "LDAP_INCDIR=${openldap.dev}/include"
             "LDAP_LIBDIR=${openldap.out}/lib"
@@ -110,13 +116,13 @@ let
         };
 
         mysql = {
-          configureFlags = ["--with-mysql"];
-          buildInputs = [ mysqlHeaders ];
+          configureFlags = ["--with-mysql${if mysqlndSupport then "=mysqlnd" else ""}"];
+          buildInputs = mysqlBuildInputs;
         };
 
         mysqli = {
-          configureFlags = ["--with-mysqli=${mysqlHeaders}/bin/mysql_config"];
-          buildInputs = [ mysqlHeaders ];
+          configureFlags = ["--with-mysqli=${if mysqlndSupport then "mysqlnd" else "${mysqlHeaders}/bin/mysql_config"}"];
+          buildInputs = mysqlBuildInputs;
         };
 
         mysqli_embedded = {
@@ -126,8 +132,8 @@ let
         };
 
         pdo_mysql = {
-          configureFlags = ["--with-pdo-mysql=${mysqlHeaders}"];
-          buildInputs = [ mysqlHeaders ];
+          configureFlags = ["--with-pdo-mysql=${if mysqlndSupport then "mysqlnd" else mysqlHeaders}"];
+          buildInputs = mysqlBuildInputs;
         };
 
         bcmath = {
@@ -283,6 +289,7 @@ let
 
       configureFlags = [
         "--with-config-file-scan-dir=/etc/php.d"
+        "--with-pcre-regex=${pcre.dev} PCRE_LIBDIR=${pcre}"
       ] ++ lib.optional stdenv.isDarwin "--with-iconv=${libiconv}"
         ++ lib.optional stdenv.isLinux  "--with-fpm-systemd";
 
diff --git a/pkgs/development/interpreters/python/cpython/2.7/default.nix b/pkgs/development/interpreters/python/cpython/2.7/default.nix
index 4ac827db7cb6..eb2a46cb3b79 100644
--- a/pkgs/development/interpreters/python/cpython/2.7/default.nix
+++ b/pkgs/development/interpreters/python/cpython/2.7/default.nix
@@ -128,7 +128,7 @@ let
     ++ optional hostPlatform.isCygwin expat
     ++ [ db gdbm ncurses sqlite readline ]
     ++ optionals x11Support [ tcl tk xlibsWrapper libX11 ]
-    ++ optionals stdenv.isDarwin [ CF configd ];
+    ++ optionals stdenv.isDarwin ([ CF ] ++ optional (configd != null) configd);
 
   mkPaths = paths: {
     C_INCLUDE_PATH = makeSearchPathOutput "dev" "include" paths;
diff --git a/pkgs/development/interpreters/python/mk-python-derivation.nix b/pkgs/development/interpreters/python/mk-python-derivation.nix
index bc586e0b3cee..098ab0b1719f 100644
--- a/pkgs/development/interpreters/python/mk-python-derivation.nix
+++ b/pkgs/development/interpreters/python/mk-python-derivation.nix
@@ -8,7 +8,7 @@
 , ensureNewerSourcesHook
 }:
 
-{ name
+{ name ? "${attrs.pname}-${attrs.version}"
 
 # by default prefix `name` e.g. "python3.3-${name}"
 , namePrefix ? python.libPrefix + "-"
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 19517e2216b1..f949e16321da 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -3,7 +3,7 @@
 , glib, gmp, gtk2, libedit, libffi, libjpeg
 , libpng, libtool, mpfr, openssl, pango, poppler
 , readline, sqlite
-, disableDocs ? true
+, disableDocs ? false
 }:
 
 let
diff --git a/pkgs/development/interpreters/spidermonkey/31.nix b/pkgs/development/interpreters/spidermonkey/31.nix
index ae3e742e2ef4..e64ab1b39a7c 100644
--- a/pkgs/development/interpreters/spidermonkey/31.nix
+++ b/pkgs/development/interpreters/spidermonkey/31.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   # probably it would be more ideal to pull a particular tag/revision
   # from the mercurial repo
   src = fetchurl {
-    url = "https://people.mozilla.org/~sstangl/mozjs-31.5.0.tar.bz2";
+    url = "https://people.freebsd.org/~sunpoet/sunpoet/mozjs-31.5.0.tar.bz2";
     sha256 = "1q8icql5hh1g3gzg5fp4rl9rfagyhm9gilfn3dgi7qn4i1mrfqsd";
   };
 
diff --git a/pkgs/development/interpreters/spidermonkey/38.nix b/pkgs/development/interpreters/spidermonkey/38.nix
index b4823817d4b7..f8fefd204e56 100644
--- a/pkgs/development/interpreters/spidermonkey/38.nix
+++ b/pkgs/development/interpreters/spidermonkey/38.nix
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
   # probably it would be more ideal to pull a particular tag/revision
   # from the mercurial repo
   src = fetchurl {
-    url = "https://people.mozilla.org/~sstangl/mozjs-${version}.tar.bz2";
+    url = "https://people.freebsd.org/~sunpoet/sunpoet/mozjs-${version}.tar.bz2";
     sha256 = "0p4bmbpgkfsj54xschcny0a118jdrdgg0q29rwxigg3lh5slr681";
   };
 
diff --git a/pkgs/development/interpreters/spidermonkey/52.nix b/pkgs/development/interpreters/spidermonkey/52.nix
new file mode 100644
index 000000000000..75c7c64e324d
--- /dev/null
+++ b/pkgs/development/interpreters/spidermonkey/52.nix
@@ -0,0 +1,62 @@
+{ stdenv, fetchurl, autoconf213, pkgconfig, perl, python2, zip, which, readline, icu, zlib, nspr }:
+
+stdenv.mkDerivation rec {
+  version = "52.2.1gnome1";
+  name = "spidermonkey-${version}";
+
+  # the release notes point to some guys home directory, see
+  # https://developer.mozilla.org/en-US/docs/Mozilla/Projects/SpiderMonkey/Releases/38
+  # probably it would be more ideal to pull a particular tag/revision
+  # from the mercurial repo
+  src = fetchurl {
+    url = "mirror://gnome/teams/releng/tarballs-needing-help/mozjs/mozjs-${version}.tar.gz";
+    sha256 = "1bxhz724s1ch1c0kdlzlg9ylhg1mk8kbhdgfkax53fyvn51pjs9i";
+  };
+
+  buildInputs = [ readline icu zlib nspr ];
+  nativeBuildInputs = [ autoconf213 pkgconfig perl which python2 zip ];
+
+  postUnpack = "sourceRoot=\${sourceRoot}/js/src";
+
+  preConfigure = ''
+    export CXXFLAGS="-fpermissive"
+    export LIBXUL_DIST=$out
+    export PYTHON="${python2.interpreter}"
+  '';
+
+  configureFlags = [
+    "--enable-threadsafe"
+    "--with-system-nspr"
+    "--with-system-zlib"
+    "--with-system-icu"
+    "--with-intl-api"
+    "--enable-readline"
+
+    # enabling these because they're wanted by 0ad. They may or may
+    # not be good defaults for other uses.
+    "--enable-gcgenerational"
+    "--enable-shared-js"
+  ];
+
+  # This addresses some build system bug. It's quite likely to be safe
+  # to re-enable parallel builds if the source revision changes.
+  enableParallelBuilding = true;
+
+  postFixup = ''
+    # The headers are symlinks to a directory that doesn't get put
+    # into $out, so they end up broken. Fix that by just resolving the
+    # symlinks.
+    for i in $(find $out -type l); do
+      cp --remove-destination "$(readlink "$i")" "$i";
+    done
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Mozilla's JavaScript engine written in C/C++";
+    homepage = https://developer.mozilla.org/en/SpiderMonkey;
+    # TODO: MPL/GPL/LGPL tri-license.
+
+    maintainers = [ maintainers.abbradar ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/java-modules/maven-hello/default.nix b/pkgs/development/java-modules/maven-hello/default.nix
index 1ac023ec5344..f3d5fb3e9342 100644
--- a/pkgs/development/java-modules/maven-hello/default.nix
+++ b/pkgs/development/java-modules/maven-hello/default.nix
@@ -18,7 +18,7 @@ in rec {
     m2Path = "/com/nequissimus/maven-hello/${version}";
 
     meta = {
-      homepage = http://github.com/NeQuissimus/maven-hello/;
+      homepage = https://github.com/NeQuissimus/maven-hello/;
       description = "Maven Hello World";
       license = stdenv.lib.licenses.unlicense;
       platforms = stdenv.lib.platforms.all;
diff --git a/pkgs/development/libraries/SDL2/default.nix b/pkgs/development/libraries/SDL2/default.nix
index 3216a130f671..d2ffa45626be 100644
--- a/pkgs/development/libraries/SDL2/default.nix
+++ b/pkgs/development/libraries/SDL2/default.nix
@@ -2,6 +2,7 @@
 , openglSupport ? false, mesa_noglu
 , alsaSupport ? true, alsaLib
 , x11Support ? true, libICE, libXi, libXScrnSaver, libXcursor, libXinerama, libXext, libXxf86vm, libXrandr
+, waylandSupport ? true, wayland, wayland-protocols, libxkbcommon
 , dbusSupport ? false, dbus
 , udevSupport ? false, udev
 , ibusSupport ? false, ibus
@@ -17,7 +18,7 @@ assert openglSupport -> (stdenv.isDarwin || mesa_noglu != null && x11Support);
 
 let
   configureFlagsFun = attrs: [
-      "--disable-oss" "--disable-x11-shared"
+      "--disable-oss" "--disable-x11-shared" "--disable-wayland-shared"
       "--disable-pulseaudio-shared" "--disable-alsa-shared"
     ] ++ lib.optional alsaSupport "--with-alsa-prefix=${attrs.alsaLib.out}/lib"
       ++ lib.optional (!x11Support) "--without-x";
@@ -39,6 +40,7 @@ stdenv.mkDerivation rec {
 
   # Since `libpulse*.la' contain `-lgdbm', PulseAudio must be propagated.
   propagatedBuildInputs = lib.optionals x11Support [ libICE libXi libXScrnSaver libXcursor libXinerama libXext libXrandr libXxf86vm ] ++
+    lib.optionals waylandSupport [ wayland wayland-protocols libxkbcommon ] ++
     lib.optional pulseaudioSupport libpulseaudio;
 
   buildInputs = [ audiofile ] ++
diff --git a/pkgs/development/libraries/SDL_gfx/default.nix b/pkgs/development/libraries/SDL_gfx/default.nix
index 0f66f0afb178..1d7d96f7536d 100644
--- a/pkgs/development/libraries/SDL_gfx/default.nix
+++ b/pkgs/development/libraries/SDL_gfx/default.nix
@@ -11,7 +11,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL ] ;
 
-  configureFlags = [ "--disable-mmx" ];
+  configureFlags = [ "--disable-mmx" ]
+    ++ stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
 
   meta = with stdenv.lib; {
     description = "SDL graphics drawing primitives and support functions";
diff --git a/pkgs/development/libraries/SDL_image/default.nix b/pkgs/development/libraries/SDL_image/default.nix
index 55a4058fe56d..c8cab33ed57f 100644
--- a/pkgs/development/libraries/SDL_image/default.nix
+++ b/pkgs/development/libraries/SDL_image/default.nix
@@ -17,6 +17,8 @@ stdenv.mkDerivation rec {
     })
   ];
 
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
+
   buildInputs = [ SDL libpng libjpeg libtiff libungif libXpm ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/SDL_mixer/default.nix b/pkgs/development/libraries/SDL_mixer/default.nix
index fe64569abbe2..865ddac06bea 100644
--- a/pkgs/development/libraries/SDL_mixer/default.nix
+++ b/pkgs/development/libraries/SDL_mixer/default.nix
@@ -12,7 +12,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL libogg libvorbis fluidsynth smpeg ];
 
-  configureFlags = [ "--disable-music-ogg-shared" ] ++ lib.optional enableNativeMidi " --enable-music-native-midi-gpl";
+  configureFlags = [ "--disable-music-ogg-shared" ]
+    ++ lib.optional enableNativeMidi " --enable-music-native-midi-gpl"
+    ++ lib.optional stdenv.isDarwin "--disable-sdltest";
 
   meta = with stdenv.lib; {
     description = "SDL multi-channel audio mixer library";
diff --git a/pkgs/development/libraries/SDL_net/default.nix b/pkgs/development/libraries/SDL_net/default.nix
index a159a0691f49..f1c5a5462d11 100644
--- a/pkgs/development/libraries/SDL_net/default.nix
+++ b/pkgs/development/libraries/SDL_net/default.nix
@@ -11,6 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "1d5c9xqlf4s1c01gzv6cxmg0r621pq9kfgxcg3197xw4p25pljjz";
   };
 
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
+
   propagatedBuildInputs = [ SDL ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/SDL_ttf/default.nix b/pkgs/development/libraries/SDL_ttf/default.nix
index 1f290bf7044f..f98e4a3b0ad3 100644
--- a/pkgs/development/libraries/SDL_ttf/default.nix
+++ b/pkgs/development/libraries/SDL_ttf/default.nix
@@ -21,6 +21,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL freetype ];
 
+  configureFlags = stdenv.lib.optional stdenv.isDarwin "--disable-sdltest";
+
   meta = with stdenv.lib; {
     description = "SDL TrueType library";
     license = licenses.zlib;
diff --git a/pkgs/development/libraries/allegro/5.nix b/pkgs/development/libraries/allegro/5.nix
index f1402e4ad9ed..dc2775b1979d 100644
--- a/pkgs/development/libraries/allegro/5.nix
+++ b/pkgs/development/libraries/allegro/5.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   name = "allegro-${version}";
-  version = "5.2.2.0";
+  version = "5.2.3.0";
 
   src = fetchFromGitHub {
     owner = "liballeg";
     repo = "allegro5";
     rev = version;
-    sha256 = "1sf0dr0ahrzsy6gzzpvys9d7d9w0grayhak4cyymjv7w857hf51m";
+    sha256 = "0bx240x0filalfarylqjgqf3g80c7dhzhy4m162swjlg0vjpgblr";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/appstream-glib/default.nix b/pkgs/development/libraries/appstream-glib/default.nix
index e07e1fc39087..d177c3acfa71 100644
--- a/pkgs/development/libraries/appstream-glib/default.nix
+++ b/pkgs/development/libraries/appstream-glib/default.nix
@@ -1,17 +1,9 @@
-{ stdenv, fetchFromGitHub, pkgconfig, gettext, gtk3, intltool, glib
-, gtk_doc, autoconf, automake, libtool, libarchive
-, gobjectIntrospection, sqlite, libsoup, gcab, attr, acl, docbook_xsl
-, libuuid, json_glib, autoconf-archive, meson, gperf, ninja, gdk_pixbuf
+{ stdenv, fetchFromGitHub, pkgconfig, gettext, gtk3, glib
+, gtk_doc, libarchive, gobjectIntrospection
+, sqlite, libsoup, gcab, attr, acl, docbook_xsl
+, libuuid, json_glib, meson, gperf, ninja
 }:
-let rpath = stdenv.lib.makeLibraryPath
-      [ libuuid.out
-        glib
-        libsoup
-        gdk_pixbuf
-        libarchive.lib
-        gcab
-      ];
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "appstream-glib-0.7.2";
 
   src = fetchFromGitHub {
@@ -28,12 +20,6 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ gtk3 ];
   mesonFlags = [ "-Denable-rpm=false" "-Denable-stemmer=false" "-Denable-dep11=false" ];
 
-  postFixup = ''
-    for elf in "$out"/bin/* "$out"/lib/*.so; do
-      patchelf --set-rpath '${rpath}':"$out/lib" "$elf"
-    done
-  '';
-
   meta = with stdenv.lib; {
     description = "Objects and helper methods to read and write AppStream metadata";
     homepage    = https://github.com/hughsie/appstream-glib;
diff --git a/pkgs/development/libraries/atkmm/default.nix b/pkgs/development/libraries/atkmm/default.nix
index e1cfb488be88..9ec9e6284f83 100644
--- a/pkgs/development/libraries/atkmm/default.nix
+++ b/pkgs/development/libraries/atkmm/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "C++ wrappers for ATK accessibility toolkit";
     license = stdenv.lib.licenses.lgpl21Plus;
-    homepage = http://gtkmm.org;
+    homepage = https://gtkmm.org;
     platforms = stdenv.lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/audio/vamp/default.nix b/pkgs/development/libraries/audio/vamp/default.nix
index 8cae07e29490..8098ac9f3efb 100644
--- a/pkgs/development/libraries/audio/vamp/default.nix
+++ b/pkgs/development/libraries/audio/vamp/default.nix
@@ -18,7 +18,7 @@ rec {
 
     meta = with stdenv.lib; {
       description = "Audio processing plugin system for plugins that extract descriptive information from audio data";
-      homepage = http://sourceforge.net/projects/vamp;
+      homepage = https://sourceforge.net/projects/vamp;
       license = licenses.bsd3;
       maintainers = [ maintainers.goibhniu maintainers.marcweber ];
       platforms = platforms.linux;
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index e4311c0a5e9c..1ac96e2b4f04 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     [ "--enable-cplusplus" ]
     ++ lib.optional enableLargeConfig "--enable-large-config";
 
-  doCheck = true;
+  doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
 
   # Don't run the native `strip' when cross-compiling.
   dontStrip = hostPlatform != buildPlatform;
diff --git a/pkgs/development/libraries/botan/2.0.upstream b/pkgs/development/libraries/botan/2.0.upstream
index d10850d46adc..74eb1a2ca83f 100644
--- a/pkgs/development/libraries/botan/2.0.upstream
+++ b/pkgs/development/libraries/botan/2.0.upstream
@@ -1,5 +1,5 @@
-url http://botan.randombit.net/download.html
-version_link 'Botan-[0-9]+[.][0-9]*[02468]([.][0-9]+)?[.](tgz|tbz|tbz2|tar[.]bz2)$'
+url https://botan.randombit.net/
+version_link 'Botan-[0-9]+([.][0-9]+)*[.](tgz|tbz|tbz2|tar[.]bz2)$'
 ensure_version
 attribute_name botan2
 do_overwrite(){
diff --git a/pkgs/development/libraries/breakpad/default.nix b/pkgs/development/libraries/breakpad/default.nix
deleted file mode 100644
index 7f3117fac424..000000000000
--- a/pkgs/development/libraries/breakpad/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ stdenv, fetchgit }:
-
-stdenv.mkDerivation {
-  name = "breakpad-2016-03-28";
-  
-  src = fetchgit {
-    url = "https://chromium.googlesource.com/breakpad/breakpad";
-    rev = "512cac3a1b69721ab727f3079f4d29e4580467b1";
-    sha256 = "1ksilbdpi1krycxkidqd1dlly95qf7air3zy8h5zfnagrlkz7zzx";
-  };
-
-  breakpad_lss = fetchgit {
-    url = "https://chromium.googlesource.com/linux-syscall-support";
-    rev = "08056836f2b4a5747daff75435d10d649bed22f6";
-    sha256 = "1ryshs2nyxwa0kn3rlbnd5b3fhna9vqm560yviddcfgdm2jyg0hz";
-  };
-
-  enableParallelBuilding = true;
-
-  prePatch = ''
-    cp -r $breakpad_lss src/third_party/lss
-    chmod +w -R src/third_party/lss
-  '';
-
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/bullet/default.nix b/pkgs/development/libraries/bullet/default.nix
index 0c9f0903f148..e7b500905370 100644
--- a/pkgs/development/libraries/bullet/default.nix
+++ b/pkgs/development/libraries/bullet/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
       Bullet 3D Game Multiphysics Library provides state of the art collision
       detection, soft body and rigid body dynamics.
     '';
-    homepage = http://code.google.com/p/bullet/;
+    homepage = http://bulletphysics.org;
     license = stdenv.lib.licenses.zlib;
     maintainers = with stdenv.lib.maintainers; [ aforemny ];
     platforms = with stdenv.lib.platforms; unix;
diff --git a/pkgs/development/libraries/clutter-gtk/default.nix b/pkgs/development/libraries/clutter-gtk/default.nix
index 39296f86d8e1..bada2c2c709c 100644
--- a/pkgs/development/libraries/clutter-gtk/default.nix
+++ b/pkgs/development/libraries/clutter-gtk/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   major = "1.8";
-  minor = "2";
+  minor = "4";
   name = "clutter-gtk-${major}.${minor}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/clutter-gtk/${major}/${name}.tar.xz";
-    sha256 = "da27d486325490ad3f65d2abf9413aeb8b4a8f7b559e4b2f73567a5344a26b94";
+    sha256 = "01ibniy4ich0fgpam53q252idm7f4fn5xg5qvizcfww90gn9652j";
   };
 
   propagatedBuildInputs = [ clutter gtk3 ];
diff --git a/pkgs/development/libraries/cmocka/default.nix b/pkgs/development/libraries/cmocka/default.nix
index f352357ac21b..995844524dcf 100644
--- a/pkgs/development/libraries/cmocka/default.nix
+++ b/pkgs/development/libraries/cmocka/default.nix
@@ -1,26 +1,15 @@
-{ fetchurl, stdenv, cmake, fetchpatch }:
+{ fetchurl, stdenv, cmake }:
 
 stdenv.mkDerivation rec {
   name = "cmocka-${version}";
-  version = "1.0.1";
+  majorVersion = "1.1";
+  version = "${majorVersion}.1";
 
   src = fetchurl {
-    url = "https://cmocka.org/files/1.0/cmocka-${version}.tar.xz";
-    sha256 = "0fvm6rdalqcxckbddch8ycdw6n2ckldblv117n09chi2l7bm0q5k";
+    url = "https://cmocka.org/files/${majorVersion}/cmocka-${version}.tar.xz";
+    sha256 = "f02ef48a7039aa77191d525c5b1aee3f13286b77a13615d11bc1148753fc0389";
   };
 
-  patches = [
-    # This fixes the build for clang-3.7.0 and thus Darwin.
-    # See https://open.cryptomilk.org/issues/43 for more info.
-    #
-    # The patch is already merged to upstream, so it should be removed
-    # here on next release.
-    (fetchpatch {
-      url = "https://git.cryptomilk.org/projects/cmocka.git/patch/?id=1b595a80934fa95234fb290913cfe533f740d965";
-      sha256 = "1fg8xwb1mrrmw4dqa65ghnvgfdkpi0lv4j2gq0lm9ayvsi3v00vp";
-    })
-  ];
-
   nativeBuildInputs = [ cmake ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/dbus/make-dbus-conf.nix b/pkgs/development/libraries/dbus/make-dbus-conf.nix
index d836d87efef8..71da22ee3748 100644
--- a/pkgs/development/libraries/dbus/make-dbus-conf.nix
+++ b/pkgs/development/libraries/dbus/make-dbus-conf.nix
@@ -11,6 +11,7 @@
 runCommand "dbus-1"
   {
     inherit serviceDirectories suidHelper;
+    preferLocalBuild = true;
     XML_CATALOG_FILES = writeText "dbus-catalog.xml" ''
       <?xml version="1.0"?>
       <!DOCTYPE catalog PUBLIC
diff --git a/pkgs/development/libraries/dirac/default.nix b/pkgs/development/libraries/dirac/default.nix
index b64c6c84980a..7cb7187a3ceb 100644
--- a/pkgs/development/libraries/dirac/default.nix
+++ b/pkgs/development/libraries/dirac/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://sourceforge.net/projects/dirac;
+    homepage = https://sourceforge.net/projects/dirac;
     description = "A general-purpose video codec based on wavelets";
     platforms = platforms.linux;
     license = with licenses; [ mpl11 gpl2 lgpl21 ];
diff --git a/pkgs/development/libraries/dleyna-connector-dbus/default.nix b/pkgs/development/libraries/dleyna-connector-dbus/default.nix
new file mode 100644
index 000000000000..94efa8e31d3a
--- /dev/null
+++ b/pkgs/development/libraries/dleyna-connector-dbus/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, autoreconfHook, pkgconfig, fetchFromGitHub, dbus, dleyna-core, glib }:
+
+stdenv.mkDerivation rec {
+  name = "dleyna-connector-dbus";
+  version = "0.3.0";
+
+  src = fetchFromGitHub {
+    owner = "01org";
+    repo = name;
+    rev = "${version}";
+    sha256 = "0vziq5gwjm79yl2swch2mz6ias20nvfddf5cqgk9zbg25cb9m117";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ dbus dleyna-core glib ];
+
+  meta = with stdenv.lib; {
+    description = "A D-Bus API for the dLeyna services";
+    homepage = http://01.org/dleyna;
+    maintainers = [ maintainers.jtojnar ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/libraries/dleyna-core/0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch b/pkgs/development/libraries/dleyna-core/0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch
new file mode 100644
index 000000000000..cc50c1598005
--- /dev/null
+++ b/pkgs/development/libraries/dleyna-core/0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch
@@ -0,0 +1,95 @@
+From bf549a028a5da122b7a4206529711b969c2ecd48 Mon Sep 17 00:00:00 2001
+From: Jan Tojnar <jtojnar@gmail.com>
+Date: Fri, 1 Sep 2017 13:49:06 +0200
+Subject: [PATCH] Search connectors in DLEYNA_CONNECTOR_PATH
+
+Previously, the connectors would only be looked for in a single
+directory, specified during compilation. This patch allows to
+traverse a list of directories provided by an environment variable.
+---
+ libdleyna/core/connector-mgr.c | 63 ++++++++++++++++++++++++++++--------------
+ 1 file changed, 42 insertions(+), 21 deletions(-)
+
+diff --git a/libdleyna/core/connector-mgr.c b/libdleyna/core/connector-mgr.c
+index eafb16c..8041c67 100644
+--- a/libdleyna/core/connector-mgr.c
++++ b/libdleyna/core/connector-mgr.c
+@@ -34,33 +34,54 @@ const dleyna_connector_t *dleyna_connector_mgr_load(const gchar *name)
+ 	const dleyna_connector_t *connector;
+ 	dleyna_connector_get_interface_t get_interface;
+ 	gchar *path;
++	const gchar *connector_path;
++	gchar **connector_path_list;
++	gsize i;
+ 
+ 	DLEYNA_LOG_DEBUG("Enter");
+ 
+-	path = g_strdup_printf("%s/%s%s.so", CONNECTOR_DIR,
+-			       DLEYNA_CONNECTOR_LIB_PATTERN, name);
+-	module = g_module_open(path, G_MODULE_BIND_LAZY);
+-	g_free(path);
++	connector_path = g_getenv ("DLEYNA_CONNECTOR_PATH");
++	if (!connector_path) {
++		DLEYNA_LOG_DEBUG ("DLEYNA_CONNECTOR_PATH not set");
++		connector_path = CONNECTOR_DIR;
++	} else {
++		DLEYNA_LOG_DEBUG ("DLEYNA_CONNECTOR_PATH set to %s", connector_path);
++	}
++
++	connector_path_list = g_strsplit (connector_path, G_SEARCHPATH_SEPARATOR_S, 0);
++
++	for (i = 0; connector_path_list[i]; i++) {
++		path = g_strdup_printf("%s/%s%s.so", connector_path_list[i],
++				       DLEYNA_CONNECTOR_LIB_PATTERN, name);
++		module = g_module_open(path, G_MODULE_BIND_LAZY);
++		g_free(path);
++
++		if (module) {
++			if (!g_connectors)
++				g_connectors = g_hash_table_new(g_direct_hash,
++								g_direct_equal);
++
++			if (g_module_symbol(module, "dleyna_connector_get_interface",
++					    (gpointer *)&get_interface)) {
++				connector = get_interface();
++				g_hash_table_insert(g_connectors, (gpointer)connector,
++						    module);
++
++				break;
++			} else {
++				connector = NULL;
++				g_module_close(module);
++				DLEYNA_LOG_CRITICAL(
++						"Connector '%s' entry point not found",
++						name);
++			}
+ 
+-	if (module) {
+-		if (!g_connectors)
+-			g_connectors = g_hash_table_new(g_direct_hash,
+-							g_direct_equal);
+-
+-		if (g_module_symbol(module, "dleyna_connector_get_interface",
+-				    (gpointer *)&get_interface)) {
+-			connector = get_interface();
+-			g_hash_table_insert(g_connectors, (gpointer)connector,
+-					    module);
+-		} else {
+-			connector = NULL;
+-			g_module_close(module);
+-			DLEYNA_LOG_CRITICAL(
+-					"Connector '%s' entry point not found",
+-					name);
+ 		}
++	}
+ 
+-	} else {
++	g_strfreev (connector_path_list);
++
++	if (!module) {
+ 		connector = NULL;
+ 		DLEYNA_LOG_CRITICAL("Connector '%s' not found", name);
+ 	}
+-- 
+2.14.1
+
diff --git a/pkgs/development/libraries/dleyna-core/default.nix b/pkgs/development/libraries/dleyna-core/default.nix
new file mode 100644
index 000000000000..1fc65b9ac7f0
--- /dev/null
+++ b/pkgs/development/libraries/dleyna-core/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, autoreconfHook, pkgconfig, fetchFromGitHub, gupnp }:
+
+stdenv.mkDerivation rec {
+  name = "dleyna-core";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "01org";
+    repo = name;
+    rev = "v${version}";
+    sha256 = "1x5vj5zfk95avyg6g3nf6gar250cfrgla2ixj2ifn8pcick2d9vq";
+  };
+
+  setupHook = ./setup-hook.sh;
+
+  patches = [ ./0001-Search-connectors-in-DLEYNA_CONNECTOR_PATH.patch ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  propagatedBuildInputs = [ gupnp ];
+
+  meta = with stdenv.lib; {
+    description = "Library of utility functions that are used by the higher level dLeyna";
+    homepage = http://01.org/dleyna;
+    maintainers = [ maintainers.jtojnar ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/libraries/dleyna-core/setup-hook.sh b/pkgs/development/libraries/dleyna-core/setup-hook.sh
new file mode 100644
index 000000000000..046a77d5a4dd
--- /dev/null
+++ b/pkgs/development/libraries/dleyna-core/setup-hook.sh
@@ -0,0 +1,9 @@
+addDleynaConnectorPath () {
+    if test -d "$1/lib/dleyna-1.0/connectors"
+    then
+        export DLEYNA_CONNECTOR_PATH="${DLEYNA_CONNECTOR_PATH}${DLEYNA_CONNECTOR_PATH:+:}$1/lib/dleyna-1.0/connectors"
+    fi
+}
+
+envHooks+=(addDleynaConnectorPath)
+
diff --git a/pkgs/development/libraries/dleyna-renderer/default.nix b/pkgs/development/libraries/dleyna-renderer/default.nix
new file mode 100644
index 000000000000..b9b8d8fbd750
--- /dev/null
+++ b/pkgs/development/libraries/dleyna-renderer/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, autoreconfHook, pkgconfig, fetchFromGitHub, dleyna-connector-dbus, dleyna-core, gssdp, gupnp, gupnp_av, gupnp_dlna, libsoup, makeWrapper }:
+
+stdenv.mkDerivation rec {
+  name = "dleyna-renderer";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "01org";
+    repo = name;
+    rev = "${version}";
+    sha256 = "0jy54aq8hgrvzchrvfzqaj4pcn0cfhafl9bv8a9p6j82yjk4pvpp";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
+  buildInputs = [ dleyna-core dleyna-connector-dbus gssdp gupnp gupnp_av gupnp_dlna libsoup ];
+
+  preFixup = ''
+    wrapProgram "$out/libexec/dleyna-renderer-service" \
+      --set DLEYNA_CONNECTOR_PATH "$DLEYNA_CONNECTOR_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Library to discover and manipulate Digital Media Renderers";
+    homepage = http://01.org/dleyna;
+    maintainers = [ maintainers.jtojnar ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/libraries/dleyna-server/default.nix b/pkgs/development/libraries/dleyna-server/default.nix
new file mode 100644
index 000000000000..8668cff644ed
--- /dev/null
+++ b/pkgs/development/libraries/dleyna-server/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, autoreconfHook, makeWrapper, pkgconfig, fetchFromGitHub, dleyna-core, dleyna-connector-dbus, gssdp, gupnp, gupnp_av, gupnp_dlna, libsoup }:
+
+stdenv.mkDerivation rec {
+  name = "dleyna-server";
+  version = "0.6.0";
+
+  src = fetchFromGitHub {
+    owner = "01org";
+    repo = name;
+    rev = "${version}";
+    sha256 = "13a2i6ms27s46yxdvlh2zm7pim7jmr5cylnygzbliz53g3gxxl3j";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig makeWrapper ];
+  buildInputs = [ dleyna-core dleyna-connector-dbus gssdp gupnp gupnp_av gupnp_dlna libsoup ];
+
+  preFixup = ''
+    wrapProgram "$out/libexec/dleyna-server-service" \
+      --set DLEYNA_CONNECTOR_PATH "$DLEYNA_CONNECTOR_PATH"
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Library to discover, browse and manipulate Digital Media Servers";
+    homepage = http://01.org/dleyna;
+    maintainers = [ maintainers.jtojnar ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21;
+  };
+}
diff --git a/pkgs/development/libraries/dotconf/default.nix b/pkgs/development/libraries/dotconf/default.nix
index efadff6a1138..a2b2e08fd622 100644
--- a/pkgs/development/libraries/dotconf/default.nix
+++ b/pkgs/development/libraries/dotconf/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A configuration parser library";
     maintainers = with maintainers; [ pSub ];
-    homepage = http://www.azzit.de/dotconf/;
+    homepage = https://github.com/williamh/dotconf;
     license = licenses.lgpl21Plus;
     platforms = with platforms; unix;
   };
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index 6533997de2f8..01f3c11ac737 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchpatch, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "expat-2.2.4";
+  name = "expat-2.2.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/expat/${name}.tar.bz2";
-    sha256 = "17h1fb9zvqvf0sr78j211bngc6jpql5wzar8fg9b52jzjvdqbb83";
+    sha256 = "1xpd78sp7m34jqrw5x13bz7kgz0n6aj15wn4zj4gfx3ypbpk5p6r";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   outputMan = "dev"; # tiny page for a dev tool
 
-  doCheck = true;
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   preCheck = ''
     patchShebangs ./run.sh
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 286e4ac56b58..4abe7cf8507b 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -3,23 +3,15 @@
 
 stdenv.mkDerivation rec {
   name = "folly-${version}";
-  version = "2017.07.24.00";
+  version = "2017.11.06.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "1cmqrm9yjxrw4xr1kcgzl0s7vcvp125wcgb0cz7whssgj11mf169";
+    sha256 = "11sn4gwqw94ygc2s4bzqy5k67v3rr20gy375brdcrl5rv0r2hhc0";
   };
 
-  patches = [
-    # Fix compilation
-    (fetchpatch {
-      url = "https://github.com/facebook/folly/commit/9fc87c83d93f092859823ec32289ed1b6abeb683.patch";
-      sha256 = "0ix0grqlzm16hwa4rjbajjck8kr9lksh6c3gn7p3ihbbchsmlhvl";
-    })
-  ];
-
   nativeBuildInputs = [ autoreconfHook python pkgconfig ];
   buildInputs = [ libiberty boost libevent double_conversion glog google-gflags openssl ];
 
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index 2e06c3bbec78..d764121e8d6b 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -1,34 +1,35 @@
-{ stdenv, fetchurl
+{ stdenv, fetchurl, autoreconfHook, pkgconfig
+, openssl
 , odbcSupport ? false, unixODBC ? null }:
 
 assert odbcSupport -> unixODBC != null;
 
 stdenv.mkDerivation rec {
-  name = "freetds-0.91";
+  name = "freetds-${version}";
+  version = "1.00.70";
 
   src = fetchurl {
-    url = "http://mirrors.ibiblio.org/freetds/stable/${name}.tar.gz";
-    sha256 = "0r946axzxs0czsmr7283w7vmk5jx3jnxxc32d2ncxsrsh2yli0ba";
+    url    = "http://www.freetds.org/files/stable/${name}.tar.bz2";
+    sha256 = "1ydh0c89nb6wh6wakbkqad7mdwpymygvgbcrk8c2mp7abgv1jqzp";
   };
 
-  hardeningDisable = [ "format" ];
+  configureFlags = [
+    "--with-tdsver=7.3"
+  ];
 
-  buildInputs = stdenv.lib.optional odbcSupport [ unixODBC ];
+  buildInputs = [
+    openssl
+  ] ++ stdenv.lib.optional odbcSupport unixODBC;
 
-  configureFlags = stdenv.lib.optionalString odbcSupport "--with-odbc=${unixODBC}";
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
 
-  doDist = true;
+  enableParallelBuilding = true;
 
-  distPhase = ''
-    touch $out/include/tds.h
-    touch $out/lib/libtds.a
-  '';
-
-  meta = {
-    description =
-      "Libraries to natively talk to Microsoft SQL Server and Sybase databases";
-    homepage = http://www.freetds.org;
-    license = "lgpl";
-    platforms = stdenv.lib.platforms.all;
+  meta = with stdenv.lib; {
+    description = "Libraries to natively talk to Microsoft SQL Server and Sybase databases";
+    homepage    = http://www.freetds.org;
+    license     = licenses.lgpl2;
+    maintainers = with maintainers; [ peterhoeg ];
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/garmintools/default.nix b/pkgs/development/libraries/garmintools/default.nix
index f1df8c5ff7f6..c1f9c6ad0137 100644
--- a/pkgs/development/libraries/garmintools/default.nix
+++ b/pkgs/development/libraries/garmintools/default.nix
@@ -2,12 +2,12 @@
 stdenv.mkDerivation {
   name = "garmintools-0.10";
   src = fetchurl {
-    url = https://garmintools.googlecode.com/files/garmintools-0.10.tar.gz;
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/garmintools/garmintools-0.10.tar.gz";
     sha256 = "1vjc8h0z4kx2h52yc3chxn3wh1krn234fg12sggbia9zjrzhpmgz";
   };
   buildInputs = [ libusb ];
   meta = {
-    homepage = https://code.google.com/p/garmintools;
+    homepage = https://code.google.com/archive/p/garmintools/; # community clone at https://github.com/ianmartin/garmintools
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.ocharles ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/gdbm/default.nix b/pkgs/development/libraries/gdbm/default.nix
index c6313dec90ce..3b78225a447f 100644
--- a/pkgs/development/libraries/gdbm/default.nix
+++ b/pkgs/development/libraries/gdbm/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "0lx201q20dvc70f8a3c9s7s18z15inlxvbffph97ngvrgnyjq9cx";
   };
 
-  doCheck = true;
+  doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
 
   # Linking static stubs on cygwin requires correct ordering.
   # Consider upstreaming this.
diff --git a/pkgs/development/libraries/git2/0.25.nix b/pkgs/development/libraries/git2/0.25.nix
new file mode 100644
index 000000000000..9743b82a14ab
--- /dev/null
+++ b/pkgs/development/libraries/git2/0.25.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchFromGitHub, cmake, pkgconfig, python
+, zlib, libssh2, openssl, http-parser, curl
+, libiconv, Security
+}:
+
+stdenv.mkDerivation rec {
+  version = "0.25.1";
+  name = "libgit2-${version}";
+
+  src = fetchFromGitHub {
+    owner = "libgit2";
+    repo = "libgit2";
+    rev = "v${version}";
+    sha256 = "1jhikg0gqpdzfzhgv44ybdpm24lvgkc7ki4306lc5lvmj1s2nylj";
+  };
+
+  cmakeFlags = [ "-DTHREADSAFE=ON" ];
+
+  nativeBuildInputs = [ cmake python pkgconfig ];
+
+  buildInputs = [ zlib libssh2 openssl http-parser curl ]
+    ++ stdenv.lib.optional stdenv.isDarwin Security;
+
+  propagatedBuildInputs = stdenv.lib.optional (!stdenv.isLinux) libiconv;
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "The Git linkable library";
+    homepage = https://libgit2.github.com/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = with stdenv.lib.platforms; all;
+  };
+}
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
index 0d53d00737ba..c0659a79fd34 100644
--- a/pkgs/development/libraries/git2/default.nix
+++ b/pkgs/development/libraries/git2/default.nix
@@ -1,37 +1,36 @@
-{ stdenv, fetchurl, pkgconfig, cmake, zlib, python, libssh2, openssl, curl, http-parser, libiconv }:
+{ stdenv, fetchFromGitHub, pkgconfig, cmake
+, zlib, python, libssh2, openssl, curl, http-parser
+, libiconv, Security
+}:
 
 stdenv.mkDerivation (rec {
-  version = "0.25.1";
   name = "libgit2-${version}";
+  version = "0.26.0";
+  # keep the version in sync with pythonPackages.pygit2 and gnome3.libgit2-glib
 
-  src = fetchurl {
-    name = "${name}.tar.gz";
-    url = "https://github.com/libgit2/libgit2/tarball/v${version}";
-    sha256 = "100bah8picqjzyhpw4wd7z5vyidcb8aggin50bhbpn607h8n8bml";
+  src = fetchFromGitHub {
+    owner = "libgit2";
+    repo = "libgit2";
+    rev = "v${version}";
+    sha256 = "0zrrmfkfhd2xb4879z5khjb6xsdklrm01f1lscrs2ks68v25fk78";
   };
 
-  # TODO: `cargo` (rust's package manager) surfaced a serious bug in
-  # libgit2 when the `Security.framework` transport is used on Darwin.
-  # The upstream issue is tracked at
-  # https://github.com/libgit2/libgit2/issues/3885 - feel free to
-  # remove this patch as soon as it's resolved (i.E. when cargo is
-  # working fine without this patch)
-  patches = stdenv.lib.optionals stdenv.isDarwin [
-    ./disable-security.framework.patch
-  ];
-
-  cmakeFlags = "-DTHREADSAFE=ON";
+  cmakeFlags = [ "-DTHREADSAFE=ON" ];
 
   nativeBuildInputs = [ cmake python pkgconfig ];
-  buildInputs = [ zlib libssh2 openssl http-parser curl ];
 
-  meta = {
+  buildInputs = [ zlib libssh2 openssl http-parser curl ]
+    ++ stdenv.lib.optional stdenv.isDarwin Security;
+
+  propagatedBuildInputs = stdenv.lib.optional (!stdenv.isLinux) [ libiconv ];
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
     description = "The Git linkable library";
     homepage = https://libgit2.github.com/;
-    license = stdenv.lib.licenses.gpl2;
-    platforms = with stdenv.lib.platforms; all;
+    license = licenses.gpl2;
+    platforms = with platforms; all;
   };
 } // stdenv.lib.optionalAttrs (!stdenv.isLinux) {
-  NIX_LDFLAGS = "-liconv";
-  propagatedBuildInputs = [ libiconv ];
 })
diff --git a/pkgs/development/libraries/git2/disable-security.framework.patch b/pkgs/development/libraries/git2/disable-security.framework.patch
deleted file mode 100644
index ce6a008b1c4c..000000000000
--- a/pkgs/development/libraries/git2/disable-security.framework.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From fbc2ea65406236a740b8734dd41dc5ddbc24f8c9 Mon Sep 17 00:00:00 2001
-From: mulrich <mulrich@entwicklerheld.local>
-Date: Mon, 8 Aug 2016 15:36:07 +0200
-Subject: [PATCH] disable security.framework
-
----
- CMakeLists.txt    | 7 +++----
- src/curl_stream.c | 9 ++++++++-
- 2 files changed, 11 insertions(+), 5 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 93a9e47..331e148 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -49,7 +49,8 @@ ENDIF()
- 
- IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
- 	SET( USE_ICONV ON )
--	FIND_PACKAGE(Security)
-+	# FIND_PACKAGE(Security)
-+  SET(SECURITY_FOUND "NO")
- 	FIND_PACKAGE(CoreFoundation REQUIRED)
- ENDIF()
- 
-@@ -87,9 +88,7 @@ IF(MSVC)
- 	OPTION(MSVC_CRTDBG "Enable CRTDBG memory leak reporting" OFF)
- ENDIF()
- 
--IF (NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
--	OPTION( USE_OPENSSL                     "Link with and use openssl library"             ON )
--ENDIF()
-+OPTION( USE_OPENSSL                     "Link with and use openssl library"             ON )
- 
- CHECK_STRUCT_HAS_MEMBER ("struct stat" st_mtim "sys/types.h;sys/stat.h"
- 	HAVE_STRUCT_STAT_ST_MTIM LANGUAGE C)
-diff --git a/src/curl_stream.c b/src/curl_stream.c
-index 98de187..a8a9f4c 100644
---- a/src/curl_stream.c
-+++ b/src/curl_stream.c
-@@ -309,7 +309,14 @@ int git_curl_stream_new(git_stream **out, const char *host, const char *port)
- 	curl_easy_setopt(handle, CURLOPT_HTTPPROXYTUNNEL, 1);
- 	curl_easy_setopt(handle, CURLOPT_PROXYAUTH, CURLAUTH_ANY);
- 
--	/* curl_easy_setopt(handle, CURLOPT_VERBOSE, 1); */
-+  const char* cainfo = getenv("SSL_CERT_FILE");
-+  if(cainfo != NULL) {
-+    curl_easy_setopt(handle, CURLOPT_CAINFO, cainfo);
-+  }
-+
-+  /*
-+	curl_easy_setopt(handle, CURLOPT_VERBOSE, 1);
-+  */
- 
- 	st->parent.version = GIT_STREAM_VERSION;
- 	st->parent.encrypted = 0; /* we don't encrypt ourselves */
--- 
-2.3.8 (Apple Git-58)
-
diff --git a/pkgs/development/libraries/glib-networking/default.nix b/pkgs/development/libraries/glib-networking/default.nix
index 422b7f4c58c6..fd8055fd0b39 100644
--- a/pkgs/development/libraries/glib-networking/default.nix
+++ b/pkgs/development/libraries/glib-networking/default.nix
@@ -2,7 +2,7 @@
 , gsettings_desktop_schemas }:
 
 let
-  ver_maj = "2.50";
+  ver_maj = "2.54";
   ver_min = "0";
 in
 stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/glib-networking/${ver_maj}/${name}.tar.xz";
-    sha256 = "3f1a442f3c2a734946983532ce59ed49120319fdb10c938447c373d5e5286bee";
+    sha256 = "5961b3779080b72314b373ff5d4790eb7e41b75ca91816ad7a81ef32922f7096";
   };
 
   outputs = [ "out" "dev" ]; # to deal with propagatedBuildInputs
diff --git a/pkgs/development/libraries/glibc/2.25-49.patch.gz b/pkgs/development/libraries/glibc/2.25-49.patch.gz
deleted file mode 100644
index 6796347e3795..000000000000
--- a/pkgs/development/libraries/glibc/2.25-49.patch.gz
+++ /dev/null
Binary files differdiff --git a/pkgs/development/libraries/glibc/2.26-75.patch.gz b/pkgs/development/libraries/glibc/2.26-75.patch.gz
new file mode 100644
index 000000000000..e2a8867e4fff
--- /dev/null
+++ b/pkgs/development/libraries/glibc/2.26-75.patch.gz
Binary files differdiff --git a/pkgs/development/libraries/glibc/common.nix b/pkgs/development/libraries/glibc/common.nix
index 5c7bbb32c330..7894d75fbe67 100644
--- a/pkgs/development/libraries/glibc/common.nix
+++ b/pkgs/development/libraries/glibc/common.nix
@@ -19,9 +19,9 @@
 } @ args:
 
 let
-  version = "2.25";
-  patchSuffix = "-49";
-  sha256 = "067bd9bb3390e79aa45911537d13c3721f1d9d3769931a30c2681bfee66f23a0";
+  version = "2.26";
+  patchSuffix = "-75";
+  sha256 = "1ggnj1hzjym7sn93rbwydcqd562q73lsb7g7kd199g6j9j9hlkp5";
   cross = if buildPlatform != hostPlatform then hostPlatform else null;
 in
 
@@ -46,7 +46,7 @@ stdenv.mkDerivation ({
           glibc-2.25-49-gbc5ace67fe
           $ git show --reverse glibc-2.25..release/2.25/master | gzip -n -9 --rsyncable - > 2.25-49.patch.gz
       */
-      ./2.25-49.patch.gz
+      ./2.26-75.patch.gz
 
       /* Have rpcgen(1) look for cpp(1) in $PATH.  */
       ./rpcgen-path.patch
@@ -100,15 +100,12 @@ stdenv.mkDerivation ({
       (if profilingLibraries
        then "--enable-profile"
        else "--disable-profile")
-    ] ++ lib.optionals (cross == null && withLinuxHeaders) [
-      "--enable-kernel=2.6.32"
+    ] ++ lib.optionals withLinuxHeaders [
+      "--enable-kernel=3.2.0" # can't get below with glibc >= 2.26
     ] ++ lib.optionals (cross != null) [
       (if cross.withTLS then "--with-tls" else "--without-tls")
       (if cross ? float && cross.float == "soft" then "--without-fp" else "--with-fp")
-    ] ++ lib.optionals (cross != null
-          && cross.platform ? kernelMajor
-          && cross.platform.kernelMajor == "2.6") [
-      "--enable-kernel=2.6.0"
+    ] ++ lib.optionals (cross != null) [
       "--with-__thread"
     ] ++ lib.optionals (cross == null && stdenv.isArm) [
       "--host=arm-linux-gnueabi"
diff --git a/pkgs/development/libraries/glibmm/default.nix b/pkgs/development/libraries/glibmm/default.nix
index 5c318c9b46a2..a3af96d51edc 100644
--- a/pkgs/development/libraries/glibmm/default.nix
+++ b/pkgs/development/libraries/glibmm/default.nix
@@ -1,15 +1,15 @@
 { stdenv, fetchurl, pkgconfig, gnum4, glib, libsigcxx }:
 
 let
-  ver_maj = "2.50";
-  ver_min = "0";
+  ver_maj = "2.54";
+  ver_min = "1";
 in
 stdenv.mkDerivation rec {
   name = "glibmm-${ver_maj}.${ver_min}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/glibmm/${ver_maj}/${name}.tar.xz";
-    sha256 = "df726e3c6ef42b7621474b03b644a2e40ec4eef94a1c5a932c1e740a78f95e94";
+    sha256 = "0jkapw18icz59cmlmsl00nwwz0wh291kb4hc9z9hxmq45drqrhkw";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/glog/default.nix b/pkgs/development/libraries/glog/default.nix
index c663c4e68a77..93e94fc8c42b 100644
--- a/pkgs/development/libraries/glog/default.nix
+++ b/pkgs/development/libraries/glog/default.nix
@@ -2,19 +2,19 @@
 
 stdenv.mkDerivation rec {
   name = "glog-${version}";
-  version = "0.3.4";
-  
+  version = "0.3.5";
+
   src = fetchFromGitHub {
-    owner = "Google";
+    owner = "google";
     repo = "glog";
     rev = "v${version}";
-    sha256 = "0ym5g15m7c8kjfr2c3zq6bz08ghin2d1r1nb6v2vnkfh1vn945x1";
+    sha256 = "12v7j6xy0ghya6a0f6ciy4fnbdc486vml2g07j9zm8y5xc6vx3pq";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/google-glog/;
+    homepage = https://github.com/google/glog;
     license = licenses.bsd3;
     description = "Library for application-level logging";
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/gnutls/generic.nix b/pkgs/development/libraries/gnutls/generic.nix
index 0b633f0a2f17..d2947cd7c6b5 100644
--- a/pkgs/development/libraries/gnutls/generic.nix
+++ b/pkgs/development/libraries/gnutls/generic.nix
@@ -12,7 +12,8 @@ assert guileBindings -> guile != null;
 let
   # XXX: Gnulib's `test-select' fails on FreeBSD:
   # http://hydra.nixos.org/build/2962084/nixlog/1/raw .
-  doCheck = !stdenv.isFreeBSD && !stdenv.isDarwin && lib.versionAtLeast version "3.4";
+  doCheck = !stdenv.isFreeBSD && !stdenv.isDarwin && lib.versionAtLeast version "3.4"
+      && stdenv.buildPlatform == stdenv.hostPlatform;
 in
 stdenv.mkDerivation {
   name = "gnutls-${version}";
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index b26ae9c9d612..f629b9a8a3c3 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -7,7 +7,7 @@
 # In that case its about 6MB which could be separated
 
 let
-  ver_maj = "1.52";
+  ver_maj = "1.54";
   ver_min = "1";
 in
 with stdenv.lib;
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gobject-introspection/${ver_maj}/${name}.tar.xz";
-    sha256 = "1x5gkyrglv3dn9b4fsgw6asqgjw1wj7qc37g9pyac6pyaa6w7l1f";
+    sha256 = "0zl7pfkzkm07733391b4f3cwjbnvb1nwvpmajf5bajh6bxgfv3dq";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gperftools/default.nix b/pkgs/development/libraries/gperftools/default.nix
index e6d1fd3b6403..5c863cf26cbe 100644
--- a/pkgs/development/libraries/gperftools/default.nix
+++ b/pkgs/development/libraries/gperftools/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage = https://code.google.com/p/gperftools/;
+    homepage = https://github.com/gperftools/gperftools;
     description = "Fast, multi-threaded malloc() and nifty performance analysis tools";
     platforms = with platforms; linux ++ darwin;
     license = licenses.bsd3;
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 69378d95a301..2e0e711ce71d 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -17,11 +17,11 @@ let
   inherit (stdenv.lib) optional optionalString;
 in
 stdenv.mkDerivation rec {
-  name = "gst-plugins-bad-1.10.4";
+  name = "gst-plugins-bad-1.12.2";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Bad Plugins";
-    homepage    = "http://gstreamer.freedesktop.org";
+    homepage    = "https://gstreamer.freedesktop.org";
     longDescription = ''
       a set of plug-ins that aren't up to par compared to the
       rest.  They might be close to being good quality, but they're missing
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-bad/${name}.tar.xz";
-    sha256 = "0rk9rlzf2b0hjw5hwbadz53yh4ls7vm3w3cshsa3n8isdd8axp93";
+    sha256 = "0dwyq03g2m0p16dwx8q5qvjn5x9ia72h21sf87mp97gmwkfpwb4w";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 70aa9101ad8b..2ff429179642 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -4,18 +4,18 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-base-1.10.4";
+  name = "gst-plugins-base-1.12.2";
 
   meta = {
     description = "Base plugins and helper libraries";
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-base/${name}.tar.xz";
-    sha256 = "1dsyjf6rncsbg4rfj40cvf1wwpjj9h3j3c7bh4zp7jylnfv4blpn";
+    sha256 = "0x86a7aph0y6gyq178plvwvbbyhkfb3hf0gadx9sk5z1mzixqrsh";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 4bd7fb5396ac..fa69d358394c 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -1,13 +1,14 @@
 { stdenv, fetchurl, pkgconfig, perl, bison, flex, python, gobjectIntrospection
 , glib, makeWrapper
+, darwin
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-1.10.4";
+  name = "gstreamer-1.12.2";
 
   meta = {
     description = "Open source multimedia framework";
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
     maintainers = [ stdenv.lib.maintainers.ttuegel ];
@@ -15,7 +16,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer/${name}.tar.xz";
-    sha256 = "062jidnw17hkpva6ddygp80gyasyigfkpm1y7w56rk56a2pzbhjh";
+    sha256 = "1fllz7n58lavyy4nh64xc7izd4ffhl12a2ff0yg4z67al8wkzplz";
   };
 
   outputs = [ "out" "dev" ];
@@ -24,6 +25,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkgconfig perl bison flex python gobjectIntrospection makeWrapper
   ];
+  buildInputs = stdenv.lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.CoreServices;
 
   propagatedBuildInputs = [ glib ];
 
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index cf69fa943a27..e206f317d4ba 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -3,18 +3,18 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gstreamer-editing-services-1.10.4";
+  name = "gstreamer-editing-services-1.12.2";
 
   meta = with stdenv.lib; {
     description = "Library for creation of audio/video non-linear editors";
-    homepage    = "http://gstreamer.freedesktop.org";
+    homepage    = "https://gstreamer.freedesktop.org";
     license     = licenses.lgpl2Plus;
     platforms   = platforms.unix;
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-editing-services/${name}.tar.xz";
-    sha256 = "0i11b1rwkjsy9gxrf9vk9lgg8qm60ggfi5lp0ncyh4lxvh16vbgj";
+    sha256 = "0bi0f487949k9xnl1r6ngysgaibmmswwgdqcrchg0dixnnbm9isr";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/gnonlin/default.nix b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
index 90d4ec458a93..c04b64ae3c6a 100644
--- a/pkgs/development/libraries/gstreamer/gnonlin/default.nix
+++ b/pkgs/development/libraries/gstreamer/gnonlin/default.nix
@@ -7,7 +7,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Gstreamer Non-Linear Multimedia Editing Plugins";
-    homepage    = "http://gstreamer.freedesktop.org";
+    homepage    = "https://gstreamer.freedesktop.org";
     longDescription = ''
       Gnonlin is a library built on top of GStreamer which provides 
       support for writing non-linear audio and video editing
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index c18d8332b0c0..1c7f7951e916 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -11,11 +11,11 @@ let
   inherit (stdenv.lib) optionals optionalString;
 in
 stdenv.mkDerivation rec {
-  name = "gst-plugins-good-1.10.4";
+  name = "gst-plugins-good-1.12.2";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Good Plugins";
-    homepage    = "http://gstreamer.freedesktop.org";
+    homepage    = "https://gstreamer.freedesktop.org";
     longDescription = ''
       a set of plug-ins that we consider to have good quality code,
       correct functionality, our preferred license (LGPL for the plug-in
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-good/${name}.tar.xz";
-    sha256 = "0zjdwxn83sp9wjp9rxjbyk8kf284g9av7l2v6rjldi586hacd1la";
+    sha256 = "15pfw54fsh9s9xwrnbap4z4njwgqdfvq52k562d2hc5b11rfx4am";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
index a41695655114..f6138fafaefc 100644
--- a/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
+++ b/pkgs/development/libraries/gstreamer/gstreamermm/default.nix
@@ -12,6 +12,13 @@ stdenv.mkDerivation rec {
     sha256 = "0i4sk6ns4dyi4szk45bkm4kvl57l52lgm15p2wg2rhx2gr2w3qry";
   };
 
+  patches = [
+    (fetchurl {
+      url = https://bug783628.bugzilla-attachments.gnome.org/attachment.cgi?id=354765;
+      sha256 = "082510a934bl05mz4cyakp8mfmd97cdj7vdrbvyqc4g58dcskvz0";
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig file ];
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
index 953f8900ade9..95b394a6d4b7 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-ffmpeg/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     urls = [
-      "http://gstreamer.freedesktop.org/src/gst-ffmpeg/${name}.tar.bz2"
+      "https://gstreamer.freedesktop.org/src/gst-ffmpeg/${name}.tar.bz2"
       "mirror://gentoo/distfiles/${name}.tar.bz2"
       ];
     sha256 = "0qmvgwcfybci78sd73mhvm4bsb7l0xsk9yljrgik80g011ds1z3n";
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
index fecc77b2a544..bdb1b6c7bb7a 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-bad/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
 
     description = "‘Bad’ (potentially low quality) plug-ins for GStreamer";
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
index 5b2ba728f3a8..2c2e1b0da122 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-base/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   postInstall = "rm -rf $out/share/gtk-doc";
 
   meta = with stdenv.lib; {
-    homepage    = http://gstreamer.freedesktop.org;
+    homepage    = https://gstreamer.freedesktop.org;
     description = "Base plug-ins for GStreamer";
     license     = licenses.lgpl2Plus;
     maintainers = with maintainers; [ lovek323 ];
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
index 9339de3d9ed4..d533f798d999 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-good/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
 
     description = "`Good' plug-ins for GStreamer";
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
index 9863b3e01285..5c289fb39114 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-plugins-ugly/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = {
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
 
     description = "‘Ugly’ (potentially patent-encumbered) plug-ins for GStreamer";
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
index fd01aa5c1dce..c8414a7b681b 100644
--- a/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/gst-python/default.nix
@@ -27,7 +27,7 @@ in stdenv.mkDerivation rec {
   propagatedBuildInputs = [ gstreamer python ];
 
   meta = {
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
 
     description = "Python bindings for GStreamer";
 
diff --git a/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix
index 74b1417e0694..9797f21c1685 100644
--- a/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/legacy/qt-gstreamer/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   pname = "qt-gstreamer";
 
   src = fetchurl {
-    url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.bz2";
+    url = "https://gstreamer.freedesktop.org/src/${pname}/${name}.tar.bz2";
     sha256 = "1pqg9sxzk8sdrf7pazb5v21hasqai9i4l203gbdqz29w2ll1ybsl";
   };
 
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index f312a14de24f..7c0a05f8202b 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -9,17 +9,17 @@
 assert withSystemLibav -> libav != null;
 
 stdenv.mkDerivation rec {
-  name = "gst-libav-1.10.4";
+  name = "gst-libav-1.12.2";
 
   meta = {
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-libav/${name}.tar.xz";
-    sha256 = "12r68ri03mgbbwsxyn6yklgfsq32rwvyq83zw0aq7m73fp5gx83c";
+    sha256 = "1crdahkjm23byg1awcrjkmgfbalfpvvac7h7whm6b2r1pfwkbdsv";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
index 72068bb1f7bc..a9e7f9fcff3e 100644
--- a/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
+++ b/pkgs/development/libraries/gstreamer/qt-gstreamer/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   pname = "qt-gstreamer";
 
   src = fetchurl {
-    url = "http://gstreamer.freedesktop.org/src/${pname}/${name}.tar.xz";
+    url = "https://gstreamer.freedesktop.org/src/${pname}/${name}.tar.xz";
     sha256 = "9f3b492b74cad9be918e4c4db96df48dab9c012f2ae5667f438b64a4d92e8fd4";
   };
 
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index bd034ac13a15..610f10075a8d 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -5,11 +5,11 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-plugins-ugly-1.10.4";
+  name = "gst-plugins-ugly-1.12.2";
 
   meta = with stdenv.lib; {
     description = "Gstreamer Ugly Plugins";
-    homepage    = "http://gstreamer.freedesktop.org";
+    homepage    = "https://gstreamer.freedesktop.org";
     longDescription = ''
       a set of plug-ins that have good quality and correct functionality,
       but distributing them might pose problems.  The license on either
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-plugins-ugly/${name}.tar.xz";
-    sha256 = "0ngsiwcsz3jd08id4mc0qiy2q1n7h2kkvdnh3r1vm725m1ycg1k3";
+    sha256 = "0rplyp1qk359c97ig9i2vc1v34g92khd8dslwfipva1ypwmr9hqw";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index caca54400841..becd4cf0d921 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "gst-vaapi-${version}";
-  version = "1.10.4";
+  version = "1.12.2";
 
   src = fetchurl {
     url = "${meta.homepage}/src/gstreamer-vaapi/gstreamer-vaapi-${version}.tar.xz";
-    sha256 = "0xfyf1mgcxnwf380wxv20hakl2srp34dmiw6bm4zkncl2mi91rh3";
+    sha256 = "0fhncs27hcdcnb9a4prkxlyvr883hnzsx148zzk7lg2b8zh19ir3";
   };
 
   outputs = [ "out" "dev" ];
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   configureFlags = "--disable-builtin-libvpx --with-gstreamer-api=1.0";
 
   meta = {
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.linux;
     maintainers = with stdenv.lib.maintainers; [ tstrobel ];
diff --git a/pkgs/development/libraries/gstreamer/validate/default.nix b/pkgs/development/libraries/gstreamer/validate/default.nix
index b537ad2897d7..9704ca1d743c 100644
--- a/pkgs/development/libraries/gstreamer/validate/default.nix
+++ b/pkgs/development/libraries/gstreamer/validate/default.nix
@@ -3,18 +3,18 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "gst-validate-1.10.4";
+  name = "gst-validate-1.12.2";
 
   meta = {
     description = "Integration testing infrastructure for the GStreamer framework";
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
     license = stdenv.lib.licenses.lgpl2Plus;
     platforms = stdenv.lib.platforms.unix;
   };
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-validate/${name}.tar.xz";
-    sha256 = "0g6px08x4kq5xqlbyxvxn6cm9b1s1gfvhkmlrmvw9afccjzh1775";
+    sha256 = "1pgycs35bwmp4aicyxwyzlfy1i5l2rzmh2a8ivhgy21azp8jaykb";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/gtdialog/default.nix b/pkgs/development/libraries/gtdialog/default.nix
index d6f745d399d1..36da2fb72aa4 100644
--- a/pkgs/development/libraries/gtdialog/default.nix
+++ b/pkgs/development/libraries/gtdialog/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="gtdialog";
-    version="1.3";
+    version="1.4";
     name="${baseName}-${version}";
-    hash="0y7sln877940bpj0s38cs5s97xg8csnaihh18lmnchf7c2kkbxpq";
-    url="http://foicica.com/gtdialog/download/gtdialog_1.3.zip";
-    sha256="0y7sln877940bpj0s38cs5s97xg8csnaihh18lmnchf7c2kkbxpq";
+    hash="1lhsaz56s8m838fi6vnfcd2r6djymvy3n2pbqhii88hraapq3rfk";
+    url="http://foicica.com/gtdialog/download/gtdialog_1.4.zip";
+    sha256="1lhsaz56s8m838fi6vnfcd2r6djymvy3n2pbqhii88hraapq3rfk";
   };
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
diff --git a/pkgs/development/libraries/gtest/default.nix b/pkgs/development/libraries/gtest/default.nix
index 84b1fa9757ce..f5fc635a5a43 100644
--- a/pkgs/development/libraries/gtest/default.nix
+++ b/pkgs/development/libraries/gtest/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Google's framework for writing C++ tests";
-    homepage = https://code.google.com/p/googletest/;
+    homepage = https://github.com/google/googletest;
     license = licenses.bsd3;
     platforms = platforms.all;
     maintainers = with maintainers; [ zoomulator ivan-tkatchev ];
diff --git a/pkgs/development/libraries/gupnp-av/default.nix b/pkgs/development/libraries/gupnp-av/default.nix
index 789fdcd9c2a7..9b61f4b648e1 100644
--- a/pkgs/development/libraries/gupnp-av/default.nix
+++ b/pkgs/development/libraries/gupnp-av/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
   name = "gupnp-av-${version}";
   majorVersion = "0.12";
-  version = "${majorVersion}.7";
+  version = "${majorVersion}.10";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gupnp-av/${majorVersion}/${name}.tar.xz";
-    sha256 = "35e775bc4f7801d65dcb710905a6b8420ce751a239b5651e6d830615dc906ea8";
+    sha256 = "0nmq6wlbfsssanv3jgv2z0nhfkv8vzfr3gq5qa8svryvvn2fyf40";
   };
   
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gupnp-dlna/default.nix b/pkgs/development/libraries/gupnp-dlna/default.nix
new file mode 100644
index 000000000000..642e10ea541d
--- /dev/null
+++ b/pkgs/development/libraries/gupnp-dlna/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, fetchurl, pkgconfig,  gobjectIntrospection, gupnp, gst_plugins_base }:
+
+stdenv.mkDerivation rec {
+  name = "gupnp-dlna-${version}";
+  majorVersion = "0.10";
+  version = "${majorVersion}.5";
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/gupnp-dlna/${majorVersion}/${name}.tar.xz";
+    sha256 = "0spzd2saax7w776p5laixdam6d7smyynr9qszhbmq7f14y13cghj";
+  };
+
+  nativeBuildInputs = [ pkgconfig gobjectIntrospection ];
+  buildInputs = [ gupnp gst_plugins_base ];
+
+  meta = {
+    homepage = https://wiki.gnome.org/Projects/GUPnP/;
+    description = "Library to ease DLNA-related bits for applications using GUPnP";
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/gupnp/default.nix b/pkgs/development/libraries/gupnp/default.nix
index afd5ee591c60..963b93ef6917 100644
--- a/pkgs/development/libraries/gupnp/default.nix
+++ b/pkgs/development/libraries/gupnp/default.nix
@@ -2,12 +2,12 @@
  
 stdenv.mkDerivation rec {
   name = "gupnp-${version}";
-  majorVersion = "0.20";
-  version = "${majorVersion}.14";
+  majorVersion = "1.0";
+  version = "${majorVersion}.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gupnp/${majorVersion}/gupnp-${version}.tar.xz";
-    sha256 = "77ffb940ba77c4a6426d09d41004c75d92652dcbde86c84ac1c847dbd9ad59bd";
+    sha256 = "043nqxlj030a3wvd6x4c9z8fjarjjjsl2pjarl0nn70ig6kzswsi";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/gusb/default.nix b/pkgs/development/libraries/gusb/default.nix
index 93f24b0f7225..4da9db3ef047 100644
--- a/pkgs/development/libraries/gusb/default.nix
+++ b/pkgs/development/libraries/gusb/default.nix
@@ -1,24 +1,22 @@
 {stdenv, fetchurl
 , automake, autoconf, libtool, which, gtkdoc, gettext, pkgconfig, gobjectIntrospection, libxslt
-, glib, systemd, libusb1, vala_0_23
+, glib, systemd, libusb1, vala_0_38
 }:
 stdenv.mkDerivation rec {
   name = "gusb-${version}";
-  version = "0.2.9";
+  version = "0.2.11";
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = "http://people.freedesktop.org/~hughsient/releases/libgusb-${version}.tar.xz";
-    sha256 = "056yxlppgycsfw1l8c9j6givk1n15jylhvx89wqhsxdi1b6vs83k";
+    url = "https://people.freedesktop.org/~hughsient/releases/libgusb-${version}.tar.xz";
+    sha256 = "1pppz17lw3khyz8by1dddxdqrv6qn4a23fpxs38c67db7x4l7ccw";
   };
 
   preConfigure = "./autogen.sh";
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    autoconf automake libtool which gtkdoc gettext gobjectIntrospection libxslt
-    systemd vala_0_23 glib
-  ];
+  nativeBuildInputs = [ pkgconfig autoconf automake libtool which gtkdoc gettext
+                        gobjectIntrospection libxslt vala_0_38 ];
+  buildInputs = [ systemd  glib ];
 
   propagatedBuildInputs = [ libusb1 ];
 
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 6eb341d66bce..78f507ca1465 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, intltool, libtool
 , glib, dbus, udev, libgudev, udisks2, libgcrypt, libcap, polkit
-, libgphoto2, avahi, libarchive, fuse, libcdio
+, libgphoto2, avahi, libarchive, fuse, libcdio, file, bzip2, lzma
 , libxml2, libxslt, docbook_xsl, samba, libmtp
 , gnomeSupport ? false, gnome, makeWrapper }:
 
 let
-  ver_maj = "1.30";
+  ver_maj = "1.34";
   version = "${ver_maj}.1";
 in
 stdenv.mkDerivation rec {
@@ -13,21 +13,21 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gvfs/${ver_maj}/${name}.tar.xz";
-    sha256 = "e752e7bb46e64e4025f63428d4f5247e3e5c0d0b5eeb4f81dbf1cd7b75f59d7b";
+    sha256 = "1d3j6f252mk316hrspwy63inrhxk6l78l4bmlmql401lqapb5yby";
   };
 
   nativeBuildInputs = [
-    pkgconfig intltool libtool
+    pkgconfig intltool libtool file makeWrapper
     libxml2 libxslt docbook_xsl
   ];
 
   buildInputs =
-    [ makeWrapper glib dbus udev libgudev udisks2 libgcrypt
-      libgphoto2 avahi libarchive fuse libcdio
+    [ glib dbus udev libgudev udisks2 libgcrypt
+      libgphoto2 avahi libarchive fuse libcdio lzma bzip2
       samba libmtp libcap polkit
       # ToDo: a ligther version of libsoup to have FTP/HTTP support?
     ] ++ stdenv.lib.optionals gnomeSupport (with gnome; [
-      gtk libsoup libgnome_keyring gconf gcr
+      libsoup libgnome_keyring gconf gcr
       # ToDo: not working and probably useless until gnome3 from x-updates
     ]);
 
diff --git a/pkgs/development/libraries/icu/base.nix b/pkgs/development/libraries/icu/base.nix
index 78e0c5740446..8a7cf8365a5b 100644
--- a/pkgs/development/libraries/icu/base.nix
+++ b/pkgs/development/libraries/icu/base.nix
@@ -25,6 +25,11 @@ stdenv.mkDerivation {
     echo Source root reset to ''${sourceRoot}
   '';
 
+  # https://sourceware.org/glibc/wiki/Release/2.26#Removal_of_.27xlocale.h.27
+  postPatch = if stdenv ? glibc
+    then "substituteInPlace i18n/digitlst.cpp --replace '<xlocale.h>' '<locale.h>'"
+    else null; # won't find locale_t on darwin
+
   inherit patchFlags patches;
 
   preConfigure = ''
diff --git a/pkgs/development/libraries/iniparser/default.nix b/pkgs/development/libraries/iniparser/default.nix
index a09bcd6f039c..e586b30393e6 100644
--- a/pkgs/development/libraries/iniparser/default.nix
+++ b/pkgs/development/libraries/iniparser/default.nix
@@ -1,17 +1,14 @@
 { stdenv, fetchFromGitHub }:
 
-let
-  inherit (stdenv.lib) optional;
-
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "iniparser-${version}";
-  version = "4.0";
+  version = "4.1";
 
   src = fetchFromGitHub {
     owner = "ndevilla";
     repo = "iniparser";
     rev = "v${version}";
-    sha256 = "0339qa0qxa5z02xjcs5my8v91v0r9jm4piswrl1sa29kwyxgv5nb";
+    sha256 = "0dhab6pad6wh816lr7r3jb6z273njlgw2vpw8kcfnmi7ijaqhnr5";
   };
 
   patches = ./no-usr.patch;
@@ -19,9 +16,6 @@ in stdenv.mkDerivation rec {
   doCheck = true;
   preCheck = "patchShebangs test/make-tests.sh";
 
-  # TODO: Build dylib on Darwin
-  buildFlags = (if stdenv.isDarwin then [ "libiniparser.a" ] else [ "libiniparser.so" ]) ++ [ "CC=cc" ];
-
   installPhase = ''
     mkdir -p $out/lib
 
@@ -34,17 +28,16 @@ in stdenv.mkDerivation rec {
     done;
     cp -r html $out/share/doc/${name}
 
-  '' + (if stdenv.isDarwin then ''
     cp libiniparser.a $out/lib
-  '' else ''
-    cp libiniparser.so.0 $out/lib
-    ln -s libiniparser.so.0 $out/lib/libiniparser.so
-  '');
+    cp libiniparser.so.1 $out/lib
+    ln -s libiniparser.so.1 $out/lib/libiniparser.so
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "Free standalone ini file parsing library";
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.unix;
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.primeos ];
   };
 }
diff --git a/pkgs/development/libraries/jasper/default.nix b/pkgs/development/libraries/jasper/default.nix
index 63dd931a139f..af543c4e1976 100644
--- a/pkgs/development/libraries/jasper/default.nix
+++ b/pkgs/development/libraries/jasper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "jasper-${version}";
-  version = "2.0.13";
+  version = "2.0.14";
 
   src = fetchFromGitHub {
     repo = "jasper";
     owner = "mdadams";
     rev = "version-${version}";
-    sha256 = "1kd2xiszg9bxfavs3fadi4gi27m876d9zjjy0ns6mmbcjk109c0a";
+    sha256 = "0aarg8nbik9wrm7fx0451sbm5ypfdfr6i169pxzi354mpdp8gg7f";
   };
 
   # newer reconf to recognize a multiout flag
diff --git a/pkgs/development/libraries/java/junixsocket/default.nix b/pkgs/development/libraries/java/junixsocket/default.nix
index 317ba601cfbd..bc34957b9c3e 100644
--- a/pkgs/development/libraries/java/junixsocket/default.nix
+++ b/pkgs/development/libraries/java/junixsocket/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "junixsocket-1.3";
 
   src = fetchurl {
-    url = "http://junixsocket.googlecode.com/files/${name}-src.tar.bz2";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/junixsocket/${name}-src.tar.bz2";
     sha256 = "0c6p8vmiv5nk8i6g1hgivnl3mpb2k3lhjjz0ss9dlirisfrxf1ym";
   };
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A Java/JNI library for using Unix Domain Sockets from Java";
-    homepage = https://code.google.com/p/junixsocket/;
+    homepage = https://github.com/kohlschutter/junixsocket;
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.linux ++ stdenv.lib.platforms.darwin;
   };
diff --git a/pkgs/development/libraries/json-glib/default.nix b/pkgs/development/libraries/json-glib/default.nix
index 9d434c088bad..2414931e76aa 100644
--- a/pkgs/development/libraries/json-glib/default.nix
+++ b/pkgs/development/libraries/json-glib/default.nix
@@ -1,24 +1,34 @@
-{ stdenv, fetchurl, glib, pkgconfig, gobjectIntrospection, dbus, libintlOrEmpty }:
+{ stdenv, fetchurl, fetchpatch, glib, meson, ninja, pkgconfig, gettext, gobjectIntrospection, dbus, libintlOrEmpty }:
 
 stdenv.mkDerivation rec {
-  name = "json-glib-${minVer}.0";
-  minVer = "1.2";
+  name = "json-glib-${minVer}.2";
+  minVer = "1.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/json-glib/${minVer}/${name}.tar.xz";
-    sha256 = "1lx7p1c7cl21byvfgw92n8dhm09vi6qxrs0zkx9dg3y096zdzmlr";
+    sha256 = "2d7709a44749c7318599a6829322e081915bdc73f5be5045882ed120bb686dc8";
   };
 
-  configureflags= "--with-introspection";
-
-  propagatedBuildInputs = [ glib gobjectIntrospection ];
-  nativeBuildInputs = [ pkgconfig ];
+  propagatedBuildInputs = [ glib ];
+  nativeBuildInputs = [ meson ninja pkgconfig gettext gobjectIntrospection ];
   buildInputs = libintlOrEmpty;
 
   NIX_LDFLAGS = stdenv.lib.optionalString stdenv.isDarwin "-lintl";
 
+  patches = [
+    # https://gitlab.gnome.org/GNOME/json-glib/issues/27
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/json-glib/merge_requests/2.diff";
+      sha256 = "0pf006jxj1ki7a0w4ykxm6b24m0wafrhpdcmixsw9x83m227156c";
+    })
+  ];
+
   outputs = [ "out" "dev" ];
 
+  doCheck = true;
+
+  checkPhase = "meson test";
+
   meta = with stdenv.lib; {
     homepage = http://live.gnome.org/JsonGlib;
     description = "A library providing (de)serialization support for the JavaScript Object Notation (JSON) format";
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 0e0372ad7ac1..6453252b1612 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.39/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.40/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
index 7fc11b1505c9..3efd4cf4e2a8 100644
--- a/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
+++ b/pkgs/development/libraries/kde-frameworks/ktexteditor.nix
@@ -14,9 +14,4 @@ mkDerivation {
     qtxmlpatterns sonnet syntax-highlighting qtquickcontrols
   ];
   propagatedBuildInputs = [ kparts ];
-  patches = [ (fetchpatch {
-    url = "https://cgit.kde.org/ktexteditor.git/patch/?id=aeebeadb5f5955995c17de56cf83ba7166a132dd";
-    sha256 = "10a61w1qyw3czffl06xgccgd3yycz7s0hpg2vj0a24v05jhqiigf";
-    name = "ktextedtor_fix_indenters.patch";
-  })];
 }
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 3a8ed594655e..f87d632af0c6 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -3,611 +3,611 @@
 
 {
   attica = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/attica-5.39.0.tar.xz";
-      sha256 = "15972518n4g65k391imkcsjikfsfhx8livdm6n0whag0aiz55haf";
-      name = "attica-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/attica-5.40.0.tar.xz";
+      sha256 = "1ng76yhljl1ny0wvb7yckiivwqn3llmhk0h4j82zag5965q906iz";
+      name = "attica-5.40.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/baloo-5.39.0.tar.xz";
-      sha256 = "06y8mv7v9y7syz04x0zicdm628k6za3p366xrzwafc43m159wyms";
-      name = "baloo-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/baloo-5.40.0.tar.xz";
+      sha256 = "09hqw8xl34galpiv6rwnq2rrbdp6z9nkx9j71jf87ia22sclz55a";
+      name = "baloo-5.40.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/bluez-qt-5.39.0.tar.xz";
-      sha256 = "0j0072q0zc9hdpjbkqciqv18pwpdij74qrjph7whh66csjkr5ad1";
-      name = "bluez-qt-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/bluez-qt-5.40.0.tar.xz";
+      sha256 = "0js212bi7h09bcbd2lr7ic10fy3z09w3v0d0r5210p989qd42a5a";
+      name = "bluez-qt-5.40.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/breeze-icons-5.39.0.tar.xz";
-      sha256 = "132bpgma1lqhrly48zz1f8jyg5z5pvnn1wnqxz6psvqhipw7fh5x";
-      name = "breeze-icons-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/breeze-icons-5.40.0.tar.xz";
+      sha256 = "1gdpv6w9a6bhr0dgaldi9pj24a2qvz1ax4jya8i4ck7dl9cgkq96";
+      name = "breeze-icons-5.40.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/extra-cmake-modules-5.39.0.tar.xz";
-      sha256 = "1ldwzx2bzlzw7r31w8zy08j4cn9q7d1kszc5jb22zhfqpvbkc1dq";
-      name = "extra-cmake-modules-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/extra-cmake-modules-5.40.0.tar.xz";
+      sha256 = "02k3dr4w12l9rdgl3l1v3d8zhaf51km4w3p1c3sy8x24r24qir43";
+      name = "extra-cmake-modules-5.40.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/frameworkintegration-5.39.0.tar.xz";
-      sha256 = "136s8chyiac30czicqgkrc4abgm7c8b2ppnqwv9ngxpx7nsjgd2h";
-      name = "frameworkintegration-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/frameworkintegration-5.40.0.tar.xz";
+      sha256 = "1r480hx18irycaygbxbxsgf1qrk6cdj0ccfi4rqcygxkv52gcxxj";
+      name = "frameworkintegration-5.40.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kactivities-5.39.0.tar.xz";
-      sha256 = "0nkc1p7n6yvybcib6aqmnz08hwn3ryj1f9wbkiimgs0svr00sslq";
-      name = "kactivities-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kactivities-5.40.0.tar.xz";
+      sha256 = "0c6dgmzs6l33kr4a7aivs8ijf6yw616pz5gmh7sdjw2ny4gxdzab";
+      name = "kactivities-5.40.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kactivities-stats-5.39.0.tar.xz";
-      sha256 = "18ghfqggwf38rmb1lkbv8ggxx71cp6ba3882kp5ccb7wwih51qcy";
-      name = "kactivities-stats-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kactivities-stats-5.40.0.tar.xz";
+      sha256 = "0cdnq2nh3p7baxcag0f1sid5mrmmidfpsd77bb9s0xj11jvs95bx";
+      name = "kactivities-stats-5.40.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kapidox-5.39.0.tar.xz";
-      sha256 = "12nmsa1cg5amyawfxywlg8qsl01idi0jacrd8jzmvdj5m8sisw6n";
-      name = "kapidox-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kapidox-5.40.0.tar.xz";
+      sha256 = "1wvnbmxjxmrm0z1digbfbf5ssf6klzdmzf5lbw7ilf5mkah1bdpy";
+      name = "kapidox-5.40.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/karchive-5.39.0.tar.xz";
-      sha256 = "0rb8vr6lg8vx4f07swvlsyrxy4gj21aqfffk0cvhlsdz94j1phrw";
-      name = "karchive-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/karchive-5.40.0.tar.xz";
+      sha256 = "1cbvv6rdrnag2vjbrzdg59csmqi247d594xan7r319qb76ai860y";
+      name = "karchive-5.40.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kauth-5.39.0.tar.xz";
-      sha256 = "08bjxvv22y199skx4l9m8az165wz7inqqx7s8b7p5cjms4bvi15i";
-      name = "kauth-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kauth-5.40.0.tar.xz";
+      sha256 = "072wjhvscyyh2q61knxm8ipqr9r01dzhqd8dihp6c5zmbbpz29ss";
+      name = "kauth-5.40.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kbookmarks-5.39.0.tar.xz";
-      sha256 = "1xfabyc7hxmi1p0wqld0va5pl6bfwh50px4mvpxbnjdna6anw6z5";
-      name = "kbookmarks-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kbookmarks-5.40.0.tar.xz";
+      sha256 = "1i28pic968llggh24hn84kiq9nhdcv3pn4hbhb0lqb4chrmm322i";
+      name = "kbookmarks-5.40.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kcmutils-5.39.0.tar.xz";
-      sha256 = "1cz4haj83j59szl16r0mfh4zx93szrwkmb9mq2r21v46c8k5ldw0";
-      name = "kcmutils-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kcmutils-5.40.0.tar.xz";
+      sha256 = "1pjvjidv9nx8kg5wvkmxanp9y6ins9f43cn933q6g9gczy2hfcbl";
+      name = "kcmutils-5.40.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kcodecs-5.39.0.tar.xz";
-      sha256 = "1q0l88nfbxgdy5lpm5xbcs749n9jyxhq7xsgqpf9c8irc7c1gw7f";
-      name = "kcodecs-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kcodecs-5.40.0.tar.xz";
+      sha256 = "0zq9d5006zhp0v31ydc7q0i117l6f8b04l5jgqcl719q1a2hk1x4";
+      name = "kcodecs-5.40.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kcompletion-5.39.0.tar.xz";
-      sha256 = "09jdc4pn7yjb7nagic38xiqdpv9fy4f2f4c1a5ynbli7x1r6l7ms";
-      name = "kcompletion-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kcompletion-5.40.0.tar.xz";
+      sha256 = "17dzal655xdxdsifk2dmgyj2hja03pcvdqvzpsyq259qbm42cal4";
+      name = "kcompletion-5.40.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kconfig-5.39.0.tar.xz";
-      sha256 = "011i48f07470igqqcz4hychbw0q85p0bh5dykpla4zwdldllsl1w";
-      name = "kconfig-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kconfig-5.40.0.tar.xz";
+      sha256 = "0pr9ammqgbz3gkg6iczp3v9s36cfzzh40kbz2bz29qaxa966b5kb";
+      name = "kconfig-5.40.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kconfigwidgets-5.39.0.tar.xz";
-      sha256 = "1i6cniqsmn9sds8nj7bcsnbmlkq9m1yjwvr45mhal9rkhaas4xzw";
-      name = "kconfigwidgets-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kconfigwidgets-5.40.0.tar.xz";
+      sha256 = "0g5xm3fm3d6a63hbdq1xxiv539z15bhrs36ariq93flc4f912pbz";
+      name = "kconfigwidgets-5.40.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kcoreaddons-5.39.0.tar.xz";
-      sha256 = "0qskv44siykyn8iiq99llibw3bk499ry7r3i8abx4ljjl717cvlz";
-      name = "kcoreaddons-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kcoreaddons-5.40.0.tar.xz";
+      sha256 = "0n4gvfayaiahvavrx1y3ass6anz30965zm81iczi2749hva9s415";
+      name = "kcoreaddons-5.40.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kcrash-5.39.0.tar.xz";
-      sha256 = "1fv32l50h9rlc5s9iplyljcsrscivgdy2baghq7hbcs58xrjf1ws";
-      name = "kcrash-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kcrash-5.40.0.tar.xz";
+      sha256 = "01h41zz3x0m5hc3zm2v0mifzc42akp5bwxwjzaaryl8pcg8v5lln";
+      name = "kcrash-5.40.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kdbusaddons-5.39.0.tar.xz";
-      sha256 = "0hp85995n3193dvvdv48hv59b66dzd9p4iwnx2dmj797lghpnir3";
-      name = "kdbusaddons-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kdbusaddons-5.40.0.tar.xz";
+      sha256 = "09zbdy8lzhq6lvd9j9667r90k6p6a882bxans6am1yxx4y0jd9i4";
+      name = "kdbusaddons-5.40.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kdeclarative-5.39.0.tar.xz";
-      sha256 = "1l8wnyfz6qjqmcpdzavsb6m1r3ay1b2r186myymsyknr80yr2d7p";
-      name = "kdeclarative-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kdeclarative-5.40.0.tar.xz";
+      sha256 = "10yp7g9awv4mdf5zl6ljxplfy50jzmixp45vdqcmcixiq72440d6";
+      name = "kdeclarative-5.40.0.tar.xz";
     };
   };
   kded = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kded-5.39.0.tar.xz";
-      sha256 = "0jv4ghl2gzfdkhk1in3vx39kigvpprvcb9xlzc5506mpfjc38ga5";
-      name = "kded-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kded-5.40.0.tar.xz";
+      sha256 = "0jf4xahsz86hiv50vs9yhwd2g410d5wjds8mdm5hi8085f7dcf84";
+      name = "kded-5.40.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/portingAids/kdelibs4support-5.39.0.tar.xz";
-      sha256 = "03xjzhdvs497sk9bpz79crxlzwff198ivj4n5f0mwmnqc0100dfp";
-      name = "kdelibs4support-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/portingAids/kdelibs4support-5.40.0.tar.xz";
+      sha256 = "1pwmi490hwnijpwjm80zdvbwanlslhnfh8nrlxmiham7ls551mzr";
+      name = "kdelibs4support-5.40.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kdesignerplugin-5.39.0.tar.xz";
-      sha256 = "1b7rn66wsyn9aipgvfmn2pq18g0zdjxb469126dj18fahg2k777f";
-      name = "kdesignerplugin-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kdesignerplugin-5.40.0.tar.xz";
+      sha256 = "00wl4d001ix0ql2hzp818cvhyyr52g06b7zz92qhcyi4x1cf2mqd";
+      name = "kdesignerplugin-5.40.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kdesu-5.39.0.tar.xz";
-      sha256 = "03avzhs6a0p3cjv4kk9vavf6f64ffgs3pzhbdkfr76fh58h1v6wx";
-      name = "kdesu-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kdesu-5.40.0.tar.xz";
+      sha256 = "13dv54c9cw6a2zcn7arrqnda08r3rw2q3nqagrrn013xd3dlrac7";
+      name = "kdesu-5.40.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kdewebkit-5.39.0.tar.xz";
-      sha256 = "05f0l3zw8cnvyavwwijwy5jx8dairhdbvg6ynpn7r5l10vawcf6x";
-      name = "kdewebkit-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kdewebkit-5.40.0.tar.xz";
+      sha256 = "1n7cn3yg8ianfk9ymd7hgf1yr2qcck5pg2mcp2bam0zfk4clbcgf";
+      name = "kdewebkit-5.40.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kdnssd-5.39.0.tar.xz";
-      sha256 = "1c8d1wwr0hkdkgnq4k7lgkqwm1pj676i09l1kas256rzz6dcyl75";
-      name = "kdnssd-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kdnssd-5.40.0.tar.xz";
+      sha256 = "10la98wshran4my7s50w85ifvdibvbw3mb4007x8znz92x1ikdfj";
+      name = "kdnssd-5.40.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kdoctools-5.39.0.tar.xz";
-      sha256 = "17g4kf7mbjjxhii4nbhfpmhjs1q23mlh0d3fqyxxhm3pp02jg8ap";
-      name = "kdoctools-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kdoctools-5.40.0.tar.xz";
+      sha256 = "1zzgnqkysdvqc7dkb37gcmxfhwik0bkmd23c4y2av00ra6nzymim";
+      name = "kdoctools-5.40.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kemoticons-5.39.0.tar.xz";
-      sha256 = "132gs69v43ms117ibdqmnhbyzzs5by76pfz7bd2zqwl4mq94hpgh";
-      name = "kemoticons-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kemoticons-5.40.0.tar.xz";
+      sha256 = "1jqifvqbj441jif79j5jqrpksyajarill01v625l30kvd584042c";
+      name = "kemoticons-5.40.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kfilemetadata-5.39.0.tar.xz";
-      sha256 = "1mcxphjpayyq7v16b6c3zhb6c9vn67495xywfb9y8ysma1cdpshg";
-      name = "kfilemetadata-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kfilemetadata-5.40.0.tar.xz";
+      sha256 = "1yivydc32y4q6kd1myv529lhcs66j0y388g7qv4zjz4plv6kyxvb";
+      name = "kfilemetadata-5.40.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kglobalaccel-5.39.0.tar.xz";
-      sha256 = "0wcbnwfi98cx8f99a2mcz2kg7mggz3hipfxv9s8ks6c80865kar1";
-      name = "kglobalaccel-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kglobalaccel-5.40.0.tar.xz";
+      sha256 = "1qslksbln3yhhzal88b04zyi4iibffv687gbsm07i4f68pyp0sgn";
+      name = "kglobalaccel-5.40.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kguiaddons-5.39.0.tar.xz";
-      sha256 = "1az9i5bg7xd7kv7ajq8j8jab7zly683gyi90rmk54vfnn6igbq3f";
-      name = "kguiaddons-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kguiaddons-5.40.0.tar.xz";
+      sha256 = "02hln4pafph1zny4jnmblydc4wnx66pjj4g6dqxafz6hpvdmncp1";
+      name = "kguiaddons-5.40.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/portingAids/khtml-5.39.0.tar.xz";
-      sha256 = "097nbwv8ba48xmrga62j1irlkkc0l0f3971fp7225pzh1g3cg152";
-      name = "khtml-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/portingAids/khtml-5.40.0.tar.xz";
+      sha256 = "0v73ia4dgpx5d7h3lpl54cy7p3qavgahj5h2x5vah7fb2gysy7z0";
+      name = "khtml-5.40.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/ki18n-5.39.0.tar.xz";
-      sha256 = "1985qgihrch37b5gf7qw33bazahm3xb5v2nj43k6vdjxfg1clcay";
-      name = "ki18n-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/ki18n-5.40.0.tar.xz";
+      sha256 = "1nv89yi0f2wnb3lc929zfl6bjwznm2q3p449rp3yzp43lx00sym9";
+      name = "ki18n-5.40.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kiconthemes-5.39.0.tar.xz";
-      sha256 = "1k4r263zz54497dgqaw9a74wqdklq4w353mc0g905k2g8arh7p9f";
-      name = "kiconthemes-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kiconthemes-5.40.0.tar.xz";
+      sha256 = "0i6yjx5fvpbh4hd15wbm69v2qqgxbyfhn1cqp7w7ghgb262b90vx";
+      name = "kiconthemes-5.40.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kidletime-5.39.0.tar.xz";
-      sha256 = "01h5pcr5kn11jby0zsz6igiwzf31hzip7h63dcsa8h67li4sibd8";
-      name = "kidletime-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kidletime-5.40.0.tar.xz";
+      sha256 = "0q6s73vpasfvzxis5br01k2xl8hnxymq8i1k8l60i8b1v46abr99";
+      name = "kidletime-5.40.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kimageformats-5.39.0.tar.xz";
-      sha256 = "1mnfdsxqnqdzhw3as77n1f1ddxpmab4slqlpwi4ih55xmgl85455";
-      name = "kimageformats-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kimageformats-5.40.0.tar.xz";
+      sha256 = "1ld47qkb26gzwvr6bmqa16p4rwf3avi4fm15rpmmxjlbc9pm9n51";
+      name = "kimageformats-5.40.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kinit-5.39.0.tar.xz";
-      sha256 = "0a2wl1vhsbb2x1cjd3wz7j3bp9kz1pxfc6mml7gpnq70qgk8hsn2";
-      name = "kinit-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kinit-5.40.0.tar.xz";
+      sha256 = "1296dr1iln5g55j75fb1l5b8c1lj32lsccb82qvpaf57h22fp5ya";
+      name = "kinit-5.40.0.tar.xz";
     };
   };
   kio = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kio-5.39.0.tar.xz";
-      sha256 = "091g4dbnals6c5wrj3xh3ws29wszysmb9ksyvyqf3d1lp9dfmjwn";
-      name = "kio-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kio-5.40.0.tar.xz";
+      sha256 = "16rqmh0mdncyyq2vidfpyml94n7vmz7rx71v53salpwr3cihpsih";
+      name = "kio-5.40.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kirigami2-5.39.0.tar.xz";
-      sha256 = "0spgylk4yjy74rs5d5b28qv72qz5ra9j3wfmk6vx2b6cvf1fw517";
-      name = "kirigami2-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kirigami2-5.40.0.tar.xz";
+      sha256 = "0a22cwxfrkp0hd5isisaz9bnx2sjixi2cm9l35yvbzdnlmm6qjrb";
+      name = "kirigami2-5.40.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kitemmodels-5.39.0.tar.xz";
-      sha256 = "1bn0k0ya2phix6fyv8ax800ahncrkdzikz0sa3xrw5bq3iz1x6k9";
-      name = "kitemmodels-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kitemmodels-5.40.0.tar.xz";
+      sha256 = "0ij5q0g0cq793znslb7sz6qcrmcdlcx706an8ciznidlwayh9fx9";
+      name = "kitemmodels-5.40.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kitemviews-5.39.0.tar.xz";
-      sha256 = "0pl899d1lz1dymdbq70485a8332z9i3s38dxnxv3cdwbla3xlsfh";
-      name = "kitemviews-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kitemviews-5.40.0.tar.xz";
+      sha256 = "0347nx4n5sr0dz2zjzdp7s1ca5gnmcr9d881raj50knsgcwgb3m3";
+      name = "kitemviews-5.40.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kjobwidgets-5.39.0.tar.xz";
-      sha256 = "1z26555pkirdkfw8c9j1a863pqybklryfa30v3a59a0m9v2jdzfc";
-      name = "kjobwidgets-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kjobwidgets-5.40.0.tar.xz";
+      sha256 = "0m2bfa397mzifgxvpw8hpks95yx5krak0285qk14innr21n62qnk";
+      name = "kjobwidgets-5.40.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/portingAids/kjs-5.39.0.tar.xz";
-      sha256 = "0fkn308l6drj7pa94niqhcn2pqv7da7da5lq1nk8q6zlyg4nbcrn";
-      name = "kjs-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/portingAids/kjs-5.40.0.tar.xz";
+      sha256 = "0nkddm9zjjnsmky71112n8ik6f0am52dmhlarcym2i08zy05chdm";
+      name = "kjs-5.40.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/portingAids/kjsembed-5.39.0.tar.xz";
-      sha256 = "1i3qyxr409x82nqyck4qva63maxa2vvi07i0yxm6zqx5lvm9gkgb";
-      name = "kjsembed-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/portingAids/kjsembed-5.40.0.tar.xz";
+      sha256 = "0fc3454almq5llhwmkhrwpcl2m1nfjyyhvpnmm879yhrbjf7vnid";
+      name = "kjsembed-5.40.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/portingAids/kmediaplayer-5.39.0.tar.xz";
-      sha256 = "09ysw11br4k26bq6rvzcws2g565336p3gjkz4fxc8w2g3ma527p1";
-      name = "kmediaplayer-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/portingAids/kmediaplayer-5.40.0.tar.xz";
+      sha256 = "13pykc6zvcv6p0k6m9cqf1fx93jb39ilgn1zlvkws7s1jq4ifkpl";
+      name = "kmediaplayer-5.40.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/knewstuff-5.39.0.tar.xz";
-      sha256 = "1amflv96ybd6dqkc1chmz6d5crrl4dcq07fwsalxzx9mgr0z499r";
-      name = "knewstuff-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/knewstuff-5.40.0.tar.xz";
+      sha256 = "0i4ybzx165js2pl85k8si1waywn4yp47gj16szdx7snlrzvhmq3i";
+      name = "knewstuff-5.40.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/knotifications-5.39.0.tar.xz";
-      sha256 = "0f38ca090p291d114fg3jz25lhwz7vad7s60ql4x3xwmdgaaw7dj";
-      name = "knotifications-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/knotifications-5.40.0.tar.xz";
+      sha256 = "013r52a6wl9ayp42mvzrq7s8r5mx73bk1j56zxk3yz45xv6gsm0v";
+      name = "knotifications-5.40.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/knotifyconfig-5.39.0.tar.xz";
-      sha256 = "09nk6sr6sp9a85lj4x9ac0ir4s5ac08835927b95d7m4ap2dbxrb";
-      name = "knotifyconfig-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/knotifyconfig-5.40.0.tar.xz";
+      sha256 = "1c89k1qnbqyq7d9dsccd9645cq7n6vfyn10sh9f7zraqybi75k3k";
+      name = "knotifyconfig-5.40.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kpackage-5.39.0.tar.xz";
-      sha256 = "1ibppkg9m77p0dcpfshcd891vlxcfgx6rk205gq6d5qxyqizygki";
-      name = "kpackage-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kpackage-5.40.0.tar.xz";
+      sha256 = "17hhj8x5r3cpb6cx32f1chg6mklxvcwgmw16c3h2sh4p6bgmibmq";
+      name = "kpackage-5.40.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kparts-5.39.0.tar.xz";
-      sha256 = "1r32jf2qbhqdjih9ff4n0ajd6s1cdncpq367mp5am31fz1jv3sr6";
-      name = "kparts-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kparts-5.40.0.tar.xz";
+      sha256 = "1vvmgsqwgics6q86c413wx2yk9mgwvj4wm3fk6my0pi3l166djrl";
+      name = "kparts-5.40.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kpeople-5.39.0.tar.xz";
-      sha256 = "1s78dld3zlldhpk66s08v34zwi1k5ghivzbi7ab290sgrjc9afar";
-      name = "kpeople-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kpeople-5.40.0.tar.xz";
+      sha256 = "1yfs0k3pwcgkzyf0x568jmmjb5gb757c7qdwmz7g0s3gdnhm1mbr";
+      name = "kpeople-5.40.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kplotting-5.39.0.tar.xz";
-      sha256 = "1diy1f23n6pih0s91kv1bp4mnnypnjl3pmi1xqni1v2cfwy0mnba";
-      name = "kplotting-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kplotting-5.40.0.tar.xz";
+      sha256 = "1hnnvxvz74s7ir5bgqrvd0iv6fl7d18rqi6yjxy5j8b0f8bgrp7i";
+      name = "kplotting-5.40.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kpty-5.39.0.tar.xz";
-      sha256 = "02h6dg3w3k58d1ydzyz6mhd1y5gds3k64wdsb84fnpxvlw46dlhn";
-      name = "kpty-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kpty-5.40.0.tar.xz";
+      sha256 = "1r5lddjhr6g3gzwfmcs7mkc585mz4j6ngnn2m5mlgz2cf8bgf277";
+      name = "kpty-5.40.0.tar.xz";
     };
   };
   kross = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/portingAids/kross-5.39.0.tar.xz";
-      sha256 = "1gh9gicr7ba8y3c0r7qpw2fj651fbbrhsy8gps8yll71axhxqvfh";
-      name = "kross-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/portingAids/kross-5.40.0.tar.xz";
+      sha256 = "1y89sksha028rxdf534kc3ljnccm2zy111lfnb36vq22wzi7198p";
+      name = "kross-5.40.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/krunner-5.39.0.tar.xz";
-      sha256 = "0gxs9z8mlb3s615ccrgkwyxww4jly48d8fkay33zwjaanqhkhgfl";
-      name = "krunner-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/krunner-5.40.0.tar.xz";
+      sha256 = "19g02k7g2i92fv68gssyqrc1gwlhh924glmzhswp52rkwz4rqf2c";
+      name = "krunner-5.40.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kservice-5.39.0.tar.xz";
-      sha256 = "0abz878yc8yir7iv5scn55d0g2nljnzhr9c81wa6ggjsw0h077hl";
-      name = "kservice-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kservice-5.40.0.tar.xz";
+      sha256 = "0dpd7zpw6x4iqb27a13aazbk9rgbngrdkxz76pq4x32ynzrzzhzc";
+      name = "kservice-5.40.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/ktexteditor-5.39.0.tar.xz";
-      sha256 = "1bk5wlvzjmfv7g9ab77asn055jp647zj69mfx2z3lvxb69swdnf5";
-      name = "ktexteditor-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/ktexteditor-5.40.0.tar.xz";
+      sha256 = "0xlhxgsj1cyvxrhj4d0ydcns1p18x51igh9bda66rp5p3wx8xm5n";
+      name = "ktexteditor-5.40.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/ktextwidgets-5.39.0.tar.xz";
-      sha256 = "0p6h165y03ir7qdf50kc77iq9plgvx39c8pz9dalvscvx42d2jaq";
-      name = "ktextwidgets-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/ktextwidgets-5.40.0.tar.xz";
+      sha256 = "0dm2nka8vyazz10hi55d1imi49ip2lfns1dimwnwbi15j3a14m6r";
+      name = "ktextwidgets-5.40.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kunitconversion-5.39.0.tar.xz";
-      sha256 = "04r1b2nc6vi56nfh6glhhd3d9v0ywxn2waibryjbszwrr39yhlzv";
-      name = "kunitconversion-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kunitconversion-5.40.0.tar.xz";
+      sha256 = "1qp0jcds7khbdxbi025ngz62xbw0k35psy204yz95wrmg302hvnw";
+      name = "kunitconversion-5.40.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kwallet-5.39.0.tar.xz";
-      sha256 = "1vlz9y3r1n6w7q9is60jsl9f7bm1djckdi9ibgzanwsp4k5ab0sz";
-      name = "kwallet-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kwallet-5.40.0.tar.xz";
+      sha256 = "0lyx3vdql9n2bwr37wjk6l0k9n2si16gx74vmn1f4r7vqyhij8nd";
+      name = "kwallet-5.40.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kwayland-5.39.0.tar.xz";
-      sha256 = "0a9hi47nrsspkak88c9f6ind2i7q69zjmrgr5n7xsa4zxznwhx6x";
-      name = "kwayland-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kwayland-5.40.0.tar.xz";
+      sha256 = "00x4df45d80p1nvb0pjbg4y2vmcsghy9hnsr6mwyrhbkdrqdwkid";
+      name = "kwayland-5.40.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kwidgetsaddons-5.39.0.tar.xz";
-      sha256 = "1d0d3ags15vr7ck031m6n5n3hw347siskzhb8rsgzghn6xnmbfdb";
-      name = "kwidgetsaddons-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kwidgetsaddons-5.40.0.tar.xz";
+      sha256 = "16h65q1ibmwc5rmwf9jixxrawcd3jvrb5z4z2pcmh8242n1hyhk8";
+      name = "kwidgetsaddons-5.40.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kwindowsystem-5.39.0.tar.xz";
-      sha256 = "1dys70va4h00ixxgxv52wbg8wi3jgsqckaikjqr34fzrmjh1lxqp";
-      name = "kwindowsystem-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kwindowsystem-5.40.0.tar.xz";
+      sha256 = "0cw062m9phy7z5yg75yg7qwg2lpz8270mwbmmwcbw9bl6qqkbwzz";
+      name = "kwindowsystem-5.40.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kxmlgui-5.39.0.tar.xz";
-      sha256 = "0zwy11rh3yphl2346hmcahajxkgmrnfz1m8pd3vlnjs175dwz115";
-      name = "kxmlgui-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kxmlgui-5.40.0.tar.xz";
+      sha256 = "07a7h9l0qwsnlwkh7pf50wmq21939mwynplm2zzzv3hkhfj89v6v";
+      name = "kxmlgui-5.40.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/kxmlrpcclient-5.39.0.tar.xz";
-      sha256 = "1j4a1n3ydln62m98h5p5lxlg1i7k5vzxb4f9kxkvzhw5gfpy78zs";
-      name = "kxmlrpcclient-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/kxmlrpcclient-5.40.0.tar.xz";
+      sha256 = "01zbgnqf2sfjgmx8nn6ljzpvqjg777j2yh2jm55rc4yh15qvvn0l";
+      name = "kxmlrpcclient-5.40.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/modemmanager-qt-5.39.0.tar.xz";
-      sha256 = "0gdsp1017yjcfbq2jny7jz5rv7y4cavps5pfvg7zmylx0v057zk7";
-      name = "modemmanager-qt-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/modemmanager-qt-5.40.0.tar.xz";
+      sha256 = "0i0jpcy4c8zak9vv5jzcp4m78vk8mcv27dqi464jh9vaz9z7znfj";
+      name = "modemmanager-qt-5.40.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/networkmanager-qt-5.39.0.tar.xz";
-      sha256 = "1jksv0zsdmkrid2f1m92fxw3gl6crcjaw43v5zra8h2m394iyr81";
-      name = "networkmanager-qt-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/networkmanager-qt-5.40.0.tar.xz";
+      sha256 = "178rm4c3304fn2h1jbfvf9zji8kkvnzkmnpnk0nkjh9dyqa80jvp";
+      name = "networkmanager-qt-5.40.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/oxygen-icons5-5.39.0.tar.xz";
-      sha256 = "1k1rns0fz5gvfnfwg60lrcw885cqmn814nzql9jvk07340w29s98";
-      name = "oxygen-icons5-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/oxygen-icons5-5.40.0.tar.xz";
+      sha256 = "057v69r3rvrw2qjqmb93k0m29ssgifb4sgm8xbfqx17b5iqms9f3";
+      name = "oxygen-icons5-5.40.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/plasma-framework-5.39.0.tar.xz";
-      sha256 = "1gaxk9mzwlyld09gqk29y3shvi6a1g1q3l849a9kl1hd07gr53x3";
-      name = "plasma-framework-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/plasma-framework-5.40.0.tar.xz";
+      sha256 = "1mjgy3116pdzvmw43yqhrqz74nyw200yhnnynxk569krgymvalvg";
+      name = "plasma-framework-5.40.0.tar.xz";
     };
   };
   prison = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/prison-5.39.0.tar.xz";
-      sha256 = "1b0ji341xcamrd19z54r2nkm8cglbr4qfxyxmqzn8yc6icfl61nv";
-      name = "prison-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/prison-5.40.0.tar.xz";
+      sha256 = "18drqs6j1dx76224hlrp3xmk1hxq6q8638wpf5vmn6vqw8q304vw";
+      name = "prison-5.40.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/qqc2-desktop-style-5.39.0.tar.xz";
-      sha256 = "1q8ihhrnk2dh6bbmwkz822l5vv15y11qaj7gig1lf7xw5nr1i27v";
-      name = "qqc2-desktop-style-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/qqc2-desktop-style-5.40.0.tar.xz";
+      sha256 = "0jpdnsq8yf58p4a7qsgvn3pp7ms7q1pgy4rwrlviyjdrlfc1pv49";
+      name = "qqc2-desktop-style-5.40.0.tar.xz";
     };
   };
   solid = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/solid-5.39.0.tar.xz";
-      sha256 = "19bl7hzg1fya613vqhdxllh09csm6amrndnhfqnx90w4gb31p36r";
-      name = "solid-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/solid-5.40.0.tar.xz";
+      sha256 = "1kj2rs771hyrbbn8qykbrj5fvdv8g7niajbrf6mydbdvqc96zj8x";
+      name = "solid-5.40.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/sonnet-5.39.0.tar.xz";
-      sha256 = "1b5bfjbpb6l3c9j9k42shhnz9lqqxk2g607qx9ni0n2pr7w2p7w1";
-      name = "sonnet-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/sonnet-5.40.0.tar.xz";
+      sha256 = "1a947kgnx5dp7lv63dwzzlxm331c6h0cycv1lcdfcskan1wsmwk8";
+      name = "sonnet-5.40.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/syntax-highlighting-5.39.0.tar.xz";
-      sha256 = "0b8sdkh9dqmqk3x48d25v4qhrqph0mv76v47skhvls9jspw7kzdc";
-      name = "syntax-highlighting-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/syntax-highlighting-5.40.0.tar.xz";
+      sha256 = "0xc06nd95q1mqw41pwrgh798jp9p994qylncabimxbcis39x138l";
+      name = "syntax-highlighting-5.40.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.39.0";
+    version = "5.40.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.39/threadweaver-5.39.0.tar.xz";
-      sha256 = "101bk8rzdysb3vi3vbbkh2s7sb1dhnsa8ncdvdsxqyyaya9ns4aw";
-      name = "threadweaver-5.39.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.40/threadweaver-5.40.0.tar.xz";
+      sha256 = "0in3cp75n6nxlc38fr2pycfgh4k0azi70cnyzc8glyf3f2rw8d9g";
+      name = "threadweaver-5.40.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/lame/default.nix b/pkgs/development/libraries/lame/default.nix
index 8ad7cb95a5d7..2f713cb59775 100644
--- a/pkgs/development/libraries/lame/default.nix
+++ b/pkgs/development/libraries/lame/default.nix
@@ -55,6 +55,12 @@ stdenv.mkDerivation rec {
     (if debugSupport then "--enable-debug=alot" else "")
   ];
 
+  preConfigure = ''
+    # Prevent a build failure for 3.100 due to using outdated symbol list
+    # https://hydrogenaud.io/index.php/topic,114777.msg946373.html#msg946373
+    sed -i '/lame_init_old/d' include/libmp3lame.sym
+  '';
+
   meta = {
     description = "A high quality MPEG Audio Layer III (MP3) encoder";
     homepage    = http://lame.sourceforge.net;
diff --git a/pkgs/development/libraries/leveldb/default.nix b/pkgs/development/libraries/leveldb/default.nix
index 0057611ed0f6..2a109e0366fd 100644
--- a/pkgs/development/libraries/leveldb/default.nix
+++ b/pkgs/development/libraries/leveldb/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   ";
 
   meta = with stdenv.lib; {
-    homepage = https://code.google.com/p/leveldb/;
+    homepage = https://github.com/google/leveldb;
     description = "Fast and lightweight key/value database library by Google";
     license = licenses.bsd3;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/libaal/default.nix b/pkgs/development/libraries/libaal/default.nix
index 88396786ed78..6df7bc22772f 100644
--- a/pkgs/development/libraries/libaal/default.nix
+++ b/pkgs/development/libraries/libaal/default.nix
@@ -9,10 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "176f2sns6iyxv3h9zyirdinjwi05gdak48zqarhib2s38rvm98di";
   };
 
+  patches = [ ./libaal-1.0.6-glibc-2.26.patch ];
+
   preInstall = ''
     substituteInPlace Makefile --replace ./run-ldconfig true
   '';
 
+  enableParallelBuilding = true;
+
   meta = {
     homepage = http://www.namesys.com/;
     description = "Support library for Reiser4";
diff --git a/pkgs/development/libraries/libaal/libaal-1.0.6-glibc-2.26.patch b/pkgs/development/libraries/libaal/libaal-1.0.6-glibc-2.26.patch
new file mode 100644
index 000000000000..6d49682f03ae
--- /dev/null
+++ b/pkgs/development/libraries/libaal/libaal-1.0.6-glibc-2.26.patch
@@ -0,0 +1,89 @@
+Date: 2017-09-02 13:03:15.353403096 +0200
+From: Jan Engelhardt <jengelh@inai.de>
+
+Stop redefining libc definitions that cause build failures under glibc-2.26.
+
+[   46s] In file included from /usr/include/sys/types.h:156:0,
+[   46s]                  from /usr/include/stdlib.h:279,
+[   46s]                  from malloc.c:15:
+[   46s] /usr/include/bits/stdint-intn.h:27:19: error: conflicting types for 'int64_t'
+[   46s]  typedef __int64_t int64_t;
+[   46s]                    ^~~~~~~
+[   46s] In file included from ../include/aal/libaal.h:17:0,
+[   46s]                  from malloc.c:6:
+[   46s] ../include/aal/types.h:35:33: note: previous declaration of 'int64_t' was here
+[   46s]  typedef long long int           int64_t;
+
+
+---
+ include/aal/types.h |   48 ++----------------------------------------------
+ 1 file changed, 2 insertions(+), 46 deletions(-)
+
+Index: libaal-1.0.6/include/aal/types.h
+===================================================================
+--- libaal-1.0.6.orig/include/aal/types.h
++++ libaal-1.0.6/include/aal/types.h
+@@ -26,24 +26,7 @@
+ #undef ESTRUCT
+ #define ESTRUCT                 50
+ 
+-#ifndef __int8_t_defined
+-#define __int8_t_defined
+-typedef signed char             int8_t;
+-typedef short int               int16_t;
+-typedef int                     int32_t;
+-__extension__
+-typedef long long int           int64_t;
+-#endif
+- 
+-typedef unsigned char           uint8_t;
+-typedef unsigned short int      uint16_t;
+-#ifndef __uint32_t_defined
+-#define __uint32_t_defined
+-typedef unsigned int            uint32_t;
+-__extension__
+-typedef unsigned long long int  uint64_t;
+-#endif
+-
++#include <stdint.h>
+ #define MAX_UINT8  ((uint8_t)~0)
+ #define MAX_UINT16 ((uint16_t)~0)
+ #define MAX_UINT32 ((uint32_t)~0)
+@@ -53,36 +36,9 @@ typedef unsigned long long int  uint64_t
+    because we don't want use gcc builtins in minimal mode for achive as small
+    binary size as possible. */
+ 
+-#ifndef ENABLE_MINIMAL
+ #  include <stdarg.h>
+-#else
+-#ifndef _VA_LIST_
+-#define _VA_LIST_
+-typedef char *va_list;
+-#endif
+-#undef va_arg
+-#undef va_end
+-#undef va_start
+-
+-#define va_end(ap)       \
+-        do {} while(0);
+-
+-#define va_start(ap, p)  \
+-        (ap = (char *)(&(p)+1))
+-
+-#define va_arg(ap, type) \
+-        ((type *)(ap += sizeof(type)))[-1]
+-#endif
+-
+-/* As libaal may be used without any standard headers, we need to declare NULL
+-   macro here in order to avoid compilation errors. */
+-#undef NULL
+ 
+-#if defined(__cplusplus)
+-#  define NULL 0
+-#else
+-#  define NULL ((void *)0)
+-#endif
++#include <stdio.h>
+ 
+ /* Simple type for direction denoting */
+ enum aal_dir {
diff --git a/pkgs/development/libraries/libatomic_ops/default.upstream b/pkgs/development/libraries/libatomic_ops/default.upstream
deleted file mode 100644
index c9fd4554e4a1..000000000000
--- a/pkgs/development/libraries/libatomic_ops/default.upstream
+++ /dev/null
@@ -1 +0,0 @@
-url https://github.com/ivmai/libatomic_ops/wiki/Download
diff --git a/pkgs/development/libraries/libbsd/darwin.patch b/pkgs/development/libraries/libbsd/darwin.patch
index 77062cf4ec80..a9ac414e93df 100644
--- a/pkgs/development/libraries/libbsd/darwin.patch
+++ b/pkgs/development/libraries/libbsd/darwin.patch
@@ -1,8 +1,8 @@
 diff --git a/configure.ac b/configure.ac
-index 5a432d4..a69ae0b 100644
+index c909878..60c540e 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -55,7 +55,7 @@ AS_CASE([$host_os],
+@@ -59,7 +59,7 @@ AS_CASE([$host_os],
  )
  
  # Checks for header files.
@@ -10,10 +10,10 @@ index 5a432d4..a69ae0b 100644
 +AC_CHECK_HEADERS([sys/ndir.h sys/dir.h ndir.h dirent.h stdio_ext.h])
  
  # Checks for typedefs, structures, and compiler characteristics.
- AC_TYPE_UID_T
-@@ -143,6 +143,31 @@ AC_CHECK_FUNCS([clearenv dirfd fopencookie __fpurge \
+ AC_C_INLINE
+@@ -146,6 +146,31 @@ AC_CHECK_FUNCS([clearenv dirfd fopencookie __fpurge \
                  pstat_getproc sysconf])
- AM_CONDITIONAL(HAVE_GETENTROPY, [test "x$ac_cv_func_getentropy" = "xtrue"])
+ AM_CONDITIONAL([HAVE_GETENTROPY], [test "x$ac_cv_func_getentropy" = "xtrue"])
  
 +HostOS=`echo "$host" | sed 's/.*-//'`
 +os_is_macosx=false
@@ -31,7 +31,7 @@ index 5a432d4..a69ae0b 100644
 +		os_is_macosx=false
 +		nonLinuxOS=false
 +		;;
-+esac		
++esac
 +AM_CONDITIONAL([IS_DARWIN], [test x$os_is_macosx = xtrue])
 +AM_COND_IF([IS_DARWIN],
 +	[AC_DEFINE([IS_DARWIN], [1], [Get HostOS Type is Darwin])])
@@ -44,12 +44,12 @@ index 5a432d4..a69ae0b 100644
  	Makefile
  	include/Makefile
 diff --git a/include/bsd/libutil.h b/include/bsd/libutil.h
-index ebb6160..ce882bf 100644
+index 45b3b15..d0d4043 100644
 --- a/include/bsd/libutil.h
 +++ b/include/bsd/libutil.h
 @@ -39,7 +39,9 @@
- #ifndef _LIBUTIL_H_
- #define _LIBUTIL_H_
+ #ifndef LIBBSD_LIBUTIL_H
+ #define LIBBSD_LIBUTIL_H
  
 +#ifdef HAVE_FEATURES_H
  #include <features.h>
@@ -58,10 +58,10 @@ index ebb6160..ce882bf 100644
  #include <sys/types.h>
  #include <stdint.h>
 diff --git a/include/bsd/stdio.h b/include/bsd/stdio.h
-index 7697425..ef34c4f 100644
+index 4b69983..8e2ac75 100644
 --- a/include/bsd/stdio.h
 +++ b/include/bsd/stdio.h
-@@ -44,12 +44,16 @@
+@@ -48,12 +48,16 @@
  __BEGIN_DECLS
  const char *fmtcheck(const char *, const char *);
  
@@ -69,9 +69,9 @@ index 7697425..ef34c4f 100644
  /* XXX: The function requires cooperation from the system libc to store the
   * line buffer in the FILE struct itself. */
  char *fgetln(FILE *fp, size_t *lenp)
- 	__attribute__((deprecated("This functions cannot be safely ported, "
- 	                          "use getline(3) instead, as it is supported "
- 	                          "by GNU and POSIX.1-2008.")));
+ 	LIBBSD_DEPRECATED("This functions cannot be safely ported, "
+ 	                  "use getline(3) instead, as it is supported "
+ 	                  "by GNU and POSIX.1-2008.");
 +#else
 +char *fgetln(FILE *fp, size_t *lenp);
 +#endif
@@ -519,17 +519,18 @@ index 462535a..e7eb46f 100644
 +}
  #endif
 diff --git a/src/funopen.c b/src/funopen.c
-index 7d6ae31..9963162 100644
+index 1e05c7e..ed8ce85 100644
 --- a/src/funopen.c
 +++ b/src/funopen.c
-@@ -137,6 +137,7 @@ funopen(const void *cookie,
+@@ -137,7 +137,7 @@ funopen(const void *cookie,
  
  	return fopencookie(cookiewrap, mode, funcswrap);
  }
-+#elif defined(darwin) || defined(__APPLE__) || defined(MACOSX)
- #else
- #error "Function funopen() needs to be ported."
- #endif
+-#elif defined(__MUSL__)
++#elif defined(__MUSL__) || defined(darwin) || defined(__APPLE__) || defined(MACOSX)
+ /*
+  * This is unimplementable on musl based systems, and upstream has stated
+  * they will not add the needed support to implement it. Just ignore this
 diff --git a/src/getentropy.c b/src/getentropy.c
 index 3f11a1e..8a23a07 100644
 --- a/src/getentropy.c
@@ -562,13 +563,13 @@ index 4f368a1..ab22fc1 100644
  #define SHA512_DIGEST_LENGTH		64
  
 diff --git a/src/hash/sha512c.c b/src/hash/sha512c.c
-index c2a93be..f69013d 100644
+index b3c8d5e..4fade0f 100644
 --- a/src/hash/sha512c.c
 +++ b/src/hash/sha512c.c
-@@ -27,7 +27,11 @@
- #include <sys/cdefs.h>
- __FBSDID("$FreeBSD$");
+@@ -25,7 +25,11 @@
+  */
  
+ #include <sys/cdefs.h>
 +#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
 +#include <machine/endian.h>
 +#else
@@ -578,24 +579,26 @@ index c2a93be..f69013d 100644
  
  #include <string.h>
 diff --git a/src/nlist.c b/src/nlist.c
-index 0cffe55..f785b61 100644
+index 0932f59..a3ba2be 100644
 --- a/src/nlist.c
 +++ b/src/nlist.c
-@@ -27,6 +27,7 @@
+@@ -27,6 +27,8 @@
   * SUCH DAMAGE.
   */
  
 +#if !defined(darwin) && !defined(__APPLE__) && !defined(MACOSX)
- #if defined(LIBC_SCCS) && !defined(lint)
- static char sccsid[] = "@(#)nlist.c	8.1 (Berkeley) 6/4/93";
- #endif /* LIBC_SCCS and not lint */
-@@ -409,3 +410,4 @@ elf_sym_to_nlist(struct nlist *nl, Elf_Sym *s, Elf_Shdr *shdr, int shnum)
- 		nl->n_type |= N_EXT;
++
+ #include <sys/cdefs.h>
+ 
+ #include <sys/param.h>
+@@ -265,3 +267,5 @@ nlist(const char *name, struct nlist *list)
+ 	(void)close(fd);
+ 	return (n);
  }
- #endif /* _NLIST_DO_ELF */
++
 +#endif
 diff --git a/src/setproctitle.c b/src/setproctitle.c
-index c18c61c..b1b1591 100644
+index 038ac7d..d0ef01b 100644
 --- a/src/setproctitle.c
 +++ b/src/setproctitle.c
 @@ -32,6 +32,11 @@
@@ -626,42 +629,42 @@ index c18c61c..b1b1591 100644
  void setproctitle_stub(const char *fmt, ...)
  	__attribute__((alias("setproctitle_impl")));
 diff --git a/src/strlcat.c b/src/strlcat.c
-index 21c8afb..e036132 100644
+index 14c53a1..e01cb60 100644
 --- a/src/strlcat.c
 +++ b/src/strlcat.c
 @@ -27,7 +27,11 @@
-  * If retval >= siz, truncation occurred.
+  * If retval >= dsize, truncation occurred.
   */
  size_t
 +#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
-+bsd_strlcat(char *dst, const char *src, size_t siz)
++bsd_strlcat(char *dst, const char *src, size_t dsize)
 +#else
- strlcat(char *dst, const char *src, size_t siz)
+ strlcat(char *dst, const char *src, size_t dsize)
 +#endif
  {
- 	char *d = dst;
- 	const char *s = src;
+ 	const char *odst = dst;
+ 	const char *osrc = src;
 diff --git a/src/strlcpy.c b/src/strlcpy.c
-index 1719d35..c63591d 100644
+index e9a7fe4..10a855f 100644
 --- a/src/strlcpy.c
 +++ b/src/strlcpy.c
 @@ -25,7 +25,11 @@
-  * Returns strlen(src); if retval >= siz, truncation occurred.
+  * Returns strlen(src); if retval >= dsize, truncation occurred.
   */
  size_t
 +#if defined(darwin) || defined(__APPLE__) || defined(MACOSX)
-+bsd_strlcpy(char *dst, const char *src, size_t siz)
++bsd_strlcpy(char *dst, const char *src, size_t dsize)
 +#else
- strlcpy(char *dst, const char *src, size_t siz)
+ strlcpy(char *dst, const char *src, size_t dsize)
 +#endif
  {
- 	char *d = dst;
- 	const char *s = src;
+ 	const char *osrc = src;
+ 	size_t nleft = dsize;
 diff --git a/src/strmode.c b/src/strmode.c
-index 8d825ae..c1b5f8d 100644
+index e6afde5..c463243 100644
 --- a/src/strmode.c
 +++ b/src/strmode.c
-@@ -37,7 +37,11 @@ static char sccsid[] = "@(#)strmode.c	8.3 (Berkeley) 8/15/94";
+@@ -33,7 +33,11 @@
  #include <string.h>
  
  void
diff --git a/pkgs/development/libraries/libbsd/default.nix b/pkgs/development/libraries/libbsd/default.nix
index c73096d1eeb5..7e112caf3c78 100644
--- a/pkgs/development/libraries/libbsd/default.nix
+++ b/pkgs/development/libraries/libbsd/default.nix
@@ -20,5 +20,6 @@ stdenv.mkDerivation rec {
     homepage = https://libbsd.freedesktop.org/;
     license = licenses.bsd3;
     platforms = platforms.linux ++ platforms.darwin;
+    maintainers = with maintainers; [ matthewbauer ];
   };
 }
diff --git a/pkgs/development/libraries/libchamplain/default.nix b/pkgs/development/libraries/libchamplain/default.nix
index f6d6c5b803eb..514a1fa85343 100644
--- a/pkgs/development/libraries/libchamplain/default.nix
+++ b/pkgs/development/libraries/libchamplain/default.nix
@@ -3,12 +3,12 @@
 
 stdenv.mkDerivation rec {
   major = "0.12";
-  version = "${major}.14";
+  version = "${major}.16";
   name = "libchamplain-${version}";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libchamplain/${major}/${name}.tar.xz";
-    sha256 = "13snnka1jqc5qrgij8bm22xy02pncf3dn5ij3jh4rrpzq7g1sqpi";
+    sha256 = "13chvc2n074i0jw5jlb8i7cysda4yqx58ca6y3mrlrl9g37k2zja";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libcredis/default.nix b/pkgs/development/libraries/libcredis/default.nix
index 036c918b32db..10a4c276ebd5 100644
--- a/pkgs/development/libraries/libcredis/default.nix
+++ b/pkgs/development/libraries/libcredis/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libcredis-0.2.3";
 
   src = fetchurl {
-    url = "https://credis.googlecode.com/files/credis-0.2.3.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/credis/credis-0.2.3.tar.gz";
     sha256 = "1l3hlw9rrc11qggbg9a2303p3bhxxx2vqkmlk8avsrbqw15r1ayr";
   };
 
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "C client library for Redis (key-value database)";
-    homepage = https://code.google.com/p/credis/;
+    homepage = https://code.google.com/archive/p/credis/;
     license = licenses.bsd3; # from homepage
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/libraries/libctemplate/default.nix b/pkgs/development/libraries/libctemplate/default.nix
index cdaeb4969ae4..94dc733a69b0 100644
--- a/pkgs/development/libraries/libctemplate/default.nix
+++ b/pkgs/development/libraries/libctemplate/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       emphasizes separating logic from presentation: it is impossible to
       embed application logic in this template language.
     '';
-    homepage = http://code.google.com/p/google-ctemplate/;
-    license = "bsd";
+    homepage = https://github.com/OlafvdSpek/ctemplate;
+    license = stdenv.lib.licenses.bsd3;
   };
 }
diff --git a/pkgs/development/libraries/libdivsufsort/default.nix b/pkgs/development/libraries/libdivsufsort/default.nix
index d171f57eb1bc..01ac56e885d0 100644
--- a/pkgs/development/libraries/libdivsufsort/default.nix
+++ b/pkgs/development/libraries/libdivsufsort/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation {
   name = "libdivsufsort-2.0.1";
-  
+
   src = fetchurl {
-    url = http://libdivsufsort.googlecode.com/files/libdivsufsort-2.0.1.tar.bz2;
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libdivsufsort/libdivsufsort-2.0.1.tar.bz2";
     sha256 = "1g0q40vb2k689bpasa914yi8sjsmih04017mw20zaqqpxa32rh2m";
   };
 
   meta = {
-    homepage = http://code.google.com/p/libdivsufsort/;
+    homepage = https://github.com/y-256/libdivsufsort;
     license = stdenv.lib.licenses.mit;
     description = "Library to construct the suffix array and the BW transformed string";
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/development/libraries/libdnet/default.nix b/pkgs/development/libraries/libdnet/default.nix
index dbda4107c485..46e264b59caf 100644
--- a/pkgs/development/libraries/libdnet/default.nix
+++ b/pkgs/development/libraries/libdnet/default.nix
@@ -6,8 +6,8 @@ stdenv.mkDerivation {
   enableParallelBuilding = true;
 
   src = fetchurl {
-    url = http://libdnet.googlecode.com/files/libdnet-1.12.tgz;
-    sha1 = "71302be302e84fc19b559e811951b5d600d976f8";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libdnet/libdnet-1.12.tgz";
+    sha256 = "09mhbr8x66ykhf5581a5zjpplpjxibqzgkkpx689kybwg0wk1cw3";
   };
 
   buildInputs = [ automake autoconf libtool ];
@@ -21,7 +21,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Provides a simplified, portable interface to several low-level networking routines";
-    homepage = http://code.google.com/p/libdnet/;
+    homepage = https://github.com/dugsong/libdnet;
     license = stdenv.lib.licenses.bsd3;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/libraries/libevdev/default.nix b/pkgs/development/libraries/libevdev/default.nix
index a91acb230525..090a12f63de1 100644
--- a/pkgs/development/libraries/libevdev/default.nix
+++ b/pkgs/development/libraries/libevdev/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, python }:
 
 stdenv.mkDerivation rec {
-  name = "libevdev-1.5.6";
+  name = "libevdev-1.5.7";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libevdev/${name}.tar.xz";
-    sha256 = "1256ypz93039n6km4macg158fpmjgylhmcmk20pnklxicsfpxv7c";
+    sha256 = "08nl3p6226k51zph52fhilxvi3b31spp6fz8szzrglzhl8vrxrd1";
   };
 
   buildInputs = [ python ];
diff --git a/pkgs/development/libraries/libexif/default.nix b/pkgs/development/libraries/libexif/default.nix
index ebcba0fa1553..5a8f5126680e 100644
--- a/pkgs/development/libraries/libexif/default.nix
+++ b/pkgs/development/libraries/libexif/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, gettext }:
+{ stdenv, fetchurl, fetchpatch, gettext }:
 
 stdenv.mkDerivation rec {
   name = "libexif-0.6.21";
@@ -8,6 +8,15 @@ stdenv.mkDerivation rec {
     sha256 = "06nlsibr3ylfwp28w8f5466l6drgrnydgxrm4jmxzrmk5svaxk8n";
   };
 
+  patches = [
+   (fetchpatch {
+     name = "CVE-2017-7544.patch";
+     url = https://sourceforge.net/p/libexif/bugs/_discuss/thread/fc394c4b/489a/attachment/xx.pat;
+     sha256 = "1qgk8hgnxr8d63jsc4vljxz9yg33mbml280dq4a6050rmk9wq4la";
+   })
+  ];
+  patchFlags = "-p0";
+
   buildInputs = [ gettext ];
 
   meta = {
diff --git a/pkgs/development/libraries/libextractor/default.nix b/pkgs/development/libraries/libextractor/default.nix
index a6fb4ec515a8..81caa3e91acc 100644
--- a/pkgs/development/libraries/libextractor/default.nix
+++ b/pkgs/development/libraries/libextractor/default.nix
@@ -7,11 +7,11 @@ assert gtkSupport -> glib != null && gtk3 != null;
 assert videoSupport -> ffmpeg != null && libmpeg2 != null;
 
 stdenv.mkDerivation rec {
-  name = "libextractor-1.4";
+  name = "libextractor-1.6";
 
   src = fetchurl {
     url = "mirror://gnu/libextractor/${name}.tar.gz";
-    sha256 = "0v7ns5jhsyp1wzvbaydfgxnva5zd63gkzm9djhckmam9liq824l4";
+    sha256 = "17gnpgspdhfgcr27j8sn9105vb4lw22yqdrhic62l79q5v5avm16";
   };
 
   preConfigure =
diff --git a/pkgs/development/libraries/libfaketime/default.nix b/pkgs/development/libraries/libfaketime/default.nix
index c620254aacd6..cedd5f98027a 100644
--- a/pkgs/development/libraries/libfaketime/default.nix
+++ b/pkgs/development/libraries/libfaketime/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "libfaketime-0.9.6";
+  name = "libfaketime-${version}";
+  version = "0.9.7";
 
   src = fetchurl {
-    url = "http://www.code-wizards.com/projects/libfaketime/${name}.tar.gz";
-    sha256 = "1dw2lqsv2iqwxg51mdn25b4fjj3v357s0mc6ahxawqp210krg29s";
+    url = "https://github.com/wolfcw/libfaketime/archive/v${version}.tar.gz";
+    sha256 = "07l189881q0hybzmlpjyp7r5fwz23iafkm957bwy4gnmn9lg6rad";
   };
 
   patches = [
@@ -16,12 +17,9 @@ stdenv.mkDerivation rec {
     makeFlagsArray+=(PREFIX="$out" LIBDIRNAME=/lib)
   '';
 
-  # Work around "libfaketime.c:513:7: error: nonnull argument 'buf' compared to NULL [-Werror=nonnull-compare]".
-  NIX_CFLAGS_COMPILE = "-Wno-nonnull-compare";
-
   meta = with stdenv.lib; {
     description = "Report faked system time to programs without having to change the system-wide time";
-    homepage = http://www.code-wizards.com/projects/libfaketime/;
+    homepage = "https://github.com/wolfcw/libfaketime/";
     license = licenses.gpl2;
     platforms = platforms.all;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 5447e7d8b543..0df0f570b2e6 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.11.0";
+  version = "0.11.1";
 
   src = fetchurl {
     url = "http://download.filezilla-project.org/libfilezilla/${name}.tar.bz2";
-    sha256 = "1l4yhw269dyarqb2spqhycxzzyfn8pj4qh9vfycdw1c93hj6fx6c";
+    sha256 = "1xv4is3zaz66h6iblj9pikapsjasjcbxx31bhkgn62xdq1sadfpc";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libfreefare/default.nix b/pkgs/development/libraries/libfreefare/default.nix
index 2e8fad3db827..cfae74b4b9e3 100644
--- a/pkgs/development/libraries/libfreefare/default.nix
+++ b/pkgs/development/libraries/libfreefare/default.nix
@@ -6,7 +6,7 @@ stdenv.mkDerivation rec {
   version = "0.4.0";
 
   src = fetchurl {
-    url = "https://libfreefare.googlecode.com/files/libfreefare-0.4.0.tar.bz2";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libfreefare/libfreefare-0.4.0.tar.bz2";
     sha256 = "0r5wfvwgf35lb1v65wavnwz2wlfyfdims6a9xpslf4lsm4a1v8xz";
   };
 
@@ -15,8 +15,8 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "The libfreefare project aims to provide a convenient API for MIFARE card manipulations";
-    license = licenses.gpl3;
-    homepage = http://code.google.com/p/libfreefare/;
+    license = licenses.lgpl3;
+    homepage = https://github.com/nfc-tools/libfreefare;
     maintainers = with maintainers; [bobvanderlinden];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libgphoto2/default.upstream b/pkgs/development/libraries/libgphoto2/default.upstream
deleted file mode 100644
index 0029e6959306..000000000000
--- a/pkgs/development/libraries/libgphoto2/default.upstream
+++ /dev/null
@@ -1,9 +0,0 @@
-url http://sourceforge.net/projects/gphoto/files/libgphoto/
-SF_version_dir
-version_link '[.]tar[.]bz2/download$'
-SF_redirect
-do_overwrite () {
-  ensure_hash
-  set_var_value version "$CURRENT_VERSION"
-  set_var_value sha256 "$CURRENT_HASH"
-}
diff --git a/pkgs/development/libraries/libgtop/default.nix b/pkgs/development/libraries/libgtop/default.nix
index de72072e48be..49cd1d163a60 100644
--- a/pkgs/development/libraries/libgtop/default.nix
+++ b/pkgs/development/libraries/libgtop/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, glib, pkgconfig, perl, intltool, gobjectIntrospection, libintlOrEmpty }:
 stdenv.mkDerivation rec {
   name = "libgtop-${version}";
-  major = "2.34";
-  version = "${major}.1";
+  major = "2.38";
+  version = "${major}.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/libgtop/${major}/${name}.tar.xz";
-    sha256 = "c89978a76662b18d392edbe0d1b794f5a9a399a5ccf22a02d5b9e28b5ed609e2";
+    sha256 = "04mnxgzyb26wqk6qij4iw8cxwl82r8pcsna5dg8vz2j3pdi0wv2g";
   };
 
   propagatedBuildInputs = [ glib ];
diff --git a/pkgs/development/libraries/libgudev/default.nix b/pkgs/development/libraries/libgudev/default.nix
index ef2a44bf183a..a5f8f5036d04 100644
--- a/pkgs/development/libraries/libgudev/default.nix
+++ b/pkgs/development/libraries/libgudev/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libgudev-${version}";
-  version = "231";
+  version = "232";
 
   src = fetchurl {
-    url = "https://download.gnome.org/sources/libgudev/${version}/${name}.tar.xz";
-    sha256 = "15iz0qp57qy5pjrblsn36l0chlncqggqsg8h8i8c71499afzj7iv";
+    url = "mirror://gnome/sources/libgudev/${version}/${name}.tar.xz";
+    sha256 = "ee4cb2b9c573cdf354f6ed744f01b111d4b5bed3503ffa956cefff50489c7860";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/libraries/libhangul/default.nix b/pkgs/development/libraries/libhangul/default.nix
index 79fc973731a6..9e72d933433b 100644
--- a/pkgs/development/libraries/libhangul/default.nix
+++ b/pkgs/development/libraries/libhangul/default.nix
@@ -4,13 +4,13 @@ stdenv.mkDerivation {
   name = "libhangul-0.1.0";
 
   src = fetchurl {
-    url = "https://libhangul.googlecode.com/files/libhangul-0.1.0.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libhangul/libhangul-0.1.0.tar.gz";
     sha256 = "0ni9b0v70wkm0116na7ghv03pgxsfpfszhgyj3hld3bxamfal1ar";
   };
 
   meta = with stdenv.lib; {
     description = "Core algorithm library for Korean input routines";
-    homepage = https://code.google.com/p/libhangul;
+    homepage = https://github.com/choehwanjin/libhangul;
     license = licenses.lgpl21;
     maintainers = [ maintainers.ianwookim ];
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index a91205e182c7..5ba8bb667845 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -2,18 +2,21 @@
 
 stdenv.mkDerivation rec {
   name = "libical-${version}";
-  version = "1.0.1";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "libical";
     repo = "libical";
     rev = "v${version}";
-    sha256 = "1y6rbw24m133d984pyqzx2bi7f37dsw6f33l6arwn6yd4zlqdib9";
+    sha256 = "0xsvqy1hzmwxn783wrb2k8p751544pzv39v9ynr9pj4yzkwjzsvb";
   };
 
   nativeBuildInputs = [ perl cmake ];
 
-  patches = [ ./respect-env-tzdir.patch ];
+  patches = [
+    # TODO: upstream this patch
+    ./respect-env-tzdir.patch
+  ];
 
   meta = with stdenv.lib; {
     homepage = https://github.com/libical/libical;
diff --git a/pkgs/development/libraries/libical/respect-env-tzdir.patch b/pkgs/development/libraries/libical/respect-env-tzdir.patch
index fad78c2fb8a0..715ba1fa8426 100644
--- a/pkgs/development/libraries/libical/respect-env-tzdir.patch
+++ b/pkgs/development/libraries/libical/respect-env-tzdir.patch
@@ -1,27 +1,29 @@
---- a/src/libical/icaltz-util.c	2015-06-11 15:40:58.843138630 +0200
-+++ b/src/libical/icaltz-util.c	2015-06-11 15:43:12.722046252 +0200
-@@ -107,7 +107,7 @@
- 	char	charcnt[4];			
- } tzinfo; 
- 
--static char *search_paths [] = {"/usr/share/zoneinfo","/usr/lib/zoneinfo","/etc/zoneinfo","/usr/share/lib/zoneinfo"};
-+static char *search_paths [] = {"/etc/zoneinfo","/usr/share/zoneinfo","/usr/lib/zoneinfo","/usr/share/lib/zoneinfo"};
+--- a/src/libical/icaltz-util.c
++++ b/src/libical/icaltz-util.c
+@@ -96,9 +96,9 @@ typedef struct
  static char *zdir = NULL;
  
- #define NUM_SEARCH_PATHS (sizeof (search_paths)/ sizeof (search_paths [0]))
-@@ -194,6 +194,15 @@
- 	const char *fname = ZONES_TAB_SYSTEM_FILENAME;
- 	unsigned int i;
+ static char *search_paths[] = {
++    "/etc/zoneinfo",
+     "/usr/share/zoneinfo",
+     "/usr/lib/zoneinfo",
+-    "/etc/zoneinfo",
+     "/usr/share/lib/zoneinfo"
+ };
+ 
+@@ -179,6 +179,15 @@ static void set_zonedir(void)
+     const char *fname = ZONES_TAB_SYSTEM_FILENAME;
+     size_t i, num_search_paths;
  
-+	const char *env_tzdir = getenv ("TZDIR");
-+	if (env_tzdir) {
-+		sprintf (file_path, "%s/%s", env_tzdir, fname);
-+		if (!access (file_path, F_OK|R_OK)) {
-+			zdir = env_tzdir;
-+			return;
-+		}
-+	}
++   const char *env_tzdir = getenv ("TZDIR");
++   if (env_tzdir) {
++       snprintf(file_path, MAXPATHLEN, "%s/%s", env_tzdir, fname);
++       if (!access (file_path, F_OK|R_OK)) {
++           zdir = env_tzdir;
++           return;
++       }
++   }
 +
- 	for (i = 0; i < NUM_SEARCH_PATHS; i++) {
- 		sprintf (file_path, "%s/%s", search_paths [i], fname);
- 		if (!access (file_path, F_OK|R_OK)) {
+     num_search_paths = sizeof(search_paths) / sizeof(search_paths[0]);
+     for (i = 0; i < num_search_paths; i++) {
+         snprintf(file_path, MAXPATHLEN, "%s/%s", search_paths[i], fname);
diff --git a/pkgs/development/libraries/libidn/default.nix b/pkgs/development/libraries/libidn/default.nix
index 3de9cf1e0dbc..df92693de5a6 100644
--- a/pkgs/development/libraries/libidn/default.nix
+++ b/pkgs/development/libraries/libidn/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "dev" "out" "info" "devdoc" ];
 
-  doCheck = ! stdenv.isDarwin;
+  doCheck = (stdenv.buildPlatform == stdenv.hostPlatform) && !stdenv.isDarwin;
 
   hardeningDisable = [ "format" ];
 
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 1cc275b30480..d39a71e16da9 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -1,48 +1,56 @@
-{ stdenv, fetchurl, pkgconfig
+{ stdenv, fetchurl, pkgconfig, meson, ninja
 , libevdev, mtdev, udev, libwacom
 , documentationSupport ? false, doxygen ? null, graphviz ? null # Documentation
 , eventGUISupport ? false, cairo ? null, glib ? null, gtk3 ? null # GUI event viewer support
-, testsSupport ? false, check ? null, valgrind ? null
-, autoconf, automake
+, testsSupport ? false, check ? null, valgrind ? null, python3Packages ? null
 }:
 
 assert documentationSupport -> doxygen != null && graphviz != null;
 assert eventGUISupport -> cairo != null && glib != null && gtk3 != null;
-assert testsSupport -> check != null && valgrind != null;
+assert testsSupport -> check != null && valgrind != null && python3Packages != null;
 
 let
-  mkFlag = optSet: flag: if optSet then "--enable-${flag}" else "--disable-${flag}";
+  mkFlag = optSet: flag: "-D${flag}=${stdenv.lib.boolToString optSet}";
 in
 
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "libinput-${version}";
-  version = "1.7.3";
+  version = "1.9.1";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/libinput/${name}.tar.xz";
-    sha256 = "07fbzxddvhjcch43hdxb24sj7ri96zzpcjalvsicmw0i4wnn2v89";
+    sha256 = "1y3559146zlfizncky1jlly226i66vwikxhpdkw0jg8v47j0sy7h";
   };
 
   outputs = [ "out" "dev" ];
 
-  configureFlags = [
+  mesonFlags = [
     (mkFlag documentationSupport "documentation")
-    (mkFlag eventGUISupport "event-gui")
+    (mkFlag eventGUISupport "debug-gui")
     (mkFlag testsSupport "tests")
   ];
 
-  nativeBuildInputs = [ pkgconfig ];
-
-  buildInputs = [ libevdev mtdev libwacom autoconf automake ]
-    ++ optionals eventGUISupport [ cairo glib gtk3 ]
+  nativeBuildInputs = [ pkgconfig meson ninja ]
     ++ optionals documentationSupport [ doxygen graphviz ]
-    ++ optionals testsSupport [ check valgrind ];
+    ++ optionals testsSupport [ check valgrind python3Packages.pyparsing ];
+
+  buildInputs = [ libevdev mtdev libwacom ]
+    ++ optionals eventGUISupport [ cairo glib gtk3 ];
 
   propagatedBuildInputs = [ udev ];
 
   patches = [ ./udev-absolute-path.patch ];
-  patchFlags = [ "-p0" ];
+
+   preBuild = ''
+    # meson setup-hook changes the directory so the files are located one level up
+    patchShebangs ../udev/parse_hwdb.py
+    patchShebangs ../test/symbols-leak-test.in
+  '';
+
+  doCheck = testsSupport;
+
+  checkPhase = "meson test";
 
   meta = {
     description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver";
diff --git a/pkgs/development/libraries/libinput/udev-absolute-path.patch b/pkgs/development/libraries/libinput/udev-absolute-path.patch
index 2d3fa966b299..fb22fea40e80 100644
--- a/pkgs/development/libraries/libinput/udev-absolute-path.patch
+++ b/pkgs/development/libraries/libinput/udev-absolute-path.patch
@@ -1,12 +1,11 @@
---- configure.ac	2016-05-27 14:00:25.248388226 +0200
-+++ configure.ac	2016-05-27 14:01:28.228943416 +0200
-@@ -214,7 +214,8 @@ AM_CONDITIONAL(BUILD_DOCS, [test "x$buil
- # Used by the udev rules so we can use callouts during testing without
- # installing everything first. Default is the empty string so the installed
- # rule will use udev's default path. Override is in udev/Makefile.am
--AC_SUBST(UDEV_TEST_PATH, "")
-+UDEV_TEST_PATH="${UDEV_DIR}/"
-+AC_SUBST(UDEV_TEST_PATH)
- AC_PATH_PROG(SED, [sed])
+--- a/meson.build
++++ b/meson.build
+@@ -100,7 +100,7 @@
+      args : model_quirks)
  
- AC_CONFIG_FILES([Makefile
+ udev_rules_config = configuration_data()
+-udev_rules_config.set('UDEV_TEST_PATH', '')
++udev_rules_config.set('UDEV_TEST_PATH', udev_dir + '/')
+ configure_file(input : 'udev/80-libinput-device-groups.rules.in',
+ 	       output : '80-libinput-device-groups.rules',
+ 	       install : true,
diff --git a/pkgs/development/libraries/libixp-hg/default.nix b/pkgs/development/libraries/libixp-hg/default.nix
index 6245a810c1de..68835c1414c3 100644
--- a/pkgs/development/libraries/libixp-hg/default.nix
+++ b/pkgs/development/libraries/libixp-hg/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ unzip txt2tags ];
 
   meta = {
-    homepage = https://code.google.com/archive/p/libixp/;
+    homepage = http://repo.cat-v.org/libixp/; # see also https://libs.suckless.org/deprecated/libixp
     description = "Portable, simple C-language 9P client and server libary";
     maintainers = with stdenv.lib.maintainers; [ kovirobi ];
     license = stdenv.lib.licenses.mit;
diff --git a/pkgs/development/libraries/libjpeg-turbo/default.nix b/pkgs/development/libraries/libjpeg-turbo/default.nix
index 1023c8ae5056..77f9d999de44 100644
--- a/pkgs/development/libraries/libjpeg-turbo/default.nix
+++ b/pkgs/development/libraries/libjpeg-turbo/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
   checkTarget = "test";
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/libkate/default.nix b/pkgs/development/libraries/libkate/default.nix
index 7a3eb9caa661..77f047b4c586 100644
--- a/pkgs/development/libraries/libkate/default.nix
+++ b/pkgs/development/libraries/libkate/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "libkate-0.3.8";
 
   src = fetchurl {
-    url = "http://libkate.googlecode.com/files/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libkate/${name}.tar.gz";
     sha256 = "00d6561g31la9bb8q99b7l4rvi67yiwm50ky8dhlsjd88h7rks2n";
   };
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
       bitstream format. Kate is a karaoke and text codec meant for encapsulation
       in an Ogg container. It can carry Unicode text, images, and animate
       them.'';
-    homepage = http://code.google.com/p/libkate;
+    homepage = https://code.google.com/archive/p/libkate/;
     maintainers = [ ];
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/liblo/default.nix b/pkgs/development/libraries/liblo/default.nix
index 7b7e96012ea7..9059fe8f8453 100644
--- a/pkgs/development/libraries/liblo/default.nix
+++ b/pkgs/development/libraries/liblo/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   meta = { 
     description = "Lightweight library to handle the sending and receiving of messages according to the Open Sound Control (OSC) protocol";
-    homepage = http://sourceforge.net/projects/liblo;
+    homepage = https://sourceforge.net/projects/liblo;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = with stdenv.lib.platforms; linux ++ darwin;
diff --git a/pkgs/development/libraries/libmediainfo/default.nix b/pkgs/development/libraries/libmediainfo/default.nix
index 9e4b23a0919c..25a597ea4daf 100644
--- a/pkgs/development/libraries/libmediainfo/default.nix
+++ b/pkgs/development/libraries/libmediainfo/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook, pkgconfig, libzen, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "0.7.99";
+  version = "17.10";
   name = "libmediainfo-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libmediainfo/${version}/libmediainfo_${version}.tar.xz";
-    sha256 = "126nkxrzs6dxzm3hzx6smvw6xgrqr3zs6hdqvl2xmvqy10p8z6pc";
+    sha256 = "00m1b4m37c9lm16yhh63p5pidg2sr3qvsw36672lklmcv3y1ic30";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--enable-shared" ];
 
+  enableParallelBuilding = true;
+
   postInstall = ''
     install -vD -m 644 libmediainfo.pc "$out/lib/pkgconfig/libmediainfo.pc"
   '';
diff --git a/pkgs/development/libraries/libmpack/default.nix b/pkgs/development/libraries/libmpack/default.nix
index 9375a3810529..e9bc2a646b71 100644
--- a/pkgs/development/libraries/libmpack/default.nix
+++ b/pkgs/development/libraries/libmpack/default.nix
@@ -2,20 +2,17 @@
 
 stdenv.mkDerivation rec {
   name = "libmpack-${version}";
-  version = "1.0.3-rev${rev}";
-  rev = "80bd55ea677e70b041f65a4b99438c1f059cce4b";
+  version = "1.0.5";
   src = fetchFromGitHub {
     owner = "tarruda";
     repo = "libmpack";
-    inherit rev;
-    sha256 = "1whnbgxd5580h59kvc2xgx6ymw7nk9kz6r4ajgsfv6c6h2xbwbl3";
+    rev = version;
+    sha256 = "0rai5djdkjz7bsn025k5489in7r1amagw1pib0z4qns6b52kiar2";
   };
   LIBTOOL = "libtool";
   buildInputs = [ libtool ];
-  installPhase = ''
-    mkdir -p $out/lib/libmpack
-    cp -R build/* $out/lib/libmpack
-    rm -rf $out/lib/libmpack/debug
+  preInstall = ''
+    export PREFIX=$out
   '';
   meta = with stdenv.lib; {
     description = "Simple implementation of msgpack in C";
diff --git a/pkgs/development/libraries/libmsgpack/1.4.nix b/pkgs/development/libraries/libmsgpack/1.4.nix
deleted file mode 100644
index 2779162feb8a..000000000000
--- a/pkgs/development/libraries/libmsgpack/1.4.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ callPackage, fetchFromGitHub, ... } @ args:
-
-callPackage ./generic.nix (args // rec {
-  version = "1.4.2";
-
-  src = fetchFromGitHub {
-    owner = "msgpack";
-    repo = "msgpack-c";
-    rev = "cpp-${version}";
-    sha256 = "0zlanifi5hmm303pzykpidq5jbapl891zwkwhkllfn8ab1jvzbaa";
-  };
-})
diff --git a/pkgs/development/libraries/libmsgpack/default.nix b/pkgs/development/libraries/libmsgpack/default.nix
index 2af7e31c889a..8feacd4e3653 100644
--- a/pkgs/development/libraries/libmsgpack/default.nix
+++ b/pkgs/development/libraries/libmsgpack/default.nix
@@ -1,12 +1,12 @@
 { callPackage, fetchFromGitHub, ... } @ args:
 
 callPackage ./generic.nix (args // rec {
-  version = "2.0.0";
+  version = "2.1.5";
 
   src = fetchFromGitHub {
-    owner = "msgpack";
-    repo = "msgpack-c";
-    rev = "cpp-${version}";
-    sha256 = "189m44pwpcpf7g4yhzfla4djqyp2kl54wxmwfaj94gwgj5s370i7";
+    owner  = "msgpack";
+    repo   = "msgpack-c";
+    rev    = "cpp-${version}";
+    sha256 = "0n4kvma3dldfsvv7b0zw23qln6av5im2aqqd6m890i75zwwkw0zv";
   };
 })
diff --git a/pkgs/development/libraries/libmsgpack/generic.nix b/pkgs/development/libraries/libmsgpack/generic.nix
index c6870f77f1f3..7bca8f21c6b9 100644
--- a/pkgs/development/libraries/libmsgpack/generic.nix
+++ b/pkgs/development/libraries/libmsgpack/generic.nix
@@ -11,16 +11,21 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
+  enableParallelBuilding = true;
+
   crossAttrs = {
   } // stdenv.lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
-    cmakeFlags = "-DMSGPACK_BUILD_EXAMPLES=OFF -DCMAKE_SYSTEM_NAME=Windows";
+    cmakeFlags = [
+      "-DMSGPACK_BUILD_EXAMPLES=OFF"
+      "-DCMAKE_SYSTEM_NAME=Windows"
+    ];
   };
 
   meta = with stdenv.lib; {
     description = "MessagePack implementation for C and C++";
-    homepage = http://msgpack.org;
+    homepage    = http://msgpack.org;
+    license     = licenses.asl20;
     maintainers = with maintainers; [ redbaron wkennington ];
-    license = licenses.asl20;
-    platforms = platforms.all;
+    platforms   = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/libnfc/default.nix b/pkgs/development/libraries/libnfc/default.nix
index 150ece2a6270..bef977caa28e 100644
--- a/pkgs/development/libraries/libnfc/default.nix
+++ b/pkgs/development/libraries/libnfc/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Open source library libnfc for Near Field Communication";
     license = licenses.gpl3;
-    homepage = http://code.google.com/p/libnfc/;
+    homepage = https://github.com/nfc-tools/libnfc;
     maintainers = with maintainers; [offline];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/libnsl/default.nix b/pkgs/development/libraries/libnsl/default.nix
new file mode 100644
index 000000000000..d4af280c3cd8
--- /dev/null
+++ b/pkgs/development/libraries/libnsl/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchFromGitHub, autoreconfHook, libtirpc, pkgconfig }:
+
+stdenv.mkDerivation rec {
+  name = "libnsl-${version}";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "thkukuk";
+    repo = "libnsl";
+    rev = "libnsl-${version}";
+    sha256 = "0h8br0gmgw3fp5fmy6bfbj1qlk9hry1ssg25ssjgxbd8spczpscs";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig ];
+  buildInputs = [ libtirpc ];
+
+  meta = with stdenv.lib; {
+    description = "Client interface library for NIS(YP) and NIS+";
+    homepage = https://github.com/thkukuk/libnsl;
+    license = licenses.lgpl21;
+    maintainers = [ maintainers.dezgeg ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/development/libraries/libofa/default.nix b/pkgs/development/libraries/libofa/default.nix
index dc0beb07db94..531e30ba7552 100644
--- a/pkgs/development/libraries/libofa/default.nix
+++ b/pkgs/development/libraries/libofa/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
   name = "libofa-${version}";
 
   src = fetchurl {
-    url = "http://musicip-libofa.googlecode.com/files/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/musicip-libofa/${name}.tar.gz";
     sha256 = "184ham039l7lwhfgg0xr2vch2xnw1lwh7sid432mh879adhlc5h2";
   };
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [ expat curl fftw ];
 
   meta = {
-    homepage = http://code.google.com/musicip-libofa/;
+    homepage = https://code.google.com/archive/p/musicip-libofa/;
     description = "Library Open Fingerprint Architecture";
     longDescription = ''
       LibOFA (Library Open Fingerprint Architecture) is an open-source audio
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 7845f28adc91..09a0f4444b54 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -6,11 +6,11 @@
 # no introspection by default, it's too big
 
 stdenv.mkDerivation rec {
-  name = "librsvg-2.40.17";
+  name = "librsvg-2.40.19";
 
   src = fetchurl {
-    url    = "mirror://gnome/sources/librsvg/2.40/${name}.tar.xz";
-    sha256 = "1k39gyf7f5m9x0jvpcxvfcqswdb04xhm1lbwbjabn1f4xk5wbxp6";
+    url    = "mirror://gnome/sources/librsvg/2.40/librsvg-2.40.18.tar.xz";
+    sha256 = "0k2nbd4g31qinkdfd8r5c5ih2ixl85fbkgkqqh9747lwr24c9j5z";
   };
 
   NIX_LDFLAGS = if stdenv.isDarwin then "-lintl" else null;
diff --git a/pkgs/development/libraries/libsigsegv/2.5.nix b/pkgs/development/libraries/libsigsegv/2.5.nix
deleted file mode 100644
index fd453defe713..000000000000
--- a/pkgs/development/libraries/libsigsegv/2.5.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, fetchurl
-, enableSigbusFix ? false # required by kernels < 3.18.6
-}:
-
-stdenv.mkDerivation rec {
-  name = "libsigsegv-2.5";
-
-  src = fetchurl {
-    url = "mirror://gnu/libsigsegv/${name}.tar.gz";
-    sha256 = "0fvcsq9msi63vrbpvks6mqkrnls5cfy6bzww063sqhk2h49vsyyg";
-  };
-
-  patches = stdenv.lib.optional enableSigbusFix ./sigbus_fix.patch;
-
-  meta = {
-    homepage = http://libsigsegv.sf.net;
-    description = "A library for handling page faults in user mode";
-    branch = "2.5";
-    platforms = stdenv.lib.platforms.linux;
-  };
-
-  doCheck = true;
-}
diff --git a/pkgs/development/libraries/libstdc++5/default.nix b/pkgs/development/libraries/libstdc++5/default.nix
index abe0538b8a9c..baea981ca4a1 100644
--- a/pkgs/development/libraries/libstdc++5/default.nix
+++ b/pkgs/development/libraries/libstdc++5/default.nix
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
       sha256 = "11m5lc51b0addhc4yq4rz0dwpv6k73rrj73wya3lqdk8rly6cjpm";
       addPrefixes = true;
     })
+    # Required because of glibc 2.26
+    ./struct-ucontext.patch
   ];
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libstdc++5/struct-ucontext.patch b/pkgs/development/libraries/libstdc++5/struct-ucontext.patch
new file mode 100644
index 000000000000..5462e0e33ecd
--- /dev/null
+++ b/pkgs/development/libraries/libstdc++5/struct-ucontext.patch
@@ -0,0 +1,61 @@
+diff --git a/gcc/config/alpha/linux.h b/gcc/config/alpha/linux.h
+index 3a2940c..67f9899 100644
+--- a/gcc/config/alpha/linux.h
++++ b/gcc/config/alpha/linux.h
+@@ -89,7 +89,7 @@ Boston, MA 02111-1307, USA.  */
+       {									\
+ 	struct rt_sigframe {						\
+ 	  struct siginfo info;						\
+-	  struct ucontext uc;						\
++	  ucontext_t uc;						\
+ 	} *rt_ = (CONTEXT)->cfa;					\
+ 	sc_ = &rt_->uc.uc_mcontext;					\
+       }									\
+diff --git a/gcc/config/i386/linux.h b/gcc/config/i386/linux.h
+index e86ab3d..30797a7 100644
+--- a/gcc/config/i386/linux.h
++++ b/gcc/config/i386/linux.h
+@@ -260,7 +260,7 @@ Boston, MA 02111-1307, USA.  */
+ 	  siginfo_t *pinfo;					\
+ 	  void *puc;							\
+ 	  siginfo_t info;						\
+-	  struct ucontext uc;						\
++	  ucontext_t uc;						\
+ 	} *rt_ = (CONTEXT)->cfa;					\
+ 	sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext;		\
+       }									\
+diff --git a/gcc/config/i386/linux64.h b/gcc/config/i386/linux64.h
+index fbfaa58..200c8dc 100644
+--- a/gcc/config/i386/linux64.h
++++ b/gcc/config/i386/linux64.h
+@@ -112,7 +112,7 @@ Boston, MA 02111-1307, USA.  */
+     if (*(unsigned char *)(pc_+0) == 0x48				\
+ 	&& *(unsigned long *)(pc_+1) == 0x050f0000000fc0c7)		\
+       {									\
+-	struct ucontext *uc_ = (CONTEXT)->cfa;				\
++	ucontext_t *uc_ = (CONTEXT)->cfa;				\
+ 	sc_ = (struct sigcontext *) &uc_->uc_mcontext;			\
+       }									\
+     else								\
+@@ -182,7 +182,7 @@ Boston, MA 02111-1307, USA.  */
+ 	  struct siginfo *pinfo;					\
+ 	  void *puc;							\
+ 	  struct siginfo info;						\
+-	  struct ucontext uc;						\
++	  ucontext_t uc;						\
+ 	} *rt_ = (CONTEXT)->cfa;					\
+ 	sc_ = (struct sigcontext *) &rt_->uc.uc_mcontext;		\
+       }									\
+diff --git a/gcc/config/rs6000/linux.h b/gcc/config/rs6000/linux.h
+index ba70ec1..0fff8b1 100644
+--- a/gcc/config/rs6000/linux.h
++++ b/gcc/config/rs6000/linux.h
+@@ -101,7 +101,7 @@ Boston, MA 02111-1307, USA.  */
+ 
+ struct kernel_old_ucontext {
+   unsigned long     uc_flags;
+-  struct ucontext  *uc_link;
++  ucontext_t       *uc_link;
+   stack_t           uc_stack;
+   struct sigcontext_struct uc_mcontext;
+   sigset_t          uc_sigmask;
diff --git a/pkgs/development/libraries/libtiff/default.nix b/pkgs/development/libraries/libtiff/default.nix
index f43db801f248..ee21f3df7ac9 100644
--- a/pkgs/development/libraries/libtiff/default.nix
+++ b/pkgs/development/libraries/libtiff/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = stdenv.buildPlatform == stdenv.hostPlatform;
 
   meta = with stdenv.lib; {
     description = "Library and utilities for working with the TIFF image file format";
diff --git a/pkgs/development/libraries/libtiger/default.nix b/pkgs/development/libraries/libtiger/default.nix
index 3a67e1267e20..bd0084dbaaf7 100644
--- a/pkgs/development/libraries/libtiger/default.nix
+++ b/pkgs/development/libraries/libtiger/default.nix
@@ -1,19 +1,21 @@
-{ stdenv, fetchurl, libkate, pango, cairo, pkgconfig }:
+{ stdenv, lib, fetchurl, libkate, pango, cairo, pkgconfig, darwin }:
 
 stdenv.mkDerivation rec {
   name = "libtiger-0.3.4";
 
   src = fetchurl {
-    url = "http://libtiger.googlecode.com/files/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/libtiger/${name}.tar.gz";
     sha256 = "0rj1bmr9kngrgbxrjbn4f4f9pww0wmf6viflinq7ava7zdav4hkk";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libkate pango cairo ];
+  buildInputs = [ libkate pango cairo ]
+    ++ lib.optional stdenv.isDarwin darwin.apple_sdk.frameworks.ApplicationServices;
 
   meta = {
-    homepage = http://code.google.com/p/libtiger/;
+    homepage = https://code.google.com/archive/p/libtiger/;
     description = "A rendering library for Kate streams using Pango and Cairo";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = lib.platforms.unix;
+    maintainers = with lib.maintainers; [ matthewbauer ];
   };
 }
diff --git a/pkgs/development/libraries/libtomcrypt/default.nix b/pkgs/development/libraries/libtomcrypt/default.nix
index 13fa71e60dce..46f3a982b0c7 100644
--- a/pkgs/development/libraries/libtomcrypt/default.nix
+++ b/pkgs/development/libraries/libtomcrypt/default.nix
@@ -1,27 +1,34 @@
-{stdenv, fetchurl, libtool}:
+{ stdenv, fetchurl, libtool }:
 
-stdenv.mkDerivation {
-  name = "libtomcrypt-1.17";
+stdenv.mkDerivation rec {
+  name = "libtomcrypt-${version}";
+  version = "1.18.0";
 
   src = fetchurl {
-    url = "https://github.com/libtom/libtomcrypt/releases/download/1.17/crypt-1.17.tar.bz2";
-    sha256 = "e33b47d77a495091c8703175a25c8228aff043140b2554c08a3c3cd71f79d116";
+    url = "https://github.com/libtom/libtomcrypt/releases/download/v${version}/crypt-${version}.tar.xz";
+    sha256 = "0ymqi0zf5gzn8pq4mnylwgg6pskml2v1p9rsjrqspyja65mgb7fs";
   };
 
-  buildInputs = [libtool];
+  nativeBuildInputs = [ libtool ];
+
+  postPatch = ''
+    substituteInPlace makefile.shared --replace "LT:=glibtool" "LT:=libtool"
+  '';
 
   preBuild = ''
-    makeFlagsArray=(LIBPATH=$out/lib INCPATH=$out/include \
-      DATAPATH=$out/share/doc/libtomcrypt/pdf \
+    makeFlagsArray=(PREFIX=$out \
       INSTALL_GROUP=$(id -g) \
       INSTALL_USER=$(id -u))
   '';
 
   makefile = "makefile.shared";
 
-  meta = {
-    homepage = http://libtom.org/?page=features&newsitems=5&whatfile=crypt;
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.libtom.net/LibTomCrypt/;
     description = "A fairly comprehensive, modular and portable cryptographic toolkit";
-    platforms = stdenv.lib.platforms.linux;
+    license = with licenses; [ publicDomain wtfpl ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/libtommath/default.nix b/pkgs/development/libraries/libtommath/default.nix
index 8b7c06b98dca..cd13eef156d0 100644
--- a/pkgs/development/libraries/libtommath/default.nix
+++ b/pkgs/development/libraries/libtommath/default.nix
@@ -1,27 +1,35 @@
-{stdenv, fetchurl, libtool}:
+{ stdenv, fetchurl, libtool }:
+
+stdenv.mkDerivation rec {
+  name = "libtommath-${version}";
+  version = "1.0.1";
 
-stdenv.mkDerivation {
-  name = "libtommath-1.0";
-  
   src = fetchurl {
-    url = https://github.com/libtom/libtommath/releases/download/v1.0/ltm-1.0.tar.xz;
-    sha256 = "0v5mpd8zqjfs2hr900w1mxifz23xylyjdqyx1i1wl7q9xvwpsflr";
+    url = "https://github.com/libtom/libtommath/releases/download/v${version}/ltm-${version}.tar.xz";
+    sha256 = "0sbccdwbkfc680id2fi0x067j23biqcjqilwkk7y9339knrjy0s7";
   };
 
-  buildInputs = [libtool];
+  nativeBuildInputs = [ libtool ];
+
+  postPatch = ''
+    substituteInPlace makefile.shared --replace "LT:=glibtool" "LT:=libtool"
+    substituteInPlace makefile_include.mk --replace "shell arch" "shell uname -m"
+  '';
 
   preBuild = ''
-    makeFlagsArray=(LIBPATH=$out/lib INCPATH=$out/include \
-      DATAPATH=$out/share/doc/libtommath/pdf \
+    makeFlagsArray=(PREFIX=$out \
       INSTALL_GROUP=$(id -g) \
       INSTALL_USER=$(id -u))
   '';
 
   makefile = "makefile.shared";
 
-  meta = {
-    homepage = http://math.libtomcrypt.com/;
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://www.libtom.net/LibTomMath/;
     description = "A library for integer-based number-theoretic applications";
-    platforms = stdenv.lib.platforms.unix;
+    license = with licenses; [ publicDomain wtfpl ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libtorrent-rasterbar/generic.nix b/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
index 315385cba6c8..8c85864f87a5 100644
--- a/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
+++ b/pkgs/development/libraries/libtorrent-rasterbar/generic.nix
@@ -38,6 +38,6 @@ stdenv.mkDerivation rec {
     description = "A C++ BitTorrent implementation focusing on efficiency and scalability";
     license = licenses.bsd3;
     maintainers = [ maintainers.phreedom ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libtoxcore/default.nix b/pkgs/development/libraries/libtoxcore/default.nix
index 0d0563eb5ddf..af9c38a96346 100644
--- a/pkgs/development/libraries/libtoxcore/default.nix
+++ b/pkgs/development/libraries/libtoxcore/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "libtoxcore-${version}";
-  version = "0.1.8";
+  version = "0.1.10";
 
   src = fetchFromGitHub {
     owner  = "TokTok";
     repo   = "c-toxcore";
     rev    = "v${version}";
-    sha256 = "08vdq3j60wn62lj2z9f3f47hibns93rvaqx5xc5bm3nglk70q7kk";
+    sha256 = "1d3f7lnlxra2lhih838bvlahxqv50j35g9kfyzspq971sb5z30mv";
   };
 
   cmakeFlags = [
@@ -24,7 +24,11 @@ stdenv.mkDerivation rec {
     libopus
     libvpx
   ];
+
   nativeBuildInputs = [ cmake pkgconfig ];
+
+  enableParallelBuilding = true;
+
   checkInputs = [ check ];
 
   checkPhase = "ctest";
diff --git a/pkgs/development/libraries/libunistring/default.nix b/pkgs/development/libraries/libunistring/default.nix
index c4acc0627af8..42376b61f423 100644
--- a/pkgs/development/libraries/libunistring/default.nix
+++ b/pkgs/development/libraries/libunistring/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
 
   # XXX: There are test failures on non-GNU systems, see
   # http://lists.gnu.org/archive/html/bug-libunistring/2010-02/msg00004.html .
-  doCheck = stdenv ? glibc;
+  doCheck = (stdenv ? glibc) && (stdenv.hostPlatform == stdenv.buildPlatform);
 
   meta = {
     homepage = http://www.gnu.org/software/libunistring/;
diff --git a/pkgs/development/libraries/libvisual/default.nix b/pkgs/development/libraries/libvisual/default.nix
index 8bac0f41ddeb..2a53a1d0e7c4 100644
--- a/pkgs/development/libraries/libvisual/default.nix
+++ b/pkgs/development/libraries/libvisual/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An abstraction library for audio visualisations";
-    homepage = http://sourceforge.net/projects/libvisual/;
+    homepage = https://sourceforge.net/projects/libvisual/;
     license = stdenv.lib.licenses.lgpl21Plus;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/development/libraries/libwacom/default.nix b/pkgs/development/libraries/libwacom/default.nix
index ad3cbe119c55..6674f303739f 100644
--- a/pkgs/development/libraries/libwacom/default.nix
+++ b/pkgs/development/libraries/libwacom/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libwacom-${version}";
-  version = "0.22";
+  version = "0.26";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/libwacom/${name}.tar.bz2";
-    sha256 = "1h10awwapj5v8nik220ga0raggv3lgaq0kzwlma2qjmzdhhrrhcp";
+    sha256 = "0xpvkjvzaj9blcmw8ha46616bzfivj99kwzvr91clxd6iaf11r63";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     platforms = platforms.linux;
-    homepage = http://sourceforge.net/projects/linuxwacom/;
+    homepage = https://sourceforge.net/projects/linuxwacom/;
     description = "Libraries, configuration, and diagnostic tools for Wacom tablets running under Linux";
   };
 }
diff --git a/pkgs/development/libraries/libwnck/3.x.nix b/pkgs/development/libraries/libwnck/3.x.nix
index ed775fb45932..6a835157d96c 100644
--- a/pkgs/development/libraries/libwnck/3.x.nix
+++ b/pkgs/development/libraries/libwnck/3.x.nix
@@ -1,11 +1,16 @@
 {stdenv, fetchurl, pkgconfig, libX11, gtk3, intltool}:
 
-stdenv.mkDerivation {
-  name = "libwnck-3.4.7";
+stdenv.mkDerivation rec{
+  name = "libwnck-${version}";
+  version = "${majorVer}.${minorVer}.${patchVer}";
+
+  majorVer = "3";
+  minorVer = "24";
+  patchVer = "1";
 
   src = fetchurl {
-    url = mirror://gnome/sources/libwnck/3.4/libwnck-3.4.7.tar.xz;
-    sha256 = "d48ac9c7f50c0d563097f63d07bcc83744c7d92a1b4ef65e5faeab32b5ccb723";
+    url = "mirror://gnome/sources/libwnck/${majorVer}.${minorVer}/${name}.tar.xz";
+    sha256 = "010zk9zvydggxqnxfml3scml5yxmpjy90irpqcayrzw26lldr9mg";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
diff --git a/pkgs/development/libraries/libx86emu/default.nix b/pkgs/development/libraries/libx86emu/default.nix
index ee32d9418dd9..b745098bd64b 100644
--- a/pkgs/development/libraries/libx86emu/default.nix
+++ b/pkgs/development/libraries/libx86emu/default.nix
@@ -1,27 +1,29 @@
-{ stdenv, fetchurl, perl }:
+{ stdenv, fetchFromGitHub, perl }:
 
 stdenv.mkDerivation rec {
   name = "libx86emu-${version}";
-  version = "1.5";
+  version = "1.12";
 
-  src = fetchurl {
-    url = "https://github.com/wfeldt/libx86emu/archive/${version}.tar.gz";
-    sha256 = "1im6w6m0bl6ajynx4hc028lad8v10whv4y7w9zxndzh3j4mi3aa8";
+  src = fetchFromGitHub {
+    owner = "wfeldt";
+    repo = "libx86emu";
+    rev = version;
+    sha256 = "0dlzvwdkk0vc6qf0a0zzbxki3pig1mda8p3fa54rxqaxkwp4mqr6";
   };
 
-  buildInputs = [ perl ];
+  nativeBuildInputs = [ perl ];
 
+  postUnpack = "rm $sourceRoot/git2log";
   patchPhase = ''
     # VERSION is usually generated using Git
     echo "${version}" > VERSION
-    sed -i 's|/usr/|/|g' Makefile
+    substituteInPlace Makefile --replace "/usr" "/"
   '';
 
-  makeFlags = [ "shared" ];
+  buildFlags = [ "shared" ];
+  enableParallelBuilding = true;
 
-  installPhase = ''
-    make install DESTDIR=$out/ LIBDIR=lib
-  '';
+  installFlags = [ "DESTDIR=$(out)" "LIBDIR=/lib" ];
 
   meta = with stdenv.lib; {
     description = "x86 emulation library";
diff --git a/pkgs/development/libraries/libxkbcommon/default.nix b/pkgs/development/libraries/libxkbcommon/default.nix
index fd61ae840284..e730cc6eaabf 100644
--- a/pkgs/development/libraries/libxkbcommon/default.nix
+++ b/pkgs/development/libraries/libxkbcommon/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, pkgconfig, yacc, flex, xkeyboard_config, libxcb, libX11 }:
 
 stdenv.mkDerivation rec {
-  name = "libxkbcommon-0.7.1";
+  name = "libxkbcommon-0.7.2";
 
   src = fetchurl {
     url = "http://xkbcommon.org/download/${name}.tar.xz";
-    sha256 = "ba59305d2e19e47c27ea065c2e0df96ebac6a3c6e97e28ae5620073b6084e68b";
+    sha256 = "1n5rv5n210kjnkyrvbh04gfwaa7zrmzy1393p8nyqfw66lkxr918";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libxls/default.nix b/pkgs/development/libraries/libxls/default.nix
index 0d7115144449..3a3d99b655da 100644
--- a/pkgs/development/libraries/libxls/default.nix
+++ b/pkgs/development/libraries/libxls/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Extract Cell Data From Excel xls files";
-    homepage = http://sourceforge.net/projects/libxls/;
+    homepage = https://sourceforge.net/projects/libxls/;
     license = licenses.bsd2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/libxml2/default.nix b/pkgs/development/libraries/libxml2/default.nix
index 28b6faa436aa..bf38a954d60d 100644
--- a/pkgs/development/libraries/libxml2/default.nix
+++ b/pkgs/development/libraries/libxml2/default.nix
@@ -36,7 +36,7 @@ in stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = !stdenv.isDarwin;
+  doCheck = (stdenv.hostPlatform == stdenv.buildPlatform) && !stdenv.isDarwin;
 
   crossAttrs = lib.optionalAttrs (hostPlatform.libc == "msvcrt") {
     # creating the DLL is broken ATM
diff --git a/pkgs/development/libraries/libzen/default.nix b/pkgs/development/libraries/libzen/default.nix
index ab473bbe85c1..afa7696aca99 100644
--- a/pkgs/development/libraries/libzen/default.nix
+++ b/pkgs/development/libraries/libzen/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoreconfHook }:
 
 stdenv.mkDerivation rec {
-  version = "0.4.35";
+  version = "0.4.37";
   name = "libzen-${version}";
   src = fetchurl {
     url = "https://mediaarea.net/download/source/libzen/${version}/libzen_${version}.tar.bz2";
-    sha256 = "12a1icgcffgv503ii2k1453kxg5hfly09mf4zjcc80aq8a6rf8by";
+    sha256 = "1hcsrmn85b0xp0mp33aazk7g071q1v3f163nnhv8b0mv9c4bgsfn";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
@@ -15,6 +15,8 @@ stdenv.mkDerivation rec {
 
   preConfigure = "sh autogen.sh";
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Shared library for libmediainfo and mediainfo";
     homepage = https://mediaarea.net/;
diff --git a/pkgs/development/libraries/libzip/default.nix b/pkgs/development/libraries/libzip/default.nix
index 9958a65d408b..850bb27e3641 100644
--- a/pkgs/development/libraries/libzip/default.nix
+++ b/pkgs/development/libraries/libzip/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "libzip-${version}";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "http://www.nih.at/libzip/${name}.tar.gz";
-    sha256 = "17vxj2ffsxwh8lkc6801ppmwj15jp8q58rin76znxfbx88789ybc";
+    sha256 = "1633dvjc08zwwhzqhnv62rjf1abx8y5njmm8y16ik9iwd07ka6d9";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/live555/default.nix b/pkgs/development/libraries/live555/default.nix
index de4d295ebe3b..e0f84f5080df 100644
--- a/pkgs/development/libraries/live555/default.nix
+++ b/pkgs/development/libraries/live555/default.nix
@@ -12,7 +12,12 @@ stdenv.mkDerivation {
     sha256 = "02z2f8z5cy0ajnh9pgar40lsxdknfw5cbyw52138hxnpr6adrvak";
   };
 
-  postPatch = "sed 's,/bin/rm,rm,g' -i genMakefiles";
+  postPatch = "sed 's,/bin/rm,rm,g' -i genMakefiles"
+  + stdenv.lib.optionalString (stdenv ? glibc) ''
+
+    substituteInPlace liveMedia/include/Locale.hh \
+      --replace '<xlocale.h>' '<locale.h>'
+  '';
 
   configurePhase = ''
     sed \
diff --git a/pkgs/development/libraries/lzo/default.nix b/pkgs/development/libraries/lzo/default.nix
index 8739c9d25d59..e8f8a6ab9bba 100644
--- a/pkgs/development/libraries/lzo/default.nix
+++ b/pkgs/development/libraries/lzo/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  doCheck = true;
+  doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   meta = with stdenv.lib; {
     description = "Real-time data (de)compression library";
diff --git a/pkgs/development/libraries/marisa/default.nix b/pkgs/development/libraries/marisa/default.nix
index 5f050c6e7a73..ed824ec75922 100644
--- a/pkgs/development/libraries/marisa/default.nix
+++ b/pkgs/development/libraries/marisa/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   meta = with stdenv.lib; {
-    homepage    = https://code.google.com/p/marisa-trie/;
+    homepage    = https://github.com/s-yata/marisa-trie;
     description = "Static and space-efficient trie data structure library";
     license     = licenses.bsd3;
     maintainers = with maintainers; [ sifmelcara ];
diff --git a/pkgs/development/libraries/mdds/0.12.1.nix b/pkgs/development/libraries/mdds/0.12.1.nix
index 3c3a874c8ad0..1c6134d0480b 100644
--- a/pkgs/development/libraries/mdds/0.12.1.nix
+++ b/pkgs/development/libraries/mdds/0.12.1.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = https://code.google.com/p/multidimalgorithm/;
+    homepage = https://gitlab.com/mdds/mdds;
     description = "A collection of multi-dimensional data structure and indexing algorithm";
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/mdds/0.7.1.nix b/pkgs/development/libraries/mdds/0.7.1.nix
index 9c6c8e5e3340..8ff1d6d5e9a2 100644
--- a/pkgs/development/libraries/mdds/0.7.1.nix
+++ b/pkgs/development/libraries/mdds/0.7.1.nix
@@ -5,12 +5,12 @@ stdenv.mkDerivation rec {
   name = "mdds-${version}";
 
   src = fetchurl {
-    url = "http://multidimalgorithm.googlecode.com/files/mdds_${version}.tar.bz2";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/multidimalgorithm/mdds_${version}.tar.bz2";
     sha256 = "0zhrx7m04pknc8i2cialmbna1hmwa0fzs8qphan4rdxibf0c4yzy";
   };
 
   meta = {
-    homepage = https://code.google.com/p/multidimalgorithm/;
+    homepage = https://gitlab.com/mdds/mdds/;
     description = "A collection of multi-dimensional data structure and indexing algorithm";
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/development/libraries/mesa/default.nix b/pkgs/development/libraries/mesa/default.nix
index fe34a8bb88fa..728ef96666f6 100644
--- a/pkgs/development/libraries/mesa/default.nix
+++ b/pkgs/development/libraries/mesa/default.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation {
       "ftp://ftp.freedesktop.org/pub/mesa/mesa-${version}.tar.xz"
       "ftp://ftp.freedesktop.org/pub/mesa/${version}/mesa-${version}.tar.xz"
       "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"
+      "https://mesa.freedesktop.org/archive/mesa-${version}.tar.xz"
     ];
     sha256 = "0l75q9l4g15y66rqk2swqvj18qj60hpimv0f97jk44bfrpz0i92v";
   };
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index 168b94495a97..6eee8df5a23e 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, makeWrapper
+{ stdenv, fetchFromGitHub, fetchurl, makeWrapper
 , SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate
 , libvorbis, libxml2, movit, pkgconfig, sox
 , gtk2
@@ -15,6 +15,19 @@ stdenv.mkDerivation rec {
     sha256 = "0k9vj21n6qxdjd0vvj22cwi35igajjzh5fbjza766izdbijv2i2w";
   };
 
+  patches = [
+    # fix for glibc-2.26
+    (fetchurl {
+      url = "https://github.com/mltframework/mlt/commit/2125e3955a0d0be61571cf43b674f74b4b93c6f8.patch";
+      sha256 = "1bgs5a3dblsmdmb7hwval9nmq1as4r4f48b3amsc23v69nsl2g0a";
+    })
+    # fix for glibc-2.26
+    (fetchurl {
+      url = "https://github.com/mltframework/mlt/commit/fbf6a5187776f2f392cf258935ff49e4c0e87024.patch";
+      sha256 = "045vchpcznzsz47j67kxwdbg133kar66ssna3parnzrxdfqi72pv";
+    })
+  ];
+
   buildInputs = [
     SDL ffmpeg frei0r libjack2 libdv libsamplerate libvorbis libxml2
     makeWrapper movit pkgconfig sox
diff --git a/pkgs/development/libraries/mlt/qt-5.nix b/pkgs/development/libraries/mlt/qt-5.nix
index 1d56d58c68d3..f3bdc005247c 100644
--- a/pkgs/development/libraries/mlt/qt-5.nix
+++ b/pkgs/development/libraries/mlt/qt-5.nix
@@ -3,6 +3,8 @@
 , fftw, vid-stab, opencv3, ladspa-sdk
 }:
 
+let inherit (stdenv.lib) getDev; in
+
 stdenv.mkDerivation rec {
   name = "mlt-${version}";
   version = "6.4.1";
@@ -11,6 +13,18 @@ stdenv.mkDerivation rec {
     url = "https://github.com/mltframework/mlt/archive/v${version}.tar.gz";
     sha256 = "10m3ry0b2pvqx3bk34qh5dq337nn8pkc2gzfyhsj4nv9abskln47";
   };
+  patches = [
+    # fix for glibc-2.26
+    (fetchurl {
+      url = "https://github.com/mltframework/mlt/commit/2125e3955a0d0be61571cf43b674f74b4b93c6f8.patch";
+      sha256 = "1bgs5a3dblsmdmb7hwval9nmq1as4r4f48b3amsc23v69nsl2g0a";
+    })
+    # fix for glibc-2.26
+    (fetchurl {
+      url = "https://github.com/mltframework/mlt/commit/fbf6a5187776f2f392cf258935ff49e4c0e87024.patch";
+      sha256 = "045vchpcznzsz47j67kxwdbg133kar66ssna3parnzrxdfqi72pv";
+    })
+  ];
 
   buildInputs = [
     SDL ffmpeg frei0r libjack2 libdv libsamplerate libvorbis libxml2
@@ -27,6 +41,10 @@ stdenv.mkDerivation rec {
     "--enable-opengl"
   ];
 
+  # mlt is unable to cope with our multi-prefix Qt build
+  # because it does not use CMake or qmake.
+  NIX_CFLAGS_COMPILE = [ "-I${getDev qtsvg}/include/QtSvg" ];
+
   CXXFLAGS = "-std=c++11";
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/mp4v2/default.nix b/pkgs/development/libraries/mp4v2/default.nix
index 741ca96348d0..de8e5f786466 100644
--- a/pkgs/development/libraries/mp4v2/default.nix
+++ b/pkgs/development/libraries/mp4v2/default.nix
@@ -19,8 +19,9 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   meta = {
-    homepage = http://code.google.com/p/mp4v2;
+    homepage = https://code.google.com/archive/p/mp4v2/;
     maintainers = [ ];
     platforms = stdenv.lib.platforms.linux;
+    license = stdenv.lib.licenses.mpl11;
   };
 }
diff --git a/pkgs/development/libraries/npapi-sdk/default.nix b/pkgs/development/libraries/npapi-sdk/default.nix
index c2799d039cc1..43732406064e 100644
--- a/pkgs/development/libraries/npapi-sdk/default.nix
+++ b/pkgs/development/libraries/npapi-sdk/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "A bundle of NPAPI headers by Mozilla";
 
-    homepage = https://code.google.com/p/npapi-sdk/;
+    homepage = https://bitbucket.org/mgorny/npapi-sdk; # see also https://github.com/mozilla/npapi-sdk
     license = licenses.bsd3;
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/nspr/default.nix b/pkgs/development/libraries/nspr/default.nix
index 8f7bebf649c9..2930de508e99 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.16"; in
+let version = "4.17"; in
 
 stdenv.mkDerivation {
   name = "nspr-${version}";
 
   src = fetchurl {
     url = "mirror://mozilla/nspr/releases/v${version}/src/nspr-${version}.tar.gz";
-    sha256 = "1l9wlnb9y0bzicv448jjl9kssqn044dc2qrkwzp4ll35fvch4ccv";
+    sha256 = "158hdn285dsb5rys8wl1wi32dd1axwhqq0r8fwny4aj157m0l2jr";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/nss/default.nix b/pkgs/development/libraries/nss/default.nix
index 5f0918d6451e..3e8ed856bfa8 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.32.1";
+  version = "3.33";
 
   src = fetchurl {
-    url = "mirror://mozilla/security/nss/releases/NSS_3_32_1_RTM/src/${name}.tar.gz";
-    sha256 = "0lj6c94102aa81bnjisnix09zfjly9aa1d6vrzxmcjmzynkrrrad";
+    url = "mirror://mozilla/security/nss/releases/NSS_3_33_RTM/src/${name}.tar.gz";
+    sha256 = "1r44qa4j7sri50mxxbnrpm6fxprwrhv76whi7bfq73j06syxmw4q";
   };
 
   buildInputs = [ perl zlib sqlite ];
diff --git a/pkgs/development/libraries/ogrepaged/default.nix b/pkgs/development/libraries/ogrepaged/default.nix
index d42677254e35..2408c3e49041 100644
--- a/pkgs/development/libraries/ogrepaged/default.nix
+++ b/pkgs/development/libraries/ogrepaged/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Paged Geometry for Ogre3D";
-    homepage = http://code.google.com/p/ogre-paged/;
+    homepage = https://github.com/RigsOfRods/ogre-paged;
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index 87e5e44b7dae..8d1a2876a375 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -10,12 +10,12 @@ assert alsaSupport -> alsaLib != null;
 assert pulseSupport -> libpulseaudio != null;
 
 stdenv.mkDerivation rec {
-  version = "1.17.2";
+  version = "1.18.2";
   name = "openal-soft-${version}";
 
   src = fetchurl {
     url = "http://kcat.strangesoft.net/openal-releases/${name}.tar.bz2";
-    sha256 = "051k5fy8pk4fd9ha3qaqcv08xwbks09xl5qs4ijqq2qz5xaghhd3";
+    sha256 = "10kydm8701a2kppiss9sdidn1820cmzhqgx1b2bsa5dsgzic32lz";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/opencascade/default.nix b/pkgs/development/libraries/opencascade/default.nix
index 58f9019d6e03..c2fba26ba686 100644
--- a/pkgs/development/libraries/opencascade/default.nix
+++ b/pkgs/development/libraries/opencascade/default.nix
@@ -10,6 +10,12 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ mesa tcl tk file libXmu libtool qt4 ftgl freetype cmake ];
 
+  # Fix for glibc 2.26
+  postPatch = ''
+    sed -i -e 's/^\( *#include <\)x\(locale.h>\)//' \
+      src/Standard/Standard_CLocaleSentry.hxx
+  '';
+
   preConfigure = ''
     cmakeFlags="$cmakeFlags -DOCE_INSTALL_PREFIX=$out"
   '';
diff --git a/pkgs/development/libraries/portaudio/default.nix b/pkgs/development/libraries/portaudio/default.nix
index c55d17113219..6a882ecd9003 100644
--- a/pkgs/development/libraries/portaudio/default.nix
+++ b/pkgs/development/libraries/portaudio/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libjack2 ]
     ++ stdenv.lib.optional (!stdenv.isDarwin) alsaLib;
 
-  configureFlags = [ "--disable-mac-universal" ];
+  configureFlags = [ "--disable-mac-universal --enable-cxx" ];
 
   propagatedBuildInputs = stdenv.lib.optionals stdenv.isDarwin [ AudioUnit AudioToolbox CoreAudio CoreServices Carbon ];
 
diff --git a/pkgs/development/libraries/protobufc/generic.nix b/pkgs/development/libraries/protobufc/generic.nix
index b9ad506e20a8..ce0b2506c572 100644
--- a/pkgs/development/libraries/protobufc/generic.nix
+++ b/pkgs/development/libraries/protobufc/generic.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ protobuf zlib ];
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/protobuf-c/protobuf-c/;
+    homepage = https://github.com/protobuf-c/protobuf-c/;
     description = "C bindings for Google's Protocol Buffers";
     license = licenses.bsd2;
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/ptlib/default.nix b/pkgs/development/libraries/ptlib/default.nix
index c5d3d7411309..f980a14aa41d 100644
--- a/pkgs/development/libraries/ptlib/default.nix
+++ b/pkgs/development/libraries/ptlib/default.nix
@@ -27,6 +27,7 @@ stdenv.mkDerivation rec {
     (fetchpatch { url = http://sources.debian.net/data/main/p/ptlib/2.10.11~dfsg-2.1/debian/patches/gcc-5_support;
       sha256 = "0pf2yj0150r4cnc6nv65mclrm3dillqh1xjk7m6gsjnk9b96i5d4";
     })
+    ./ptlib-2.10.11-glibc-2.26.patch
   ];
 
   meta = with stdenv.lib; {
@@ -41,4 +42,3 @@ stdenv.mkDerivation rec {
     };
   };
 }
-
diff --git a/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch b/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch
new file mode 100644
index 000000000000..300c3736abf7
--- /dev/null
+++ b/pkgs/development/libraries/ptlib/ptlib-2.10.11-glibc-2.26.patch
@@ -0,0 +1,13 @@
+diff --git a/src/ptlib/unix/channel.cxx b/src/ptlib/unix/channel.cxx
+index 3b17dda..2dcaa18 100644
+--- a/src/ptlib/unix/channel.cxx
++++ b/src/ptlib/unix/channel.cxx
+@@ -36,7 +36,7 @@
+ 
+ #include <ptlib.h>
+ #include <sys/ioctl.h>
+-
++#include <sys/uio.h>
+ 
+ #include "../common/pchannel.cxx"
+ 
diff --git a/pkgs/development/libraries/qoauth/default.nix b/pkgs/development/libraries/qoauth/default.nix
index fa998b9e1984..d09c0d9a6ce0 100644
--- a/pkgs/development/libraries/qoauth/default.nix
+++ b/pkgs/development/libraries/qoauth/default.nix
@@ -9,7 +9,11 @@ stdenv.mkDerivation {
     sha256 = "a28005986410d333e03d077679cdf6c504ec5a33342867dc0f9fb0b74285e333";
   };
 
-  patchPhase = "sed -e 's/lib64/lib/g' -i src/src.pro";
+  postPatch = ''
+    sed -i src/src.pro \
+        -e 's/lib64/lib/g' \
+        -e '/features.path =/ s|$$\[QMAKE_MKSPECS\]|$$NIX_OUTPUT_DEV/mkspecs|'
+  '';
 
   buildInputs = [ qt5.qtbase qca2-qt5 ];
   nativeBuildInputs = [ qt5.qmake ];
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 4cd5fb0f6414..e2c80e445e76 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchurl, pcre, zlib, perl }:
+{ stdenv, fetchurl, libjpeg, zlib, perl }:
 
-let version = "6.0.0";
+let version = "7.0.0";
 in
 stdenv.mkDerivation rec {
   name = "qpdf-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/qpdf/qpdf/${version}/${name}.tar.gz";
-    sha256 = "0csj2p2gkxrc0rk8ykymlsdgfas96vzf1dip3y1x7z1q9plwgzd9";
+    sha256 = "0py6p27fx4qrwq9mvcybna42b0bdi359x38lzmggxl5a9khqvl7y";
   };
 
   nativeBuildInputs = [ perl ];
 
-  buildInputs = [ pcre zlib ];
+  buildInputs = [ zlib libjpeg ];
 
   postPatch = ''
     patchShebangs qpdf/fix-qdf
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     homepage = http://qpdf.sourceforge.net/;
     description = "A C++ library and set of programs that inspect and manipulate the structure of PDF files";
-    license = licenses.artistic2;
+    license = licenses.asl20; # as of 7.0.0, people may stay at artistic2
     maintainers = with maintainers; [ abbradar ];
     platforms = platforms.all;
   };
diff --git a/pkgs/development/libraries/qscintilla/default.nix b/pkgs/development/libraries/qscintilla/default.nix
index c2e6c3cb3b52..f5c5a667418c 100644
--- a/pkgs/development/libraries/qscintilla/default.nix
+++ b/pkgs/development/libraries/qscintilla/default.nix
@@ -21,11 +21,23 @@ stdenv.mkDerivation rec {
 
   preConfigure = ''
     cd Qt4Qt5
+    ${if withQt5
+      then ''
+    sed -i -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/lib," \
+           -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \
+           -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/translations," \
+           -e "s,\$\$\\[QT_HOST_DATA\\]/mkspecs,$out/mkspecs," \
+           -e "s,\$\$\\[QT_INSTALL_DATA\\]/mkspecs,$out/mkspecs," \
+           -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share," \
+           qscintilla.pro
+    ''
+      else ''
     sed -i -e "s,\$\$\\[QT_INSTALL_LIBS\\],$out/lib," \
            -e "s,\$\$\\[QT_INSTALL_HEADERS\\],$out/include/," \
            -e "s,\$\$\\[QT_INSTALL_TRANSLATIONS\\],$out/share/qt/translations," \
            -e "s,\$\$\\[QT_INSTALL_DATA\\],$out/share/qt," \
            qscintilla.pro
+    ''}
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/libraries/qt-5/5.6/default.nix b/pkgs/development/libraries/qt-5/5.6/default.nix
index b250ae8b9527..7930bd909aa5 100644
--- a/pkgs/development/libraries/qt-5/5.6/default.nix
+++ b/pkgs/development/libraries/qt-5/5.6/default.nix
@@ -45,64 +45,38 @@ let
   mirror = "http://download.qt.io";
   srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
 
-  mkDerivation = args:
-    stdenv.mkDerivation (args // {
-
-      qmakeFlags =
-        (args.qmakeFlags or [])
-        ++ optional (debug != null)
-           (if debug then "CONFIG+=debug" else "CONFIG+=release");
-
-      cmakeFlags =
-        (args.cmakeFlags or [])
-        ++ [ "-DBUILD_TESTING=OFF" ]
-        ++ optional (debug != null)
-           (if debug then "-DCMAKE_BUILD_TYPE=Debug"
-                     else "-DCMAKE_BUILD_TYPE=Release");
-
-      enableParallelBuilding = args.enableParallelBuilding or true;
-
-    });
-
-  qtSubmodule = args:
-    let
-      inherit (args) name;
-      version = args.version or srcs."${name}".version;
-      src = args.src or srcs."${name}".src;
-    in mkDerivation (args // {
-      name = "${name}-${version}";
-      inherit src;
-
-      propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
-      nativeBuildInputs =
-        (args.nativeBuildInputs or [])
-        ++ [ perl self.qmake ];
-
-      NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
-
-      outputs = args.outputs or [ "out" "dev" ];
-      setOutputFlags = args.setOutputFlags or false;
-
-      setupHook = ../qtsubmodule-setup-hook.sh;
-
-      meta = {
-        homepage = http://www.qt.io;
-        description = "A cross-platform application framework for C++";
-        license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
-        maintainers = with maintainers; [ qknight ttuegel periklis ];
-        platforms = platforms.unix;
-      } // (args.meta or {});
-    });
+  patches = {
+    qtbase = [ ./qtbase.patch ];
+    qtdeclarative = [ ./qtdeclarative.patch ];
+    qtscript = [ ./qtscript.patch ];
+    qtserialport = [ ./qtserialport.patch ];
+    qttools = [ ./qttools.patch ];
+    qtwebengine =
+      optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch;
+    qtwebkit = [ ./qtwebkit.patch ];
+  };
+
+  mkDerivation =
+    import ../mkDerivation.nix
+    { inherit stdenv; inherit (stdenv) lib; }
+    { inherit debug; };
+
+  qtModule =
+    import ../qtModule.nix
+    { inherit mkDerivation perl; inherit (stdenv) lib; }
+    { inherit self srcs patches; };
 
   addPackages = self: with self;
     let
-      callPackage = self.newScope { inherit qtCompatVersion qtSubmodule srcs; };
+      callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
       inherit mkDerivation;
 
-      qtbase = callPackage ./qtbase {
+      qtbase = callPackage ../modules/qtbase.nix {
         inherit bison cups harfbuzz mesa;
+        inherit (srcs.qtbase) src version;
+        patches = patches.qtbase;
         inherit developerBuild decryptSslTraffic;
       };
 
@@ -110,47 +84,46 @@ let
       /* qtactiveqt = not packaged */
       /* qtandroidextras = not packaged */
       /* qtcanvas3d = not packaged */
-      qtconnectivity = callPackage ./qtconnectivity.nix {};
-      qtdeclarative = callPackage ./qtdeclarative {};
-      qtdoc = callPackage ./qtdoc.nix {};
-      qtenginio = callPackage ./qtenginio.nix {};
-      qtgraphicaleffects = callPackage ./qtgraphicaleffects.nix {};
-      qtimageformats = callPackage ./qtimageformats.nix {};
-      qtlocation = callPackage ./qtlocation.nix {};
+      qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
+      qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
+      qtdoc = callPackage ../modules/qtdoc.nix {};
+      qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
+      qtimageformats = callPackage ../modules/qtimageformats.nix {};
+      qtlocation = callPackage ../modules/qtlocation.nix {};
       /* qtmacextras = not packaged */
-      qtmultimedia = callPackage ./qtmultimedia.nix {
+      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
         inherit gstreamer gst-plugins-base;
       };
       qtquick1 = null;
-      qtquickcontrols = callPackage ./qtquickcontrols.nix {};
-      qtquickcontrols2 = callPackage ./qtquickcontrols2.nix {};
-      qtscript = callPackage ./qtscript {};
-      qtsensors = callPackage ./qtsensors.nix {};
-      qtserialport = callPackage ./qtserialport {};
-      qtsvg = callPackage ./qtsvg.nix {};
-      qttools = callPackage ./qttools {};
-      qttranslations = callPackage ./qttranslations.nix {};
-      qtwayland = callPackage ./qtwayland.nix {};
-      qtwebchannel = callPackage ./qtwebchannel.nix {};
-      qtwebengine = callPackage ./qtwebengine {};
-      qtwebkit = callPackage ./qtwebkit {};
-      qtwebsockets = callPackage ./qtwebsockets.nix {};
+      qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
+      qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
+      qtscript = callPackage ../modules/qtscript.nix {};
+      qtsensors = callPackage ../modules/qtsensors.nix {};
+      qtserialport = callPackage ../modules/qtserialport.nix {};
+      qtsvg = callPackage ../modules/qtsvg.nix {};
+      qttools = callPackage ../modules/qttools.nix {};
+      qttranslations = callPackage ../modules/qttranslations.nix {};
+      qtwayland = callPackage ../modules/qtwayland.nix {};
+      qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
+      qtwebengine = callPackage ../modules/qtwebengine.nix {};
+      qtwebkit = callPackage ../modules/qtwebkit.nix {};
+      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
       /* qtwinextras = not packaged */
-      qtx11extras = callPackage ./qtx11extras.nix {};
-      qtxmlpatterns = callPackage ./qtxmlpatterns.nix {};
+      qtx11extras = callPackage ../modules/qtx11extras.nix {};
+      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
 
       env = callPackage ../qt-env.nix {};
       full = env "qt-${qtbase.version}" [
-        qtconnectivity qtdeclarative qtdoc qtenginio qtgraphicaleffects
-        qtimageformats qtlocation qtmultimedia qtquickcontrols qtquickcontrols2
-        qtscript qtsensors qtserialport qtsvg qttools qttranslations qtwayland
+        qtconnectivity qtdeclarative qtdoc qtgraphicaleffects qtimageformats
+        qtlocation qtmultimedia qtquickcontrols qtquickcontrols2 qtscript
+        qtsensors qtserialport qtsvg qttools qttranslations qtwayland
         qtwebchannel qtwebengine qtwebkit qtwebsockets qtx11extras qtxmlpatterns
       ];
 
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
         substitutions = { inherit (stdenv) isDarwin; };
-      } ../qmake-hook.sh;
+      } ../hooks/qmake-hook.sh;
     };
 
    self = makeScope newScope addPackages;
diff --git a/pkgs/development/libraries/qt-5/5.6/fetch.sh b/pkgs/development/libraries/qt-5/5.6/fetch.sh
index 3aa539cda033..ee3a5ddf8deb 100644
--- a/pkgs/development/libraries/qt-5/5.6/fetch.sh
+++ b/pkgs/development/libraries/qt-5/5.6/fetch.sh
@@ -1,3 +1,3 @@
-WGET_ARGS=( http://download.qt.io/official_releases/qt/5.6/5.6.2/submodules/ \
-            http://download.qt.io/community_releases/5.6/5.6.2/ \
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.6/5.6.3/submodules/ \
+            http://download.qt.io/community_releases/5.6/5.6.3/ \
             -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase.patch b/pkgs/development/libraries/qt-5/5.6/qtbase.patch
new file mode 100644
index 000000000000..6bdf774e15d6
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.6/qtbase.patch
@@ -0,0 +1,773 @@
+diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
+index 11fb52a0b1..a4cca1fdcb 100644
+--- a/mkspecs/features/create_cmake.prf
++++ b/mkspecs/features/create_cmake.prf
+@@ -21,7 +21,7 @@ load(cmake_functions)
+ # at cmake time whether package has been found via a symlink, and correct
+ # that to an absolute path. This is only done for installations to
+ # the /usr or / prefix.
+-CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
++CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
+ contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
+ 
+ CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
+@@ -47,47 +47,22 @@ split_incpath {
+         $$cmake_extra_source_includes.output
+ }
+ 
+-CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
+-    CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
+-    CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
++CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+ 
+ !exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true
+ 
+-CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
+-    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
+-    CMAKE_LIB_DIR_IS_ABSOLUTE = True
+-} else {
+-    CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
+-    # We need to go up another two levels because the CMake files are
+-    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
+-    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
+-}
++CMAKE_LIB_DIR = $$NIX_OUTPUT_DEV/lib/
++CMAKE_LIB_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
+-    CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
+-    CMAKE_BIN_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
++CMAKE_BIN_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
+-    CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
+-    CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
++CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
+ 
+-win32:!wince:!static:!staticlib {
+-    CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
+-    contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
+-        CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
+-        CMAKE_DLL_DIR_IS_ABSOLUTE = True
+-    }
+-} else {
+-    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
+-    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
+-}
++CMAKE_DLL_DIR = $$NIX_OUTPUT_DEV/lib/
++CMAKE_DLL_DIR_IS_ABSOLUTE = True
+ 
+ static|staticlib:CMAKE_STATIC_TYPE = true
+ 
+@@ -167,7 +142,7 @@ contains(CONFIG, plugin) {
+       cmake_target_file
+ 
+     cmake_qt5_plugin_file.files = $$cmake_target_file.output
+-    cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
++    cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
+     INSTALLS += cmake_qt5_plugin_file
+ 
+     return()
+@@ -314,7 +289,7 @@ exists($$cmake_macros_file.input) {
+     cmake_qt5_module_files.files += $$cmake_macros_file.output
+ }
+ 
+-cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
++cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
+ 
+ # We are generating cmake files. Most developers of Qt are not aware of cmake,
+ # so we require automatic tests to be available. The only module which should
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index d2358cae4b..61d8cc0471 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
+ endif()
+ !!ENDIF
+ 
+-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
+-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ELSE
+-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
+-# Use original install prefix when loaded through a
+-# cross-prefix symbolic link such as /lib -> /usr/lib.
+-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
+-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
+-if(_realCurr STREQUAL _realOrig)
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
+-else()
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-endif()
+-unset(_realOrig)
+-unset(_realCurr)
+-unset(_IMPORT_PREFIX)
+-!!ENDIF
+-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-!!ELSE
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ENDIF
+-
+ !!IF !equals(TEMPLATE, aux)
+ # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
+ set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
+@@ -58,11 +34,7 @@ endmacro()
+ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
+     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+-!!ENDIF
+     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+     set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
+         \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
+@@ -75,11 +47,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+     )
+ 
+ !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ELSE
+     set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ENDIF
+     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
+     if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
+         set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
+@@ -95,24 +63,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !no_module_headers
+ !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
+     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
++      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
++      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
+     )
+ !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+-    )
+-!!ELSE
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+-!!ENDIF
+-!!ELSE
+-!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
+-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
++        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
++        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+     )
+ !!ELSE
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+@@ -128,7 +85,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+ !!ENDIF
+ !!ENDIF
+-!!ENDIF
+ !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
+     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
+ !!ENDIF
+@@ -254,25 +210,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_DEBUG_TYPE)
+ !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
+ !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+-!!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+-!!ENDIF
+       AND EXISTS
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+ !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+@@ -291,25 +235,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_RELEASE_TYPE)
+ !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
+ !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+-!!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+-!!ENDIF
+       AND EXISTS
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+ !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+@@ -328,11 +260,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
+-        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ELSE
+         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ENDIF
+         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+         set_target_properties(Qt5::${Plugin} PROPERTIES
+             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
+index 47ebe78400..25aa2b93e7 100644
+--- a/mkspecs/features/qml_module.prf
++++ b/mkspecs/features/qml_module.prf
+@@ -17,10 +17,7 @@ fq_qml_files = $$_PRO_FILE_PWD_/qmldir
+ 
+ for(qmlf, QML_FILES): fq_qml_files += $$absolute_path($$qmlf, $$_PRO_FILE_PWD_)
+ 
+-qml1_target: \
+-    instbase = $$[QT_INSTALL_IMPORTS]
+-else: \
+-    instbase = $$[QT_INSTALL_QML]
++instbase = $$NIX_OUTPUT_QML
+ 
+ # Install rules
+ qmldir.base = $$_PRO_FILE_PWD_
+diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
+index ebec1db8da..62ace84a6c 100644
+--- a/mkspecs/features/qml_plugin.prf
++++ b/mkspecs/features/qml_plugin.prf
+@@ -46,13 +46,8 @@ exists($$QMLTYPEFILE): QML_FILES += $$QMLTYPEFILE
+ 
+ load(qt_build_paths)
+ 
+-qml1_target {
+-    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
+-    instbase = $$[QT_INSTALL_IMPORTS]
+-} else {
+-    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
+-    instbase = $$[QT_INSTALL_QML]
+-}
++DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
++instbase = $$NIX_OUTPUT_QML
+ 
+ target.path = $$instbase/$$TARGETPATH
+ INSTALLS += target
+diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
+index 46aca50cc2..4f4e634724 100644
+--- a/mkspecs/features/qt_app.prf
++++ b/mkspecs/features/qt_app.prf
+@@ -29,7 +29,7 @@ host_build:force_bootstrap {
+     target.path = $$[QT_HOST_BINS]
+ } else {
+     !build_pass:contains(QT_CONFIG, debug_and_release): CONFIG += release
+-    target.path = $$[QT_INSTALL_BINS]
++    target.path = $$NIX_OUTPUT_BIN/bin
+     CONFIG += relative_qt_rpath  # Qt's tools and apps should be relocatable
+ }
+ INSTALLS += target
+diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
+index 1848f00e90..2af93675c5 100644
+--- a/mkspecs/features/qt_build_paths.prf
++++ b/mkspecs/features/qt_build_paths.prf
+@@ -23,6 +23,6 @@ exists($$MODULE_BASE_INDIR/.git): \
+ !force_independent {
+     # If the module is not built independently, everything ends up in qtbase.
+     # This is the case in non-prefix builds, except for selected modules.
+-    MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
+-    MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
++    MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
++    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
+ }
+diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
+index 08b3f3e5af..5ffeafd9d8 100644
+--- a/mkspecs/features/qt_common.prf
++++ b/mkspecs/features/qt_common.prf
+@@ -30,8 +30,8 @@ contains(TEMPLATE, .*lib) {
+         qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
+         qt_libdir = $$[QT_HOST_LIBS]
+     } else {
+-        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
+-        qt_libdir = $$[QT_INSTALL_LIBS]
++        qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib
++        qt_libdir = $$NIX_OUTPUT_OUT/lib
+     }
+     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
+         lib_replace.match = "[^ ']*$$rplbase/lib"
+diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
+index 183d0c9502..17982b04ec 100644
+--- a/mkspecs/features/qt_docs.prf
++++ b/mkspecs/features/qt_docs.prf
+@@ -41,7 +41,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
+ 
+ QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
+ !build_online_docs: \
+-    QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
++    QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
+ PREP_DOC_INDEXES =
+ DOC_INDEXES =
+ !isEmpty(QTREPOS) {
+@@ -60,8 +60,8 @@ DOC_INDEXES =
+         DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
+ } else {
+     prepare_docs: \
+-        PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
+-    DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
++        PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
++    DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
+ }
+ doc_command = $$QDOC $$QMAKE_DOCS
+ prepare_docs {
+@@ -75,12 +75,12 @@ prepare_docs {
+     qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
+ 
+     inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
+-    inst_html_docs.path = $$[QT_INSTALL_DOCS]
++    inst_html_docs.path = $$NIX_OUTPUT_DOC
+     inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
+     INSTALLS += inst_html_docs
+ 
+     inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
+-    inst_qch_docs.path = $$[QT_INSTALL_DOCS]
++    inst_qch_docs.path = $$NIX_OUTPUT_DOC
+     inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
+     INSTALLS += inst_qch_docs
+ 
+diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
+index 4c68cfd72f..f422f18266 100644
+--- a/mkspecs/features/qt_example_installs.prf
++++ b/mkspecs/features/qt_example_installs.prf
+@@ -70,7 +70,7 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
+         $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
+         $$DBUS_ADAPTORS $$DBUS_INTERFACES
+     addInstallFiles(sources.files, $$sourcefiles)
+-    sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
++    sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
+     INSTALLS += sources
+ 
+     check_examples {
+diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
+index 4a1d265a8b..d346424b5b 100644
+--- a/mkspecs/features/qt_functions.prf
++++ b/mkspecs/features/qt_functions.prf
+@@ -70,7 +70,7 @@ defineTest(qtHaveModule) {
+ defineTest(qtPrepareTool) {
+     cmd = $$eval(QT_TOOL.$${2}.binary)
+     isEmpty(cmd) {
+-        cmd = $$[QT_HOST_BINS]/$$2
++        cmd = $$system("command -v $$2")
+         exists($${cmd}.pl) {
+             cmd = perl -w $$system_path($${cmd}.pl)
+         } else: contains(QMAKE_HOST.os, Windows) {
+diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
+index 3a5dbb6274..24f321bd82 100644
+--- a/mkspecs/features/qt_installs.prf
++++ b/mkspecs/features/qt_installs.prf
+@@ -12,16 +12,10 @@
+ #library
+ !qt_no_install_library {
+     win32 {
+-       host_build: \
+-           dlltarget.path = $$[QT_HOST_BINS]
+-       else: \
+-           dlltarget.path = $$[QT_INSTALL_BINS]
++        dlltarget.path = $$NIX_OUTPUT_BIN/bin
+        INSTALLS += dlltarget
+     }
+-    host_build: \
+-        target.path = $$[QT_HOST_LIBS]
+-    else: \
+-        target.path = $$[QT_INSTALL_LIBS]
++    target.path = $$NIX_OUTPUT_OUT/lib
+     !static: target.CONFIG = no_dll
+     INSTALLS += target
+ }
+@@ -29,33 +23,33 @@
+ #headers
+ qt_install_headers {
+     class_headers.files = $$SYNCQT.HEADER_CLASSES
+-    class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
++    class_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
+     INSTALLS += class_headers
+ 
+     targ_headers.files = $$SYNCQT.HEADER_FILES
+-    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
++    targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
+     INSTALLS += targ_headers
+ 
+     private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES
+-    private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
++    private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
+     INSTALLS += private_headers
+ 
+     qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
+-    qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
++    qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
+     INSTALLS += qpa_headers
+ }
+ 
+ #module
+ qt_install_module {
+     !isEmpty(MODULE_PRI) {
+-        pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
++        pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
+         pritarget.files = $$MODULE_PRI
+         INSTALLS += pritarget
+     } else: isEmpty(MODULE_PRIVATE_PRI) {
+         warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
+     }
+     !isEmpty(MODULE_PRIVATE_PRI) {
+-        privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
++        privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
+         privpritarget.files = $$MODULE_PRIVATE_PRI
+         INSTALLS += privpritarget
+     }
+diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
+index 3cf6c7349c..83e68025a5 100644
+--- a/mkspecs/features/qt_plugin.prf
++++ b/mkspecs/features/qt_plugin.prf
+@@ -82,7 +82,7 @@ CONFIG(static, static|shared)|prefix_build {
+     }
+ }
+ 
+-target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
++target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
+ INSTALLS += target
+ 
+ TARGET = $$qt5LibraryTarget($$TARGET)
+diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
+index 91a4eb619a..08b533e69c 100644
+--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
+     add_executable(Qt5::qmake IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
+     add_executable(Qt5::moc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
+     add_executable(Qt5::rcc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain)
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ENDIF
+@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ENDIF
+diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+index c357237d0e..6f0c75de3c 100644
+--- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+index 706304cf34..546420f6ad 100644
+--- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
+index bd3c12ce97..a796775970 100644
+--- a/src/corelib/kernel/qcoreapplication.cpp
++++ b/src/corelib/kernel/qcoreapplication.cpp
+@@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPaths()
+         QStringList *app_libpaths = new QStringList;
+         coreappdata()->app_libpaths.reset(app_libpaths);
+ 
++        // Add library paths derived from PATH
++        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
++        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
++        for (const QString &path: paths) {
++            if (!path.isEmpty()) {
++                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
++            }
++        }
++
+         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
+         if (!libPathEnv.isEmpty()) {
+             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
+diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp
+index c13c9a5223..6936851511 100644
+--- a/src/corelib/tools/qtimezoneprivate_tz.cpp
++++ b/src/corelib/tools/qtimezoneprivate_tz.cpp
+@@ -64,7 +64,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
+ // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
+ static QTzTimeZoneHash loadTzTimeZones()
+ {
+-    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
++    // Try TZDIR first, in case we're running on NixOS.
++    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
++    // Fallback to traditional paths in case we are not on NixOS.
++    if (!QFile::exists(path))
++        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
+     if (!QFile::exists(path))
+         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
+ 
+@@ -636,12 +640,16 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId)
+         if (!tzif.open(QIODevice::ReadOnly))
+             return;
+     } else {
+-        // Open named tz, try modern path first, if fails try legacy path
+-        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++        // Try TZDIR first, in case we're running on NixOS
++        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
+         if (!tzif.open(QIODevice::ReadOnly)) {
+-            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
+-            if (!tzif.open(QIODevice::ReadOnly))
+-                return;
++            // Open named tz, try modern path first, if fails try legacy path
++            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++            if (!tzif.open(QIODevice::ReadOnly)) {
++                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++                if (!tzif.open(QIODevice::ReadOnly))
++                    return;
++            }
+         }
+     }
+ 
+diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
+index 1d947159e2..b36865fc48 100644
+--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
+@@ -2,11 +2,7 @@
+ if (NOT TARGET Qt5::qdbuscpp2xml)
+     add_executable(Qt5::qdbuscpp2xml IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+-    set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+     _qt5_DBus_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
+@@ -17,11 +13,7 @@ endif()
+ if (NOT TARGET Qt5::qdbusxml2cpp)
+     add_executable(Qt5::qdbusxml2cpp IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+-    set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+     _qt5_DBus_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
+diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
+index 07869efd7d..37b95d1b6b 100644
+--- a/src/gui/Qt5GuiConfigExtras.cmake.in
++++ b/src/gui/Qt5GuiConfigExtras.cmake.in
+@@ -2,7 +2,7 @@
+ !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
+ 
+ !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
++set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ELSE
+ set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ENDIF
+@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO
+     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ENDIF
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
++    set(imported_implib \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ELSE
+     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ENDIF
+diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
+index 584f0b0f0e..24d80063f2 100644
+--- a/src/network/kernel/qdnslookup_unix.cpp
++++ b/src/network/kernel/qdnslookup_unix.cpp
+@@ -83,7 +83,7 @@ static bool resolveLibraryInternal()
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
+         if (!lib.load())
+             return false;
+     }
+diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
+index dabf1913cc..53bb867e07 100644
+--- a/src/network/kernel/qhostinfo_unix.cpp
++++ b/src/network/kernel/qhostinfo_unix.cpp
+@@ -94,7 +94,7 @@ static bool resolveLibraryInternal()
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
+         if (!lib.load())
+             return false;
+     }
+diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
+index 68caaeb6dc..fef4a81474 100644
+--- a/src/network/ssl/qsslcontext_openssl.cpp
++++ b/src/network/ssl/qsslcontext_openssl.cpp
+@@ -340,7 +340,7 @@ init_context:
+ 
+     const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
+     if (!qcurves.isEmpty()) {
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
+         // Set the curves to be used
+         if (q_SSLeay() >= 0x10002000L) {
+             // SSL_CTX_ctrl wants a non-const pointer as last argument,
+@@ -354,7 +354,7 @@ init_context:
+                 return sslContext;
+             }
+         } else
+-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
+         {
+             // specific curves requested, but not possible to set -> error
+             sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
+diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
+index 338c7ca3be..dd52114bac 100644
+--- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
++++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
+@@ -251,12 +251,9 @@ void TableGenerator::initPossibleLocations()
+     // the QTCOMPOSE environment variable
+     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
+         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
+-    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
+-    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
+-    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
+-    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
+     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
+     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
++    m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE));
+ }
+ 
+ QString TableGenerator::findComposeFile()
+diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+index c2b7a562a9..4fa5f6d6a5 100644
+--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
++++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+@@ -570,7 +570,14 @@ void (*QGLXContext::getProcAddress(const QByteArray &procName)) ()
+ #ifndef QT_NO_LIBRARY
+                 extern const QString qt_gl_library_name();
+ //                QLibrary lib(qt_gl_library_name());
++                // Check system library paths first
+                 QLibrary lib(QLatin1String("GL"));
++#ifdef NIXPKGS_MESA_GL
++                if (!lib.load()) {
++                    // Fallback to Mesa driver
++                    lib.setFileName(QLatin1String(NIXPKGS_MESA_GL));
++                }
++#endif // NIXPKGS_MESA_GL
+                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
+ #endif
+             }
+diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
+index 4646ced954..ff3111f393 100644
+--- a/src/plugins/platforms/xcb/qxcbcursor.cpp
++++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
+@@ -303,10 +303,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
+ #if defined(XCB_USE_XLIB) && !defined(QT_NO_LIBRARY)
+     static bool function_ptrs_not_initialized = true;
+     if (function_ptrs_not_initialized) {
+-        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
++        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
+         bool xcursorFound = xcursorLib.load();
+         if (!xcursorFound) { // try without the version number
+-            xcursorLib.setFileName(QLatin1String("Xcursor"));
++            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
+             xcursorFound = xcursorLib.load();
+         }
+         if (xcursorFound) {
+diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+index 99d87e2e46..a4eab2aa72 100644
+--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
+     add_executable(Qt5::uic IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths-darwin.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths-darwin.patch
deleted file mode 100644
index 9d42314e4cc9..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths-darwin.patch
+++ /dev/null
@@ -1,384 +0,0 @@
-Index: qtbase-opensource-src-5.6.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ qtbase-opensource-src-5.6.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
- endif()
- !!ENDIF
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
-@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    endif()
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
-@@ -74,45 +53,17 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-         \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-     )
- 
--!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
--    set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
--    _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
--    if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
--        set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
--        \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
--        )
--    endif()
--!!ENDIF
- endmacro()
- !!ENDIF
- 
- if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- 
- !!IF !no_module_headers
--!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
--    )
--!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
--    )
--!!ELSE
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
--!!ENDIF
--!!ELSE
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
-+    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_OUT@/lib\" \"@NIX_OUT@/lib/$${MODULE_INCNAME}.framework/Headers\")
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ENDIF
--!!ENDIF
-+
- !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
-     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
- !!ENDIF
-@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- 
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
--    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
--        _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
--!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
- !!ENDIF // CMAKE_DEBUG_TYPE
- !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- !!ENDIF // CMAKE_RELEASE_TYPE
- 
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--    _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
--!!ELSE
-     _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
- 
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
--    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
--        _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
--!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
- !!ENDIF // CMAKE_RELEASE_TYPE
- !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -328,11 +258,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-Index: qtbase-opensource-src-5.6.1/src/gui/Qt5GuiConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/gui/Qt5GuiConfigExtras.cmake.in
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain)
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/dbus/Qt5DBusConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/dbus/Qt5DBusConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/mkspecs/features/create_cmake.prf
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/mkspecs/features/create_cmake.prf
-+++ qtbase-opensource-src-5.6.1/mkspecs/features/create_cmake.prf
-@@ -136,28 +136,28 @@ contains(CONFIG, plugin) {
- 
-     win32 {
-         isEmpty(CMAKE_STATIC_TYPE) {
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.dll
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.dll
-         } else:mingw {
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}/$$PLUGIN_TYPE/lib$${TARGET}.a
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}d.a
-         } else {                         # MSVC static
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.lib
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.lib
-         }
-     } else {
-         mac {
-             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
-             else: CMAKE_PlUGIN_EXT = .a
- 
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-         } else {
-             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so
-             else: CMAKE_PlUGIN_EXT = .a
- 
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-         }
-     }
-     cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
-Index: qtbase-opensource-src-5.6.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ qtbase-opensource-src-5.6.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths.patch
deleted file mode 100644
index ca8a42663754..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/cmake-paths.patch
+++ /dev/null
@@ -1,385 +0,0 @@
-Index: qtbase-opensource-src-5.6.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ qtbase-opensource-src-5.6.1/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
- endif()
- !!ENDIF
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
-@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    endif()
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
-@@ -74,45 +53,18 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-         \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-     )
- 
--!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
--    set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
--    _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
--    if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
--        set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
--        \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
--        )
--    endif()
--!!ENDIF
- endmacro()
- !!ENDIF
- 
- if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
- 
- !!IF !no_module_headers
--!!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
--    )
--!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
--    )
--!!ELSE
--    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
--!!ENDIF
--!!ELSE
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
-+    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR\" \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
-+        \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -128,7 +80,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ENDIF
--!!ENDIF
-+
- !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
-     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
- !!ENDIF
-@@ -253,28 +205,19 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- 
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
--    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
--        _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
--!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
- !!ENDIF // CMAKE_DEBUG_TYPE
- !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -282,36 +225,23 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- !!ENDIF // CMAKE_RELEASE_TYPE
- 
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--    _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
--!!ELSE
-     _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
- 
- !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
--!!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
--    if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
--        _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
--!!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF
-         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
--!!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
-     endif()
- !!ENDIF // CMAKE_RELEASE_TYPE
- !!ENDIF // CMAKE_FIND_OTHER_LIBRARY_BUILD
-@@ -328,11 +258,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-Index: qtbase-opensource-src-5.6.1/src/gui/Qt5GuiConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/gui/Qt5GuiConfigExtras.cmake.in
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -131,7 +131,7 @@ if (NOT TARGET Qt5::WinMain)
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -145,7 +145,7 @@ if (NOT TARGET Qt5::WinMain)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/src/dbus/Qt5DBusConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.6.1/src/dbus/Qt5DBusConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-Index: qtbase-opensource-src-5.6.1/mkspecs/features/create_cmake.prf
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/mkspecs/features/create_cmake.prf
-+++ qtbase-opensource-src-5.6.1/mkspecs/features/create_cmake.prf
-@@ -136,28 +136,28 @@ contains(CONFIG, plugin) {
- 
-     win32 {
-         isEmpty(CMAKE_STATIC_TYPE) {
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.dll
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.dll
-         } else:mingw {
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}/$$PLUGIN_TYPE/lib$${TARGET}.a
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}d.a
-         } else {                         # MSVC static
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.lib
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.lib
-         }
-     } else {
-         mac {
-             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
-             else: CMAKE_PlUGIN_EXT = .a
- 
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-         } else {
-             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so
-             else: CMAKE_PlUGIN_EXT = .a
- 
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-         }
-     }
-     cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
-Index: qtbase-opensource-src-5.6.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ qtbase-opensource-src-5.6.1/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_OUT@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/compose-search-path.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/compose-search-path.patch
deleted file mode 100644
index 230ca4167dbc..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/compose-search-path.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Index: qtbase-opensource-src-5.6.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-+++ qtbase-opensource-src-5.6.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-@@ -251,10 +251,7 @@ void TableGenerator::initPossibleLocatio
-     // the QTCOMPOSE environment variable
-     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
-         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
--    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
-+    m_possibleLocations.append(QStringLiteral("${libX11}/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
- }
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/decrypt-ssl-traffic.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/decrypt-ssl-traffic.patch
deleted file mode 100644
index 495db07cfbb5..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/decrypt-ssl-traffic.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: qtbase-opensource-src-5.5.1/src/network/ssl/qsslsocket_openssl.cpp
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/src/network/ssl/qsslsocket_openssl.cpp
-+++ qtbase-opensource-src-5.5.1/src/network/ssl/qsslsocket_openssl.cpp
-@@ -48,7 +48,7 @@
- ****************************************************************************/
- 
- //#define QSSLSOCKET_DEBUG
--//#define QT_DECRYPT_SSL_TRAFFIC
-+#define QT_DECRYPT_SSL_TRAFFIC
- 
- #include "qssl_p.h"
- #include "qsslsocket_openssl_p.h"
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
deleted file mode 100644
index f2e18233d913..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/default.nix
+++ /dev/null
@@ -1,325 +0,0 @@
-{ stdenv, lib, fetchgit, copyPathsToStore
-, srcs, qtCompatVersion
-
-, xlibs, libX11, libxcb, libXcursor, libXext, libXrender, libXi
-, xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilwm, libxkbcommon
-, fontconfig, freetype, harfbuzz
-, openssl, dbus, glib, udev, libxml2, libxslt, pcre16
-, zlib, libjpeg, libpng, libtiff, sqlite, icu
-
-, coreutils, bison, flex, gdb, gperf, lndir
-, patchelf, perl, pkgconfig, python2
-, darwin, libiconv
-
-# optional dependencies
-, cups ? null
-, mysql ? null, postgresql ? null
-
-# options
-, mesaSupported ? (!stdenv.isDarwin)
-, mesa
-, buildExamples ? false
-, buildTests ? false
-, developerBuild ? false
-, decryptSslTraffic ? false
-}:
-
-let
-  system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
-in
-
-stdenv.mkDerivation {
-
-  name = "qtbase-${srcs.qtbase.version}";
-  inherit (srcs.qtbase) src version;
-  inherit qtCompatVersion;
-
-  outputs = [ "out" "dev" ];
-
-  patches =
-    copyPathsToStore (lib.readPathsFromFile ./. ./series)
-    ++ [(if stdenv.isDarwin then ./cmake-paths-darwin.patch else ./cmake-paths.patch)]
-    ++ lib.optional decryptSslTraffic ./decrypt-ssl-traffic.patch
-    ++ lib.optionals mesaSupported [ ./dlopen-gl.patch ./mkspecs-libgl.patch ];
-
-  postPatch =
-    ''
-      substituteInPlace configure --replace /bin/pwd pwd
-      substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
-      sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i config.tests/*/*.test -i mkspecs/*/*.conf
-
-      sed -i 's/PATHS.*NO_DEFAULT_PATH//' "src/corelib/Qt5Config.cmake.in"
-      sed -i 's/PATHS.*NO_DEFAULT_PATH//' "src/corelib/Qt5CoreMacros.cmake"
-      sed -i 's/NO_DEFAULT_PATH//' "src/gui/Qt5GuiConfigExtras.cmake.in"
-      sed -i 's/PATHS.*NO_DEFAULT_PATH//' "mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in"
-
-      substituteInPlace src/network/kernel/qdnslookup_unix.cpp \
-        --replace "@glibc@" "${stdenv.cc.libc.out}"
-      substituteInPlace src/network/kernel/qhostinfo_unix.cpp \
-        --replace "@glibc@" "${stdenv.cc.libc.out}"
-
-      substituteInPlace src/network/ssl/qsslsocket_openssl_symbols.cpp \
-        --replace "@openssl@" "${openssl.out}"
-    '' + lib.optionalString stdenv.isLinux ''
-      substituteInPlace src/plugins/platforms/xcb/qxcbcursor.cpp \
-        --replace "@libXcursor@" "${libXcursor.out}"
-
-      substituteInPlace src/dbus/qdbus_symbols.cpp \
-        --replace "@dbus_libs@" "${dbus.lib}"
-
-      substituteInPlace \
-        src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp \
-        --replace "@libX11@" "${libX11.out}"
-    '' + lib.optionalString mesaSupported ''
-      substituteInPlace \
-        src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp \
-        --replace "@mesa_lib@" "${mesa.out}"
-      substituteInPlace mkspecs/common/linux.conf \
-        --replace "@mesa_lib@" "${mesa.out}" \
-        --replace "@mesa_inc@" "${mesa.dev or mesa}"
-    '' + lib.optionalString stdenv.isDarwin ''
-      sed -i \
-          -e 's|! /usr/bin/xcode-select --print-path >/dev/null 2>&1;|false;|' \
-          -e 's|! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1;|false;|' \
-          -e 's|sysroot=$(/usr/bin/xcodebuild -sdk $sdk -version Path 2>/dev/null)|sysroot=/nonsense|' \
-          -e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
-          -e 's|XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`|XCRUN="clang -v 2>&1"|' \
-          -e 's#sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d \x27 \x27 -f 1))##' \
-          -e 's#val=$(echo $sdk_val $(echo $val | cut -s -d \x27 \x27 -f 2-))##' \
-          ./configure
-      sed -i '3,$d' ./mkspecs/features/mac/default_pre.prf
-      sed -i '26,$d' ./mkspecs/features/mac/default_post.prf
-      sed -i '1,$d' ./mkspecs/features/mac/sdk.prf
-      sed 's/QMAKE_LFLAGS_RPATH      = -Wl,-rpath,/QMAKE_LFLAGS_RPATH      =/' -i ./mkspecs/common/mac.conf
-    '';
-    # Note on the above: \x27 is a way if including a single-quote
-    # character in the sed string arguments.
-
-  qtPluginPrefix = "lib/qt-${qtCompatVersion}/plugins";
-  qtQmlPrefix = "lib/qt-${qtCompatVersion}/qml";
-  qtDocPrefix = "share/doc/qt-${qtCompatVersion}";
-
-  setOutputFlags = false;
-  preConfigure = ''
-    export LD_LIBRARY_PATH="$PWD/lib:$PWD/plugins/platforms:$LD_LIBRARY_PATH"
-    export MAKEFLAGS=-j$NIX_BUILD_CORES
-    # We need to set LD to CXX or otherwise we get nasty compile errors
-    export LD=$CXX
-
-    configureFlags+="\
-        -plugindir $out/$qtPluginPrefix \
-        -qmldir $out/$qtQmlPrefix \
-        -docdir $out/$qtDocPrefix"
-
-    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\""
-    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QPA_PLATFORM_PLUGIN_PATH=\"''${!outputLib}/$qtPluginPrefix/platforms\""
-
-    unset LD
-  '';
-
-  prefixKey = "-prefix ";
-
-  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
-  # TODO Remove obsolete and useless flags once the build will be totally mastered
-  configureFlags = ''
-    -verbose
-    -confirm-license
-    -opensource
-
-    -release
-    -shared
-    -c++11
-    ${lib.optionalString developerBuild "-developer-build"}
-    -largefile
-    -accessibility
-    -optimized-qmake
-    -strip
-    -no-reduce-relocations
-    -system-proxies
-    -pkg-config
-
-    -gui
-    -widgets
-    -opengl desktop
-    -qml-debug
-    -iconv
-    -icu
-    -pch
-
-    ${lib.optionalString (!system-x86_64) "-no-sse2"}
-    -no-sse3
-    -no-ssse3
-    -no-sse4.1
-    -no-sse4.2
-    -no-avx
-    -no-avx2
-    -no-mips_dsp
-    -no-mips_dspr2
-
-    -system-zlib
-    -system-libpng
-    -system-libjpeg
-    -system-harfbuzz
-    -system-pcre
-    -openssl-linked
-
-    -system-sqlite
-    -${if mysql != null then "plugin" else "no"}-sql-mysql
-    -${if postgresql != null then "plugin" else "no"}-sql-psql
-
-    -make libs
-    -make tools
-    -${lib.optionalString (buildExamples == false) "no"}make examples
-    -${lib.optionalString (buildTests == false) "no"}make tests
-  '' + lib.optionalString (!stdenv.isDarwin) ''
-    -no-rpath
-    -glib
-    -xcb
-    -qpa xcb
-
-    -${lib.optionalString (cups == null) "no-"}cups
-
-    -no-eglfs
-    -no-directfb
-    -no-linuxfb
-    -no-kms
-
-    -system-xcb
-    -system-xkbcommon
-    -dbus-linked
-  '' + lib.optionalString stdenv.isDarwin ''
-    -platform macx-clang
-    -no-use-gold-linker
-    -no-fontconfig
-    -qt-freetype
-  '';
-
-  # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag
-  # if dependency paths contain the string "pq", which can occur in the hash.
-  # To prevent these failures, we need to override PostgreSQL detection.
-  PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
-
-  propagatedBuildInputs = [
-    libxml2 libxslt openssl pcre16 sqlite zlib
-
-    # Text rendering
-    harfbuzz icu
-
-    # Image formats
-    libjpeg libpng libtiff
-  ]
-  ++ lib.optional mesaSupported mesa
-  ++ lib.optionals (!stdenv.isDarwin) [
-    dbus glib udev
-
-    # Text rendering
-    fontconfig freetype
-    # X11 libs
-    xlibs.libXcomposite libX11 libxcb libXext libXrender libXi
-    xcbutil xcbutilimage xcbutilkeysyms xcbutilwm libxkbcommon
-  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-    ApplicationServices CoreServices AppKit Carbon OpenGL AGL Cocoa
-    DiskArbitration darwin.cf-private libiconv
-  ]);
-
-  buildInputs =
-    [ bison flex gperf ]
-    ++ lib.optional developerBuild gdb
-    ++ lib.optional (cups != null) cups
-    ++ lib.optional (mysql != null) mysql.lib
-    ++ lib.optional (postgresql != null) postgresql;
-
-  nativeBuildInputs = [ lndir perl pkgconfig python2 ] ++ lib.optional (!stdenv.isDarwin) patchelf;
-
-  # freetype-2.5.4 changed signedness of some struct fields
-  NIX_CFLAGS_COMPILE = "-Wno-error=sign-compare"
-    + lib.optionalString stdenv.isDarwin " -D__MAC_OS_X_VERSION_MAX_ALLOWED=1090 -D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))";
-  # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is
-  # 10.9 which necessitates the above macro definition that mentions
-  # 10.10
-
-  postInstall = ''
-    find "$out" -name "*.cmake" | while read file; do
-        substituteInPlace "$file" \
-            --subst-var-by NIX_OUT "''${!outputLib}" \
-            --subst-var-by NIX_DEV "''${!outputDev}" \
-            --subst-var-by NIX_BIN "''${!outputBin}"
-    done
-  '';
-
-  preFixup = ''
-    # We cannot simply set these paths in configureFlags because libQtCore retains
-    # references to the paths it was built with.
-    moveToOutput "bin" "$dev"
-    moveToOutput "include" "$dev"
-    moveToOutput "mkspecs" "$dev"
-
-    # The destination directory must exist or moveToOutput will do nothing
-    mkdir -p "$dev/share"
-    moveToOutput "share/doc" "$dev"
-  '';
-
-  # Don't move .prl files on darwin because they end up in
-  # "dev/lib/Foo.framework/Foo.prl" which interferes with subsequent
-  # use of lndir in the qtbase setup-hook. On Linux, the .prl files
-  # are in lib, and so do not cause a subsequent recreation of deep
-  # framework directory trees.
-  postFixup =
-    ''
-      # Don't retain build-time dependencies like gdb.
-      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
-
-      # Move libtool archives and qmake projects
-      if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then
-          pushd "''${!outputLib}"
-          find lib -name '*.a' -o -name '*.la'${if stdenv.isDarwin then "" else "-o -name '*.prl'"} | \
-              while read -r file; do
-                  mkdir -p "''${!outputDev}/$(dirname "$file")"
-                  mv "''${!outputLib}/$file" "''${!outputDev}/$file"
-              done
-          popd
-      fi
-    ''
-
-    # fixup .pc file (where to find 'moc' etc.)
-    + lib.optionalString (!stdenv.isDarwin) ''
-      sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
-          -e "/^host_bins=/ c host_bins=$dev/bin"
-    ''
-
-    # Don't move .prl files on darwin because they end up in
-    # "dev/lib/Foo.framework/Foo.prl" which interferes with subsequent
-    # use of lndir in the qtbase setup-hook. On Linux, the .prl files
-    # are in lib, and so do not cause a subsequent recreation of deep
-    # framework directory trees.
-    + lib.optionalString stdenv.isDarwin ''
-      fixDarwinDylibNames_rpath() {
-        local flags=()
-
-        for fn in "$@"; do
-          flags+=(-change "@rpath/$fn.framework/Versions/5/$fn" "$out/lib/$fn.framework/Versions/5/$fn")
-        done
-
-        for fn in "$@"; do
-          echo "$fn: fixing dylib"
-          install_name_tool -id "$out/lib/$fn.framework/Versions/5/$fn" "''${flags[@]}" "$out/lib/$fn.framework/Versions/5/$fn"
-        done
-      }
-      fixDarwinDylibNames_rpath "QtConcurrent" "QtPrintSupport" "QtCore" "QtSql" "QtDBus" "QtTest" "QtGui" "QtWidgets" "QtNetwork" "QtXml" "QtOpenGL"
-    '';
-
-  inherit lndir;
-  setupHook = if stdenv.isDarwin
-              then ../../qtbase-setup-hook-darwin.sh
-              else ../../qtbase-setup-hook.sh;
-
-  enableParallelBuilding = true;
-
-  meta = with lib; {
-    homepage = http://www.qt.io;
-    description = "A cross-platform application framework for C++";
-    license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
-    maintainers = with maintainers; [ qknight ttuegel ];
-    platforms = platforms.unix;
-  };
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-dbus.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-dbus.patch
deleted file mode 100644
index 2bc526a72bd7..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-dbus.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: qtbase-opensource-src-5.6.1/src/dbus/qdbus_symbols.cpp
-===================================================================
---- qtbase-opensource-src-5.6.1.orig/src/dbus/qdbus_symbols.cpp
-+++ qtbase-opensource-src-5.6.1/src/dbus/qdbus_symbols.cpp
-@@ -90,7 +90,7 @@ bool qdbus_loadLibDBus()
- #ifdef Q_OS_WIN
-         QLatin1String("dbus-1"),
- #endif
--        QLatin1String("libdbus-1")
-+        QLatin1String("@dbus_libs@/lib/libdbus-1")
-     };
- 
-     lib->unload();
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-gl.patch
deleted file mode 100644
index ea3073ced50a..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-gl.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: qtbase-opensource-src-5.5.1/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-+++ qtbase-opensource-src-5.5.1/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-@@ -563,7 +563,12 @@ void (*QGLXContext::getProcAddress(const
-             {
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
-+                if (!lib.load()) {
-+                    // Fallback to Mesa driver
-+                    lib.setFileName(QLatin1String("@mesa_lib@/lib/libGL"));
-+                }
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
-             }
-         }
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-libXcursor.patch
deleted file mode 100644
index 3e2e8ab349d3..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-libXcursor.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: qtbase-opensource-src-5.6.0/src/plugins/platforms/xcb/qxcbcursor.cpp
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/plugins/platforms/xcb/qxcbcursor.cpp
-+++ qtbase-opensource-src-5.6.0/src/plugins/platforms/xcb/qxcbcursor.cpp
-@@ -303,10 +303,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *c
- #if defined(XCB_USE_XLIB) && !defined(QT_NO_LIBRARY)
-     static bool function_ptrs_not_initialized = true;
-     if (function_ptrs_not_initialized) {
--        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
-+        QLibrary xcursorLib(QLatin1String("@libXcursor@/lib/libXcursor"), 1);
-         bool xcursorFound = xcursorLib.load();
-         if (!xcursorFound) { // try without the version number
--            xcursorLib.setFileName(QLatin1String("Xcursor"));
-+            xcursorLib.setFileName(QLatin1String("@libXcursor@/lib/Xcursor"));
-             xcursorFound = xcursorLib.load();
-         }
-         if (xcursorFound) {
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-openssl.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-openssl.patch
deleted file mode 100644
index 1d97aad94065..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-openssl.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qtbase-opensource-src-5.6.0/src/network/ssl/qsslsocket_openssl_symbols.cpp
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/network/ssl/qsslsocket_openssl_symbols.cpp
-+++ qtbase-opensource-src-5.6.0/src/network/ssl/qsslsocket_openssl_symbols.cpp
-@@ -652,8 +652,8 @@ static QPair<QLibrary*, QLibrary*> loadO
- #endif
- #if defined(SHLIB_VERSION_NUMBER) && !defined(Q_OS_QNX) // on QNX, the libs are always libssl.so and libcrypto.so
-     // first attempt: the canonical name is libssl.so.<SHLIB_VERSION_NUMBER>
--    libssl->setFileNameAndVersion(QLatin1String("ssl"), QLatin1String(SHLIB_VERSION_NUMBER));
--    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), QLatin1String(SHLIB_VERSION_NUMBER));
-+    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), QLatin1String(SHLIB_VERSION_NUMBER));
-+    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), QLatin1String(SHLIB_VERSION_NUMBER));
-     if (libcrypto->load() && libssl->load()) {
-         // libssl.so.<SHLIB_VERSION_NUMBER> and libcrypto.so.<SHLIB_VERSION_NUMBER> found
-         return pair;
-@@ -670,8 +670,8 @@ static QPair<QLibrary*, QLibrary*> loadO
-     //  OS X's /usr/lib/libssl.dylib, /usr/lib/libcrypto.dylib will be picked up in the third
-     //    attempt, _after_ <bundle>/Contents/Frameworks has been searched.
-     //  iOS does not ship a system libssl.dylib, libcrypto.dylib in the first place.
--    libssl->setFileNameAndVersion(QLatin1String("ssl"), -1);
--    libcrypto->setFileNameAndVersion(QLatin1String("crypto"), -1);
-+    libssl->setFileNameAndVersion(QLatin1String("@openssl@/lib/libssl"), -1);
-+    libcrypto->setFileNameAndVersion(QLatin1String("@openssl@/lib/libcrypto"), -1);
-     if (libcrypto->load() && libssl->load()) {
-         // libssl.so.0 and libcrypto.so.0 found
-         return pair;
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-resolv.patch
deleted file mode 100644
index e9d3c2734d1e..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/dlopen-resolv.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qtbase-opensource-src-5.6.2/src/network/kernel/qdnslookup_unix.cpp
-===================================================================
---- qtbase-opensource-src-5.6.2.orig/src/network/kernel/qdnslookup_unix.cpp
-+++ qtbase-opensource-src-5.6.2/src/network/kernel/qdnslookup_unix.cpp
-@@ -83,7 +83,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String("@glibc@/lib/resolv"));
-         if (!lib.load())
-             return false;
-     }
-Index: qtbase-opensource-src-5.6.2/src/network/kernel/qhostinfo_unix.cpp
-===================================================================
---- qtbase-opensource-src-5.6.2.orig/src/network/kernel/qhostinfo_unix.cpp
-+++ qtbase-opensource-src-5.6.2/src/network/kernel/qhostinfo_unix.cpp
-@@ -94,7 +94,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String("@glibc@/lib/libresolv"));
-         if (!lib.load())
-             return false;
-     }
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/library-paths.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/library-paths.patch
deleted file mode 100644
index fecbce59050d..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/library-paths.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: qtbase-opensource-src-5.6.2/src/corelib/kernel/qcoreapplication.cpp
-===================================================================
---- qtbase-opensource-src-5.6.2.orig/src/corelib/kernel/qcoreapplication.cpp
-+++ qtbase-opensource-src-5.6.2/src/corelib/kernel/qcoreapplication.cpp
-@@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPat
-         QStringList *app_libpaths = new QStringList;
-         coreappdata()->app_libpaths.reset(app_libpaths);
- 
-+        // Add library paths derived from PATH
-+        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
-+        for (const QString &path: paths) {
-+            if (!path.isEmpty()) {
-+                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
-+            }
-+        }
-+
-         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
-         if (!libPathEnv.isEmpty()) {
-             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/libressl.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/libressl.patch
deleted file mode 100644
index c721a6be7470..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/libressl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 81494e67eccba04fc3fe554d76a9ca6fe7f2250e Mon Sep 17 00:00:00 2001
-From: hasufell <hasufell@gentoo.org>
-Date: Sat, 10 Oct 2015 01:15:01 +0200
-Subject: [PATCH] Fix compilation with libressl
-
-By additionally checking for defined(SSL_CTRL_SET_CURVES), which
-is defined in openssl, but not in libressl.
----
- src/network/ssl/qsslcontext_openssl.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: qtbase-opensource-src-5.6.0/src/network/ssl/qsslcontext_openssl.cpp
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/network/ssl/qsslcontext_openssl.cpp
-+++ qtbase-opensource-src-5.6.0/src/network/ssl/qsslcontext_openssl.cpp
-@@ -340,7 +340,7 @@ init_context:
- 
-     const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-     if (!qcurves.isEmpty()) {
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         // Set the curves to be used
-         if (q_SSLeay() >= 0x10002000L) {
-             // SSL_CTX_ctrl wants a non-const pointer as last argument,
-@@ -354,7 +354,7 @@ init_context:
-                 return sslContext;
-             }
-         } else
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         {
-             // specific curves requested, but not possible to set -> error
-             sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/mkspecs-libgl.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/mkspecs-libgl.patch
deleted file mode 100644
index fda3d3e36533..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/mkspecs-libgl.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-Index: qtbase-opensource-src-5.5.1/mkspecs/common/linux.conf
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/mkspecs/common/linux.conf
-+++ qtbase-opensource-src-5.5.1/mkspecs/common/linux.conf
-@@ -12,8 +12,8 @@ QMAKE_INCDIR            =
- QMAKE_LIBDIR            =
- QMAKE_INCDIR_X11        =
- QMAKE_LIBDIR_X11        =
--QMAKE_INCDIR_OPENGL     =
--QMAKE_LIBDIR_OPENGL     =
-+QMAKE_INCDIR_OPENGL     = @mesa_inc@/include
-+QMAKE_LIBDIR_OPENGL     = @mesa_lib@/lib
- QMAKE_INCDIR_OPENGL_ES2 = $$QMAKE_INCDIR_OPENGL
- QMAKE_LIBDIR_OPENGL_ES2 = $$QMAKE_LIBDIR_OPENGL
- QMAKE_INCDIR_EGL        =
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/qpa-platform-plugin-path.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/qpa-platform-plugin-path.patch
deleted file mode 100644
index 32d9dcad622d..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/qpa-platform-plugin-path.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-Index: qtbase-opensource-src-5.6.2/src/gui/kernel/qplatformintegrationfactory.cpp
-===================================================================
---- qtbase-opensource-src-5.6.2.orig/src/gui/kernel/qplatformintegrationfactory.cpp
-+++ qtbase-opensource-src-5.6.2/src/gui/kernel/qplatformintegrationfactory.cpp
-@@ -67,9 +67,10 @@ QPlatformIntegration *QPlatformIntegrati
-     // Try loading the plugin from platformPluginPath first:
-     if (!platformPluginPath.isEmpty()) {
-         QCoreApplication::addLibraryPath(platformPluginPath);
--        if (QPlatformIntegration *ret = loadIntegration(directLoader(), platform, paramList, argc, argv))
--            return ret;
-     }
-+    QCoreApplication::addLibraryPath(QStringLiteral(NIXPKGS_QPA_PLATFORM_PLUGIN_PATH));
-+    if (QPlatformIntegration *ret = loadIntegration(directLoader(), platform, paramList, argc, argv))
-+        return ret;
-     if (QPlatformIntegration *ret = loadIntegration(loader(), platform, paramList, argc, argv))
-         return ret;
- #else
-@@ -95,15 +96,16 @@ QStringList QPlatformIntegrationFactory:
-     QStringList list;
-     if (!platformPluginPath.isEmpty()) {
-         QCoreApplication::addLibraryPath(platformPluginPath);
--        list = directLoader()->keyMap().values();
--        if (!list.isEmpty()) {
--            const QString postFix = QStringLiteral(" (from ")
--                                    + QDir::toNativeSeparators(platformPluginPath)
--                                    + QLatin1Char(')');
--            const QStringList::iterator end = list.end();
--            for (QStringList::iterator it = list.begin(); it != end; ++it)
--                (*it).append(postFix);
--        }
-+    }
-+    QCoreApplication::addLibraryPath(QStringLiteral(NIXPKGS_QPA_PLATFORM_PLUGIN_PATH));
-+    list = directLoader()->keyMap().values();
-+    if (!list.isEmpty()) {
-+        const QString postFix = QStringLiteral(" (from ")
-+            + QDir::toNativeSeparators(platformPluginPath)
-+            + QLatin1Char(')');
-+        const QStringList::iterator end = list.end();
-+        for (QStringList::iterator it = list.begin(); it != end; ++it)
-+            (*it).append(postFix);
-     }
-     list.append(loader()->keyMap().values());
-     return list;
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/series b/pkgs/development/libraries/qt-5/5.6/qtbase/series
deleted file mode 100644
index bacb3a4ed899..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/series
+++ /dev/null
@@ -1,9 +0,0 @@
-dlopen-resolv.patch
-tzdir.patch
-dlopen-libXcursor.patch
-dlopen-openssl.patch
-dlopen-dbus.patch
-xdg-config-dirs.patch
-library-paths.patch
-compose-search-path.patch
-libressl.patch
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/tzdir.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/tzdir.patch
deleted file mode 100644
index f197211ded7b..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/tzdir.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-Index: qtbase-opensource-src-5.6.2/src/corelib/tools/qtimezoneprivate_tz.cpp
-===================================================================
---- qtbase-opensource-src-5.6.2.orig/src/corelib/tools/qtimezoneprivate_tz.cpp
-+++ qtbase-opensource-src-5.6.2/src/corelib/tools/qtimezoneprivate_tz.cpp
-@@ -64,7 +64,10 @@ typedef QHash<QByteArray, QTzTimeZone> Q
- // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
- static QTzTimeZoneHash loadTzTimeZones()
- {
--    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-+    QString path = qgetenv("TZDIR");
-+    path += "/zone.tab";
-+    if (!QFile::exists(path))
-+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-     if (!QFile::exists(path))
-         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
- 
-@@ -636,12 +639,18 @@ void QTzTimeZonePrivate::init(const QByt
-         if (!tzif.open(QIODevice::ReadOnly))
-             return;
-     } else {
--        // Open named tz, try modern path first, if fails try legacy path
--        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+        // Try TZDIR first
-+        QString zoneinfoDir = qgetenv("TZDIR");
-+        zoneinfoDir += "/" + QString::fromLocal8Bit(ianaId);
-+        tzif.setFileName(zoneinfoDir);
-         if (!tzif.open(QIODevice::ReadOnly)) {
--            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
--            if (!tzif.open(QIODevice::ReadOnly))
--                return;
-+            // Open named tz, try modern path first, if fails try legacy path
-+            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+            if (!tzif.open(QIODevice::ReadOnly)) {
-+                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+                if (!tzif.open(QIODevice::ReadOnly))
-+                    return;
-+            }
-         }
-     }
- 
diff --git a/pkgs/development/libraries/qt-5/5.6/qtbase/xdg-config-dirs.patch b/pkgs/development/libraries/qt-5/5.6/qtbase/xdg-config-dirs.patch
deleted file mode 100644
index 8756cbe9f5f0..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtbase/xdg-config-dirs.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-Index: qtbase-opensource-src-5.6.0/src/corelib/io/qsettings.cpp
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/corelib/io/qsettings.cpp
-+++ qtbase-opensource-src-5.6.0/src/corelib/io/qsettings.cpp
-@@ -1155,6 +1155,24 @@ QConfFileSettingsPrivate::QConfFileSetti
-     if (!application.isEmpty())
-         confFiles[F_System | F_Application].reset(QConfFile::fromName(systemPath + appFile, false));
-     confFiles[F_System | F_Organization].reset(QConfFile::fromName(systemPath + orgFile, false));
-+
-+#if !defined(Q_OS_WIN)
-+    // Add directories specified in $XDG_CONFIG_DIRS
-+    const QString pathEnv = QString::fromLocal8Bit(getenv("XDG_CONFIG_DIRS"));
-+    if (!pathEnv.isEmpty()) {
-+        const QStringList pathEntries = pathEnv.split(QLatin1Char(':'), QString::SkipEmptyParts);
-+        if (!pathEntries.isEmpty()) {
-+            int j = 4; // This is the number of confFiles set above -- we need to start adding $XDG_CONFIG_DIRS after those.
-+            for (int k = 0; k < pathEntries.size() && j < NumConfFiles - 1; ++k) {
-+                const QString& path = pathEntries.at(k);
-+                if (!application.isEmpty())
-+                    confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + appFile, false));
-+                confFiles[j++].reset(QConfFile::fromName(path + QDir::separator() + orgFile, false));
-+            }
-+        }
-+    }
-+#endif
-+
- #else
-     QString confName = getPath(format, QSettings::UserScope) + org;
-     if (!application.isEmpty())
-Index: qtbase-opensource-src-5.6.0/src/corelib/io/qsettings_p.h
-===================================================================
---- qtbase-opensource-src-5.6.0.orig/src/corelib/io/qsettings_p.h
-+++ qtbase-opensource-src-5.6.0/src/corelib/io/qsettings_p.h
-@@ -241,7 +241,7 @@ public:
-         F_Organization = 0x1,
-         F_User = 0x0,
-         F_System = 0x2,
--        NumConfFiles = 4
-+        NumConfFiles = 40 // HACK: increase NumConfFiles from 4 to 40 in order to accommodate more paths in $XDG_CONFIG_DIRS -- ellis
- #else
-         SandboxConfFile = 0,
-         NumConfFiles = 1
diff --git a/pkgs/development/libraries/qt-5/5.6/qtconnectivity.nix b/pkgs/development/libraries/qt-5/5.6/qtconnectivity.nix
deleted file mode 100644
index 95cd6fea79b4..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtconnectivity.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtconnectivity";
-  qtInputs = [ qtbase qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtdeclarative/import-paths.patch b/pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch
index d50ee823a78b..dbddaa2a1d60 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtdeclarative/import-paths.patch
+++ b/pkgs/development/libraries/qt-5/5.6/qtdeclarative.patch
@@ -1,8 +1,8 @@
-Index: qtdeclarative-opensource-src-5.8.0/src/qml/qml/qqmlimport.cpp
-===================================================================
---- qtdeclarative-opensource-src-5.8.0.orig/src/qml/qml/qqmlimport.cpp
-+++ qtdeclarative-opensource-src-5.8.0/src/qml/qml/qqmlimport.cpp
-@@ -1630,6 +1630,15 @@ QQmlImportDatabase::QQmlImportDatabase(Q
+diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
+index dfdf2edbe..7ee96049d 100644
+--- a/src/qml/qml/qqmlimport.cpp
++++ b/src/qml/qml/qqmlimport.cpp
+@@ -1568,6 +1568,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
      QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
      addImportPath(installImportsPath);
  
diff --git a/pkgs/development/libraries/qt-5/5.6/qtdeclarative/default.nix b/pkgs/development/libraries/qt-5/5.6/qtdeclarative/default.nix
deleted file mode 100644
index 57b8e53b215c..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtdeclarative/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ qtSubmodule, lib, copyPathsToStore, python2, qtbase, qtsvg, qtxmlpatterns }:
-
-qtSubmodule {
-  name = "qtdeclarative";
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  qtInputs = [ qtbase qtsvg qtxmlpatterns ];
-  nativeBuildInputs = [ python2 ];
-
-  preConfigure = ''
-    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QML2_IMPORT_PREFIX=\"$qtQmlPrefix\""
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtdeclarative/import-paths.patch b/pkgs/development/libraries/qt-5/5.6/qtdeclarative/import-paths.patch
deleted file mode 100644
index a942d837c305..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtdeclarative/import-paths.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: qtdeclarative-opensource-src-5.6.2/src/qml/qml/qqmlimport.cpp
-===================================================================
---- qtdeclarative-opensource-src-5.6.2.orig/src/qml/qml/qqmlimport.cpp
-+++ qtdeclarative-opensource-src-5.6.2/src/qml/qml/qqmlimport.cpp
-@@ -1568,6 +1568,15 @@ QQmlImportDatabase::QQmlImportDatabase(Q
-     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
-     addImportPath(installImportsPath);
- 
-+    // Add import paths derived from PATH
-+    const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+    const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
-+    for (const QString &path: paths) {
-+        if (!path.isEmpty()) {
-+            addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
-+        }
-+    }
-+
-     // env import paths
-     if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
-         const QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
diff --git a/pkgs/development/libraries/qt-5/5.6/qtdeclarative/series b/pkgs/development/libraries/qt-5/5.6/qtdeclarative/series
deleted file mode 100644
index 38abb916a508..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtdeclarative/series
+++ /dev/null
@@ -1 +0,0 @@
-import-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.6/qtdoc.nix b/pkgs/development/libraries/qt-5/5.6/qtdoc.nix
deleted file mode 100644
index 578ea6ba0b22..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtdoc.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtdoc";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtenginio.nix b/pkgs/development/libraries/qt-5/5.6/qtenginio.nix
deleted file mode 100644
index b860a73ef890..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtenginio.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtenginio";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtlocation.nix b/pkgs/development/libraries/qt-5/5.6/qtlocation.nix
deleted file mode 100644
index 1e134057c4b4..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtlocation.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtmultimedia }:
-
-qtSubmodule {
-  name = "qtlocation";
-  qtInputs = [ qtbase qtmultimedia ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtmultimedia.nix b/pkgs/development/libraries/qt-5/5.6/qtmultimedia.nix
deleted file mode 100644
index 20e6e364799f..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtmultimedia.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative, pkgconfig
-, alsaLib, gstreamer, gst-plugins-base, libpulseaudio
-}:
-
-qtSubmodule {
-  name = "qtmultimedia";
-  qtInputs = [ qtbase qtdeclarative ];
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [
-    alsaLib gstreamer gst-plugins-base libpulseaudio
-  ];
-  qmakeFlags = [ "GST_VERSION=1.0" ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtquickcontrols.nix b/pkgs/development/libraries/qt-5/5.6/qtquickcontrols.nix
deleted file mode 100644
index 93a864621b82..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtquickcontrols.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtquickcontrols";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtquickcontrols2.nix b/pkgs/development/libraries/qt-5/5.6/qtquickcontrols2.nix
deleted file mode 100644
index 19750f2fd99d..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtquickcontrols2.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtquickcontrols2";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtscript/0001-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.6/qtscript.patch
index 887e107b6c1b..5508dec1280e 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtscript/0001-glib-2.32.patch
+++ b/pkgs/development/libraries/qt-5/5.6/qtscript.patch
@@ -1,12 +1,3 @@
-From abd80356449bb36c8adcc5c9ca1df6b47715d265 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:13:34 -0500
-Subject: [PATCH] glib-2.32
-
----
- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
 diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
 index 1f6d25e..087c3fb 100644
 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
@@ -20,6 +11,3 @@ index 1f6d25e..087c3fb 100644
  typedef struct _GCond GCond;
  #endif
  
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.6/qtscript/default.nix b/pkgs/development/libraries/qt-5/5.6/qtscript/default.nix
deleted file mode 100644
index 127766e2ebd6..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtscript/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ qtSubmodule, qtbase, qttools }:
-
-qtSubmodule {
-  name = "qtscript";
-  qtInputs = [ qtbase qttools ];
-  patches = [ ./0001-glib-2.32.patch ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtsensors.nix b/pkgs/development/libraries/qt-5/5.6/qtsensors.nix
deleted file mode 100644
index 61e64dc47e4d..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtsensors.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtsensors";
-  qtInputs = [ qtbase qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtserialport/qtserialport-dlopen-udev.patch b/pkgs/development/libraries/qt-5/5.6/qtserialport.patch
index 65bb64710ebd..b2cffbe4f39b 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtserialport/qtserialport-dlopen-udev.patch
+++ b/pkgs/development/libraries/qt-5/5.6/qtserialport.patch
@@ -1,8 +1,8 @@
-Index: qtserialport-opensource-src-5.8.0/src/serialport/qtudev_p.h
-===================================================================
---- qtserialport-opensource-src-5.8.0.orig/src/serialport/qtudev_p.h
-+++ qtserialport-opensource-src-5.8.0/src/serialport/qtudev_p.h
-@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QL
+diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
+index 6f2cabd..cd3c0ed 100644
+--- a/src/serialport/qtudev_p.h
++++ b/src/serialport/qtudev_p.h
+@@ -105,9 +105,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
  inline bool resolveSymbols(QLibrary *udevLibrary)
  {
      if (!udevLibrary->isLoaded()) {
diff --git a/pkgs/development/libraries/qt-5/5.6/qtserialport/0001-dlopen-serialport-udev.patch b/pkgs/development/libraries/qt-5/5.6/qtserialport/0001-dlopen-serialport-udev.patch
deleted file mode 100644
index 9893fdff9a5c..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtserialport/0001-dlopen-serialport-udev.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From d81c2c870b9bea8fb8e6b85baefb06542f568338 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:16:02 -0500
-Subject: [PATCH] dlopen serialport udev
-
----
- src/serialport/qtudev_p.h | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
-index 6f2cabd..81b9849 100644
---- a/src/serialport/qtudev_p.h
-+++ b/src/serialport/qtudev_p.h
-@@ -105,10 +105,9 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
- inline bool resolveSymbols(QLibrary *udevLibrary)
- {
-     if (!udevLibrary->isLoaded()) {
--        udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 1);
-+        udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-         if (!udevLibrary->load()) {
--            udevLibrary->setFileNameAndVersion(QStringLiteral("udev"), 0);
-+            udevLibrary->setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-             if (!udevLibrary->load()) {
-                 qWarning("Failed to load the library: %s, supported version(s): %i and %i", qPrintable(udevLibrary->fileName()), 1, 0);
-                 return false;
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix b/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix
deleted file mode 100644
index 925e8a808f25..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtserialport/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ stdenv, qtSubmodule, lib, copyPathsToStore, qtbase, substituteAll, systemd }:
-
-let inherit (lib) getLib optional; in
-
-qtSubmodule {
-  name = "qtserialport";
-  qtInputs = [ qtbase ];
-  patches =  copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  NIX_CFLAGS_COMPILE =
-    optional stdenv.isLinux
-    ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"'';
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtserialport/series b/pkgs/development/libraries/qt-5/5.6/qtserialport/series
deleted file mode 100644
index 83f4abf094e9..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtserialport/series
+++ /dev/null
@@ -1 +0,0 @@
-qtserialport-dlopen-udev.patch
diff --git a/pkgs/development/libraries/qt-5/5.6/qtsvg.nix b/pkgs/development/libraries/qt-5/5.6/qtsvg.nix
deleted file mode 100644
index b9ccac7cf933..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtsvg.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtsvg";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qttools.patch b/pkgs/development/libraries/qt-5/5.6/qttools.patch
new file mode 100644
index 000000000000..dcb15e0e55a6
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.6/qttools.patch
@@ -0,0 +1,64 @@
+diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
+index 5a5bd5ce..1c6727d4 100644
+--- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in
++++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
+@@ -2,14 +2,13 @@
+ if (NOT TARGET Qt5::qcollectiongenerator)
+     add_executable(Qt5::qcollectiongenerator IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    if(NOT EXISTS \"${imported_location}\")
++        set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
++    endif()
+     _qt5_Help_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
+         IMPORTED_LOCATION ${imported_location}
+     )
+-endif()
++endif()
+\ No newline at end of file
+diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
+index 4318b16f..d60db4ff 100644
+--- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
++++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
+@@ -44,11 +44,7 @@ endmacro()
+ if (NOT TARGET Qt5::lrelease)
+     add_executable(Qt5::lrelease IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+     _qt5_LinguistTools_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::lrelease PROPERTIES
+@@ -59,11 +55,7 @@ endif()
+ if (NOT TARGET Qt5::lupdate)
+     add_executable(Qt5::lupdate IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+     _qt5_LinguistTools_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::lupdate PROPERTIES
+@@ -74,11 +66,7 @@ endif()
+ if (NOT TARGET Qt5::lconvert)
+     add_executable(Qt5::lconvert IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+     _qt5_LinguistTools_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.6/qttools/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.6/qttools/cmake-paths.patch
deleted file mode 100644
index fe5bcadbe9a8..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qttools/cmake-paths.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-Index: qttools-opensource-src-5.5.1/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-===================================================================
---- qttools-opensource-src-5.5.1.orig/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ qttools-opensource-src-5.5.1/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,11 +2,10 @@
- if (NOT TARGET Qt5::qcollectiongenerator)
-     add_executable(Qt5::qcollectiongenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
-Index: qttools-opensource-src-5.5.1/src/linguist/Qt5LinguistToolsConfig.cmake.in
-===================================================================
---- qttools-opensource-src-5.5.1.orig/src/linguist/Qt5LinguistToolsConfig.cmake.in
-+++ qttools-opensource-src-5.5.1/src/linguist/Qt5LinguistToolsConfig.cmake.in
-@@ -44,11 +44,10 @@ endmacro()
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +58,10 @@ endif()
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +72,10 @@ endif()
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.6/qttools/default.nix b/pkgs/development/libraries/qt-5/5.6/qttools/default.nix
deleted file mode 100644
index 57b1b46a9c5d..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qttools/default.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-{ qtSubmodule, lib, copyPathsToStore, qtbase }:
-
-qtSubmodule {
-  name = "qttools";
-  qtInputs = [ qtbase ];
-  patches = copyPathsToStore (lib.readPathsFromFile ./. ./series);
-  postFixup = ''
-    moveToOutput "bin/qdbus" "$out"
-    moveToOutput "bin/qdbusviewer" "$out"
-    moveToOutput "bin/qtpaths" "$out"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qttools/series b/pkgs/development/libraries/qt-5/5.6/qttools/series
deleted file mode 100644
index 6cc1d3b87bca..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qttools/series
+++ /dev/null
@@ -1 +0,0 @@
-cmake-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.6/qttranslations.nix b/pkgs/development/libraries/qt-5/5.6/qttranslations.nix
deleted file mode 100644
index 50fc8cf6826a..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qttranslations.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qttools }:
-
-qtSubmodule {
-  name = "qttranslations";
-  qtInputs = [ qttools ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebchannel.nix b/pkgs/development/libraries/qt-5/5.6/qtwebchannel.nix
deleted file mode 100644
index fd7a3c52026e..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebchannel.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtwebchannel";
-  qtInputs = [ qtbase qtdeclarative ];
-}
-
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebengine/qtwebengine-paxmark-mksnapshot.patch b/pkgs/development/libraries/qt-5/5.6/qtwebengine-paxmark-mksnapshot.patch
index b3316188f7d9..b3316188f7d9 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtwebengine/qtwebengine-paxmark-mksnapshot.patch
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebengine-paxmark-mksnapshot.patch
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebengine/chromium-clang-update-py.patch b/pkgs/development/libraries/qt-5/5.6/qtwebengine/chromium-clang-update-py.patch
deleted file mode 100644
index 65a604d25347..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebengine/chromium-clang-update-py.patch
+++ /dev/null
@@ -1,874 +0,0 @@
---- a/src/3rdparty/chromium/tools/clang/scripts/update.py	2016-05-26 04:58:54.000000000 -0800
-+++ b/src/3rdparty/chromium/tools/clang/scripts/update.py	2016-11-04 08:35:34.956154012 -0800
-@@ -3,12 +3,12 @@
- # Use of this source code is governed by a BSD-style license that can be
- # found in the LICENSE file.
- 
--"""Windows can't run .sh files, so this is a Python implementation of
--update.sh. This script should replace update.sh on all platforms eventually."""
-+"""This script is used to download prebuilt clang binaries.
-+
-+It is also used by package.py to build the prebuilt clang binaries."""
- 
- import argparse
--import contextlib
--import cStringIO
-+import distutils.spawn
- import glob
- import os
- import pipes
-@@ -18,6 +18,7 @@
- import stat
- import sys
- import tarfile
-+import tempfile
- import time
- import urllib2
- import zipfile
-@@ -25,19 +26,16 @@
- # Do NOT CHANGE this if you don't know what you're doing -- see
- # https://code.google.com/p/chromium/wiki/UpdatingClang
- # Reverting problematic clang rolls is safe, though.
--# Note: this revision is only used for Windows. Other platforms use update.sh.
--# TODO(thakis): Use the same revision on Windows and non-Windows.
--# TODO(thakis): Remove update.sh, use update.py everywhere.
--LLVM_WIN_REVISION = '239674'
-+CLANG_REVISION = '239674'
- 
- use_head_revision = 'LLVM_FORCE_HEAD_REVISION' in os.environ
- if use_head_revision:
--  LLVM_WIN_REVISION = 'HEAD'
-+  CLANG_REVISION = 'HEAD'
- 
- # This is incremented when pushing a new build of Clang at the same revision.
- CLANG_SUB_REVISION=1
- 
--PACKAGE_VERSION = "%s-%s" % (LLVM_WIN_REVISION, CLANG_SUB_REVISION)
-+PACKAGE_VERSION = "%s-%s" % (CLANG_REVISION, CLANG_SUB_REVISION)
- 
- # Path constants. (All of these should be absolute paths.)
- THIS_DIR = os.path.abspath(os.path.dirname(__file__))
-@@ -50,17 +48,26 @@
- CHROME_TOOLS_SHIM_DIR = os.path.join(LLVM_DIR, 'tools', 'chrometools')
- LLVM_BUILD_DIR = os.path.join(CHROMIUM_DIR, 'third_party', 'llvm-build',
-                               'Release+Asserts')
--COMPILER_RT_BUILD_DIR = os.path.join(LLVM_BUILD_DIR, '32bit-compiler-rt')
-+COMPILER_RT_BUILD_DIR = os.path.join(LLVM_BUILD_DIR, 'compiler-rt')
- CLANG_DIR = os.path.join(LLVM_DIR, 'tools', 'clang')
- LLD_DIR = os.path.join(LLVM_DIR, 'tools', 'lld')
--COMPILER_RT_DIR = os.path.join(LLVM_DIR, 'projects', 'compiler-rt')
-+# compiler-rt is built as part of the regular LLVM build on Windows to get
-+# the 64-bit runtime, and out-of-tree elsewhere.
-+# TODO(thakis): Try to unify this.
-+if sys.platform == 'win32':
-+  COMPILER_RT_DIR = os.path.join(LLVM_DIR, 'projects', 'compiler-rt')
-+else:
-+  COMPILER_RT_DIR = os.path.join(LLVM_DIR, 'compiler-rt')
- LIBCXX_DIR = os.path.join(LLVM_DIR, 'projects', 'libcxx')
- LIBCXXABI_DIR = os.path.join(LLVM_DIR, 'projects', 'libcxxabi')
- LLVM_BUILD_TOOLS_DIR = os.path.abspath(
-     os.path.join(LLVM_DIR, '..', 'llvm-build-tools'))
--STAMP_FILE = os.path.join(LLVM_DIR, '..', 'llvm-build', 'cr_build_revision')
-+STAMP_FILE = os.path.normpath(
-+    os.path.join(LLVM_DIR, '..', 'llvm-build', 'cr_build_revision'))
- BINUTILS_DIR = os.path.join(THIRD_PARTY_DIR, 'binutils')
--VERSION = '3.7.0'
-+VERSION = '3.8.0'
-+ANDROID_NDK_DIR = os.path.join(
-+    CHROMIUM_DIR, 'third_party', 'android_tools', 'ndk')
- 
- # URL for pre-built binaries.
- CDS_URL = 'https://commondatastorage.googleapis.com/chromium-browser-clang'
-@@ -74,40 +81,75 @@
-   """Download url into output_file."""
-   CHUNK_SIZE = 4096
-   TOTAL_DOTS = 10
--  sys.stdout.write('Downloading %s ' % url)
--  sys.stdout.flush()
--  response = urllib2.urlopen(url)
--  total_size = int(response.info().getheader('Content-Length').strip())
--  bytes_done = 0
--  dots_printed = 0
-+  num_retries = 3
-+  retry_wait_s = 5  # Doubled at each retry.
-+
-   while True:
--    chunk = response.read(CHUNK_SIZE)
--    if not chunk:
--      break
--    output_file.write(chunk)
--    bytes_done += len(chunk)
--    num_dots = TOTAL_DOTS * bytes_done / total_size
--    sys.stdout.write('.' * (num_dots - dots_printed))
--    sys.stdout.flush()
--    dots_printed = num_dots
--  print ' Done.'
-+    try:
-+      sys.stdout.write('Downloading %s ' % url)
-+      sys.stdout.flush()
-+      response = urllib2.urlopen(url)
-+      total_size = int(response.info().getheader('Content-Length').strip())
-+      bytes_done = 0
-+      dots_printed = 0
-+      while True:
-+        chunk = response.read(CHUNK_SIZE)
-+        if not chunk:
-+          break
-+        output_file.write(chunk)
-+        bytes_done += len(chunk)
-+        num_dots = TOTAL_DOTS * bytes_done / total_size
-+        sys.stdout.write('.' * (num_dots - dots_printed))
-+        sys.stdout.flush()
-+        dots_printed = num_dots
-+      if bytes_done != total_size:
-+        raise urllib2.URLError("only got %d of %d bytes" %
-+                               (bytes_done, total_size))
-+      print ' Done.'
-+      return
-+    except urllib2.URLError as e:
-+      sys.stdout.write('\n')
-+      print e
-+      if num_retries == 0 or isinstance(e, urllib2.HTTPError) and e.code == 404:
-+        raise e
-+      num_retries -= 1
-+      print 'Retrying in %d s ...' % retry_wait_s
-+      time.sleep(retry_wait_s)
-+      retry_wait_s *= 2
-+
-+
-+def EnsureDirExists(path):
-+  if not os.path.exists(path):
-+    print "Creating directory %s" % path
-+    os.makedirs(path)
-+
-+
-+def DownloadAndUnpack(url, output_dir):
-+  with tempfile.TemporaryFile() as f:
-+    DownloadUrl(url, f)
-+    f.seek(0)
-+    EnsureDirExists(output_dir)
-+    if url.endswith('.zip'):
-+      zipfile.ZipFile(f).extractall(path=output_dir)
-+    else:
-+      tarfile.open(mode='r:gz', fileobj=f).extractall(path=output_dir)
- 
- 
- def ReadStampFile():
-   """Return the contents of the stamp file, or '' if it doesn't exist."""
-   try:
-     with open(STAMP_FILE, 'r') as f:
--      return f.read()
-+      return f.read().rstrip()
-   except IOError:
-     return ''
- 
- 
- def WriteStampFile(s):
-   """Write s to the stamp file."""
--  if not os.path.exists(os.path.dirname(STAMP_FILE)):
--    os.makedirs(os.path.dirname(STAMP_FILE))
-+  EnsureDirExists(os.path.dirname(STAMP_FILE))
-   with open(STAMP_FILE, 'w') as f:
-     f.write(s)
-+    f.write('\n')
- 
- 
- def GetSvnRevision(svn_repo):
-@@ -129,6 +171,13 @@
-   shutil.rmtree(dir, onerror=ChmodAndRetry)
- 
- 
-+def RmCmakeCache(dir):
-+  """Delete CMakeCache.txt files under dir recursively."""
-+  for dirpath, _, files in os.walk(dir):
-+    if 'CMakeCache.txt' in files:
-+      os.remove(os.path.join(dirpath, 'CMakeCache.txt'))
-+
-+
- def RunCommand(command, msvc_arch=None, env=None, fail_hard=True):
-   """Run command and return success (True) or failure; or if fail_hard is
-      True, exit on failure.  If msvc_arch is set, runs the command in a
-@@ -170,8 +219,8 @@
- def CopyDirectoryContents(src, dst, filename_filter=None):
-   """Copy the files from directory src to dst
-   with an optional filename filter."""
--  if not os.path.exists(dst):
--    os.makedirs(dst)
-+  dst = os.path.realpath(dst)  # realpath() in case dst ends in /..
-+  EnsureDirExists(dst)
-   for root, _, files in os.walk(src):
-     for f in files:
-       if filename_filter and not re.match(filename_filter, f):
-@@ -181,9 +230,9 @@
- 
- def Checkout(name, url, dir):
-   """Checkout the SVN module at url into dir. Use name for the log message."""
--  print "Checking out %s r%s into '%s'" % (name, LLVM_WIN_REVISION, dir)
-+  print "Checking out %s r%s into '%s'" % (name, CLANG_REVISION, dir)
- 
--  command = ['svn', 'checkout', '--force', url + '@' + LLVM_WIN_REVISION, dir]
-+  command = ['svn', 'checkout', '--force', url + '@' + CLANG_REVISION, dir]
-   if RunCommand(command, fail_hard=False):
-     return
- 
-@@ -195,120 +244,9 @@
-   RunCommand(command)
- 
- 
--def RevertPreviouslyPatchedFiles():
--  print 'Reverting previously patched files'
--  files = [
--    '%(clang)s/test/Index/crash-recovery-modules.m',
--    '%(clang)s/unittests/libclang/LibclangTest.cpp',
--    '%(compiler_rt)s/lib/asan/asan_rtl.cc',
--    '%(compiler_rt)s/test/asan/TestCases/Linux/new_array_cookie_test.cc',
--    '%(llvm)s/test/DebugInfo/gmlt.ll',
--    '%(llvm)s/lib/CodeGen/SpillPlacement.cpp',
--    '%(llvm)s/lib/CodeGen/SpillPlacement.h',
--    '%(llvm)s/lib/Transforms/Instrumentation/MemorySanitizer.cpp',
--    '%(clang)s/test/Driver/env.c',
--    '%(clang)s/lib/Frontend/InitPreprocessor.cpp',
--    '%(clang)s/test/Frontend/exceptions.c',
--    '%(clang)s/test/Preprocessor/predefined-exceptions.m',
--    '%(llvm)s/test/Bindings/Go/go.test',
--    '%(clang)s/lib/Parse/ParseExpr.cpp',
--    '%(clang)s/lib/Parse/ParseTemplate.cpp',
--    '%(clang)s/lib/Sema/SemaDeclCXX.cpp',
--    '%(clang)s/lib/Sema/SemaExprCXX.cpp',
--    '%(clang)s/test/SemaCXX/default2.cpp',
--    '%(clang)s/test/SemaCXX/typo-correction-delayed.cpp',
--    '%(compiler_rt)s/lib/sanitizer_common/sanitizer_stoptheworld_linux_libcdep.cc',
--    '%(compiler_rt)s/test/tsan/signal_segv_handler.cc',
--    '%(compiler_rt)s/lib/sanitizer_common/sanitizer_coverage_libcdep.cc',
--    '%(compiler_rt)s/cmake/config-ix.cmake',
--    '%(compiler_rt)s/CMakeLists.txt',
--    '%(compiler_rt)s/lib/ubsan/ubsan_platform.h',
--    ]
--  for f in files:
--    f = f % {
--        'clang': CLANG_DIR,
--        'compiler_rt': COMPILER_RT_DIR,
--        'llvm': LLVM_DIR,
--        }
--    if os.path.exists(f):
--      os.remove(f)  # For unversioned files.
--      RunCommand(['svn', 'revert', f])
--
--
--def ApplyLocalPatches():
--  # There's no patch program on Windows by default.  We don't need patches on
--  # Windows yet, and maybe this not working on Windows will motivate us to
--  # remove patches over time.
--  assert sys.platform != 'win32'
--
--  # Apply patch for tests failing with --disable-pthreads (llvm.org/PR11974)
--  clang_patches = [ r"""\
----- test/Index/crash-recovery-modules.m	(revision 202554)
--+++ test/Index/crash-recovery-modules.m	(working copy)
--@@ -12,6 +12,8 @@
-- 
-- // REQUIRES: crash-recovery
-- // REQUIRES: shell
--+// XFAIL: *
--+//    (PR11974)
-- 
-- @import Crash;
--""", r"""\
----- unittests/libclang/LibclangTest.cpp (revision 215949)
--+++ unittests/libclang/LibclangTest.cpp (working copy)
--@@ -431,7 +431,7 @@
--   EXPECT_EQ(0U, clang_getNumDiagnostics(ClangTU));
-- }
--
---TEST_F(LibclangReparseTest, ReparseWithModule) {
--+TEST_F(LibclangReparseTest, DISABLED_ReparseWithModule) {
--   const char *HeaderTop = "#ifndef H\n#define H\nstruct Foo { int bar;";
--   const char *HeaderBottom = "\n};\n#endif\n";
--   const char *MFile = "#include \"HeaderFile.h\"\nint main() {"
--"""
--      ]
--
--  # This Go bindings test doesn't work after bootstrap on Linux, PR21552.
--  llvm_patches = [ r"""\
----- test/Bindings/Go/go.test    (revision 223109)
--+++ test/Bindings/Go/go.test    (working copy)
--@@ -1,3 +1,3 @@
---; RUN: llvm-go test llvm.org/llvm/bindings/go/llvm
--+; RUN: true
-- 
-- ; REQUIRES: shell
--"""
--      ]
--
--  # The UBSan run-time, which is now bundled with the ASan run-time, doesn't
--  # work on Mac OS X 10.8 (PR23539).
--  compiler_rt_patches = [ r"""\
----- CMakeLists.txt	(revision 241602)
--+++ CMakeLists.txt	(working copy)
--@@ -305,6 +305,7 @@
--       list(APPEND SANITIZER_COMMON_SUPPORTED_OS iossim)
--     endif()
--   endif()
--+  set(SANITIZER_MIN_OSX_VERSION "10.7")
--   if(SANITIZER_MIN_OSX_VERSION VERSION_LESS "10.7")
--     message(FATAL_ERROR "Too old OS X version: ${SANITIZER_MIN_OSX_VERSION}")
--   endif()
--"""
--      ]
--
--  for path, patches in [(LLVM_DIR, llvm_patches),
--                        (CLANG_DIR, clang_patches),
--                        (COMPILER_RT_DIR, compiler_rt_patches)]:
--    print 'Applying patches in', path
--    for patch in patches:
--      print patch
--      p = subprocess.Popen( ['patch', '-p0', '-d', path], stdin=subprocess.PIPE)
--      (stdout, stderr) = p.communicate(input=patch)
--      if p.returncode != 0:
--        raise RuntimeError('stdout %s, stderr %s' % (stdout, stderr))
--
--
- def DeleteChromeToolsShim():
-+  OLD_SHIM_DIR = os.path.join(LLVM_DIR, 'tools', 'zzz-chrometools')
-+  shutil.rmtree(OLD_SHIM_DIR, ignore_errors=True)
-   shutil.rmtree(CHROME_TOOLS_SHIM_DIR, ignore_errors=True)
- 
- 
-@@ -337,6 +275,25 @@
-     f.write('endif (CHROMIUM_TOOLS_SRC)\n')
- 
- 
-+def MaybeDownloadHostGcc(args):
-+  """Downloads gcc 4.8.2 if needed and makes sure args.gcc_toolchain is set."""
-+  if not sys.platform.startswith('linux') or args.gcc_toolchain:
-+    return
-+
-+  if subprocess.check_output(['gcc', '-dumpversion']).rstrip() < '4.7.0':
-+    # We need a newer gcc version.
-+    gcc_dir = os.path.join(LLVM_BUILD_TOOLS_DIR, 'gcc482precise')
-+    if not os.path.exists(gcc_dir):
-+      print 'Downloading pre-built GCC 4.8.2...'
-+      DownloadAndUnpack(
-+          CDS_URL + '/tools/gcc482precise.tgz', LLVM_BUILD_TOOLS_DIR)
-+    args.gcc_toolchain = gcc_dir
-+  else:
-+    # Always set gcc_toolchain; llvm-symbolizer needs the bundled libstdc++.
-+    args.gcc_toolchain = \
-+        os.path.dirname(os.path.dirname(distutils.spawn.find_executable('gcc')))
-+
-+
- def AddCMakeToPath():
-   """Download CMake and add it to PATH."""
-   if sys.platform == 'win32':
-@@ -345,20 +302,10 @@
-                              'cmake-3.2.2-win32-x86', 'bin')
-   else:
-     suffix = 'Darwin' if sys.platform == 'darwin' else 'Linux'
--    zip_name = 'cmake310_%s.tgz' % suffix
--    cmake_dir = os.path.join(LLVM_BUILD_TOOLS_DIR, 'cmake310', 'bin')
-+    zip_name = 'cmake322_%s.tgz' % suffix
-+    cmake_dir = os.path.join(LLVM_BUILD_TOOLS_DIR, 'cmake322', 'bin')
-   if not os.path.exists(cmake_dir):
--    if not os.path.exists(LLVM_BUILD_TOOLS_DIR):
--      os.makedirs(LLVM_BUILD_TOOLS_DIR)
--    # The cmake archive is smaller than 20 MB, small enough to keep in memory:
--    with contextlib.closing(cStringIO.StringIO()) as f:
--      DownloadUrl(CDS_URL + '/tools/' + zip_name, f)
--      f.seek(0)
--      if zip_name.endswith('.zip'):
--        zipfile.ZipFile(f).extractall(path=LLVM_BUILD_TOOLS_DIR)
--      else:
--        tarfile.open(mode='r:gz', fileobj=f).extractall(path=
--            LLVM_BUILD_TOOLS_DIR)
-+    DownloadAndUnpack(CDS_URL + '/tools/' + zip_name, LLVM_BUILD_TOOLS_DIR)
-   os.environ['PATH'] = cmake_dir + os.pathsep + os.environ.get('PATH', '')
- 
- vs_version = None
-@@ -383,37 +330,61 @@
- 
- def UpdateClang(args):
-   print 'Updating Clang to %s...' % PACKAGE_VERSION
--  if ReadStampFile() == PACKAGE_VERSION:
--    print 'Already up to date.'
--    return 0
-+
-+  need_gold_plugin = 'LLVM_DOWNLOAD_GOLD_PLUGIN' in os.environ or (
-+      sys.platform.startswith('linux') and
-+      'buildtype=Official' in os.environ.get('GYP_DEFINES', '') and
-+      'branding=Chrome' in os.environ.get('GYP_DEFINES', ''))
-+
-+  if ReadStampFile() == PACKAGE_VERSION and not args.force_local_build:
-+    print 'Clang is already up to date.'
-+    if not need_gold_plugin or os.path.exists(
-+        os.path.join(LLVM_BUILD_DIR, "lib/LLVMgold.so")):
-+      return 0
- 
-   # Reset the stamp file in case the build is unsuccessful.
-   WriteStampFile('')
- 
-   if not args.force_local_build:
-     cds_file = "clang-%s.tgz" %  PACKAGE_VERSION
--    cds_full_url = CDS_URL + '/Win/' + cds_file
-+    if sys.platform == 'win32':
-+      cds_full_url = CDS_URL + '/Win/' + cds_file
-+    elif sys.platform == 'darwin':
-+      cds_full_url = CDS_URL + '/Mac/' + cds_file
-+    else:
-+      assert sys.platform.startswith('linux')
-+      cds_full_url = CDS_URL + '/Linux_x64/' + cds_file
- 
--    # Check if there's a prebuilt binary and if so just fetch that. That's
--    # faster, and goma relies on having matching binary hashes on client and
--    # server too.
--    print 'Trying to download prebuilt clang'
--
--    # clang packages are smaller than 50 MB, small enough to keep in memory.
--    with contextlib.closing(cStringIO.StringIO()) as f:
--      try:
--        DownloadUrl(cds_full_url, f)
--        f.seek(0)
--        tarfile.open(mode='r:gz', fileobj=f).extractall(path=LLVM_BUILD_DIR)
--        print 'clang %s unpacked' % PACKAGE_VERSION
--        WriteStampFile(PACKAGE_VERSION)
--        return 0
--      except urllib2.HTTPError:
--        print 'Did not find prebuilt clang %s, building locally' % cds_file
-+    print 'Downloading prebuilt clang'
-+    if os.path.exists(LLVM_BUILD_DIR):
-+      RmTree(LLVM_BUILD_DIR)
-+    try:
-+      DownloadAndUnpack(cds_full_url, LLVM_BUILD_DIR)
-+      print 'clang %s unpacked' % PACKAGE_VERSION
-+      # Download the gold plugin if requested to by an environment variable.
-+      # This is used by the CFI ClusterFuzz bot, and it's required for official
-+      # builds on linux.
-+      if need_gold_plugin:
-+        RunCommand(['python', CHROMIUM_DIR+'/build/download_gold_plugin.py'])
-+      WriteStampFile(PACKAGE_VERSION)
-+      return 0
-+    except urllib2.URLError:
-+      print 'Failed to download prebuilt clang %s' % cds_file
-+      print 'Use --force-local-build if you want to build locally.'
-+      print 'Exiting.'
-+      return 1
-+
-+  if args.with_android and not os.path.exists(ANDROID_NDK_DIR):
-+    print 'Android NDK not found at ' + ANDROID_NDK_DIR
-+    print 'The Android NDK is needed to build a Clang whose -fsanitize=address'
-+    print 'works on Android. See '
-+    print 'http://code.google.com/p/chromium/wiki/AndroidBuildInstructions'
-+    print 'for how to install the NDK, or pass --without-android.'
-+    return 1
- 
-+  MaybeDownloadHostGcc(args)
-   AddCMakeToPath()
- 
--  RevertPreviouslyPatchedFiles()
-   DeleteChromeToolsShim()
- 
-   Checkout('LLVM', LLVM_REPO_URL + '/llvm/trunk', LLVM_DIR)
-@@ -429,10 +400,24 @@
-     # into it too (since OS X 10.6 doesn't have libc++abi.dylib either).
-     Checkout('libcxxabi', LLVM_REPO_URL + '/libcxxabi/trunk', LIBCXXABI_DIR)
- 
--  if args.with_patches and sys.platform != 'win32':
--    ApplyLocalPatches()
--
-   cc, cxx = None, None
-+  libstdcpp = None
-+  if args.gcc_toolchain:  # This option is only used on Linux.
-+    # Use the specified gcc installation for building.
-+    cc = os.path.join(args.gcc_toolchain, 'bin', 'gcc')
-+    cxx = os.path.join(args.gcc_toolchain, 'bin', 'g++')
-+
-+    if not os.access(cc, os.X_OK):
-+      print 'Invalid --gcc-toolchain: "%s"' % args.gcc_toolchain
-+      print '"%s" does not appear to be valid.' % cc
-+      return 1
-+
-+    # Set LD_LIBRARY_PATH to make auxiliary targets (tablegen, bootstrap
-+    # compiler, etc.) find the .so.
-+    libstdcpp = subprocess.check_output(
-+        [cxx, '-print-file-name=libstdc++.so.6']).rstrip()
-+    os.environ['LD_LIBRARY_PATH'] = os.path.dirname(libstdcpp)
-+
-   cflags = cxxflags = ldflags = []
- 
-   # LLVM uses C++11 starting in llvm 3.5. On Linux, this means libstdc++4.7+ is
-@@ -462,8 +447,7 @@
- 
-   if args.bootstrap:
-     print 'Building bootstrap compiler'
--    if not os.path.exists(LLVM_BOOTSTRAP_DIR):
--      os.makedirs(LLVM_BOOTSTRAP_DIR)
-+    EnsureDirExists(LLVM_BOOTSTRAP_DIR)
-     os.chdir(LLVM_BOOTSTRAP_DIR)
-     bootstrap_args = base_cmake_args + [
-         '-DLLVM_TARGETS_TO_BUILD=host',
-@@ -473,11 +457,16 @@
-         ]
-     if cc is not None:  bootstrap_args.append('-DCMAKE_C_COMPILER=' + cc)
-     if cxx is not None: bootstrap_args.append('-DCMAKE_CXX_COMPILER=' + cxx)
-+    RmCmakeCache('.')
-     RunCommand(['cmake'] + bootstrap_args + [LLVM_DIR], msvc_arch='x64')
-     RunCommand(['ninja'], msvc_arch='x64')
-     if args.run_tests:
-       RunCommand(['ninja', 'check-all'], msvc_arch='x64')
-     RunCommand(['ninja', 'install'], msvc_arch='x64')
-+    if args.gcc_toolchain:
-+      # Copy that gcc's stdlibc++.so.6 to the build dir, so the bootstrap
-+      # compiler can start.
-+      CopyFile(libstdcpp, os.path.join(LLVM_BOOTSTRAP_INSTALL_DIR, 'lib'))
- 
-     if sys.platform == 'win32':
-       cc = os.path.join(LLVM_BOOTSTRAP_INSTALL_DIR, 'bin', 'clang-cl.exe')
-@@ -489,6 +478,12 @@
-     else:
-       cc = os.path.join(LLVM_BOOTSTRAP_INSTALL_DIR, 'bin', 'clang')
-       cxx = os.path.join(LLVM_BOOTSTRAP_INSTALL_DIR, 'bin', 'clang++')
-+
-+    if args.gcc_toolchain:
-+      # Tell the bootstrap compiler to use a specific gcc prefix to search
-+      # for standard library headers and shared object files.
-+      cflags = ['--gcc-toolchain=' + args.gcc_toolchain]
-+      cxxflags = ['--gcc-toolchain=' + args.gcc_toolchain]
-     print 'Building final compiler'
- 
-   if sys.platform == 'darwin':
-@@ -543,7 +538,7 @@
-     binutils_incdir = os.path.join(BINUTILS_DIR, 'Linux_x64/Release/include')
- 
-   # If building at head, define a macro that plugins can use for #ifdefing
--  # out code that builds at head, but not at LLVM_WIN_REVISION or vice versa.
-+  # out code that builds at head, but not at CLANG_REVISION or vice versa.
-   if use_head_revision:
-     cflags += ['-DLLVM_FORCE_HEAD_REVISION']
-     cxxflags += ['-DLLVM_FORCE_HEAD_REVISION']
-@@ -555,8 +550,15 @@
-     deployment_env = os.environ.copy()
-     deployment_env['MACOSX_DEPLOYMENT_TARGET'] = deployment_target
- 
--  cmake_args = base_cmake_args + [
-+  cmake_args = []
-+  # TODO(thakis): Unconditionally append this to base_cmake_args instead once
-+  # compiler-rt can build with clang-cl on Windows (http://llvm.org/PR23698)
-+  cc_args = base_cmake_args if sys.platform != 'win32' else cmake_args
-+  if cc is not None:  cc_args.append('-DCMAKE_C_COMPILER=' + cc)
-+  if cxx is not None: cc_args.append('-DCMAKE_CXX_COMPILER=' + cxx)
-+  cmake_args += base_cmake_args + [
-       '-DLLVM_BINUTILS_INCDIR=' + binutils_incdir,
-+      '-DLLVM_EXPERIMENTAL_TARGETS_TO_BUILD=WebAssembly',
-       '-DCMAKE_C_FLAGS=' + ' '.join(cflags),
-       '-DCMAKE_CXX_FLAGS=' + ' '.join(cxxflags),
-       '-DCMAKE_EXE_LINKER_FLAGS=' + ' '.join(ldflags),
-@@ -565,35 +567,44 @@
-       '-DCMAKE_INSTALL_PREFIX=' + LLVM_BUILD_DIR,
-       '-DCHROMIUM_TOOLS_SRC=%s' % os.path.join(CHROMIUM_DIR, 'tools', 'clang'),
-       '-DCHROMIUM_TOOLS=%s' % ';'.join(args.tools)]
--  # TODO(thakis): Unconditionally append this to base_cmake_args instead once
--  # compiler-rt can build with clang-cl on Windows (http://llvm.org/PR23698)
--  cc_args = base_cmake_args if sys.platform != 'win32' else cmake_args
--  if cc is not None:  cc_args.append('-DCMAKE_C_COMPILER=' + cc)
--  if cxx is not None: cc_args.append('-DCMAKE_CXX_COMPILER=' + cxx)
- 
--  if not os.path.exists(LLVM_BUILD_DIR):
--    os.makedirs(LLVM_BUILD_DIR)
-+  EnsureDirExists(LLVM_BUILD_DIR)
-   os.chdir(LLVM_BUILD_DIR)
-+  RmCmakeCache('.')
-   RunCommand(['cmake'] + cmake_args + [LLVM_DIR],
-              msvc_arch='x64', env=deployment_env)
--  RunCommand(['ninja'], msvc_arch='x64')
-+
-+  if args.gcc_toolchain:
-+    # Copy in the right stdlibc++.so.6 so clang can start.
-+    if not os.path.exists(os.path.join(LLVM_BUILD_DIR, 'lib')):
-+      os.mkdir(os.path.join(LLVM_BUILD_DIR, 'lib'))
-+    libstdcpp = subprocess.check_output(
-+        [cxx] + cxxflags + ['-print-file-name=libstdc++.so.6']).rstrip()
-+    CopyFile(libstdcpp, os.path.join(LLVM_BUILD_DIR, 'lib'))
-+
-+  # TODO(thakis): Remove "-d explain" once http://crbug.com/569337 is fixed.
-+  RunCommand(['ninja', '-d', 'explain'], msvc_arch='x64')
- 
-   if args.tools:
-     # If any Chromium tools were built, install those now.
-     RunCommand(['ninja', 'cr-install'], msvc_arch='x64')
- 
-   if sys.platform == 'darwin':
--    CopyFile(os.path.join(LLVM_BUILD_DIR, 'libc++.1.dylib'),
-+    CopyFile(os.path.join(libcxxbuild, 'libc++.1.dylib'),
-              os.path.join(LLVM_BUILD_DIR, 'bin'))
-     # See http://crbug.com/256342
-     RunCommand(['strip', '-x', os.path.join(LLVM_BUILD_DIR, 'bin', 'clang')])
-   elif sys.platform.startswith('linux'):
-     RunCommand(['strip', os.path.join(LLVM_BUILD_DIR, 'bin', 'clang')])
- 
--  # Do an x86 build of compiler-rt to get the 32-bit ASan run-time.
-+  # Do an out-of-tree build of compiler-rt.
-+  # On Windows, this is used to get the 32-bit ASan run-time.
-   # TODO(hans): Remove once the regular build above produces this.
--  if not os.path.exists(COMPILER_RT_BUILD_DIR):
--    os.makedirs(COMPILER_RT_BUILD_DIR)
-+  # On Mac and Linux, this is used to get the regular 64-bit run-time.
-+  # Do a clobbered build due to cmake changes.
-+  if os.path.isdir(COMPILER_RT_BUILD_DIR):
-+    RmTree(COMPILER_RT_BUILD_DIR)
-+  os.makedirs(COMPILER_RT_BUILD_DIR)
-   os.chdir(COMPILER_RT_BUILD_DIR)
-   # TODO(thakis): Add this once compiler-rt can build with clang-cl (see
-   # above).
-@@ -606,11 +617,17 @@
-       '-DCMAKE_CXX_FLAGS=' + ' '.join(cxxflags)]
-   if sys.platform != 'win32':
-     compiler_rt_args += ['-DLLVM_CONFIG_PATH=' +
--                         os.path.join(LLVM_BUILD_DIR, 'bin', 'llvm-config')]
--  RunCommand(['cmake'] + compiler_rt_args + [LLVM_DIR],
--              msvc_arch='x86', env=deployment_env)
-+                         os.path.join(LLVM_BUILD_DIR, 'bin', 'llvm-config'),
-+                        '-DSANITIZER_MIN_OSX_VERSION="10.7"']
-+  # compiler-rt is part of the llvm checkout on Windows but a stand-alone
-+  # directory elsewhere, see the TODO above COMPILER_RT_DIR.
-+  RmCmakeCache('.')
-+  RunCommand(['cmake'] + compiler_rt_args +
-+             [LLVM_DIR if sys.platform == 'win32' else COMPILER_RT_DIR],
-+             msvc_arch='x86', env=deployment_env)
-   RunCommand(['ninja', 'compiler-rt'], msvc_arch='x86')
- 
-+  # Copy select output to the main tree.
-   # TODO(hans): Make this (and the .gypi and .isolate files) version number
-   # independent.
-   if sys.platform == 'win32':
-@@ -620,17 +637,35 @@
-   else:
-     assert sys.platform.startswith('linux')
-     platform = 'linux'
--  asan_rt_lib_src_dir = os.path.join(COMPILER_RT_BUILD_DIR, 'lib', 'clang',
--                                     VERSION, 'lib', platform)
-+  asan_rt_lib_src_dir = os.path.join(COMPILER_RT_BUILD_DIR, 'lib', platform)
-+  if sys.platform == 'win32':
-+    # TODO(thakis): This too is due to compiler-rt being part of the checkout
-+    # on Windows, see TODO above COMPILER_RT_DIR.
-+    asan_rt_lib_src_dir = os.path.join(COMPILER_RT_BUILD_DIR, 'lib', 'clang',
-+                                       VERSION, 'lib', platform)
-   asan_rt_lib_dst_dir = os.path.join(LLVM_BUILD_DIR, 'lib', 'clang',
-                                      VERSION, 'lib', platform)
--  CopyDirectoryContents(asan_rt_lib_src_dir, asan_rt_lib_dst_dir,
--                        r'^.*-i386\.lib$')
--  CopyDirectoryContents(asan_rt_lib_src_dir, asan_rt_lib_dst_dir,
--                        r'^.*-i386\.dll$')
-+  # Blacklists:
-+  CopyDirectoryContents(os.path.join(asan_rt_lib_src_dir, '..', '..'),
-+                        os.path.join(asan_rt_lib_dst_dir, '..', '..'),
-+                        r'^.*blacklist\.txt$')
-+  # Headers:
-+  if sys.platform != 'win32':
-+    CopyDirectoryContents(
-+        os.path.join(COMPILER_RT_BUILD_DIR, 'include/sanitizer'),
-+        os.path.join(LLVM_BUILD_DIR, 'lib/clang', VERSION, 'include/sanitizer'))
-+  # Static and dynamic libraries:
-+  CopyDirectoryContents(asan_rt_lib_src_dir, asan_rt_lib_dst_dir)
-+  if sys.platform == 'darwin':
-+    for dylib in glob.glob(os.path.join(asan_rt_lib_dst_dir, '*.dylib')):
-+      # Fix LC_ID_DYLIB for the ASan dynamic libraries to be relative to
-+      # @executable_path.
-+      # TODO(glider): this is transitional. We'll need to fix the dylib
-+      # name either in our build system, or in Clang. See also
-+      # http://crbug.com/344836.
-+      subprocess.call(['install_name_tool', '-id',
-+                       '@executable_path/' + os.path.basename(dylib), dylib])
- 
--  CopyFile(os.path.join(asan_rt_lib_src_dir, '..', '..', 'asan_blacklist.txt'),
--           os.path.join(asan_rt_lib_dst_dir, '..', '..'))
- 
-   if sys.platform == 'win32':
-     # Make an extra copy of the sanitizer headers, to be put on the include path
-@@ -640,22 +675,67 @@
-     aux_sanitizer_include_dir = os.path.join(LLVM_BUILD_DIR, 'lib', 'clang',
-                                              VERSION, 'include_sanitizer',
-                                              'sanitizer')
--    if not os.path.exists(aux_sanitizer_include_dir):
--      os.makedirs(aux_sanitizer_include_dir)
-+    EnsureDirExists(aux_sanitizer_include_dir)
-     for _, _, files in os.walk(sanitizer_include_dir):
-       for f in files:
-         CopyFile(os.path.join(sanitizer_include_dir, f),
-                  aux_sanitizer_include_dir)
- 
-+  if args.with_android:
-+    make_toolchain = os.path.join(
-+        ANDROID_NDK_DIR, 'build', 'tools', 'make-standalone-toolchain.sh')
-+    for target_arch in ['aarch64', 'arm', 'i686']:
-+      # Make standalone Android toolchain for target_arch.
-+      toolchain_dir = os.path.join(
-+          LLVM_BUILD_DIR, 'android-toolchain-' + target_arch)
-+      RunCommand([
-+          make_toolchain,
-+          '--platform=android-' + ('21' if target_arch == 'aarch64' else '19'),
-+          '--install-dir="%s"' % toolchain_dir,
-+          '--system=linux-x86_64',
-+          '--stl=stlport',
-+          '--toolchain=' + {
-+              'aarch64': 'aarch64-linux-android-4.9',
-+              'arm': 'arm-linux-androideabi-4.9',
-+              'i686': 'x86-4.9',
-+          }[target_arch]])
-+      # Android NDK r9d copies a broken unwind.h into the toolchain, see
-+      # http://crbug.com/357890
-+      for f in glob.glob(os.path.join(toolchain_dir, 'include/c++/*/unwind.h')):
-+        os.remove(f)
-+
-+      # Build ASan runtime for Android in a separate build tree.
-+      build_dir = os.path.join(LLVM_BUILD_DIR, 'android-' + target_arch)
-+      if not os.path.exists(build_dir):
-+        os.mkdir(os.path.join(build_dir))
-+      os.chdir(build_dir)
-+      cflags = ['--target=%s-linux-androideabi' % target_arch,
-+                '--sysroot=%s/sysroot' % toolchain_dir,
-+                '-B%s' % toolchain_dir]
-+      android_args = base_cmake_args + [
-+        '-DCMAKE_C_COMPILER=' + os.path.join(LLVM_BUILD_DIR, 'bin/clang'),
-+        '-DCMAKE_CXX_COMPILER=' + os.path.join(LLVM_BUILD_DIR, 'bin/clang++'),
-+        '-DLLVM_CONFIG_PATH=' + os.path.join(LLVM_BUILD_DIR, 'bin/llvm-config'),
-+        '-DCMAKE_C_FLAGS=' + ' '.join(cflags),
-+        '-DCMAKE_CXX_FLAGS=' + ' '.join(cflags),
-+        '-DANDROID=1']
-+      RmCmakeCache('.')
-+      RunCommand(['cmake'] + android_args + [COMPILER_RT_DIR])
-+      RunCommand(['ninja', 'libclang_rt.asan-%s-android.so' % target_arch])
-+
-+      # And copy it into the main build tree.
-+      runtime = 'libclang_rt.asan-%s-android.so' % target_arch
-+      for root, _, files in os.walk(build_dir):
-+        if runtime in files:
-+          shutil.copy(os.path.join(root, runtime), asan_rt_lib_dst_dir)
-+
-   # Run tests.
-   if args.run_tests or use_head_revision:
-     os.chdir(LLVM_BUILD_DIR)
--    RunCommand(GetVSVersion().SetupScript('x64') +
--               ['&&', 'ninja', 'cr-check-all'])
-+    RunCommand(['ninja', 'cr-check-all'], msvc_arch='x64')
-   if args.run_tests:
-     os.chdir(LLVM_BUILD_DIR)
--    RunCommand(GetVSVersion().SetupScript('x64') +
--               ['&&', 'ninja', 'check-all'])
-+    RunCommand(['ninja', 'check-all'], msvc_arch='x64')
- 
-   WriteStampFile(PACKAGE_VERSION)
-   print 'Clang update was successful.'
-@@ -663,31 +743,6 @@
- 
- 
- def main():
--  if not sys.platform in ['win32', 'cygwin']:
--    # For non-Windows, fall back to update.sh.
--    # TODO(hans): Make update.py replace update.sh completely.
--
--    # This script is called by gclient. gclient opens its hooks subprocesses
--    # with (stdout=subprocess.PIPE, stderr=subprocess.STDOUT) and then does
--    # custom output processing that breaks printing '\r' characters for
--    # single-line updating status messages as printed by curl and wget.
--    # Work around this by setting stderr of the update.sh process to stdin (!):
--    # gclient doesn't redirect stdin, and while stdin itself is read-only, a
--    # dup()ed sys.stdin is writable, try
--    #   fd2 = os.dup(sys.stdin.fileno()); os.write(fd2, 'hi')
--    # TODO: Fix gclient instead, http://crbug.com/95350
--    if '--no-stdin-hack' in sys.argv:
--      sys.argv.remove('--no-stdin-hack')
--      stderr = None
--    else:
--      try:
--        stderr = os.fdopen(os.dup(sys.stdin.fileno()))
--      except:
--        stderr = sys.stderr
--    return subprocess.call(
--        [os.path.join(os.path.dirname(__file__), 'update.sh')] + sys.argv[1:],
--        stderr=stderr)
--
-   parser = argparse.ArgumentParser(description='Build Clang.')
-   parser.add_argument('--bootstrap', action='store_true',
-                       help='first build clang with CC, then with itself.')
-@@ -695,26 +750,24 @@
-                       help="run only if the script thinks clang is needed")
-   parser.add_argument('--force-local-build', action='store_true',
-                       help="don't try to download prebuild binaries")
-+  parser.add_argument('--gcc-toolchain', help='set the version for which gcc '
-+                      'version be used for building; --gcc-toolchain=/opt/foo '
-+                      'picks /opt/foo/bin/gcc')
-   parser.add_argument('--print-revision', action='store_true',
-                       help='print current clang revision and exit.')
-+  parser.add_argument('--print-clang-version', action='store_true',
-+                      help='print current clang version (e.g. x.y.z) and exit.')
-   parser.add_argument('--run-tests', action='store_true',
-                       help='run tests after building; only for local builds')
-   parser.add_argument('--tools', nargs='*',
-                       help='select which chrome tools to build',
-                       default=['plugins', 'blink_gc_plugin'])
--  parser.add_argument('--without-patches', action='store_false',
--                      help="don't apply patches (default)", dest='with_patches',
--                      default=True)
--
--  # For now, these flags are only used for the non-Windows flow, but argparser
--  # gets mad if it sees a flag it doesn't recognize.
--  parser.add_argument('--no-stdin-hack', action='store_true')
--
-+  parser.add_argument('--without-android', action='store_false',
-+                      help='don\'t build Android ASan runtime (linux only)',
-+                      dest='with_android',
-+                      default=sys.platform.startswith('linux'))
-   args = parser.parse_args()
- 
--  if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')):
--    print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).'
--    return 0
-   if args.if_needed:
-     is_clang_required = False
-     # clang is always used on Mac and Linux.
-@@ -730,8 +783,16 @@
-       is_clang_required = True
-     if not is_clang_required:
-       return 0
-+    if re.search(r'\b(make_clang_dir)=', os.environ.get('GYP_DEFINES', '')):
-+      print 'Skipping Clang update (make_clang_dir= was set in GYP_DEFINES).'
-+      return 0
-+
-+  if use_head_revision:
-+    # TODO(hans): Remove after the next roll.
-+    global VERSION
-+    VERSION = '3.9.0'
- 
--  global LLVM_WIN_REVISION, PACKAGE_VERSION
-+  global CLANG_REVISION, PACKAGE_VERSION
-   if args.print_revision:
-     if use_head_revision:
-       print GetSvnRevision(LLVM_DIR)
-@@ -739,6 +800,10 @@
-       print PACKAGE_VERSION
-     return 0
- 
-+  if args.print_clang_version:
-+    sys.stdout.write(VERSION)
-+    return 0
-+
-   # Don't buffer stdout, so that print statements are immediately flushed.
-   # Do this only after --print-revision has been handled, else we'll get
-   # an error message when this script is run from gn for some reason.
-@@ -747,12 +812,13 @@
-   if use_head_revision:
-     # Use a real revision number rather than HEAD to make sure that the stamp
-     # file logic works.
--    LLVM_WIN_REVISION = GetSvnRevision(LLVM_REPO_URL)
--    PACKAGE_VERSION = LLVM_WIN_REVISION + '-0'
-+    CLANG_REVISION = GetSvnRevision(LLVM_REPO_URL)
-+    PACKAGE_VERSION = CLANG_REVISION + '-0'
- 
-     args.force_local_build = True
--    # Skip local patches when using HEAD: they probably don't apply anymore.
--    args.with_patches = False
-+    if 'OS=android' not in os.environ.get('GYP_DEFINES', ''):
-+      # Only build the Android ASan rt on ToT bots when targetting Android.
-+      args.with_android = False
- 
-   return UpdateClang(args)
- 
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix b/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
deleted file mode 100644
index 7ffc42fe7f68..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebengine/default.nix
+++ /dev/null
@@ -1,90 +0,0 @@
-{ qtSubmodule, qtquickcontrols, qtlocation, qtwebchannel
-
-, xlibs, libXcursor, libXScrnSaver, libXrandr, libXtst
-, fontconfig, freetype, harfbuzz, icu, dbus
-, zlib, minizip, libjpeg, libpng, libtiff, libwebp, libopus
-, jsoncpp, protobuf, libvpx, srtp, snappy, nss, libevent
-, alsaLib
-, libcap
-, pciutils
-
-, bison, flex, git, which, gperf
-, coreutils
-, pkgconfig, python2
-
-, lib, stdenv # lib.optional, needsPax
-}:
-
-qtSubmodule {
-  name = "qtwebengine";
-  qtInputs = [ qtquickcontrols qtlocation qtwebchannel ];
-  buildInputs = [ bison flex git which gperf ];
-  nativeBuildInputs = [ pkgconfig python2 coreutils ];
-  doCheck = true;
-
-  enableParallelBuilding = true;
-
-  preConfigure = ''
-    export MAKEFLAGS=-j$NIX_BUILD_CORES
-    substituteInPlace ./src/3rdparty/chromium/build/common.gypi \
-      --replace /bin/echo ${coreutils}/bin/echo
-    substituteInPlace ./src/3rdparty/chromium/v8/build/toolchain.gypi \
-      --replace /bin/echo ${coreutils}/bin/echo
-    substituteInPlace ./src/3rdparty/chromium/v8/build/standalone.gypi \
-      --replace /bin/echo ${coreutils}/bin/echo
-
-    # hardcode paths for which default path resolution does not work in nix
-    sed -i -e 's,\(static QString potentialResourcesPath =\).*,\1 QLatin1String("'$out'/resources");,' src/core/web_engine_library_info.cpp
-    sed -i -e 's,\(static QString processPath\),\1 = QLatin1String("'$out'/libexec/QtWebEngineProcess"),' src/core/web_engine_library_info.cpp
-    sed -i -e 's,\(static QString potentialLocalesPath =\).*,\1 QLatin1String("'$out'/translations/qtwebengine_locales");,' src/core/web_engine_library_info.cpp
-
-    # fix default SSL bundle location
-    sed -i -e 's,/cert.pem,/certs/ca-bundle.crt,' src/3rdparty/chromium/third_party/boringssl/src/crypto/x509/x509_def.c
-
-    configureFlags+="\
-        -plugindir $out/$qtPluginPrefix \
-        -qmldir $out/$qtQmlPrefix \
-        -docdir $out/$qtDocPrefix"
-  '';
-  propagatedBuildInputs = [
-    # Image formats
-    libjpeg libpng libtiff libwebp
-
-    # Video formats
-    srtp libvpx
-
-    # Audio formats
-    libopus
-
-    # Text rendering
-    harfbuzz icu
-  ]
-  ++ lib.optionals (!stdenv.isDarwin) [
-    dbus zlib minizip snappy nss protobuf jsoncpp libevent
-
-    # Audio formats
-    alsaLib
-
-    # Text rendering
-    fontconfig freetype
-
-    libcap
-    pciutils
-
-    # X11 libs
-    xlibs.xrandr libXScrnSaver libXcursor libXrandr xlibs.libpciaccess libXtst
-    xlibs.libXcomposite
-  ];
-  patches = [
-    ./chromium-clang-update-py.patch
-  ] ++ stdenv.lib.optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch;
-
-  postInstall = ''
-    cat > $out/libexec/qt.conf <<EOF
-    [Paths]
-    Prefix = ..
-    EOF
-
-    paxmark m $out/libexec/QtWebEngineProcess
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icu-59.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch
index add365b5dd64..da1658554e44 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icu-59.patch
+++ b/pkgs/development/libraries/qt-5/5.6/qtwebkit.patch
@@ -1,19 +1,5 @@
-From: Konstantin Tokarev <annulen@yandex.ru>
-Date: Thu, 4 May 2017 12:12:37 +0000 (+0300)
-Subject: Fix compilation with ICU 59
-X-Git-Url: https://codereview.qt-project.org/gitweb?p=qt%2Fqtwebkit.git;a=commitdiff_plain;h=bf172ae289a1348842005a9421797970f9b72060;hp=821eaaadc9d63d03aca65cf757230b520daaaa7c
-
-Fix compilation with ICU 59
-
-Upstream fix: https://bugs.webkit.org/show_bug.cgi?id=171612
-
-Task-number: QTBUG-60532
-Change-Id: I6014feea213aa70ebe40b09d9d1a03fd1ed3c843
-Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
----
-
 diff --git a/Source/JavaScriptCore/API/JSStringRef.cpp b/Source/JavaScriptCore/API/JSStringRef.cpp
-index 812f3d4..77a3fd0 100644
+index 812f3d413..77a3fd0f4 100644
 --- a/Source/JavaScriptCore/API/JSStringRef.cpp
 +++ b/Source/JavaScriptCore/API/JSStringRef.cpp
 @@ -37,7 +37,7 @@ using namespace WTF::Unicode;
@@ -44,7 +30,7 @@ index 812f3d4..77a3fd0 100644
  
  size_t JSStringGetMaximumUTF8CStringSize(JSStringRef string)
 diff --git a/Source/JavaScriptCore/runtime/DateConversion.cpp b/Source/JavaScriptCore/runtime/DateConversion.cpp
-index 0b57f01..05e2733 100644
+index 0b57f012d..05e27338b 100644
 --- a/Source/JavaScriptCore/runtime/DateConversion.cpp
 +++ b/Source/JavaScriptCore/runtime/DateConversion.cpp
 @@ -107,7 +107,8 @@ String formatDateTime(const GregorianDateTime& t, DateTimeFormat format, bool as
@@ -57,8 +43,21 @@ index 0b57f01..05e2733 100644
  #else
              struct tm gtm = t;
              char timeZoneName[70];
+diff --git a/Source/WTF/WTF.pri b/Source/WTF/WTF.pri
+index 1f4866d66..bb61e4ba3 100644
+--- a/Source/WTF/WTF.pri
++++ b/Source/WTF/WTF.pri
+@@ -12,7 +12,7 @@ mac {
+     # Mac OS does ship libicu but not the associated header files.
+     # Therefore WebKit provides adequate header files.
+     INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH
+-    LIBS += -licucore
++    LIBS += /usr/lib/libicucore.dylib
+ } else:!use?(wchar_unicode): {
+     win32 {
+         CONFIG(static, static|shared) {
 diff --git a/Source/WTF/wtf/TypeTraits.h b/Source/WTF/wtf/TypeTraits.h
-index 9df2c95..f5d6121 100644
+index 9df2c95cf..f5d6121fd 100644
 --- a/Source/WTF/wtf/TypeTraits.h
 +++ b/Source/WTF/wtf/TypeTraits.h
 @@ -72,6 +72,9 @@ namespace WTF {
@@ -71,8 +70,56 @@ index 9df2c95..f5d6121 100644
  #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
      template<> struct IsInteger<wchar_t>            { static const bool value = true; };
  #endif
+diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+index a923d49aa..46772a4bb 100644
+--- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
++++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+@@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* module = 0)
+         }
+     }
+ 
++#ifdef NIXPKGS_LIBGTK2
++    QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0);
++#else
+     QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
++#endif
+     if (library.load()) {
+         typedef void *(*gtk_init_check_ptr)(int*, char***);
+         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
+diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
+index de06a2fea..86fe39ef1 100644
+--- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
++++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
+@@ -697,7 +697,11 @@ static Display *getPluginDisplay()
+     // support gdk based plugins (like flash) that use a different X connection.
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
++#ifdef NIXPKGS_LIBGDK2
++    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
++#else
+     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++#endif
+     if (!library.load())
+         return 0;
+ 
+diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
+index 8de65216b..38f5c05e5 100644
+--- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
++++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
+@@ -53,7 +53,11 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
+ 
+ static bool initializeGtk()
+ {
++#ifdef NIXPKGS_LIBGTK2
++    QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0);
++#else
+     QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
++#endif
+     if (!gtkLibrary.load())
+         return false;
+     typedef void* (*gtk_init_ptr)(void*, void*);
 diff --git a/Source/WebKit2/Shared/API/c/WKString.cpp b/Source/WebKit2/Shared/API/c/WKString.cpp
-index cbac67d..23400a6 100644
+index cbac67dd8..23400a64e 100644
 --- a/Source/WebKit2/Shared/API/c/WKString.cpp
 +++ b/Source/WebKit2/Shared/API/c/WKString.cpp
 @@ -55,7 +55,7 @@ size_t WKStringGetLength(WKStringRef stringRef)
@@ -84,3 +131,19 @@ index cbac67d..23400a6 100644
  }
  
  size_t WKStringGetMaximumUTF8CStringSize(WKStringRef stringRef)
+diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+index d734ff684..0f6ff63d1 100644
+--- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
++++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+@@ -64,7 +64,11 @@ static Display* getPluginDisplay()
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+ 
++#ifdef NIXPKGS_LIBGDK2
++    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
++#else
+     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++#endif
+     if (!library.load())
+         return 0;
+ 
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/0001-dlopen-webkit-nsplugin.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/0001-dlopen-webkit-nsplugin.patch
deleted file mode 100644
index 0eeacce1bc05..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/0001-dlopen-webkit-nsplugin.patch
+++ /dev/null
@@ -1,53 +0,0 @@
-From 862ce7d357a3ec32683ac6ec7c0ebdc9346b44ba Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:18:54 -0500
-Subject: [PATCH 1/3] dlopen webkit nsplugin
-
----
- Source/WebCore/plugins/qt/PluginPackageQt.cpp                        | 2 +-
- Source/WebCore/plugins/qt/PluginViewQt.cpp                           | 2 +-
- Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-index a923d49..2731d05 100644
---- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -136,7 +136,7 @@ static void initializeGtk(QLibrary* module = 0)
-         }
-     }
- 
--    QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-index de06a2f..363bde5 100644
---- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -697,7 +697,7 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/lib/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
-diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-index d734ff6..62a2197 100644
---- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,7 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
--    QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+    QLibrary library(QLatin1String("@gdk_pixbuf@/libgdk-x11-2.0"), 0);
-     if (!library.load())
-         return 0;
- 
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/0002-dlopen-webkit-gtk.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/0002-dlopen-webkit-gtk.patch
deleted file mode 100644
index bb5d1f74364c..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/0002-dlopen-webkit-gtk.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 6a407d30357c2551abceac75c82f4a1688e47437 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:19:16 -0500
-Subject: [PATCH 2/3] dlopen webkit gtk
-
----
- Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-index 8de6521..0b25748 100644
---- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-+++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-@@ -53,7 +53,7 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
- 
- static bool initializeGtk()
- {
--    QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
-+    QLibrary gtkLibrary(QLatin1String("@gtk@/lib/libgtk-x11-2.0"), 0);
-     if (!gtkLibrary.load())
-         return false;
-     typedef void* (*gtk_init_ptr)(void*, void*);
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/0003-dlopen-webkit-udev.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/0003-dlopen-webkit-udev.patch
deleted file mode 100644
index 19de7d99c85e..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/0003-dlopen-webkit-udev.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 864020dd47c3b6d532d9f26b82185904cf9324f2 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:19:29 -0500
-Subject: [PATCH 3/3] dlopen webkit udev
-
----
- Source/WebCore/platform/qt/GamepadsQt.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/Source/WebCore/platform/qt/GamepadsQt.cpp b/Source/WebCore/platform/qt/GamepadsQt.cpp
-index 60ff317..da8ac69 100644
---- a/Source/WebCore/platform/qt/GamepadsQt.cpp
-+++ b/Source/WebCore/platform/qt/GamepadsQt.cpp
-@@ -111,13 +111,12 @@ private:
-     bool load()
-     {
-         m_libUdev.setLoadHints(QLibrary::ResolveAllSymbolsHint);
--        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 1);
-+        m_libUdev.setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 1);
-         m_loaded = m_libUdev.load();
-         if (resolveMethods())
-             return true;
- 
--        m_libUdev.setFileNameAndVersion(QStringLiteral("udev"), 0);
-+        m_libUdev.setFileNameAndVersion(QLatin1String(NIXPKGS_LIBUDEV), 0);
-         m_loaded = m_libUdev.load();
-         return resolveMethods();
-     }
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
deleted file mode 100644
index 664281aac311..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/default.nix
+++ /dev/null
@@ -1,40 +0,0 @@
-{ qtSubmodule, stdenv, copyPathsToStore, lib
-, qtdeclarative, qtlocation, qtsensors
-, fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
-, sqlite, systemd, glib, gst_all_1
-, bison2, flex, gdb, gperf, perl, pkgconfig, python2, ruby
-, darwin
-, substituteAll
-, flashplayerFix ? false
-}:
-
-let inherit (lib) optional optionals getLib; in
-
-qtSubmodule {
-  name = "qtwebkit";
-  qtInputs = [ qtdeclarative qtlocation qtsensors ];
-  buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
-    ++ optionals (stdenv.isDarwin) (with darwin.apple_sdk.frameworks; [ OpenGL ]);
-  nativeBuildInputs = [
-    bison2 flex gdb gperf perl pkgconfig python2 ruby
-  ];
-
-  __impureHostDeps = optionals (stdenv.isDarwin) [
-    "/usr/lib/libicucore.dylib"
-  ];
-
-  patches =  copyPathsToStore (lib.readPathsFromFile ./. ./series);
-
-  NIX_CFLAGS_COMPILE =
-    optionals flashplayerFix
-      [
-        ''-DNIXPKGS_LIBGTK2="${getLib gtk2}/lib/libgtk-x11-2.0"''
-        ''-DNIXPKGS_LIBGDK2="${getLib gdk_pixbuf}/lib/libgdk-x11-2.0"''
-      ]
-    ++ optional (!stdenv.isDarwin) ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"'';
-
-  # 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/qt-5/5.6/qtwebkit/qtwebkit-dlopen-gtk.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-dlopen-gtk.patch
deleted file mode 100644
index e34eda592af7..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-dlopen-gtk.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Index: qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* modu
-         }
-     }
- 
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-Index: qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginViewQt.cpp
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -697,7 +697,11 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
-Index: qtwebkit-opensource-src-5.8.0/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ qtwebkit-opensource-src-5.8.0/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,11 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
-Index: qtwebkit-opensource-src-5.8.0/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-+++ qtwebkit-opensource-src-5.8.0/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-@@ -53,7 +53,11 @@ static void messageHandler(QtMsgType typ
- 
- static bool initializeGtk()
- {
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (!gtkLibrary.load())
-         return false;
-     typedef void* (*gtk_init_ptr)(void*, void*);
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-dlopen-udev.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-dlopen-udev.patch
deleted file mode 100644
index e69de29bb2d1..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-dlopen-udev.patch
+++ /dev/null
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icucore-darwin.patch b/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icucore-darwin.patch
deleted file mode 100644
index 63c653da94ef..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/qtwebkit-icucore-darwin.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: qtwebkit-opensource-src-5.8.0/Source/WTF/WTF.pri
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WTF/WTF.pri
-+++ qtwebkit-opensource-src-5.8.0/Source/WTF/WTF.pri
-@@ -12,7 +12,7 @@ mac {
-     # Mac OS does ship libicu but not the associated header files.
-     # Therefore WebKit provides adequate header files.
-     INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH
--    LIBS += -licucore
-+    LIBS += /usr/lib/libicucore.dylib
- } else:!use?(wchar_unicode): {
-     win32 {
-         CONFIG(static, static|shared) {
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebkit/series b/pkgs/development/libraries/qt-5/5.6/qtwebkit/series
deleted file mode 100644
index 7828e491c08b..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebkit/series
+++ /dev/null
@@ -1,4 +0,0 @@
-qtwebkit-dlopen-gtk.patch
-qtwebkit-dlopen-udev.patch
-qtwebkit-icucore-darwin.patch
-qtwebkit-icu-59.patch
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwebsockets.nix b/pkgs/development/libraries/qt-5/5.6/qtwebsockets.nix
deleted file mode 100644
index fbdfbbcf0dbe..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtwebsockets.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtwebsockets";
-  qtInputs = [ qtbase qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtx11extras.nix b/pkgs/development/libraries/qt-5/5.6/qtx11extras.nix
deleted file mode 100644
index a765161e2d7e..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtx11extras.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtx11extras";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/5.6/qtxmlpatterns.nix
deleted file mode 100644
index 9a8ddbba2bd2..000000000000
--- a/pkgs/development/libraries/qt-5/5.6/qtxmlpatterns.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtxmlpatterns";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/srcs.nix b/pkgs/development/libraries/qt-5/5.6/srcs.nix
index 3f6c3ae66997..87d35a43d86b 100644
--- a/pkgs/development/libraries/qt-5/5.6/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.6/srcs.nix
@@ -3,259 +3,307 @@
 
 {
   qt3d = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qt3d-opensource-src-5.6.2.tar.xz";
-      sha256 = "0hg91j3brsbh75why6j0527z5myk1r9s7q9z45q6qp0gdvdqc5x2";
-      name = "qt3d-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qt3d-opensource-src-5.6.3.tar.xz";
+      sha256 = "1zkzc3wh2i89nacb55mbgl09zhrjbrxg9ir626bsvz15x4q5ml0h";
+      name = "qt3d-opensource-src-5.6.3.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtactiveqt-opensource-src-5.6.2.tar.xz";
-      sha256 = "1a3mai3d0l2a8gyjkjng1r7y9y27yppxc5rdzxsgc4kq58rflghw";
-      name = "qtactiveqt-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtactiveqt-opensource-src-5.6.3.tar.xz";
+      sha256 = "00qscqjpkv5ssrjdwwcjp9q1rqgp8lsdjjksjpyyg4v6knd74s0i";
+      name = "qtactiveqt-opensource-src-5.6.3.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtandroidextras-opensource-src-5.6.2.tar.xz";
-      sha256 = "164mkmzswqwjzhs9cwdq361yb60bx6is37740jglrjxgss1phmhr";
-      name = "qtandroidextras-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtandroidextras-opensource-src-5.6.3.tar.xz";
+      sha256 = "1v19p1pqcdicylj3hd2lbm5swqddydlv9aqmws3qwsc2vwh15d4n";
+      name = "qtandroidextras-opensource-src-5.6.3.tar.xz";
     };
   };
   qtbase = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtbase-opensource-src-5.6.2.tar.xz";
-      sha256 = "11z73qgzbyj1cwjdkng94cz46wam8frsw0bs705gx0nrqn9swvig";
-      name = "qtbase-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtbase-opensource-src-5.6.3.tar.xz";
+      sha256 = "18ad7cxln61276cm8h8hzm0y6svw6b5m5nbm1niif9pwlqlqbx7y";
+      name = "qtbase-opensource-src-5.6.3.tar.xz";
     };
   };
   qtcanvas3d = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtcanvas3d-opensource-src-5.6.2.tar.xz";
-      sha256 = "1bd01ag2p1445ffckyyi3sxi4vssflp95kmbrj99dy83dc04sn6p";
-      name = "qtcanvas3d-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtcanvas3d-opensource-src-5.6.3.tar.xz";
+      sha256 = "1zsn3xbsqapivfg80cldjlh7z07nf88958a7g6dm7figkwahx7p9";
+      name = "qtcanvas3d-opensource-src-5.6.3.tar.xz";
+    };
+  };
+  qtcharts = {
+    version = "2.1.3";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtcharts-opensource-src-2.1.3.tar.xz";
+      sha256 = "0bvxmqx7094mq1svrv1i1jp6vl87r2mp7k9n3gqpixjmqaqsjdpn";
+      name = "qtcharts-opensource-src-2.1.3.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtconnectivity-opensource-src-5.6.2.tar.xz";
-      sha256 = "1ygdmd7fh2fhhyv58zxl1lglr85iajs9gv6c0pv64gbhw0ijjrqv";
-      name = "qtconnectivity-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtconnectivity-opensource-src-5.6.3.tar.xz";
+      sha256 = "1pnc0zmps5iw5yhn2w0wl8cnyxhcy88d3rnaiv62ljpsccynwh7s";
+      name = "qtconnectivity-opensource-src-5.6.3.tar.xz";
+    };
+  };
+  qtdatavis3d = {
+    version = "1.2.3";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtdatavis3d-opensource-src-1.2.3.tar.xz";
+      sha256 = "0rqhr6s3fic91r6r1g2ws57j6ixvkh4zhcwh7savs1risx374vya";
+      name = "qtdatavis3d-opensource-src-1.2.3.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.6.2";
+    version = "5.6.3";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtdeclarative-opensource-src-5.6.3.tar.xz";
+      sha256 = "1z4ih5jbydnk5dz0arhvwc54fjw7fynqx3rhm6f8lsyis19w0gzn";
+      name = "qtdeclarative-opensource-src-5.6.3.tar.xz";
+    };
+  };
+  qtdeclarative-render2d = {
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtdeclarative-opensource-src-5.6.2.tar.xz";
-      sha256 = "1nh989jp2gdp5bxa62n3g1whs2pzrl44sh4ca6x9icrnpj3ak1h0";
-      name = "qtdeclarative-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtdeclarative-render2d-opensource-src-5.6.3.tar.xz";
+      sha256 = "0r2qn8l3wh73cj75rq34zmc6rgl7v11c31pjdcsybad76nw5wb2p";
+      name = "qtdeclarative-render2d-opensource-src-5.6.3.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtdoc-opensource-src-5.6.2.tar.xz";
-      sha256 = "0s78c5bpj4lcx63x2y5a6scxv6sszvs4dlj4qy86jkwmm7m1wsgn";
-      name = "qtdoc-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtdoc-opensource-src-5.6.3.tar.xz";
+      sha256 = "11zhlry8hlql1q3pm4mf7qyky9i2irxqdrr9nr5m93wjyfsjbh7f";
+      name = "qtdoc-opensource-src-5.6.3.tar.xz";
     };
   };
   qtenginio = {
-    version = "1.6.2";
+    version = "1.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtenginio-opensource-src-1.6.2.tar.xz";
-      sha256 = "1hywpl1x9lbpqqjdw5wwwhx0gg0j7y260iqaz47anxaa466w7zwh";
-      name = "qtenginio-opensource-src-1.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtenginio-opensource-src-1.6.3.tar.xz";
+      sha256 = "04ir5pa8wpkc7cq08s0b69a0vhkr7479ixn3m2vww4jm6l5hc1yr";
+      name = "qtenginio-opensource-src-1.6.3.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtgraphicaleffects-opensource-src-5.6.2.tar.xz";
-      sha256 = "0pp71gqfgbl5ra15jp8kr4p3sl9gs7cv4x6vjv9i5a3j5jn0z7qy";
-      name = "qtgraphicaleffects-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtgraphicaleffects-opensource-src-5.6.3.tar.xz";
+      sha256 = "1vcrm4jfmxjlw23dnwf45mzq2z5s4fz6j2znknr25ca5bqnmjhn7";
+      name = "qtgraphicaleffects-opensource-src-5.6.3.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtimageformats-opensource-src-5.6.2.tar.xz";
-      sha256 = "1r27s5dy9c016ia5xgpbs7nfvmmrnd051dmsrv5r7hyscaz57cag";
-      name = "qtimageformats-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtimageformats-opensource-src-5.6.3.tar.xz";
+      sha256 = "1hs8b258xsbc4xb4844mas9ka54f5cfhhszblawwjxn9j0ydmr7g";
+      name = "qtimageformats-opensource-src-5.6.3.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtlocation-opensource-src-5.6.2.tar.xz";
-      sha256 = "0fnj51f6fll1z1xsfp3g73al70hsg993gh1k7aa0y8nhdqh9b2bs";
-      name = "qtlocation-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtlocation-opensource-src-5.6.3.tar.xz";
+      sha256 = "0rhlmyi5kkhl1bimaj1fmp36v7x5r79j3flgx9dv27rkric1ra5p";
+      name = "qtlocation-opensource-src-5.6.3.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtmacextras-opensource-src-5.6.2.tar.xz";
-      sha256 = "05chq7dqgvlfzpqf1y9inxp0kx6hfzwbc5kswpp6gsnsyfln6ll5";
-      name = "qtmacextras-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtmacextras-opensource-src-5.6.3.tar.xz";
+      sha256 = "10v2a058yv6k76gg9dgpy4fc0xd652dknzsw5432gm8d9391382i";
+      name = "qtmacextras-opensource-src-5.6.3.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtmultimedia-opensource-src-5.6.2.tar.xz";
-      sha256 = "1bwcpc1s6yjvgpqbn22k4mdfjy9lhs89bbzwlgj5psy0qskp16nb";
-      name = "qtmultimedia-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtmultimedia-opensource-src-5.6.3.tar.xz";
+      sha256 = "0ihvbv0ldravbrx6406ps0z8y6521iz6h58n5ws44xq3m2g06dmf";
+      name = "qtmultimedia-opensource-src-5.6.3.tar.xz";
+    };
+  };
+  qtpurchasing = {
+    version = "5.6.3";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtpurchasing-opensource-src-5.6.3.tar.xz";
+      sha256 = "0lf269jzd6y4x5bxjwgz9dpw7hxmc6sp39qpxwlswd505cf0wgd7";
+      name = "qtpurchasing-opensource-src-5.6.3.tar.xz";
     };
   };
   qtquickcontrols = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols-opensource-src-5.6.2.tar.xz";
-      sha256 = "0b0h8svlzvq23kcmam7ng697bzcq4x3haymmn7gj40p15clz5l2y";
-      name = "qtquickcontrols-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols-opensource-src-5.6.3.tar.xz";
+      sha256 = "13nvn0d2i4lf4igc1xqf7m98n4j66az1bi02zzv5m18vyb40zfri";
+      name = "qtquickcontrols-opensource-src-5.6.3.tar.xz";
     };
   };
   qtquickcontrols2 = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtquickcontrols2-opensource-src-5.6.2.tar.xz";
-      sha256 = "1hgydll95by0rvfpv3sprxq0hkdrpacynaaq2jzaw0a7m881gp09";
-      name = "qtquickcontrols2-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtquickcontrols2-opensource-src-5.6.3.tar.xz";
+      sha256 = "1jw1zykrx8aa9p781hc74h9za7lnnm4ifpdyqa4ahbdy193phl7c";
+      name = "qtquickcontrols2-opensource-src-5.6.3.tar.xz";
     };
   };
   qtscript = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtscript-opensource-src-5.6.2.tar.xz";
-      sha256 = "03hi2j64l0mgs8p0w1jaz53zsa4lfpbgskydaxxiiqnaf6rgcvp0";
-      name = "qtscript-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtscript-opensource-src-5.6.3.tar.xz";
+      sha256 = "12dkf2s1l9y9cwdyayg2mpnwvx14kq93pymp3iy3fw1s1vfj11zh";
+      name = "qtscript-opensource-src-5.6.3.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtsensors-opensource-src-5.6.2.tar.xz";
-      sha256 = "09rl0njijl3cgh6l3pfij2rhnsg10axkl37llkbz1wmlma0r1057";
-      name = "qtsensors-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtsensors-opensource-src-5.6.3.tar.xz";
+      sha256 = "0ws96fmk5zz9szrw9x1dwa6gnv9rpv1q0h9ax9z5m1kiapfd80km";
+      name = "qtsensors-opensource-src-5.6.3.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtserialbus-opensource-src-5.6.2.tar.xz";
-      sha256 = "09pqr9f6kl3wq4858vksbzxnrrnqxblivmayjf126lwi2q4n14mk";
-      name = "qtserialbus-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtserialbus-opensource-src-5.6.3.tar.xz";
+      sha256 = "17lskz4r549hc02riv0a3jdjbyaq4y4a94xd3jhy454lhzirpj3i";
+      name = "qtserialbus-opensource-src-5.6.3.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtserialport-opensource-src-5.6.2.tar.xz";
-      sha256 = "0xpkjkn6w0g3p7hmm12b2c96f7q98rmk2dcn321x4arcmldjhxmg";
-      name = "qtserialport-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtserialport-opensource-src-5.6.3.tar.xz";
+      sha256 = "06mfkd88rcn4p8pfzsyqbfg956vwwcql0khchjgx3bh34zp1yb88";
+      name = "qtserialport-opensource-src-5.6.3.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtsvg-opensource-src-5.6.2.tar.xz";
-      sha256 = "0kmwr3fphs7ddgxmqzy53f8p2hbp1gfmjdaig5vswc8vcszn38zp";
-      name = "qtsvg-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtsvg-opensource-src-5.6.3.tar.xz";
+      sha256 = "1v6wz8fcgsh4lfv68bhavms0l1z3mcn8vggakc3m8rdl2wsih3qh";
+      name = "qtsvg-opensource-src-5.6.3.tar.xz";
     };
   };
   qttools = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qttools-opensource-src-5.6.2.tar.xz";
-      sha256 = "1dz1i5wwhgb9li095mnmc33mwpbd8nf7sdrc2x3pl9c6hwqv8ayv";
-      name = "qttools-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qttools-opensource-src-5.6.3.tar.xz";
+      sha256 = "09krlrgcglylsv7xx4r681v7zmyy6nr8j18482skrmsqh21vlqqs";
+      name = "qttools-opensource-src-5.6.3.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qttranslations-opensource-src-5.6.2.tar.xz";
-      sha256 = "08d4xyk7njkdbd3m48dzmvdm8ma3s4x8h4jm1ip20wqngi23nybx";
-      name = "qttranslations-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qttranslations-opensource-src-5.6.3.tar.xz";
+      sha256 = "1avcfymi9bxk02i1rqh89c6hnvf4bg9qry94z29g1r62c80lxvbd";
+      name = "qttranslations-opensource-src-5.6.3.tar.xz";
+    };
+  };
+  qtvirtualkeyboard = {
+    version = "2.0";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtvirtualkeyboard-opensource-src-2.0.tar.xz";
+      sha256 = "1v0saqz76h9gnb13b8mri4jq93i7f1gr7hj81zj3vz433s2klm0x";
+      name = "qtvirtualkeyboard-opensource-src-2.0.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwayland-opensource-src-5.6.2.tar.xz";
-      sha256 = "11kciqnqfyzjfnx1m666g35v98jdazsg083h9fv2g5kiyjck2p03";
-      name = "qtwayland-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwayland-opensource-src-5.6.3.tar.xz";
+      sha256 = "18ys14fzjybx02aj85vyqzsp89ypv2c6vfpklxzslwyvn9w54iss";
+      name = "qtwayland-opensource-src-5.6.3.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwebchannel-opensource-src-5.6.2.tar.xz";
-      sha256 = "0lhskzqcijz9x6h8p80ff5dd6ni7zqm23nzljdqbggaibzpzs3kh";
-      name = "qtwebchannel-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwebchannel-opensource-src-5.6.3.tar.xz";
+      sha256 = "04q7wmdnv4pskah2s5nnrzbsb207fvkj333m69wkqrc64anb1ccf";
+      name = "qtwebchannel-opensource-src-5.6.3.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwebengine-opensource-src-5.6.2.tar.xz";
-      sha256 = "0h4pyc7r2fx8qsiw3663jd1hg1fid5yv7wil06njpcm8w541c2ig";
-      name = "qtwebengine-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwebengine-opensource-src-5.6.3.tar.xz";
+      sha256 = "19xpvnjwrjpj6wx7sy1cs1r1ibnh5hqfk9w9rnqf5h7n77xnk780";
+      name = "qtwebengine-opensource-src-5.6.3.tar.xz";
     };
   };
   qtwebkit = {
-    version = "5.6.2";
+    version = "5.6.3";
+    src = fetchurl {
+      url = "${mirror}/community_releases/5.6/5.6.3/qtwebkit-opensource-src-5.6.3.tar.xz";
+      sha256 = "15iqgaw3jznfq1mdg1mmr7pn8w3qhw964h5m36vg3ywqayr6p309";
+      name = "qtwebkit-opensource-src-5.6.3.tar.xz";
+    };
+  };
+  qtwebkit-examples = {
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/community_releases/5.6/5.6.2/qtwebkit-opensource-src-5.6.2.tar.xz";
-      sha256 = "0rirszy092pmdvy4vzqkk4p9wwxv8qx4zkp84rxkd5ah3j5np2jj";
-      name = "qtwebkit-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/community_releases/5.6/5.6.3/qtwebkit-examples-opensource-src-5.6.3.tar.xz";
+      sha256 = "17hnls8j4wz0kyzzq7m3105lqz71zsxr0hya7i23pl4qc8affv1d";
+      name = "qtwebkit-examples-opensource-src-5.6.3.tar.xz";
     };
   };
   qtwebsockets = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwebsockets-opensource-src-5.6.2.tar.xz";
-      sha256 = "0ddsnnp3sn423ryqqa1060cqlbdcp7ncj3zhabifaswfzyxx9n9w";
-      name = "qtwebsockets-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwebsockets-opensource-src-5.6.3.tar.xz";
+      sha256 = "1sr8q0wqw4xwcdl6nvnv04pcjxb0fbs4ywrkcghdz2bcc52r0hx2";
+      name = "qtwebsockets-opensource-src-5.6.3.tar.xz";
     };
   };
   qtwebview = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwebview-opensource-src-5.6.2.tar.xz";
-      sha256 = "1mjix4w71x1w86ykcdhsl7gg7xv9dn2pw6yiaxrp6pxvvk73cyjs";
-      name = "qtwebview-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwebview-opensource-src-5.6.3.tar.xz";
+      sha256 = "076q9g2ca41v8lyhn7354rs8w2ca0wp2hsxc76zprzghi5p4b2kn";
+      name = "qtwebview-opensource-src-5.6.3.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtwinextras-opensource-src-5.6.2.tar.xz";
-      sha256 = "1s375b1bf8cqs73mg8chwvj0npr01hpyrwv75srqnxkp61avi1gr";
-      name = "qtwinextras-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtwinextras-opensource-src-5.6.3.tar.xz";
+      sha256 = "0nmhvd1g18w12q6i8s87aq7rwikcn1m8m9m0a02l3p22xvimkxzf";
+      name = "qtwinextras-opensource-src-5.6.3.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtx11extras-opensource-src-5.6.2.tar.xz";
-      sha256 = "1v8cnhas3rynqz7b8wryry2qhblrnmnd3v39gdki1hzfz8fdxzvi";
-      name = "qtx11extras-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtx11extras-opensource-src-5.6.3.tar.xz";
+      sha256 = "0zv70z5z48wlg0q2zd7nbp7i0wimdcalns6yg0mjp7v2w2b8wyhy";
+      name = "qtx11extras-opensource-src-5.6.3.tar.xz";
     };
   };
   qtxmlpatterns = {
-    version = "5.6.2";
+    version = "5.6.3";
     src = fetchurl {
-      url = "${mirror}/official_releases/qt/5.6/5.6.2/submodules/qtxmlpatterns-opensource-src-5.6.2.tar.xz";
-      sha256 = "1k428wj8iffm6rrbvwbw0hksr99xqsxww8iahbk8r38qpzpg6vbw";
-      name = "qtxmlpatterns-opensource-src-5.6.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.6/5.6.3/submodules/qtxmlpatterns-opensource-src-5.6.3.tar.xz";
+      sha256 = "1xjimf88j2s5jrqgr9ki82zmis8r979rrzq4k6dxw43k1ngzyqd4";
+      name = "qtxmlpatterns-opensource-src-5.6.3.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/qt-5/5.9/default.nix b/pkgs/development/libraries/qt-5/5.9/default.nix
index 8f9be38fc882..879f7f198c92 100644
--- a/pkgs/development/libraries/qt-5/5.9/default.nix
+++ b/pkgs/development/libraries/qt-5/5.9/default.nix
@@ -36,96 +36,68 @@ let
   mirror = "http://download.qt.io";
   srcs = import ./srcs.nix { inherit fetchurl; inherit mirror; };
 
-  mkDerivation = args:
-    stdenv.mkDerivation (args // {
-
-      qmakeFlags =
-        (args.qmakeFlags or [])
-        ++ optional (debug != null)
-           (if debug then "CONFIG+=debug" else "CONFIG+=release");
-
-      cmakeFlags =
-        (args.cmakeFlags or [])
-        ++ [ "-DBUILD_TESTING=OFF" ]
-        ++ optional (debug != null)
-           (if debug then "-DCMAKE_BUILD_TYPE=Debug"
-                     else "-DCMAKE_BUILD_TYPE=Release");
-
-      enableParallelBuilding = args.enableParallelBuilding or true;
-
-    });
-
-  qtSubmodule = args:
-    let
-      inherit (args) name;
-      version = args.version or srcs."${name}".version;
-      src = args.src or srcs."${name}".src;
-    in mkDerivation (args // {
-      name = "${name}-${version}";
-      inherit src;
-
-      propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
-      nativeBuildInputs =
-        (args.nativeBuildInputs or [])
-        ++ [ perl self.qmake ];
-
-      NIX_QT_SUBMODULE = args.NIX_QT_SUBMODULE or true;
-
-      outputs = args.outputs or [ "out" "dev" ];
-      setOutputFlags = args.setOutputFlags or false;
-
-      setupHook = ../qtsubmodule-setup-hook.sh;
-
-      meta = {
-        homepage = http://www.qt.io;
-        description = "A cross-platform application framework for C++";
-        license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
-        maintainers = with maintainers; [ qknight ttuegel periklis ];
-        platforms = platforms.unix;
-      } // (args.meta or {});
-    });
+  patches = {
+    qtbase = [ ./qtbase.patch ];
+    qtdeclarative = [ ./qtdeclarative.patch ];
+    qtscript = [ ./qtscript.patch ];
+    qtserialport = [ ./qtserialport.patch ];
+    qttools = [ ./qttools.patch ];
+    qtwebengine = optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch;
+    qtwebkit = [ ./qtwebkit.patch ];
+  };
+
+  mkDerivation =
+    import ../mkDerivation.nix
+    { inherit stdenv; inherit (stdenv) lib; }
+    { inherit debug; };
+
+  qtModule =
+    import ../qtModule.nix
+    { inherit mkDerivation perl; inherit (stdenv) lib; }
+    { inherit self srcs patches; };
 
   addPackages = self: with self;
     let
-      callPackage = self.newScope { inherit qtCompatVersion qtSubmodule srcs; };
+      callPackage = self.newScope { inherit qtCompatVersion qtModule srcs; };
     in {
 
       inherit mkDerivation;
 
-      qtbase = callPackage ./qtbase {
+      qtbase = callPackage ../modules/qtbase.nix {
         inherit (srcs.qtbase) src version;
+        patches = patches.qtbase;
         inherit bison cups harfbuzz mesa;
-        inherit dconf gtk3;
+        withGtk3 = true; inherit dconf gtk3;
         inherit developerBuild decryptSslTraffic;
       };
 
-      qtcharts = callPackage ./qtcharts.nix {};
-      qtconnectivity = callPackage ./qtconnectivity.nix {};
-      qtdeclarative = callPackage ./qtdeclarative {};
-      qtdoc = callPackage ./qtdoc.nix {};
-      qtgraphicaleffects = callPackage ./qtgraphicaleffects.nix {};
-      qtimageformats = callPackage ./qtimageformats.nix {};
-      qtlocation = callPackage ./qtlocation.nix {};
-      qtmacextras = callPackage ./qtmacextras.nix {};
-      qtmultimedia = callPackage ./qtmultimedia.nix {
+      qtcharts = callPackage ../modules/qtcharts.nix {};
+      qtconnectivity = callPackage ../modules/qtconnectivity.nix {};
+      qtdeclarative = callPackage ../modules/qtdeclarative.nix {};
+      qtdoc = callPackage ../modules/qtdoc.nix {};
+      qtgraphicaleffects = callPackage ../modules/qtgraphicaleffects.nix {};
+      qtimageformats = callPackage ../modules/qtimageformats.nix {};
+      qtlocation = callPackage ../modules/qtlocation.nix {};
+      qtmacextras = callPackage ../modules/qtmacextras.nix {};
+      qtmultimedia = callPackage ../modules/qtmultimedia.nix {
         inherit gstreamer gst-plugins-base;
       };
       qtquick1 = null;
-      qtquickcontrols = callPackage ./qtquickcontrols.nix {};
-      qtquickcontrols2 = callPackage ./qtquickcontrols2.nix {};
-      qtscript = callPackage ./qtscript {};
-      qtsensors = callPackage ./qtsensors.nix {};
-      qtserialport = callPackage ./qtserialport {};
-      qtsvg = callPackage ./qtsvg.nix {};
-      qttools = callPackage ./qttools {};
-      qttranslations = callPackage ./qttranslations.nix {};
-      qtwayland = callPackage ./qtwayland.nix {};
-      qtwebchannel = callPackage ./qtwebchannel.nix {};
-      qtwebengine = callPackage ./qtwebengine {};
-      qtwebkit = callPackage ./qtwebkit {};
-      qtwebsockets = callPackage ./qtwebsockets.nix {};
-      qtx11extras = callPackage ./qtx11extras.nix {};
-      qtxmlpatterns = callPackage ./qtxmlpatterns.nix {};
+      qtquickcontrols = callPackage ../modules/qtquickcontrols.nix {};
+      qtquickcontrols2 = callPackage ../modules/qtquickcontrols2.nix {};
+      qtscript = callPackage ../modules/qtscript.nix {};
+      qtsensors = callPackage ../modules/qtsensors.nix {};
+      qtserialport = callPackage ../modules/qtserialport.nix {};
+      qtsvg = callPackage ../modules/qtsvg.nix {};
+      qttools = callPackage ../modules/qttools.nix {};
+      qttranslations = callPackage ../modules/qttranslations.nix {};
+      qtwayland = callPackage ../modules/qtwayland.nix {};
+      qtwebchannel = callPackage ../modules/qtwebchannel.nix {};
+      qtwebengine = callPackage ../modules/qtwebengine.nix {};
+      qtwebkit = callPackage ../modules/qtwebkit.nix {};
+      qtwebsockets = callPackage ../modules/qtwebsockets.nix {};
+      qtx11extras = callPackage ../modules/qtx11extras.nix {};
+      qtxmlpatterns = callPackage ../modules/qtxmlpatterns.nix {};
 
       env = callPackage ../qt-env.nix {};
       full = env "qt-${qtbase.version}" ([
@@ -138,8 +110,12 @@ let
 
       qmake = makeSetupHook {
         deps = [ self.qtbase.dev ];
-        substitutions = { inherit (stdenv) isDarwin; };
-      } ../qmake-hook.sh;
+        substitutions = {
+          inherit (stdenv) isDarwin;
+          qtbase_dev = self.qtbase.dev;
+          fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
+        };
+      } ../hooks/qmake-hook.sh;
     };
 
    self = makeScope newScope addPackages;
diff --git a/pkgs/development/libraries/qt-5/5.9/fetch.sh b/pkgs/development/libraries/qt-5/5.9/fetch.sh
index d026d2a922a0..2ae85bba391d 100644
--- a/pkgs/development/libraries/qt-5/5.9/fetch.sh
+++ b/pkgs/development/libraries/qt-5/5.9/fetch.sh
@@ -1,2 +1,2 @@
-WGET_ARGS=( https://download.qt.io/archive/qt/5.9/5.9.2/submodules/ \
+WGET_ARGS=( http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/ \
             -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase.patch b/pkgs/development/libraries/qt-5/5.9/qtbase.patch
new file mode 100644
index 000000000000..96c9b029312a
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.9/qtbase.patch
@@ -0,0 +1,1141 @@
+diff --git a/mkspecs/common/mac.conf b/mkspecs/common/mac.conf
+index 5208379f9a..92fe29a0ac 100644
+--- a/mkspecs/common/mac.conf
++++ b/mkspecs/common/mac.conf
+@@ -23,7 +23,7 @@ QMAKE_INCDIR_OPENGL     = \
+ 
+ QMAKE_FIX_RPATH         = install_name_tool -id
+ 
+-QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
++QMAKE_LFLAGS_RPATH      =
+ QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
+ 
+ QMAKE_LFLAGS_REL_RPATH  =
+diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf
+index bb5083c925..da8e2cb386 100644
+--- a/mkspecs/features/create_cmake.prf
++++ b/mkspecs/features/create_cmake.prf
+@@ -21,7 +21,7 @@ load(cmake_functions)
+ # at cmake time whether package has been found via a symlink, and correct
+ # that to an absolute path. This is only done for installations to
+ # the /usr or / prefix.
+-CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$[QT_INSTALL_LIBS])
++CMAKE_INSTALL_LIBS_DIR = $$cmakeTargetPath($$NIX_OUTPUT_OUT/lib/)
+ contains(CMAKE_INSTALL_LIBS_DIR, ^(/usr)?/lib(64)?.*): CMAKE_USR_MOVE_WORKAROUND = $$CMAKE_INSTALL_LIBS_DIR
+ 
+ CMAKE_OUT_DIR = $$MODULE_BASE_OUTDIR/lib/cmake
+@@ -47,47 +47,22 @@ split_incpath {
+         $$cmake_extra_source_includes.output
+ }
+ 
+-CMAKE_INCLUDE_DIR = $$cmakeRelativePath($$[QT_INSTALL_HEADERS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_INCLUDE_DIR, "^\\.\\./.*") {
+-    CMAKE_INCLUDE_DIR = $$[QT_INSTALL_HEADERS]/
+-    CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_INCLUDE_DIR = $$NIX_OUTPUT_DEV/include/
++CMAKE_INCLUDE_DIR_IS_ABSOLUTE = True
+ 
+ !exists($$first(QT.$${MODULE}_private.includes)): CMAKE_NO_PRIVATE_INCLUDES = true
+ 
+-CMAKE_LIB_DIR = $$cmakeRelativePath($$[QT_INSTALL_LIBS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_LIB_DIR,"^\\.\\./.*") {
+-    CMAKE_LIB_DIR = $$[QT_INSTALL_LIBS]/
+-    CMAKE_LIB_DIR_IS_ABSOLUTE = True
+-} else {
+-    CMAKE_RELATIVE_INSTALL_LIBS_DIR = $$cmakeRelativePath($$[QT_INSTALL_PREFIX], $$[QT_INSTALL_LIBS])
+-    # We need to go up another two levels because the CMake files are
+-    # installed in $${CMAKE_LIB_DIR}/cmake/Qt5$${CMAKE_MODULE_NAME}
+-    CMAKE_RELATIVE_INSTALL_DIR = "$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}../../"
+-}
++CMAKE_LIB_DIR = $$NIX_OUTPUT_DEV/lib/
++CMAKE_LIB_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_BIN_DIR = $$cmakeRelativePath($$[QT_HOST_BINS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
+-    CMAKE_BIN_DIR = $$[QT_HOST_BINS]/
+-    CMAKE_BIN_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_BIN_DIR = $$NIX_OUTPUT_BIN/bin/
++CMAKE_BIN_DIR_IS_ABSOLUTE = True
+ 
+-CMAKE_PLUGIN_DIR = $$cmakeRelativePath($$[QT_INSTALL_PLUGINS], $$[QT_INSTALL_PREFIX])
+-contains(CMAKE_PLUGIN_DIR, "^\\.\\./.*") {
+-    CMAKE_PLUGIN_DIR = $$[QT_INSTALL_PLUGINS]/
+-    CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
+-}
++CMAKE_PLUGIN_DIR = $$NIX_OUTPUT_PLUGIN/
++CMAKE_PLUGIN_DIR_IS_ABSOLUTE = True
+ 
+-win32:!static:!staticlib {
+-    CMAKE_DLL_DIR = $$cmakeRelativePath($$[QT_INSTALL_BINS], $$[QT_INSTALL_PREFIX])
+-    contains(CMAKE_DLL_DIR, "^\\.\\./.*") {
+-        CMAKE_DLL_DIR = $$[QT_INSTALL_BINS]/
+-        CMAKE_DLL_DIR_IS_ABSOLUTE = True
+-    }
+-} else {
+-    CMAKE_DLL_DIR = $$CMAKE_LIB_DIR
+-    CMAKE_DLL_DIR_IS_ABSOLUTE = $$CMAKE_LIB_DIR_IS_ABSOLUTE
+-}
++CMAKE_DLL_DIR = $$NIX_OUTPUT_DEV/lib/
++CMAKE_DLL_DIR_IS_ABSOLUTE = True
+ 
+ static|staticlib:CMAKE_STATIC_TYPE = true
+ 
+@@ -167,7 +142,7 @@ contains(CONFIG, plugin) {
+       cmake_target_file
+ 
+     cmake_qt5_plugin_file.files = $$cmake_target_file.output
+-    cmake_qt5_plugin_file.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
++    cmake_qt5_plugin_file.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
+     INSTALLS += cmake_qt5_plugin_file
+ 
+     return()
+@@ -314,7 +289,7 @@ exists($$cmake_macros_file.input) {
+     cmake_qt5_module_files.files += $$cmake_macros_file.output
+ }
+ 
+-cmake_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5$${CMAKE_MODULE_NAME}
++cmake_qt5_module_files.path = $$NIX_OUTPUT_OUT/lib/cmake/Qt5$${CMAKE_MODULE_NAME}
+ 
+ # We are generating cmake files. Most developers of Qt are not aware of cmake,
+ # so we require automatic tests to be available. The only module which should
+diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+index 17da8b979e..d648ab4058 100644
+--- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
++++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
+ endif()
+ !!ENDIF
+ 
+-!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
+-!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ELSE
+-get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
+-# Use original install prefix when loaded through a
+-# cross-prefix symbolic link such as /lib -> /usr/lib.
+-get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
+-get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
+-if(_realCurr STREQUAL _realOrig)
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
+-else()
+-    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-endif()
+-unset(_realOrig)
+-unset(_realCurr)
+-unset(_IMPORT_PREFIX)
+-!!ENDIF
+-!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
+-!!ELSE
+-set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
+-!!ENDIF
+-
+ !!IF !equals(TEMPLATE, aux)
+ # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
+ set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.VERSION)")
+@@ -58,11 +34,7 @@ endmacro()
+ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATION IMPLIB_LOCATION)
+     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+-!!ENDIF
+     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+     set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
+         \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
+@@ -75,11 +47,7 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI
+     )
+ 
+ !!IF !isEmpty(CMAKE_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ELSE
+     set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+-!!ENDIF
+     _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
+     if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
+         set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
+@@ -95,24 +63,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !no_module_headers
+ !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
+     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
+-      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
++      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
++      \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
+     )
+ !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+-    )
+-!!ELSE
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+-!!ENDIF
+-!!ELSE
+-!!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
+-!!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
+-    set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
++        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
++        \"$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
+     )
+ !!ELSE
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+@@ -128,7 +85,6 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
+ !!ENDIF
+ !!ENDIF
+-!!ENDIF
+ !!IF !isEmpty(CMAKE_ADD_SOURCE_INCLUDE_DIRS)
+     include(\"${CMAKE_CURRENT_LIST_DIR}/ExtraSourceIncludes.cmake\" OPTIONAL)
+ !!ENDIF
+@@ -280,25 +236,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_DEBUG_TYPE)
+ !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" \"\" )
+ !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+-!!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
+-!!ENDIF
+       AND EXISTS
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+-!!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(DEBUG \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
+ !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+@@ -317,25 +261,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+ !!IF !isEmpty(CMAKE_FIND_OTHER_LIBRARY_BUILD)
+ !!IF isEmpty(CMAKE_RELEASE_TYPE)
+ !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
+     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" \"\" )
+ !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
+     if (EXISTS
+-!!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+-!!ELSE
+         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
+-!!ENDIF
+       AND EXISTS
+-!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ELSE
+         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+-!!ENDIF
+         _populate_$${CMAKE_MODULE_NAME}_target_properties(RELEASE \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\" \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
+ !!ENDIF // CMAKE_STATIC_WINDOWS_BUILD
+     endif()
+@@ -354,11 +286,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME})
+     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
+         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+-!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
+-        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ELSE
+         set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
+-!!ENDIF
+         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
+         set_target_properties(Qt5::${Plugin} PROPERTIES
+             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
+diff --git a/mkspecs/features/mac/default_post.prf b/mkspecs/features/mac/default_post.prf
+index 395ac34001..a0e5c68b7e 100644
+--- a/mkspecs/features/mac/default_post.prf
++++ b/mkspecs/features/mac/default_post.prf
+@@ -24,165 +24,3 @@ qt {
+         }
+     }
+ }
+-
+-# Add the same default rpaths as Xcode does for new projects.
+-# This is especially important for iOS/tvOS/watchOS where no other option is possible.
+-!no_default_rpath {
+-    QMAKE_RPATHDIR += @executable_path/Frameworks
+-    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
+-}
+-
+-# Don't pass -headerpad_max_install_names when using Bitcode.
+-# In that case the linker emits a warning stating that the flag is ignored when
+-# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
+-# Using this flag is also unnecessary in practice on UIKit platforms since they
+-# are sandboxed, and only UIKit platforms support bitcode to begin with.
+-!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
+-
+-app_extension_api_only {
+-    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
+-}
+-
+-macx-xcode {
+-    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
+-        debug_information_format.name = DEBUG_INFORMATION_FORMAT
+-        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
+-        debug_information_format.build = debug
+-        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
+-    }
+-
+-    QMAKE_XCODE_ARCHS =
+-
+-    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
+-    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
+-    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
+-    QMAKE_MAC_XCODE_SETTINGS += arch_device
+-
+-    simulator {
+-        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
+-        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
+-        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
+-        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
+-    }
+-
+-    only_active_arch.name = ONLY_ACTIVE_ARCH
+-    only_active_arch.value = YES
+-    only_active_arch.build = debug
+-    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
+-} else {
+-    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
+-    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
+-    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
+-
+-    isEmpty(VALID_ARCHS): \
+-        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
+-
+-    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
+-
+-    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
+-    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
+-
+-    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
+-
+-    arch_flags = $(EXPORT_ARCH_ARGS)
+-
+-    QMAKE_CFLAGS += $$arch_flags
+-    QMAKE_CXXFLAGS += $$arch_flags
+-    QMAKE_LFLAGS += $$arch_flags
+-
+-    QMAKE_PCH_ARCHS = $$VALID_ARCHS
+-
+-    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
+-    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
+-    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
+-    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
+-
+-    # If we're doing a simulator and device build, device and simulator
+-    # architectures use different paths and flags for the sysroot and
+-    # deployment target switch, so we must multiplex them across multiple
+-    # architectures using -Xarch. Otherwise we fall back to the simple path.
+-    # This is not strictly necessary, but results in cleaner command lines
+-    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
+-    # individual rules to a different set of architecture(s) from the overall
+-    # build (such as machtest in QtCore).
+-    simulator:device {
+-        QMAKE_XARCH_CFLAGS =
+-        QMAKE_XARCH_LFLAGS =
+-        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
+-
+-        for (arch, VALID_ARCHS) {
+-            contains(VALID_SIMULATOR_ARCHS, $$arch) {
+-                sdk = $$simulator.sdk
+-                version_identifier = $$simulator.deployment_identifier
+-            } else {
+-                sdk = $$device.sdk
+-                version_identifier = $$device.deployment_identifier
+-            }
+-
+-            version_min_flags = \
+-                -Xarch_$${arch} \
+-                -m$${version_identifier}-version-min=$$deployment_target
+-            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
+-                -Xarch_$${arch} \
+-                -isysroot$$xcodeSDKInfo(Path, $$sdk)
+-            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
+-                -Xarch_$${arch} \
+-                -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
+-
+-            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
+-            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
+-
+-            QMAKE_EXTRA_VARIABLES += \
+-                QMAKE_XARCH_CFLAGS_$${arch} \
+-                QMAKE_XARCH_LFLAGS_$${arch}
+-        }
+-
+-        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
+-        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
+-        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
+-    } else {
+-        simulator: \
+-            version_identifier = $$simulator.deployment_identifier
+-        else: \
+-            version_identifier = $$device.deployment_identifier
+-        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
+-        QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
+-        QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
+-        QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag
+-    }
+-
+-    # Enable precompiled headers for multiple architectures
+-    QMAKE_CFLAGS_USE_PRECOMPILE =
+-    for (arch, VALID_ARCHS) {
+-        icc_pch_style: \
+-            use_flag = "-pch-use "
+-        else: \
+-            use_flag = -include
+-
+-        # Only use Xarch with multi-arch, as the option confuses ccache
+-        count(VALID_ARCHS, 1, greaterThan): \
+-            QMAKE_CFLAGS_USE_PRECOMPILE += \
+-                -Xarch_$${arch}
+-
+-        QMAKE_CFLAGS_USE_PRECOMPILE += \
+-            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
+-    }
+-    icc_pch_style {
+-        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
+-        QMAKE_CFLAGS_USE_PRECOMPILE =
+-    } else {
+-        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
+-    }
+-
+-    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
+-}
+-
+-cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
+-cache(QMAKE_XCODE_VERSION, stash)
+-
+-QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
+diff --git a/mkspecs/features/mac/default_pre.prf b/mkspecs/features/mac/default_pre.prf
+index e21e749ee9..3b01424e67 100644
+--- a/mkspecs/features/mac/default_pre.prf
++++ b/mkspecs/features/mac/default_pre.prf
+@@ -1,51 +1,2 @@
+ CONFIG = asset_catalogs rez $$CONFIG
+ load(default_pre)
+-
+-isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
+-    # Get path of Xcode's Developer directory
+-    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
+-    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
+-        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
+-
+-    # Make sure Xcode path is valid
+-    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
+-        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
+-
+-    # Make sure Xcode is set up properly
+-    isEmpty($$list($$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null"))): \
+-        error("Xcode not set up properly. You may need to confirm the license agreement by running /usr/bin/xcodebuild.")
+-}
+-
+-isEmpty(QMAKE_XCODE_VERSION) {
+-    # Extract Xcode version using xcodebuild
+-    xcode_version = $$system("/usr/bin/xcodebuild -version")
+-    QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
+-    isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
+-    unset(xcode_version)
+-}
+-
+-isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
+-    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
+-    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
+-        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
+-
+-    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
+-        cache(QMAKE_TARGET_BUNDLE_PREFIX)
+-}
+-
+-QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
+-
+-# Make the default debug info format for static debug builds
+-# DWARF instead of DWARF with dSYM. This cuts down build times
+-# for application debug builds significantly, as Xcode doesn't
+-# have to pull out all the DWARF info from the Qt static libs
+-# and put it into a dSYM file. We don't need that dSYM file in
+-# the first place, since the information is available in the
+-# object files inside the archives (static libraries).
+-macx-xcode:qtConfig(static): \
+-    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
+-
+-# This variable is used by the xcode_dynamic_library_suffix
+-# feature, which allows Xcode to choose the Qt libraries to link to
+-# at build time, depending on the current Xcode SDK and configuration.
+-QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
+diff --git a/mkspecs/features/mac/sdk.prf b/mkspecs/features/mac/sdk.prf
+index 68ab7e4053..e69de29bb2 100644
+--- a/mkspecs/features/mac/sdk.prf
++++ b/mkspecs/features/mac/sdk.prf
+@@ -1,49 +0,0 @@
+-
+-isEmpty(QMAKE_MAC_SDK): \
+-    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
+-
+-contains(QMAKE_MAC_SDK, .*/.*): \
+-    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
+-
+-defineReplace(xcodeSDKInfo) {
+-    info = $$1
+-    sdk = $$2
+-    isEmpty(sdk): \
+-        sdk = $$QMAKE_MAC_SDK
+-
+-    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
+-        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcodebuild -sdk $$sdk -version $$info 2>/dev/null")
+-        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}): error("Could not resolve SDK $$info for \'$$sdk\'")
+-        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
+-    }
+-
+-    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
+-}
+-
+-QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
+-QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
+-QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
+-
+-sysrootified =
+-for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
+-QMAKE_INCDIR_OPENGL = $$sysrootified
+-
+-QMAKESPEC_NAME = $$basename(QMAKESPEC)
+-
+-# Resolve SDK version of various tools
+-for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL)) {
+-    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
+-    !isEmpty($$tool_variable) {
+-        $$tool = $$eval($$tool_variable)
+-        next()
+-    }
+-
+-    value = $$eval($$tool)
+-    isEmpty(value): next()
+-
+-    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
+-    isEmpty(sysrooted): next()
+-
+-    $$tool = $$sysrooted $$member(value, 1, -1)
+-    cache($$tool_variable, set stash, $$tool)
+-}
+diff --git a/mkspecs/features/qml_module.prf b/mkspecs/features/qml_module.prf
+index 4db0040dc5..65d6da1f4d 100644
+--- a/mkspecs/features/qml_module.prf
++++ b/mkspecs/features/qml_module.prf
+@@ -23,13 +23,8 @@ for(qmlf, AUX_QML_FILES): fq_aux_qml_files += $$absolute_path($$qmlf, $$_PRO_FIL
+ 
+ load(qt_build_paths)
+ 
+-qml1_target {
+-    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
+-    instbase = $$[QT_INSTALL_IMPORTS]
+-} else {
+-    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
+-    instbase = $$[QT_INSTALL_QML]
+-}
++DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
++instbase = $$NIX_OUTPUT_QML
+ 
+ !qml1_target:static: CONFIG += builtin_resources
+ 
+diff --git a/mkspecs/features/qml_plugin.prf b/mkspecs/features/qml_plugin.prf
+index d49f4c49c1..097dcd7d39 100644
+--- a/mkspecs/features/qml_plugin.prf
++++ b/mkspecs/features/qml_plugin.prf
+@@ -48,13 +48,8 @@ exists($$QMLTYPEFILE): AUX_QML_FILES += $$QMLTYPEFILE
+ 
+ load(qt_build_paths)
+ 
+-qml1_target {
+-    DESTDIR = $$MODULE_BASE_OUTDIR/imports/$$TARGETPATH
+-    instbase = $$[QT_INSTALL_IMPORTS]
+-} else {
+-    DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
+-    instbase = $$[QT_INSTALL_QML]
+-}
++DESTDIR = $$MODULE_BASE_OUTDIR/qml/$$TARGETPATH
++instbase = $$NIX_OUTPUT_QML
+ 
+ target.path = $$instbase/$$TARGETPATH
+ INSTALLS += target
+diff --git a/mkspecs/features/qt_app.prf b/mkspecs/features/qt_app.prf
+index cb84ae0da8..45e16f4302 100644
+--- a/mkspecs/features/qt_app.prf
++++ b/mkspecs/features/qt_app.prf
+@@ -29,7 +29,7 @@ host_build:force_bootstrap {
+     target.path = $$[QT_HOST_BINS]
+ } else {
+     !build_pass:qtConfig(debug_and_release): CONFIG += release
+-    target.path = $$[QT_INSTALL_BINS]
++    target.path = $$NIX_OUTPUT_BIN/bin
+     CONFIG += relative_qt_rpath  # Qt's tools and apps should be relocatable
+ }
+ INSTALLS += target
+diff --git a/mkspecs/features/qt_build_paths.prf b/mkspecs/features/qt_build_paths.prf
+index 1848f00e90..2af93675c5 100644
+--- a/mkspecs/features/qt_build_paths.prf
++++ b/mkspecs/features/qt_build_paths.prf
+@@ -23,6 +23,6 @@ exists($$MODULE_BASE_INDIR/.git): \
+ !force_independent {
+     # If the module is not built independently, everything ends up in qtbase.
+     # This is the case in non-prefix builds, except for selected modules.
+-    MODULE_BASE_OUTDIR = $$[QT_HOST_PREFIX]
+-    MODULE_QMAKE_OUTDIR = $$[QT_HOST_PREFIX]
++    MODULE_BASE_OUTDIR = $$NIX_OUTPUT_OUT
++    MODULE_QMAKE_OUTDIR = $$NIX_OUTPUT_OUT
+ }
+diff --git a/mkspecs/features/qt_common.prf b/mkspecs/features/qt_common.prf
+index 1e138730b3..b7ba74dc3f 100644
+--- a/mkspecs/features/qt_common.prf
++++ b/mkspecs/features/qt_common.prf
+@@ -32,8 +32,8 @@ contains(TEMPLATE, .*lib) {
+         qqt_libdir = \$\$\$\$[QT_HOST_LIBS]
+         qt_libdir = $$[QT_HOST_LIBS]
+     } else {
+-        qqt_libdir = \$\$\$\$[QT_INSTALL_LIBS]
+-        qt_libdir = $$[QT_INSTALL_LIBS]
++        qqt_libdir = \$\$\$\$NIX_OUTPUT_OUT/lib
++        qt_libdir = $$NIX_OUTPUT_OUT/lib
+     }
+     contains(QMAKE_DEFAULT_LIBDIRS, $$qt_libdir) {
+         lib_replace.match = "[^ ']*$$rplbase/lib"
+diff --git a/mkspecs/features/qt_docs.prf b/mkspecs/features/qt_docs.prf
+index 72dde61a40..f891a2baed 100644
+--- a/mkspecs/features/qt_docs.prf
++++ b/mkspecs/features/qt_docs.prf
+@@ -45,7 +45,7 @@ QMAKE_DOCS_OUTPUTDIR = $$QMAKE_DOCS_BASE_OUTDIR/$$QMAKE_DOCS_TARGETDIR
+ 
+ QDOC += -outputdir $$shell_quote($$QMAKE_DOCS_OUTPUTDIR)
+ !build_online_docs: \
+-    QDOC += -installdir $$shell_quote($$[QT_INSTALL_DOCS])
++    QDOC += -installdir $$shell_quote($$NIX_OUTPUT_DOC)
+ PREP_DOC_INDEXES =
+ DOC_INDEXES =
+ !isEmpty(QTREPOS) {
+@@ -64,8 +64,8 @@ DOC_INDEXES =
+         DOC_INDEXES += -indexdir $$shell_quote($$qrep/doc)
+ } else {
+     prepare_docs: \
+-        PREP_DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
+-    DOC_INDEXES += -indexdir $$shell_quote($$[QT_INSTALL_DOCS/get])
++        PREP_DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
++    DOC_INDEXES += -indexdir $$shell_quote($$NIX_OUTPUT_DOC)
+ }
+ 
+ qtattributionsscanner.target = qtattributionsscanner
+@@ -88,12 +88,12 @@ prepare_docs {
+     qch_docs.commands = $$QHELPGENERATOR $$shell_quote($$QMAKE_DOCS_OUTPUTDIR/$${QMAKE_DOCS_TARGET}.qhp) -o $$shell_quote($$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch)
+ 
+     inst_html_docs.files = $$QMAKE_DOCS_OUTPUTDIR
+-    inst_html_docs.path = $$[QT_INSTALL_DOCS]
++    inst_html_docs.path = $$NIX_OUTPUT_DOC
+     inst_html_docs.CONFIG += no_check_exist directory no_default_install no_build
+     INSTALLS += inst_html_docs
+ 
+     inst_qch_docs.files = $$QMAKE_DOCS_BASE_OUTDIR/$${QMAKE_DOCS_TARGET}.qch
+-    inst_qch_docs.path = $$[QT_INSTALL_DOCS]
++    inst_qch_docs.path = $$NIX_OUTPUT_DOC
+     inst_qch_docs.CONFIG += no_check_exist no_default_install no_build
+     INSTALLS += inst_qch_docs
+ 
+diff --git a/mkspecs/features/qt_example_installs.prf b/mkspecs/features/qt_example_installs.prf
+index 0a008374e5..5e7cd92f6f 100644
+--- a/mkspecs/features/qt_example_installs.prf
++++ b/mkspecs/features/qt_example_installs.prf
+@@ -73,7 +73,7 @@ probase = $$relative_path($$_PRO_FILE_PWD_, $$dirname(_QMAKE_CONF_)/examples)
+         $$SOURCES $$HEADERS $$FORMS $$RESOURCES $$TRANSLATIONS \
+         $$DBUS_ADAPTORS $$DBUS_INTERFACES
+     addInstallFiles(sources.files, $$sourcefiles)
+-    sources.path = $$[QT_INSTALL_EXAMPLES]/$$probase
++    sources.path = $$NIX_OUTPUT_DEV/share/examples/$$probase
+     INSTALLS += sources
+ 
+     check_examples {
+diff --git a/mkspecs/features/qt_functions.prf b/mkspecs/features/qt_functions.prf
+index c00fdb73f8..5789cd0c06 100644
+--- a/mkspecs/features/qt_functions.prf
++++ b/mkspecs/features/qt_functions.prf
+@@ -69,7 +69,7 @@ defineTest(qtHaveModule) {
+ defineTest(qtPrepareTool) {
+     cmd = $$eval(QT_TOOL.$${2}.binary)
+     isEmpty(cmd) {
+-        cmd = $$[QT_HOST_BINS]/$$2
++        cmd = $$system("command -v $$2")
+         exists($${cmd}.pl) {
+             $${1}_EXE = $${cmd}.pl
+             cmd = perl -w $$system_path($${cmd}.pl)
+diff --git a/mkspecs/features/qt_installs.prf b/mkspecs/features/qt_installs.prf
+index 0d3dfb6b93..5f935b4424 100644
+--- a/mkspecs/features/qt_installs.prf
++++ b/mkspecs/features/qt_installs.prf
+@@ -12,16 +12,10 @@
+ #library
+ !qt_no_install_library {
+     win32 {
+-       host_build: \
+-           dlltarget.path = $$[QT_HOST_BINS]
+-       else: \
+-           dlltarget.path = $$[QT_INSTALL_BINS]
++        dlltarget.path = $$NIX_OUTPUT_BIN/bin
+        INSTALLS += dlltarget
+     }
+-    host_build: \
+-        target.path = $$[QT_HOST_LIBS]
+-    else: \
+-        target.path = $$[QT_INSTALL_LIBS]
++    target.path = $$NIX_OUTPUT_OUT/lib
+     !static: target.CONFIG = no_dll
+     INSTALLS += target
+ }
+@@ -29,33 +23,33 @@
+ #headers
+ qt_install_headers {
+     class_headers.files = $$SYNCQT.HEADER_CLASSES
+-    class_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
++    class_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
+     INSTALLS += class_headers
+ 
+     targ_headers.files = $$SYNCQT.HEADER_FILES
+-    targ_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME
++    targ_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME
+     INSTALLS += targ_headers
+ 
+     private_headers.files = $$SYNCQT.PRIVATE_HEADER_FILES $$SYNCQT.INJECTED_PRIVATE_HEADER_FILES
+-    private_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
++    private_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/private
+     INSTALLS += private_headers
+ 
+     qpa_headers.files = $$SYNCQT.QPA_HEADER_FILES
+-    qpa_headers.path = $$[QT_INSTALL_HEADERS]/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
++    qpa_headers.path = $$NIX_OUTPUT_DEV/include/$$MODULE_INCNAME/$$VERSION/$$MODULE_INCNAME/qpa
+     INSTALLS += qpa_headers
+ }
+ 
+ #module
+ qt_install_module {
+     !isEmpty(MODULE_PRI) {
+-        pritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
++        pritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
+         pritarget.files = $$MODULE_PRI
+         INSTALLS += pritarget
+     } else: isEmpty(MODULE_PRIVATE_PRI) {
+         warning("Project $$basename(_PRO_FILE_) is a module, but has not defined MODULE_PRI, which is required for Qt to expose the module to other projects.")
+     }
+     !isEmpty(MODULE_PRIVATE_PRI) {
+-        privpritarget.path = $$[QT_HOST_DATA]/mkspecs/modules
++        privpritarget.path = $$NIX_OUTPUT_DEV/mkspecs/modules
+         privpritarget.files = $$MODULE_PRIVATE_PRI
+         INSTALLS += privpritarget
+     }
+diff --git a/mkspecs/features/qt_plugin.prf b/mkspecs/features/qt_plugin.prf
+index 62e1b69fde..abd63123f9 100644
+--- a/mkspecs/features/qt_plugin.prf
++++ b/mkspecs/features/qt_plugin.prf
+@@ -88,7 +88,7 @@ CONFIG(static, static|shared)|prefix_build {
+     }
+ }
+ 
+-target.path = $$[QT_INSTALL_PLUGINS]/$$PLUGIN_TYPE
++target.path = $$NIX_OUTPUT_PLUGIN/$$PLUGIN_TYPE
+ INSTALLS += target
+ 
+ TARGET = $$qt5LibraryTarget($$TARGET)
+diff --git a/src/corelib/Qt5CoreConfigExtras.cmake.in b/src/corelib/Qt5CoreConfigExtras.cmake.in
+index 545b9a3d1e..6ac0cdefe4 100644
+--- a/src/corelib/Qt5CoreConfigExtras.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
+     add_executable(Qt5::qmake IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
+     add_executable(Qt5::moc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
+     add_executable(Qt5::rcc IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
+@@ -133,7 +133,7 @@ if (NOT TARGET Qt5::WinMain)
+ !!IF !isEmpty(CMAKE_RELEASE_TYPE)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
+ !!ENDIF
+@@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain)
+     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
+ !!ENDIF
+diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+index c357237d0e..6f0c75de3c 100644
+--- a/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+diff --git a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+index 706304cf34..546420f6ad 100644
+--- a/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
++++ b/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
+@@ -1,6 +1,6 @@
+ 
+ !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
+-set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
++set(_qt5_corelib_extra_includes \"$$NIX_OUTPUT_DEV/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
+ !!ELSE
+ set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
+ !!ENDIF
+diff --git a/src/corelib/kernel/qcoreapplication.cpp b/src/corelib/kernel/qcoreapplication.cpp
+index 39e7c71a9c..dced1f2811 100644
+--- a/src/corelib/kernel/qcoreapplication.cpp
++++ b/src/corelib/kernel/qcoreapplication.cpp
+@@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPaths()
+         QStringList *app_libpaths = new QStringList;
+         coreappdata()->app_libpaths.reset(app_libpaths);
+ 
++        // Add library paths derived from PATH
++        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
++        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
++        for (const QString &path: paths) {
++            if (!path.isEmpty()) {
++                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
++            }
++        }
++
+         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
+         if (!libPathEnv.isEmpty()) {
+             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
+diff --git a/src/corelib/tools/qtimezoneprivate_tz.cpp b/src/corelib/tools/qtimezoneprivate_tz.cpp
+index 1714c9802f..fd2ebb1336 100644
+--- a/src/corelib/tools/qtimezoneprivate_tz.cpp
++++ b/src/corelib/tools/qtimezoneprivate_tz.cpp
+@@ -70,7 +70,11 @@ typedef QHash<QByteArray, QTzTimeZone> QTzTimeZoneHash;
+ // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
+ static QTzTimeZoneHash loadTzTimeZones()
+ {
+-    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
++    // Try TZDIR first, in case we're running on NixOS.
++    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
++    // Fallback to traditional paths in case we are not on NixOS.
++    if (!QFile::exists(path))
++        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
+     if (!QFile::exists(path))
+         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
+ 
+@@ -643,12 +647,16 @@ void QTzTimeZonePrivate::init(const QByteArray &ianaId)
+         if (!tzif.open(QIODevice::ReadOnly))
+             return;
+     } else {
+-        // Open named tz, try modern path first, if fails try legacy path
+-        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++        // Try TZDIR first, in case we're running on NixOS
++        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
+         if (!tzif.open(QIODevice::ReadOnly)) {
+-            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
+-            if (!tzif.open(QIODevice::ReadOnly))
+-                return;
++            // Open named tz, try modern path first, if fails try legacy path
++            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++            if (!tzif.open(QIODevice::ReadOnly)) {
++                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
++                if (!tzif.open(QIODevice::ReadOnly))
++                    return;
++            }
+         }
+     }
+ 
+diff --git a/src/dbus/Qt5DBusConfigExtras.cmake.in b/src/dbus/Qt5DBusConfigExtras.cmake.in
+index 1d947159e2..b36865fc48 100644
+--- a/src/dbus/Qt5DBusConfigExtras.cmake.in
++++ b/src/dbus/Qt5DBusConfigExtras.cmake.in
+@@ -2,11 +2,7 @@
+ if (NOT TARGET Qt5::qdbuscpp2xml)
+     add_executable(Qt5::qdbuscpp2xml IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+-    set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
+     _qt5_DBus_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qdbuscpp2xml PROPERTIES
+@@ -17,11 +13,7 @@ endif()
+ if (NOT TARGET Qt5::qdbusxml2cpp)
+     add_executable(Qt5::qdbusxml2cpp IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+-    set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    set(imported_location \"$$NIX_OUTPUT_DEV/bin/qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
+     _qt5_DBus_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qdbusxml2cpp PROPERTIES
+diff --git a/src/gui/Qt5GuiConfigExtras.cmake.in b/src/gui/Qt5GuiConfigExtras.cmake.in
+index 07869efd7d..37b95d1b6b 100644
+--- a/src/gui/Qt5GuiConfigExtras.cmake.in
++++ b/src/gui/Qt5GuiConfigExtras.cmake.in
+@@ -2,7 +2,7 @@
+ !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
+ 
+ !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
+-set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
++set(Qt5Gui_EGL_INCLUDE_DIRS \"$$NIX_OUTPUT_DEV/$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ELSE
+ set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
+ !!ENDIF
+@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_properties TargetName Configuration LIB_LOCATIO
+     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
+ 
+ !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
++    set(imported_location \"$$NIX_OUTPUT_OUT/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
+ !!ENDIF
+ 
+ !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
+-    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
++    set(imported_implib \"$$NIX_OUTPUT_DEV/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ELSE
+     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
+ !!ENDIF
+diff --git a/src/network/kernel/qdnslookup_unix.cpp b/src/network/kernel/qdnslookup_unix.cpp
+index 1da00813ce..0bf877afcb 100644
+--- a/src/network/kernel/qdnslookup_unix.cpp
++++ b/src/network/kernel/qdnslookup_unix.cpp
+@@ -92,7 +92,7 @@ static bool resolveLibraryInternal()
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
+         if (!lib.load())
+             return false;
+     }
+diff --git a/src/network/kernel/qhostinfo_unix.cpp b/src/network/kernel/qhostinfo_unix.cpp
+index cf08a15f96..2310488298 100644
+--- a/src/network/kernel/qhostinfo_unix.cpp
++++ b/src/network/kernel/qhostinfo_unix.cpp
+@@ -102,7 +102,7 @@ static bool resolveLibraryInternal()
+     if (!lib.load())
+ #endif
+     {
+-        lib.setFileName(QLatin1String("resolv"));
++        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
+         if (!lib.load())
+             return false;
+     }
+diff --git a/src/network/ssl/qsslcontext_openssl.cpp b/src/network/ssl/qsslcontext_openssl.cpp
+index c92d8fc3f8..6008063bcf 100644
+--- a/src/network/ssl/qsslcontext_openssl.cpp
++++ b/src/network/ssl/qsslcontext_openssl.cpp
+@@ -351,7 +351,7 @@ init_context:
+ 
+     const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
+     if (!qcurves.isEmpty()) {
+-#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
++#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
+         // Set the curves to be used
+         if (q_SSLeay() >= 0x10002000L) {
+             // SSL_CTX_ctrl wants a non-const pointer as last argument,
+@@ -364,7 +364,7 @@ init_context:
+                 sslContext->errorCode = QSslError::UnspecifiedError;
+             }
+         } else
+-#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
++#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
+         {
+             // specific curves requested, but not possible to set -> error
+             sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
+diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm
+index 341d3bccf2..3368234c26 100644
+--- a/src/plugins/bearer/corewlan/qcorewlanengine.mm
++++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm
+@@ -287,7 +287,7 @@ void QScanThread::getUserConfigurations()
+     QMacAutoReleasePool pool;
+     userProfiles.clear();
+ 
+-    NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames];
++    NSArray *wifiInterfaces = [CWWiFiClient interfaceNames];
+     for (NSString *ifName in wifiInterfaces) {
+ 
+         CWInterface *wifiInterface = [[CWWiFiClient sharedWiFiClient] interfaceWithName:ifName];
+@@ -602,7 +602,7 @@ void QCoreWlanEngine::doRequestUpdate()
+ 
+     QMacAutoReleasePool pool;
+ 
+-    NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames];
++    NSArray *wifiInterfaces = [CWWiFiClient interfaceNames];
+     for (NSString *ifName in wifiInterfaces) {
+             scanThread->interfaceName = QString::fromNSString(ifName);
+             scanThread->start();
+diff --git a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
+index ca9f7af127..a337ad73bf 100644
+--- a/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
++++ b/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
+@@ -265,12 +265,9 @@ void TableGenerator::initPossibleLocations()
+     m_possibleLocations.reserve(7);
+     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
+         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
+-    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
+-    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
+-    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
+-    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
+     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
+     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
++    m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE));
+ }
+ 
+ QString TableGenerator::findComposeFile()
+diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
+index 59b76370ae..b91139ded9 100644
+--- a/src/plugins/platforms/cocoa/qcocoawindow.mm
++++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
+@@ -320,7 +320,7 @@ static void qt_closePopups()
+ + (void)applicationActivationChanged:(NSNotification*)notification
+ {
+     const id sender = self;
+-    NSEnumerator<NSWindow*> *windowEnumerator = nullptr;
++    NSEnumerator *windowEnumerator = nullptr;
+     NSApplication *application = [NSApplication sharedApplication];
+ 
+ #if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12)
+diff --git a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+index 7640a711a9..ef9a14d38b 100644
+--- a/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
++++ b/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
+@@ -580,7 +580,14 @@ QFunctionPointer QGLXContext::getProcAddress(const char *procName)
+ #if QT_CONFIG(library)
+                 extern const QString qt_gl_library_name();
+ //                QLibrary lib(qt_gl_library_name());
++                // Check system library paths first
+                 QLibrary lib(QLatin1String("GL"));
++#ifdef NIXPKGS_MESA_GL
++                if (!lib.load()) {
++                    // Fallback to Mesa driver
++                    lib.setFileName(QLatin1String(NIXPKGS_MESA_GL));
++                }
++#endif // NIXPKGS_MESA_GL
+                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
+ #endif
+             }
+diff --git a/src/plugins/platforms/xcb/qxcbcursor.cpp b/src/plugins/platforms/xcb/qxcbcursor.cpp
+index d257ab1242..75853af4e4 100644
+--- a/src/plugins/platforms/xcb/qxcbcursor.cpp
++++ b/src/plugins/platforms/xcb/qxcbcursor.cpp
+@@ -311,10 +311,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *conn, QXcbScreen *screen)
+ #if defined(XCB_USE_XLIB) && QT_CONFIG(library)
+     static bool function_ptrs_not_initialized = true;
+     if (function_ptrs_not_initialized) {
+-        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
++        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
+         bool xcursorFound = xcursorLib.load();
+         if (!xcursorFound) { // try without the version number
+-            xcursorLib.setFileName(QLatin1String("Xcursor"));
++            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
+             xcursorFound = xcursorLib.load();
+         }
+         if (xcursorFound) {
+diff --git a/src/plugins/platformthemes/gtk3/main.cpp b/src/plugins/platformthemes/gtk3/main.cpp
+index c4cd66c33b..b6f2691587 100644
+--- a/src/plugins/platformthemes/gtk3/main.cpp
++++ b/src/plugins/platformthemes/gtk3/main.cpp
+@@ -39,6 +39,7 @@
+ 
+ #include <qpa/qplatformthemeplugin.h>
+ #include "qgtk3theme.h"
++#include <QFile>
+ 
+ QT_BEGIN_NAMESPACE
+ 
+@@ -54,8 +55,22 @@ public:
+ QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
+ {
+     Q_UNUSED(params);
+-    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
++    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
++
++#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
++        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
++        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
++        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
++#endif
++
++#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
++        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
++        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
++        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
++#endif
++
+         return new QGtk3Theme;
++    }
+ 
+     return 0;
+ }
+diff --git a/src/widgets/Qt5WidgetsConfigExtras.cmake.in b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+index 99d87e2e46..a4eab2aa72 100644
+--- a/src/widgets/Qt5WidgetsConfigExtras.cmake.in
++++ b/src/widgets/Qt5WidgetsConfigExtras.cmake.in
+@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
+     add_executable(Qt5::uic IMPORTED)
+ 
+ !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
++    set(imported_location \"$$NIX_OUTPUT_DEV/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
+ !!ENDIF
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/cmake-paths.patch
deleted file mode 100644
index 9616f5812cfd..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/cmake-paths.patch
+++ /dev/null
@@ -1,359 +0,0 @@
-Index: qtbase-opensource-src-5.9.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-+++ qtbase-opensource-src-5.9.0/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-@@ -9,30 +9,6 @@ if (CMAKE_VERSION VERSION_LESS 3.0.0)
- endif()
- !!ENDIF
- 
--!!IF !isEmpty(CMAKE_USR_MOVE_WORKAROUND)
--!!IF !isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ELSE
--get_filename_component(_IMPORT_PREFIX \"${CMAKE_CURRENT_LIST_FILE}\" PATH)
--# Use original install prefix when loaded through a
--# cross-prefix symbolic link such as /lib -> /usr/lib.
--get_filename_component(_realCurr \"${_IMPORT_PREFIX}\" REALPATH)
--get_filename_component(_realOrig \"$$CMAKE_INSTALL_LIBS_DIR/cmake/Qt5$${CMAKE_MODULE_NAME}\" REALPATH)
--if(_realCurr STREQUAL _realOrig)
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$CMAKE_INSTALL_LIBS_DIR/$${CMAKE_RELATIVE_INSTALL_LIBS_DIR}\" ABSOLUTE)
--else()
--    get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--endif()
--unset(_realOrig)
--unset(_realCurr)
--unset(_IMPORT_PREFIX)
--!!ENDIF
--!!ELIF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--get_filename_component(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"${CMAKE_CURRENT_LIST_DIR}/$${CMAKE_RELATIVE_INSTALL_DIR}\" ABSOLUTE)
--!!ELSE
--set(_qt5$${CMAKE_MODULE_NAME}_install_prefix \"$$[QT_INSTALL_PREFIX]\")
--!!ENDIF
--
- !!IF !equals(TEMPLATE, aux)
- # For backwards compatibility only. Use Qt5$${CMAKE_MODULE_NAME}_VERSION instead.
- set(Qt5$${CMAKE_MODULE_NAME}_VERSION_STRING "$$eval(QT.$${MODULE}.MAJOR_VERSION).$$eval(QT.$${MODULE}.MINOR_VERSION).$$eval(QT.$${MODULE}.PATCH_VERSION)")
-@@ -59,7 +35,10 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-     set_property(TARGET Qt5::$${CMAKE_MODULE_NAME} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    endif()
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
-@@ -74,19 +53,6 @@ macro(_populate_$${CMAKE_MODULE_NAME}_ta
-         \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\"
-     )
- 
--!!IF !isEmpty(CMAKE_WINDOWS_BUILD)
--!!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ELSE
--    set(imported_implib \"IMPORTED_IMPLIB_${Configuration}\" \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
--!!ENDIF
--    _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_implib})
--    if(NOT \"${IMPLIB_LOCATION}\" STREQUAL \"\")
--        set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES
--        \"IMPORTED_IMPLIB_${Configuration}\" ${imported_implib}
--        )
--    endif()
--!!ENDIF
- endmacro()
- !!ENDIF
- 
-@@ -95,24 +61,24 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- !!IF !no_module_headers
- !!IF !isEmpty(CMAKE_BUILD_IS_FRAMEWORK)
-     set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
--      \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-+      \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework\"
-+      \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Headers\"
-     )
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
-+        \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/\"
-+        \"@NIX_OUT@/$${CMAKE_LIB_DIR}Qt$${CMAKE_MODULE_NAME}.framework/Versions/$$section(VERSION, ., 0, 0)/Headers/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
- !!ENDIF
- !!ELSE
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR\" \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
-+    set(_Qt5$${CMAKE_MODULE_NAME}_OWN_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR\" \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}\")
- !!IF isEmpty(CMAKE_NO_PRIVATE_INCLUDES)
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-+        \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION\"
-+        \"@NIX_DEV@/$${CMAKE_INCLUDE_DIR}$${MODULE_INCNAME}/$$VERSION/$${MODULE_INCNAME}\"
-     )
- !!ELSE
-     set(Qt5$${CMAKE_MODULE_NAME}_PRIVATE_INCLUDE_DIRS \"\")
-@@ -281,7 +247,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- !!IF isEmpty(CMAKE_DEBUG_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-+    if (EXISTS \"@NIX_OUT@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-@@ -289,13 +255,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_DEBUG}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_DEBUG}\" )
- !!ENDIF
-@@ -318,7 +284,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- !!IF isEmpty(CMAKE_RELEASE_TYPE)
- !!IF !isEmpty(CMAKE_STATIC_WINDOWS_BUILD)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    if (EXISTS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-+    if (EXISTS \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ELSE // CMAKE_LIB_DIR_IS_ABSOLUTE
-     if (EXISTS \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF // CMAKE_LIB_DIR_IS_ABSOLUTE
-@@ -326,13 +292,13 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
- !!ELSE // CMAKE_STATIC_WINDOWS_BUILD
-     if (EXISTS
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
-+        \"@NIX_OUT@/$${CMAKE_DLL_DIR}$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ELSE
-         \"$${CMAKE_LIB_FILE_LOCATION_RELEASE}\"
- !!ENDIF
-       AND EXISTS
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--        \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
-+        \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ELSE
-         \"$${CMAKE_IMPLIB_FILE_LOCATION_RELEASE}\" )
- !!ENDIF
-@@ -354,11 +320,7 @@ if (NOT TARGET Qt5::$${CMAKE_MODULE_NAME
-     macro(_populate_$${CMAKE_MODULE_NAME}_plugin_properties Plugin Configuration PLUGIN_LOCATION)
-         set_property(TARGET Qt5::${Plugin} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
--!!IF isEmpty(CMAKE_PLUGIN_DIR_IS_ABSOLUTE)
--        set(imported_location \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ELSE
--        set(imported_location \"$${CMAKE_PLUGIN_DIR}${PLUGIN_LOCATION}\")
--!!ENDIF
-+        set(imported_location \"${PLUGIN_LOCATION}\")
-         _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location})
-         set_target_properties(Qt5::${Plugin} PROPERTIES
-             \"IMPORTED_LOCATION_${Configuration}\" ${imported_location}
-Index: qtbase-opensource-src-5.9.0/src/gui/Qt5GuiConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/gui/Qt5GuiConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.9.0/src/gui/Qt5GuiConfigExtras.cmake.in
-@@ -2,7 +2,7 @@
- !!IF !isEmpty(CMAKE_ANGLE_EGL_DLL_RELEASE)
- 
- !!IF isEmpty(CMAKE_INCLUDE_DIR_IS_ABSOLUTE)
--set(Qt5Gui_EGL_INCLUDE_DIRS \"${_qt5$${CMAKE_MODULE_NAME}_install_prefix}/$$CMAKE_INCLUDE_DIR/QtANGLE\")
-+set(Qt5Gui_EGL_INCLUDE_DIRS \"@NIX_DEV@/$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ELSE
- set(Qt5Gui_EGL_INCLUDE_DIRS \"$$CMAKE_INCLUDE_DIR/QtANGLE\")
- !!ENDIF
-@@ -17,13 +17,13 @@ macro(_populate_qt5gui_gl_target_propert
-     set_property(TARGET Qt5::${TargetName} APPEND PROPERTY IMPORTED_CONFIGURATIONS ${Configuration})
- 
- !!IF isEmpty(CMAKE_DLL_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Gui_install_prefix}/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_DLL_DIR}${LIB_LOCATION}\")
- !!ENDIF
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_implib \"${_qt5Gui_install_prefix}/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
-+    set(imported_implib \"@NIX_DEV@/$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ELSE
-     set(imported_implib \"$${CMAKE_LIB_DIR}${IMPLIB_LOCATION}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.9.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.9.0/src/widgets/Qt5WidgetsConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::uic)
-     add_executable(Qt5::uic IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Widgets_install_prefix}/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}uic$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-Index: qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/corelib/Qt5CoreConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qmake)
-     add_executable(Qt5::qmake IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qmake$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::moc)
-     add_executable(Qt5::moc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}moc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -35,7 +35,7 @@ if (NOT TARGET Qt5::rcc)
-     add_executable(Qt5::rcc IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}rcc$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -133,7 +133,7 @@ if (NOT TARGET Qt5::WinMain)
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE)
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_RELEASE}\")
- !!ENDIF
-@@ -147,7 +147,7 @@ if (NOT TARGET Qt5::WinMain)
-     set_property(TARGET Qt5::WinMain APPEND PROPERTY IMPORTED_CONFIGURATIONS DEBUG)
- 
- !!IF isEmpty(CMAKE_LIB_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Core_install_prefix}/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ELSE
-     set(imported_location \"$${CMAKE_LIB_DIR}$${CMAKE_WINMAIN_FILE_LOCATION_DEBUG}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-+++ qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-+++ qtbase-opensource-src-5.9.0/src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
-@@ -1,6 +1,6 @@
- 
- !!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
--set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
-+set(_qt5_corelib_extra_includes \"@NIX_DEV@/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
- !!ELSE
- set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
- !!ENDIF
-Index: qtbase-opensource-src-5.9.0/src/dbus/Qt5DBusConfigExtras.cmake.in
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/dbus/Qt5DBusConfigExtras.cmake.in
-+++ qtbase-opensource-src-5.9.0/src/dbus/Qt5DBusConfigExtras.cmake.in
-@@ -3,7 +3,7 @@ if (NOT TARGET Qt5::qdbuscpp2xml)
-     add_executable(Qt5::qdbuscpp2xml IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbuscpp2xml$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-@@ -18,7 +18,7 @@ if (NOT TARGET Qt5::qdbusxml2cpp)
-     add_executable(Qt5::qdbusxml2cpp IMPORTED)
- 
- !!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5DBus_install_prefix}/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
-+    set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ELSE
-     set(imported_location \"$${CMAKE_BIN_DIR}qdbusxml2cpp$$CMAKE_BIN_SUFFIX\")
- !!ENDIF
-Index: qtbase-opensource-src-5.9.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-+++ qtbase-opensource-src-5.9.0/mkspecs/features/data/cmake/Qt5PluginTarget.cmake.in
-@@ -2,10 +2,10 @@
- add_library(Qt5::$$CMAKE_PLUGIN_NAME MODULE IMPORTED)
- 
- !!IF !isEmpty(CMAKE_RELEASE_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME RELEASE \"@NIX_BIN@/$${CMAKE_PLUGIN_LOCATION_RELEASE}\")
- !!ENDIF
- !!IF !isEmpty(CMAKE_DEBUG_TYPE)
--_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
-+_populate_$${CMAKE_MODULE_NAME}_plugin_properties($$CMAKE_PLUGIN_NAME DEBUG \"@NIX_BIN@/$${CMAKE_PLUGIN_LOCATION_DEBUG}\")
- !!ENDIF
- 
- list(APPEND Qt5$${CMAKE_MODULE_NAME}_PLUGINS Qt5::$$CMAKE_PLUGIN_NAME)
-Index: qtbase-opensource-src-5.9.0/mkspecs/features/create_cmake.prf
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/mkspecs/features/create_cmake.prf
-+++ qtbase-opensource-src-5.9.0/mkspecs/features/create_cmake.prf
-@@ -136,28 +136,28 @@ contains(CONFIG, plugin) {
- 
-     win32 {
-         isEmpty(CMAKE_STATIC_TYPE) {
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.dll
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.dll
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.dll
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.dll
-         } else:mingw {
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}.a
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}d.a
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}.a
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}d.a
-         } else {                         # MSVC static
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/$${TARGET}.lib
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/$${TARGET}d.lib
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}.lib
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/$${TARGET}d.lib
-         }
-     } else {
-         mac {
-             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .dylib
-             else: CMAKE_PlUGIN_EXT = .a
- 
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-         } else {
-             isEmpty(CMAKE_STATIC_TYPE): CMAKE_PlUGIN_EXT = .so
-             else: CMAKE_PlUGIN_EXT = .a
- 
--            CMAKE_PLUGIN_LOCATION_RELEASE = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
--            CMAKE_PLUGIN_LOCATION_DEBUG = $$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_RELEASE = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-+            CMAKE_PLUGIN_LOCATION_DEBUG = $${CMAKE_PLUGIN_DIR}$$PLUGIN_TYPE/lib$${TARGET}$${CMAKE_PlUGIN_EXT}
-         }
-     }
-     cmake_target_file.input = $$PWD/data/cmake/Qt5PluginTarget.cmake.in
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/compose-search-path.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/compose-search-path.patch
deleted file mode 100644
index 720e7d81fa22..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/compose-search-path.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-Index: qtbase-opensource-src-5.9.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-+++ qtbase-opensource-src-5.9.0/src/plugins/platforminputcontexts/compose/generator/qtablegenerator.cpp
-@@ -265,12 +265,9 @@ void TableGenerator::initPossibleLocatio
-     m_possibleLocations.reserve(7);
-     if (qEnvironmentVariableIsSet("QTCOMPOSE"))
-         m_possibleLocations.append(QString::fromLocal8Bit(qgetenv("QTCOMPOSE")));
--    m_possibleLocations.append(QStringLiteral("/usr/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/share/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/lib/X11/locale"));
--    m_possibleLocations.append(QStringLiteral("/usr/local/lib/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/share/X11/locale"));
-     m_possibleLocations.append(QStringLiteral(X11_PREFIX "/lib/X11/locale"));
-+    m_possibleLocations.append(QLatin1String(NIXPKGS_QTCOMPOSE));
- }
- 
- QString TableGenerator::findComposeFile()
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/darwin-cf.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/darwin-cf.patch
deleted file mode 100644
index 3e6e0e5101a1..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/darwin-cf.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/src/plugins/bearer/corewlan/qcorewlanengine.mm b/src/plugins/bearer/corewlan/qcorewlanengine.mm
-index 341d3bc..3368234 100644
---- a/src/plugins/bearer/corewlan/qcorewlanengine.mm
-+++ b/src/plugins/bearer/corewlan/qcorewlanengine.mm
-@@ -287,7 +287,7 @@ void QScanThread::getUserConfigurations()
-     QMacAutoReleasePool pool;
-     userProfiles.clear();
- 
--    NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames];
-+    NSArray *wifiInterfaces = [CWWiFiClient interfaceNames];
-     for (NSString *ifName in wifiInterfaces) {
- 
-         CWInterface *wifiInterface = [[CWWiFiClient sharedWiFiClient] interfaceWithName:ifName];
-@@ -602,7 +602,7 @@ void QCoreWlanEngine::doRequestUpdate()
- 
-     QMacAutoReleasePool pool;
- 
--    NSArray<NSString *> *wifiInterfaces = [CWWiFiClient interfaceNames];
-+    NSArray *wifiInterfaces = [CWWiFiClient interfaceNames];
-     for (NSString *ifName in wifiInterfaces) {
-             scanThread->interfaceName = QString::fromNSString(ifName);
-             scanThread->start();
- QString TableGenerator::findComposeFile()
-diff --git a/src/plugins/platforms/cocoa/qcocoawindow.mm b/src/plugins/platforms/cocoa/qcocoawindow.mm
-index 59b7637..b91139d 100644
---- a/src/plugins/platforms/cocoa/qcocoawindow.mm
-+++ b/src/plugins/platforms/cocoa/qcocoawindow.mm
-@@ -320,7 +320,7 @@ static void qt_closePopups()
- + (void)applicationActivationChanged:(NSNotification*)notification
- {
-     const id sender = self;
--    NSEnumerator<NSWindow*> *windowEnumerator = nullptr;
-+    NSEnumerator *windowEnumerator = nullptr;
-     NSApplication *application = [NSApplication sharedApplication];
- 
- #if QT_MACOS_PLATFORM_SDK_EQUAL_OR_ABOVE(__MAC_10_12)
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/darwin-series b/pkgs/development/libraries/qt-5/5.9/qtbase/darwin-series
deleted file mode 100644
index 1111ff65f440..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/darwin-series
+++ /dev/null
@@ -1,3 +0,0 @@
-mkspecs-common-mac.patch
-mkspecs-features-mac.patch
-darwin-cf.patch
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/default.nix b/pkgs/development/libraries/qt-5/5.9/qtbase/default.nix
deleted file mode 100644
index d63936c561c1..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/default.nix
+++ /dev/null
@@ -1,366 +0,0 @@
-{
-  stdenv, lib, copyPathsToStore,
-  src, version, qtCompatVersion,
-
-  coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python2,
-  ruby, which,
-  # darwin support
-  darwin, libiconv, libcxx,
-
-  dbus, dconf, fontconfig, freetype, glib, gtk3, harfbuzz, icu, libX11, libXcomposite,
-  libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff,
-  libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre2, sqlite, udev,
-  xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm, xlibs,
-  zlib,
-
-  # optional dependencies
-  cups ? null, mysql ? null, postgresql ? null,
-
-  # options
-  mesaSupported ? (!stdenv.isDarwin),
-  mesa,
-  buildExamples ? false,
-  buildTests ? false,
-  developerBuild ? false,
-  decryptSslTraffic ? false
-}:
-
-let
-  system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
-in
-
-stdenv.mkDerivation {
-
-  name = "qtbase-${version}";
-  inherit qtCompatVersion src version;
-
-  propagatedBuildInputs =
-    [
-      libxml2 libxslt openssl pcre2 sqlite zlib
-
-      # Text rendering
-      harfbuzz icu
-
-      # Image formats
-      libjpeg libpng libtiff
-    ]
-
-    ++ lib.optional (mesaSupported && !stdenv.isDarwin) mesa
-
-    ++ lib.optionals (!stdenv.isDarwin) [
-      dbus glib udev
-
-      # Text rendering
-      fontconfig freetype
-
-      # X11 libs
-      libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil
-      xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm
-    ]
-
-    ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
-      AGL AppKit ApplicationServices Carbon Cocoa
-      CoreAudio CoreBluetooth CoreLocation CoreServices
-      DiskArbitration Foundation OpenGL
-      darwin.libobjc libiconv
-    ]);
-
-  buildInputs = [ ]
-    ++ lib.optionals (!stdenv.isDarwin) [ gtk3 libinput ]
-    ++ lib.optional developerBuild gdb
-    ++ lib.optional (cups != null) cups
-    ++ lib.optional (mysql != null) mysql.lib
-    ++ lib.optional (postgresql != null) postgresql;
-
-  nativeBuildInputs =
-    [ bison flex gperf lndir perl pkgconfig python2 which ]
-    ++ lib.optional (!stdenv.isDarwin) patchelf;
-
-  outputs = [ "bin" "dev" "out" ];
-
-  patches =
-    copyPathsToStore (lib.readPathsFromFile ./. ./series)
-    ++ stdenv.lib.optional stdenv.isDarwin (copyPathsToStore (lib.readPathsFromFile ./. ./darwin-series));
-
-  postPatch =
-    ''
-      substituteInPlace configure --replace /bin/pwd pwd
-      substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
-      sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i mkspecs/*/*.conf
-
-      sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5Config.cmake.in
-      sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5CoreMacros.cmake
-      sed -i 's/NO_DEFAULT_PATH//' src/gui/Qt5GuiConfigExtras.cmake.in
-      sed -i '/PATHS.*NO_DEFAULT_PATH/ d' mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
-    ''
-
-    + lib.optionalString (mesaSupported && !stdenv.isDarwin) ''
-      sed -i mkspecs/common/linux.conf \
-          -e "/^QMAKE_INCDIR_OPENGL/ s|$|${mesa.dev or mesa}/include|" \
-          -e "/^QMAKE_LIBDIR_OPENGL/ s|$|${mesa.out}/lib|"
-    ''
-
-    + lib.optionalString stdenv.isDarwin ''
-      sed -i \
-          -e 's|! /usr/bin/xcode-select --print-path >/dev/null 2>&1;|false;|' \
-          -e 's|! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1;|false;|' \
-          -e 's|sysroot=$(/usr/bin/xcodebuild -sdk $sdk -version Path 2>/dev/null)|sysroot=/nonsense|' \
-          -e 's|sysroot=$(/usr/bin/xcrun --sdk $sdk --show-sdk-path 2>/dev/null)|sysroot=/nonsense|' \
-          -e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
-          -e 's|XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`|XCRUN="clang -v 2>&1"|' \
-          -e 's#sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d \x27 \x27 -f 1))##' \
-          -e 's#val=$(echo $sdk_val $(echo $val | cut -s -d \x27 \x27 -f 2-))##' \
-          ./configure
-          substituteInPlace ./mkspecs/common/mac.conf \
-              --replace "/System/Library/Frameworks/OpenGL.framework/" "${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework/"
-          substituteInPlace ./mkspecs/common/mac.conf \
-              --replace "/System/Library/Frameworks/AGL.framework/" "${darwin.apple_sdk.frameworks.AGL}/Library/Frameworks/AGL.framework/"
-     '';
-     # Note on the above: \x27 is a way if including a single-quote
-     # character in the sed string arguments.
-
-  qtPluginPrefix = "lib/qt-${qtCompatVersion}/plugins";
-  qtQmlPrefix = "lib/qt-${qtCompatVersion}/qml";
-  qtDocPrefix = "share/doc/qt-${qtCompatVersion}";
-
-  setOutputFlags = false;
-  preConfigure = ''
-    export LD_LIBRARY_PATH="$PWD/lib:$PWD/plugins/platforms:$LD_LIBRARY_PATH"
-    export MAKEFLAGS=-j$NIX_BUILD_CORES
-
-    configureFlags+="\
-        -plugindir $out/$qtPluginPrefix \
-        -qmldir $out/$qtQmlPrefix \
-        -docdir $out/$qtDocPrefix"
-
-    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\""
-  '';
-
-
-  NIX_CFLAGS_COMPILE =
-    [
-      "-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields
-      ''-DNIXPKGS_QTCOMPOSE="${libX11.out}/share/X11/locale"''
-      ''-DNIXPKGS_LIBRESOLV="${stdenv.cc.libc.out}/lib/libresolv"''
-      ''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
-    ]
-
-    ++ lib.optional (mesaSupported && !stdenv.isDarwin)
-       ''-DNIXPKGS_MESA_GL="${mesa.out}/lib/libGL"''
-
-    ++ lib.optionals (!stdenv.isDarwin)
-    [
-      ''-DNIXPKGS_QGTK3_XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}"''
-      ''-DNIXPKGS_QGTK3_GIO_EXTRA_MODULES="${dconf.lib}/lib/gio/modules"''
-    ]
-
-    ++ lib.optionals stdenv.isDarwin
-    [
-      "-Wno-missing-sysroot"
-      "-D__MAC_OS_X_VERSION_MAX_ALLOWED=1090"
-      "-D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))"
-      # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is
-      # 10.9 which necessitates the above macro definition that mentions
-      # 10.10
-    ]
-
-    ++ lib.optional decryptSslTraffic "-DQT_DECRYPT_SSL_TRAFFIC";
-
-  prefixKey = "-prefix ";
-
-  # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag
-  # if dependency paths contain the string "pq", which can occur in the hash.
-  # To prevent these failures, we need to override PostgreSQL detection.
-  PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
-
-  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
-  # TODO Remove obsolete and useless flags once the build will be totally mastered
-  configureFlags =
-    [
-      "-verbose"
-      "-confirm-license"
-      "-opensource"
-
-      "-release"
-      "-shared"
-      "-accessibility"
-      "-optimized-qmake"
-      "-strip"
-      "-system-proxies"
-      "-pkg-config"
-    ]
-    ++ lib.optionals developerBuild [
-      "-developer-build"
-      "-no-warnings-are-errors"
-    ]
-    ++ [
-      "-gui"
-      "-widgets"
-      "-opengl desktop"
-      "-qml-debug"
-      "-icu"
-      "-pch"
-    ]
-
-    ++ [
-      ''${lib.optionalString (!system-x86_64) "-no"}-sse2''
-      "-no-sse3"
-      "-no-ssse3"
-      "-no-sse4.1"
-      "-no-sse4.2"
-      "-no-avx"
-      "-no-avx2"
-      "-no-mips_dsp"
-      "-no-mips_dspr2"
-    ]
-
-    ++ [
-      "-system-zlib"
-      "-system-libjpeg"
-      "-system-harfbuzz"
-      "-system-pcre"
-      "-openssl-linked"
-      "-system-sqlite"
-      ''-${if mysql != null then "plugin" else "no"}-sql-mysql''
-      ''-${if postgresql != null then "plugin" else "no"}-sql-psql''
-
-      "-make libs"
-      "-make tools"
-      ''-${lib.optionalString (buildExamples == false) "no"}make examples''
-      ''-${lib.optionalString (buildTests == false) "no"}make tests''
-      "-v"
-    ]
-
-    ++ lib.optionals (!stdenv.isDarwin) [
-      "-rpath"
-
-      "-system-xcb"
-      "-xcb"
-      "-qpa xcb"
-
-      "-system-xkbcommon"
-      "-libinput"
-      "-xkbcommon-evdev"
-
-      "-no-eglfs"
-      "-no-gbm"
-      "-no-kms"
-      "-no-linuxfb"
-
-      ''-${lib.optionalString (cups == null) "no-"}cups''
-      "-dbus-linked"
-      "-glib"
-      "-gtk"
-      "-inotify"
-      "-system-libjpeg"
-      "-system-libpng"
-      # gold linker of binutils 2.28 generates duplicate symbols
-      # TODO: remove for newer version of binutils 
-      "-no-use-gold-linker"
-    ]
-
-    ++ lib.optionals stdenv.isDarwin [
-      "-platform macx-clang"
-      "-no-use-gold-linker"
-      "-no-fontconfig"
-      "-qt-freetype"
-      "-qt-libpng"
-    ];
-
-  enableParallelBuilding = true;
-
-  postInstall =
-    # Hardcode some CMake module paths.
-    ''
-      find "$out" -name "*.cmake" | while read file; do
-          substituteInPlace "$file" \
-              --subst-var-by NIX_OUT "''${!outputLib}" \
-              --subst-var-by NIX_DEV "''${!outputDev}" \
-              --subst-var-by NIX_BIN "''${!outputBin}"
-      done
-    '';
-
-  preFixup =
-    # Move selected outputs.
-    ''
-      moveToOutput "bin" "$dev"
-      moveToOutput "include" "$dev"
-      moveToOutput "mkspecs" "$dev"
-
-      mkdir -p "$dev/share"
-      moveToOutput "share/doc" "$dev"
-
-      moveToOutput "$qtPluginPrefix" "$bin"
-    '';
-
-  postFixup =
-    # Don't retain build-time dependencies like gdb.
-    ''
-      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
-    ''
-
-    # Move libtool archives into $dev
-    + ''
-      if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then
-          pushd "''${!outputLib}"
-          find lib -name '*.a' -o -name '*.la' | while read -r file; do
-              mkdir -p "''${!outputDev}/$(dirname "$file")"
-              mv "''${!outputLib}/$file" "''${!outputDev}/$file"
-          done
-          popd
-      fi
-    ''
-
-    # Move qmake project files into $dev.
-    # Don't move .prl files on darwin because they end up in
-    # "dev/lib/Foo.framework/Foo.prl" which interferes with subsequent
-    # use of lndir in the qtbase setup-hook. On Linux, the .prl files
-    # are in lib, and so do not cause a subsequent recreation of deep
-    # framework directory trees.
-    + lib.optionalString (!stdenv.isDarwin) ''
-      if [ "z''${!outputLib}" != "z''${!outputDev}" ]; then
-          pushd "''${!outputLib}"
-          find lib -name '*.prl' | while read -r file; do
-              mkdir -p "''${!outputDev}/$(dirname "$file")"
-              mv "''${!outputLib}/$file" "''${!outputDev}/$file"
-          done
-          popd
-      fi
-    ''
-
-    # fixup .pc file (where to find 'moc' etc.)
-    + lib.optionalString (!stdenv.isDarwin) ''
-      sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
-          -e "/^host_bins=/ c host_bins=$dev/bin"
-    ''
-
-    + lib.optionalString stdenv.isDarwin ''
-      fixDarwinDylibNames_rpath() {
-        local flags=()
-
-        for fn in "$@"; do
-          flags+=(-change "@rpath/$fn.framework/Versions/5/$fn" "$out/lib/$fn.framework/Versions/5/$fn")
-        done
-
-        for fn in "$@"; do
-          echo "$fn: fixing dylib"
-          install_name_tool -id "$out/lib/$fn.framework/Versions/5/$fn" "''${flags[@]}" "$out/lib/$fn.framework/Versions/5/$fn"
-        done
-      }
-      fixDarwinDylibNames_rpath "QtConcurrent" "QtPrintSupport" "QtCore" "QtSql" "QtDBus" "QtTest" "QtGui" "QtWidgets" "QtNetwork" "QtXml" "QtOpenGL"
-    '';
-
-  inherit lndir;
-  setupHook = if stdenv.isDarwin
-              then ../../qtbase-setup-hook-darwin.sh
-              else ../../qtbase-setup-hook.sh;
-
-  meta = with lib; {
-    homepage = http://www.qt.io;
-    description = "A cross-platform application framework for C++";
-    license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
-    maintainers = with maintainers; [ qknight ttuegel periklis ];
-    platforms = platforms.unix;
-  };
-
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gl.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gl.patch
deleted file mode 100644
index 9385c7f6678c..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gl.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Index: qtbase-opensource-src-5.9.0/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-+++ qtbase-opensource-src-5.9.0/src/plugins/platforms/xcb/gl_integrations/xcb_glx/qglxintegration.cpp
-@@ -580,7 +580,14 @@ QFunctionPointer QGLXContext::getProcAdd
- #if QT_CONFIG(library)
-                 extern const QString qt_gl_library_name();
- //                QLibrary lib(qt_gl_library_name());
-+                // Check system library paths first
-                 QLibrary lib(QLatin1String("GL"));
-+#ifdef NIXPKGS_MESA_GL
-+                if (!lib.load()) {
-+                    // Fallback to Mesa driver
-+                    lib.setFileName(QLatin1String(NIXPKGS_MESA_GL));
-+                }
-+#endif // NIXPKGS_MESA_GL
-                 glXGetProcAddressARB = (qt_glXGetProcAddressARB) lib.resolve("glXGetProcAddressARB");
- #endif
-             }
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gtkstyle.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gtkstyle.patch
deleted file mode 100644
index 755b0965cf5f..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-gtkstyle.patch
+++ /dev/null
@@ -1,50 +0,0 @@
-Index: qtbase-opensource-src-5.5.1/src/widgets/styles/qgtk2painter.cpp
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/src/widgets/styles/qgtk2painter.cpp
-+++ qtbase-opensource-src-5.5.1/src/widgets/styles/qgtk2painter.cpp
-@@ -96,7 +96,7 @@ static void initGtk()
-     static bool initialized = false;
-     if (!initialized) {
-         // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--        QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+        QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
- 
-         QGtk2PainterPrivate::gdk_pixmap_new = (Ptr_gdk_pixmap_new)libgtk.resolve("gdk_pixmap_new");
-         QGtk2PainterPrivate::gdk_pixbuf_get_from_drawable = (Ptr_gdk_pixbuf_get_from_drawable)libgtk.resolve("gdk_pixbuf_get_from_drawable");
-Index: qtbase-opensource-src-5.5.1/src/widgets/styles/qgtkstyle_p.cpp
-===================================================================
---- qtbase-opensource-src-5.5.1.orig/src/widgets/styles/qgtkstyle_p.cpp
-+++ qtbase-opensource-src-5.5.1/src/widgets/styles/qgtkstyle_p.cpp
-@@ -327,7 +327,7 @@ void QGtkStylePrivate::gtkWidgetSetFocus
- void QGtkStylePrivate::resolveGtk() const
- {
-     // enforce the "0" suffix, so we'll open libgtk-x11-2.0.so.0
--    QLibrary libgtk(QLS("gtk-x11-2.0"), 0, 0);
-+    QLibrary libgtk(QLS("@gtk@/lib/libgtk-x11-2.0"), 0, 0);
- 
-     gtk_init = (Ptr_gtk_init)libgtk.resolve("gtk_init");
-     gtk_window_new = (Ptr_gtk_window_new)libgtk.resolve("gtk_window_new");
-@@ -425,8 +425,8 @@ void QGtkStylePrivate::resolveGtk() cons
-     pango_font_description_get_family = (Ptr_pango_font_description_get_family)libgtk.resolve("pango_font_description_get_family");
-     pango_font_description_get_style = (Ptr_pango_font_description_get_style)libgtk.resolve("pango_font_description_get_style");
- 
--    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("gnomeui-2"), 0, "gnome_icon_lookup_sync");
--    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("gnomevfs-2"), 0, "gnome_vfs_init");
-+    gnome_icon_lookup_sync = (Ptr_gnome_icon_lookup_sync)QLibrary::resolve(QLS("@libgnomeui@/lib/libgnomeui-2"), 0, "gnome_icon_lookup_sync");
-+    gnome_vfs_init= (Ptr_gnome_vfs_init)QLibrary::resolve(QLS("@gnome_vfs@/lib/libgnomevfs-2"), 0, "gnome_vfs_init");
- }
- 
- /* \internal
-@@ -594,9 +594,9 @@ void QGtkStylePrivate::cleanupGtkWidgets
- static bool resolveGConf()
- {
-     if (!QGtkStylePrivate::gconf_client_get_default) {
--        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_default");
--        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_string");
--        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("gconf-2"), 4, "gconf_client_get_bool");
-+        QGtkStylePrivate::gconf_client_get_default = (Ptr_gconf_client_get_default)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_default");
-+        QGtkStylePrivate::gconf_client_get_string =  (Ptr_gconf_client_get_string)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_string");
-+        QGtkStylePrivate::gconf_client_get_bool =  (Ptr_gconf_client_get_bool)QLibrary::resolve(QLS("@gconf@/lib/libgconf-2"), 4, "gconf_client_get_bool");
-     }
-     return (QGtkStylePrivate::gconf_client_get_default !=0);
- }
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-libXcursor.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-libXcursor.patch
deleted file mode 100644
index 31339abc7856..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-libXcursor.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Index: qtbase-opensource-src-5.9.0/src/plugins/platforms/xcb/qxcbcursor.cpp
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/plugins/platforms/xcb/qxcbcursor.cpp
-+++ qtbase-opensource-src-5.9.0/src/plugins/platforms/xcb/qxcbcursor.cpp
-@@ -311,10 +311,10 @@ QXcbCursor::QXcbCursor(QXcbConnection *c
- #if defined(XCB_USE_XLIB) && QT_CONFIG(library)
-     static bool function_ptrs_not_initialized = true;
-     if (function_ptrs_not_initialized) {
--        QLibrary xcursorLib(QLatin1String("Xcursor"), 1);
-+        QLibrary xcursorLib(QLatin1String(NIXPKGS_LIBXCURSOR), 1);
-         bool xcursorFound = xcursorLib.load();
-         if (!xcursorFound) { // try without the version number
--            xcursorLib.setFileName(QLatin1String("Xcursor"));
-+            xcursorLib.setFileName(QLatin1String(NIXPKGS_LIBXCURSOR));
-             xcursorFound = xcursorLib.load();
-         }
-         if (xcursorFound) {
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-resolv.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-resolv.patch
deleted file mode 100644
index 598456a49ffb..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/dlopen-resolv.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Index: qtbase-opensource-src-5.9.0/src/network/kernel/qdnslookup_unix.cpp
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/network/kernel/qdnslookup_unix.cpp
-+++ qtbase-opensource-src-5.9.0/src/network/kernel/qdnslookup_unix.cpp
-@@ -92,7 +92,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
-Index: qtbase-opensource-src-5.9.0/src/network/kernel/qhostinfo_unix.cpp
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/network/kernel/qhostinfo_unix.cpp
-+++ qtbase-opensource-src-5.9.0/src/network/kernel/qhostinfo_unix.cpp
-@@ -102,7 +102,7 @@ static bool resolveLibraryInternal()
-     if (!lib.load())
- #endif
-     {
--        lib.setFileName(QLatin1String("resolv"));
-+        lib.setFileName(QLatin1String(NIXPKGS_LIBRESOLV));
-         if (!lib.load())
-             return false;
-     }
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/library-paths.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/library-paths.patch
deleted file mode 100644
index 4c24d73ed364..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/library-paths.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-Index: qtbase-opensource-src-5.9.0/src/corelib/kernel/qcoreapplication.cpp
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/corelib/kernel/qcoreapplication.cpp
-+++ qtbase-opensource-src-5.9.0/src/corelib/kernel/qcoreapplication.cpp
-@@ -2533,6 +2533,15 @@ QStringList QCoreApplication::libraryPat
-         QStringList *app_libpaths = new QStringList;
-         coreappdata()->app_libpaths.reset(app_libpaths);
- 
-+        // Add library paths derived from PATH
-+        const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
-+        const QString plugindir = QStringLiteral("../" NIXPKGS_QT_PLUGIN_PREFIX);
-+        for (const QString &path: paths) {
-+            if (!path.isEmpty()) {
-+                app_libpaths->append(QDir::cleanPath(path + QDir::separator() + plugindir));
-+            }
-+        }
-+
-         const QByteArray libPathEnv = qgetenv("QT_PLUGIN_PATH");
-         if (!libPathEnv.isEmpty()) {
-             QStringList paths = QFile::decodeName(libPathEnv).split(QDir::listSeparator(), QString::SkipEmptyParts);
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/libressl.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/libressl.patch
deleted file mode 100644
index e9c60e7ab076..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/libressl.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 81494e67eccba04fc3fe554d76a9ca6fe7f2250e Mon Sep 17 00:00:00 2001
-From: hasufell <hasufell@gentoo.org>
-Date: Sat, 10 Oct 2015 01:15:01 +0200
-Subject: [PATCH] Fix compilation with libressl
-
-By additionally checking for defined(SSL_CTRL_SET_CURVES), which
-is defined in openssl, but not in libressl.
----
- src/network/ssl/qsslcontext_openssl.cpp | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-Index: qtbase-opensource-src-5.8.0/src/network/ssl/qsslcontext_openssl.cpp
-===================================================================
---- qtbase-opensource-src-5.8.0.orig/src/network/ssl/qsslcontext_openssl.cpp
-+++ qtbase-opensource-src-5.8.0/src/network/ssl/qsslcontext_openssl.cpp
-@@ -351,7 +351,7 @@ init_context:
- 
-     const QVector<QSslEllipticCurve> qcurves = sslContext->sslConfiguration.ellipticCurves();
-     if (!qcurves.isEmpty()) {
--#if OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#if OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         // Set the curves to be used
-         if (q_SSLeay() >= 0x10002000L) {
-             // SSL_CTX_ctrl wants a non-const pointer as last argument,
-@@ -364,7 +364,7 @@ init_context:
-                 sslContext->errorCode = QSslError::UnspecifiedError;
-             }
-         } else
--#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && !defined(OPENSSL_NO_EC)
-+#endif // OPENSSL_VERSION_NUMBER >= 0x10002000L && defined(SSL_CTRL_SET_CURVES) && !defined(OPENSSL_NO_EC)
-         {
-             // specific curves requested, but not possible to set -> error
-             sslContext->errorStr = msgErrorSettingEllipticCurves(QSslSocket::tr("OpenSSL version too old, need at least v1.0.2"));
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-common-mac.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-common-mac.patch
deleted file mode 100644
index b77f87781226..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-common-mac.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- qtbase-opensource-src-5.9.1.orig/mkspecs/common/mac.conf	2017-09-16 16:40:30.000000000 +0800
-+++ qtbase-opensource-src-5.9.1/mkspecs/common/mac.conf	2017-09-16 16:41:27.000000000 +0800
-@@ -23,7 +23,7 @@
- 
- QMAKE_FIX_RPATH         = install_name_tool -id
- 
--QMAKE_LFLAGS_RPATH      = -Wl,-rpath,
-+QMAKE_LFLAGS_RPATH      =
- QMAKE_LFLAGS_GCSECTIONS = -Wl,-dead_strip
- 
- QMAKE_LFLAGS_REL_RPATH  =
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-features-mac.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-features-mac.patch
deleted file mode 100644
index 46d950a767bb..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/mkspecs-features-mac.patch
+++ /dev/null
@@ -1,292 +0,0 @@
-diff -u -r qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/default_post.prf qtbase-opensource-src-5.9.2/mkspecs/features/mac/default_post.prf
---- qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/default_post.prf	2017-10-14 12:31:04.000000000 +0800
-+++ qtbase-opensource-src-5.9.2/mkspecs/features/mac/default_post.prf	2017-10-14 12:42:02.000000000 +0800
-@@ -24,166 +24,3 @@
-         }
-     }
- }
--
--# Add the same default rpaths as Xcode does for new projects.
--# This is especially important for iOS/tvOS/watchOS where no other option is possible.
--!no_default_rpath {
--    QMAKE_RPATHDIR += @executable_path/Frameworks
--    equals(TEMPLATE, lib):!plugin:lib_bundle: QMAKE_RPATHDIR += @loader_path/Frameworks
--}
--
--# Don't pass -headerpad_max_install_names when using Bitcode.
--# In that case the linker emits a warning stating that the flag is ignored when
--# used with bitcode, for reasons that cannot be determined (rdar://problem/20748962).
--# Using this flag is also unnecessary in practice on UIKit platforms since they
--# are sandboxed, and only UIKit platforms support bitcode to begin with.
--!bitcode: QMAKE_LFLAGS += $$QMAKE_LFLAGS_HEADERPAD
--
--app_extension_api_only {
--    QMAKE_CFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS            += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_CXXFLAGS_PRECOMPILE += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--    QMAKE_LFLAGS              += $$QMAKE_CFLAGS_APPLICATION_EXTENSION
--}
--
--macx-xcode {
--    !isEmpty(QMAKE_XCODE_DEBUG_INFORMATION_FORMAT) {
--        debug_information_format.name = DEBUG_INFORMATION_FORMAT
--        debug_information_format.value = $$QMAKE_XCODE_DEBUG_INFORMATION_FORMAT
--        debug_information_format.build = debug
--        QMAKE_MAC_XCODE_SETTINGS += debug_information_format
--    }
--
--    QMAKE_XCODE_ARCHS =
--
--    arch_device.name = "ARCHS[sdk=$${device.sdk}*]"
--    arch_device.value = $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_DEVICE_ARCHS
--    QMAKE_MAC_XCODE_SETTINGS += arch_device
--
--    simulator {
--        arch_simulator.name = "ARCHS[sdk=$${simulator.sdk}*]"
--        arch_simulator.value = $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_XCODE_ARCHS += $$QMAKE_APPLE_SIMULATOR_ARCHS
--        QMAKE_MAC_XCODE_SETTINGS += arch_simulator
--    }
--
--    only_active_arch.name = ONLY_ACTIVE_ARCH
--    only_active_arch.value = YES
--    only_active_arch.build = debug
--    QMAKE_MAC_XCODE_SETTINGS += only_active_arch
--} else {
--    device|!simulator: VALID_DEVICE_ARCHS = $$QMAKE_APPLE_DEVICE_ARCHS
--    simulator: VALID_SIMULATOR_ARCHS = $$QMAKE_APPLE_SIMULATOR_ARCHS
--    VALID_ARCHS = $$VALID_DEVICE_ARCHS $$VALID_SIMULATOR_ARCHS
--
--    isEmpty(VALID_ARCHS): \
--        error("QMAKE_APPLE_DEVICE_ARCHS or QMAKE_APPLE_SIMULATOR_ARCHS must contain at least one architecture")
--
--    single_arch: VALID_ARCHS = $$first(VALID_ARCHS)
--
--    ACTIVE_ARCHS = $(filter $(EXPORT_VALID_ARCHS), $(ARCHS))
--    ARCH_ARGS = $(foreach arch, $(if $(EXPORT_ACTIVE_ARCHS), $(EXPORT_ACTIVE_ARCHS), $(EXPORT_VALID_ARCHS)), -arch $(arch))
--
--    QMAKE_EXTRA_VARIABLES += VALID_ARCHS ACTIVE_ARCHS ARCH_ARGS
--
--    arch_flags = $(EXPORT_ARCH_ARGS)
--
--    QMAKE_CFLAGS += $$arch_flags
--    QMAKE_CXXFLAGS += $$arch_flags
--    QMAKE_LFLAGS += $$arch_flags
--
--    QMAKE_PCH_ARCHS = $$VALID_ARCHS
--
--    macos: deployment_target = $$QMAKE_MACOSX_DEPLOYMENT_TARGET
--    ios: deployment_target = $$QMAKE_IOS_DEPLOYMENT_TARGET
--    tvos: deployment_target = $$QMAKE_TVOS_DEPLOYMENT_TARGET
--    watchos: deployment_target = $$QMAKE_WATCHOS_DEPLOYMENT_TARGET
--
--    # If we're doing a simulator and device build, device and simulator
--    # architectures use different paths and flags for the sysroot and
--    # deployment target switch, so we must multiplex them across multiple
--    # architectures using -Xarch. Otherwise we fall back to the simple path.
--    # This is not strictly necessary, but results in cleaner command lines
--    # and makes it easier for people to override EXPORT_VALID_ARCHS to limit
--    # individual rules to a different set of architecture(s) from the overall
--    # build (such as machtest in QtCore).
--    simulator:device {
--        QMAKE_XARCH_CFLAGS =
--        QMAKE_XARCH_LFLAGS =
--        QMAKE_EXTRA_VARIABLES += QMAKE_XARCH_CFLAGS QMAKE_XARCH_LFLAGS
--
--        for (arch, VALID_ARCHS) {
--            contains(VALID_SIMULATOR_ARCHS, $$arch) {
--                sdk = $$simulator.sdk
--                version_identifier = $$simulator.deployment_identifier
--            } else {
--                sdk = $$device.sdk
--                version_identifier = $$device.deployment_identifier
--            }
--
--            version_min_flags = \
--                -Xarch_$${arch} \
--                -m$${version_identifier}-version-min=$$deployment_target
--            QMAKE_XARCH_CFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -isysroot$$xcodeSDKInfo(Path, $$sdk)
--            QMAKE_XARCH_LFLAGS_$${arch} = $$version_min_flags \
--                -Xarch_$${arch} \
--                -Wl,-syslibroot,$$xcodeSDKInfo(Path, $$sdk)
--
--            QMAKE_XARCH_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS_$${arch})
--            QMAKE_XARCH_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS_$${arch})
--
--            QMAKE_EXTRA_VARIABLES += \
--                QMAKE_XARCH_CFLAGS_$${arch} \
--                QMAKE_XARCH_LFLAGS_$${arch}
--        }
--
--        QMAKE_CFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_CXXFLAGS += $(EXPORT_QMAKE_XARCH_CFLAGS)
--        QMAKE_LFLAGS += $(EXPORT_QMAKE_XARCH_LFLAGS)
--    } else {
--        simulator: \
--            version_identifier = $$simulator.deployment_identifier
--        else: \
--            version_identifier = $$device.deployment_identifier
--        version_min_flag = -m$${version_identifier}-version-min=$$deployment_target
--        QMAKE_CFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_CXXFLAGS += -isysroot $$QMAKE_MAC_SDK_PATH $$version_min_flag
--        QMAKE_LFLAGS += -Wl,-syslibroot,$$QMAKE_MAC_SDK_PATH $$version_min_flag
--    }
--
--    # Enable precompiled headers for multiple architectures
--    QMAKE_CFLAGS_USE_PRECOMPILE =
--    for (arch, VALID_ARCHS) {
--        icc_pch_style: \
--            use_flag = "-pch-use "
--        else: \
--            use_flag = -include
--
--        # Only use Xarch with multi-arch, as the option confuses ccache
--        count(VALID_ARCHS, 1, greaterThan): \
--            QMAKE_CFLAGS_USE_PRECOMPILE += \
--                -Xarch_$${arch}
--
--        QMAKE_CFLAGS_USE_PRECOMPILE += \
--            $${use_flag}${QMAKE_PCH_OUTPUT_$${arch}}
--    }
--    icc_pch_style {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE -include ${QMAKE_PCH_INPUT}
--        QMAKE_CFLAGS_USE_PRECOMPILE =
--    } else {
--        QMAKE_CXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--        QMAKE_OBJCXXFLAGS_USE_PRECOMPILE = $$QMAKE_CFLAGS_USE_PRECOMPILE
--    }
--
--    QMAKE_PCH_OUTPUT_EXT = _${QMAKE_PCH_ARCH}$${QMAKE_PCH_OUTPUT_EXT}
--}
--
--cache(QMAKE_XCODE_DEVELOPER_PATH, stash)
--!isEmpty(QMAKE_XCODE_VERSION): \
--    cache(QMAKE_XCODE_VERSION, stash)
--
--QMAKE_XCODE_LIBRARY_SUFFIX = $$qtPlatformTargetSuffix()
-diff -u -r qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/default_pre.prf qtbase-opensource-src-5.9.2/mkspecs/features/mac/default_pre.prf
---- qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/default_pre.prf	2017-10-14 12:31:04.000000000 +0800
-+++ qtbase-opensource-src-5.9.2/mkspecs/features/mac/default_pre.prf	2017-10-14 12:42:02.000000000 +0800
-@@ -1,56 +1,2 @@
- CONFIG = asset_catalogs rez $$CONFIG
- load(default_pre)
--
--isEmpty(QMAKE_XCODE_DEVELOPER_PATH) {
--    # Get path of Xcode's Developer directory
--    QMAKE_XCODE_DEVELOPER_PATH = $$system("/usr/bin/xcode-select --print-path 2>/dev/null")
--    isEmpty(QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode path is not set. Please use xcode-select to choose Xcode installation path.")
--
--    # Make sure Xcode path is valid
--    !exists($$QMAKE_XCODE_DEVELOPER_PATH): \
--        error("Xcode is not installed in $${QMAKE_XCODE_DEVELOPER_PATH}. Please use xcode-select to choose Xcode installation path.")
--}
--
--isEmpty(QMAKE_XCODEBUILD_PATH): \
--    QMAKE_XCODEBUILD_PATH = $$system("/usr/bin/xcrun -find xcodebuild 2>/dev/null")
--
--!isEmpty(QMAKE_XCODEBUILD_PATH) {
--    # Make sure Xcode is set up properly
--    !system("/usr/bin/xcrun xcodebuild -license check 2>/dev/null"): \
--        error("Xcode not set up properly. You need to confirm the license agreement by running 'sudo xcrun xcodebuild -license accept'.")
--
--    isEmpty(QMAKE_XCODE_VERSION) {
--        # Extract Xcode version using xcodebuild
--        xcode_version = $$system("/usr/bin/xcrun xcodebuild -version")
--        QMAKE_XCODE_VERSION = $$member(xcode_version, 1)
--        isEmpty(QMAKE_XCODE_VERSION): error("Could not resolve Xcode version.")
--        unset(xcode_version)
--    }
--}
--
--isEmpty(QMAKE_TARGET_BUNDLE_PREFIX) {
--    QMAKE_XCODE_PREFERENCES_FILE = $$(HOME)/Library/Preferences/com.apple.dt.Xcode.plist
--    exists($$QMAKE_XCODE_PREFERENCES_FILE): \
--        QMAKE_TARGET_BUNDLE_PREFIX = $$system("/usr/libexec/PlistBuddy -c 'print IDETemplateOptions:bundleIdentifierPrefix' $$QMAKE_XCODE_PREFERENCES_FILE 2>/dev/null")
--
--    !isEmpty(_QMAKE_CACHE_):!isEmpty(QMAKE_TARGET_BUNDLE_PREFIX): \
--        cache(QMAKE_TARGET_BUNDLE_PREFIX)
--}
--
--QMAKE_ASSET_CATALOGS_APP_ICON = AppIcon
--
--# Make the default debug info format for static debug builds
--# DWARF instead of DWARF with dSYM. This cuts down build times
--# for application debug builds significantly, as Xcode doesn't
--# have to pull out all the DWARF info from the Qt static libs
--# and put it into a dSYM file. We don't need that dSYM file in
--# the first place, since the information is available in the
--# object files inside the archives (static libraries).
--macx-xcode:qtConfig(static): \
--    QMAKE_XCODE_DEBUG_INFORMATION_FORMAT = dwarf
--
--# This variable is used by the xcode_dynamic_library_suffix
--# feature, which allows Xcode to choose the Qt libraries to link to
--# at build time, depending on the current Xcode SDK and configuration.
--QMAKE_XCODE_LIBRARY_SUFFIX_SETTING = QT_LIBRARY_SUFFIX
-diff -u -r qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/sdk.prf qtbase-opensource-src-5.9.2/mkspecs/features/mac/sdk.prf
---- qtbase-opensource-src-5.9.2.orig/mkspecs/features/mac/sdk.prf	2017-10-14 12:31:04.000000000 +0800
-+++ qtbase-opensource-src-5.9.2/mkspecs/features/mac/sdk.prf	2017-10-14 12:42:10.000000000 +0800
-@@ -1,58 +0,0 @@
--
--isEmpty(QMAKE_MAC_SDK): \
--    error("QMAKE_MAC_SDK must be set when using CONFIG += sdk.")
--
--contains(QMAKE_MAC_SDK, .*/.*): \
--    error("QMAKE_MAC_SDK can only contain short-form SDK names (eg. macosx, iphoneos)")
--
--defineReplace(xcodeSDKInfo) {
--    info = $$1
--    equals(info, "Path"): \
--        info = --show-sdk-path
--    equals(info, "PlatformPath"): \
--        info = --show-sdk-platform-path
--    equals(info, "SDKVersion"): \
--        info = --show-sdk-version
--    sdk = $$2
--    isEmpty(sdk): \
--        sdk = $$QMAKE_MAC_SDK
--
--    isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}) {
--        QMAKE_MAC_SDK.$${sdk}.$${info} = $$system("/usr/bin/xcrun --sdk $$sdk $$info 2>/dev/null")
--        # --show-sdk-platform-path won't work for Command Line Tools; this is fine
--        # only used by the XCTest backend to testlib
--        isEmpty(QMAKE_MAC_SDK.$${sdk}.$${info}):if(!isEmpty(QMAKE_XCODEBUILD_PATH)|!equals(info, "--show-sdk-platform-path")): \
--            error("Could not resolve SDK $$info for \'$$sdk\'")
--        cache(QMAKE_MAC_SDK.$${sdk}.$${info}, set stash, QMAKE_MAC_SDK.$${sdk}.$${info})
--    }
--
--    return($$eval(QMAKE_MAC_SDK.$${sdk}.$${info}))
--}
--
--QMAKE_MAC_SDK_PATH = $$xcodeSDKInfo(Path)
--QMAKE_MAC_SDK_PLATFORM_PATH = $$xcodeSDKInfo(PlatformPath)
--QMAKE_MAC_SDK_VERSION = $$xcodeSDKInfo(SDKVersion)
--
--sysrootified =
--for(val, QMAKE_INCDIR_OPENGL): sysrootified += $${QMAKE_MAC_SDK_PATH}$$val
--QMAKE_INCDIR_OPENGL = $$sysrootified
--
--QMAKESPEC_NAME = $$basename(QMAKESPEC)
--
--# Resolve SDK version of various tools
--for(tool, $$list(QMAKE_CC QMAKE_CXX QMAKE_FIX_RPATH QMAKE_AR QMAKE_RANLIB QMAKE_LINK QMAKE_LINK_SHLIB QMAKE_ACTOOL)) {
--    tool_variable = QMAKE_MAC_SDK.$${QMAKESPEC_NAME}.$${QMAKE_MAC_SDK}.$${tool}
--    !isEmpty($$tool_variable) {
--        $$tool = $$eval($$tool_variable)
--        next()
--    }
--
--    value = $$eval($$tool)
--    isEmpty(value): next()
--
--    sysrooted = $$system("/usr/bin/xcrun -sdk $$QMAKE_MAC_SDK -find $$first(value) 2>/dev/null")
--    isEmpty(sysrooted): next()
--
--    $$tool = $$sysrooted $$member(value, 1, -1)
--    cache($$tool_variable, set stash, $$tool)
--}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/qgtk-env.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/qgtk-env.patch
deleted file mode 100644
index 8e5e2c71828a..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/qgtk-env.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-Index: qtbase-opensource-src-5.8.0/src/plugins/platformthemes/gtk3/main.cpp
-===================================================================
---- qtbase-opensource-src-5.8.0.orig/src/plugins/platformthemes/gtk3/main.cpp
-+++ qtbase-opensource-src-5.8.0/src/plugins/platformthemes/gtk3/main.cpp
-@@ -39,6 +39,7 @@
- 
- #include <qpa/qplatformthemeplugin.h>
- #include "qgtk3theme.h"
-+#include <QFile>
- 
- QT_BEGIN_NAMESPACE
- 
-@@ -54,8 +55,22 @@ public:
- QPlatformTheme *QGtk3ThemePlugin::create(const QString &key, const QStringList &params)
- {
-     Q_UNUSED(params);
--    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive))
-+    if (!key.compare(QLatin1String(QGtk3Theme::name), Qt::CaseInsensitive)) {
-+
-+#ifdef NIXPKGS_QGTK3_XDG_DATA_DIRS
-+        QStringList XDG_DATA_DIRS = QFile::decodeName(qgetenv("XDG_DATA_DIRS")).split(':');
-+        XDG_DATA_DIRS << QLatin1String(NIXPKGS_QGTK3_XDG_DATA_DIRS);
-+        qputenv("XDG_DATA_DIRS", QFile::encodeName(XDG_DATA_DIRS.join(':')));
-+#endif
-+
-+#ifdef NIXPKGS_QGTK3_GIO_EXTRA_MODULES
-+        QStringList GIO_EXTRA_MODULES = QFile::decodeName(qgetenv("GIO_EXTRA_MODULES")).split(':');
-+        GIO_EXTRA_MODULES << QLatin1String(NIXPKGS_QGTK3_GIO_EXTRA_MODULES);
-+        qputenv("GIO_EXTRA_MODULES", QFile::encodeName(GIO_EXTRA_MODULES.join(':')));
-+#endif
-+
-         return new QGtk3Theme;
-+    }
- 
-     return 0;
- }
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/qnativesocketengine-type-pun.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/qnativesocketengine-type-pun.patch
deleted file mode 100644
index ad40dfab2f7b..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/qnativesocketengine-type-pun.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-Index: qtbase-opensource-src-5.8.0/src/network/socket/qnativesocketengine_unix.cpp
-===================================================================
---- qtbase-opensource-src-5.8.0.orig/src/network/socket/qnativesocketengine_unix.cpp
-+++ qtbase-opensource-src-5.8.0/src/network/socket/qnativesocketengine_unix.cpp
-@@ -979,7 +979,8 @@ qint64 QNativeSocketEnginePrivate::nativ
-             if (cmsgptr->cmsg_len == CMSG_LEN(sizeof(int))
-                     && ((cmsgptr->cmsg_level == IPPROTO_IPV6 && cmsgptr->cmsg_type == IPV6_HOPLIMIT)
-                         || (cmsgptr->cmsg_level == IPPROTO_IP && cmsgptr->cmsg_type == IP_TTL))) {
--                header->hopLimit = *reinterpret_cast<int *>(CMSG_DATA(cmsgptr));
-+                int *ttl = reinterpret_cast<int *>(CMSG_DATA(cmsgptr));
-+                header->hopLimit = *ttl;
-             }
- 
- #ifndef QT_NO_SCTP
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/series b/pkgs/development/libraries/qt-5/5.9/qtbase/series
deleted file mode 100644
index 4f354e87c847..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/series
+++ /dev/null
@@ -1,9 +0,0 @@
-dlopen-resolv.patch
-tzdir.patch
-dlopen-libXcursor.patch
-library-paths.patch
-libressl.patch
-dlopen-gl.patch
-compose-search-path.patch
-cmake-paths.patch
-qgtk-env.patch
diff --git a/pkgs/development/libraries/qt-5/5.9/qtbase/tzdir.patch b/pkgs/development/libraries/qt-5/5.9/qtbase/tzdir.patch
deleted file mode 100644
index d57f24c3ed0a..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtbase/tzdir.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-Index: qtbase-opensource-src-5.9.0/src/corelib/tools/qtimezoneprivate_tz.cpp
-===================================================================
---- qtbase-opensource-src-5.9.0.orig/src/corelib/tools/qtimezoneprivate_tz.cpp
-+++ qtbase-opensource-src-5.9.0/src/corelib/tools/qtimezoneprivate_tz.cpp
-@@ -70,7 +70,11 @@ typedef QHash<QByteArray, QTzTimeZone> Q
- // Parse zone.tab table, assume lists all installed zones, if not will need to read directories
- static QTzTimeZoneHash loadTzTimeZones()
- {
--    QString path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-+    // Try TZDIR first, in case we're running on NixOS.
-+    QString path = QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/zone.tab");
-+    // Fallback to traditional paths in case we are not on NixOS.
-+    if (!QFile::exists(path))
-+        path = QStringLiteral("/usr/share/zoneinfo/zone.tab");
-     if (!QFile::exists(path))
-         path = QStringLiteral("/usr/lib/zoneinfo/zone.tab");
- 
-@@ -643,12 +647,16 @@ void QTzTimeZonePrivate::init(const QByt
-         if (!tzif.open(QIODevice::ReadOnly))
-             return;
-     } else {
--        // Open named tz, try modern path first, if fails try legacy path
--        tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+        // Try TZDIR first, in case we're running on NixOS
-+        tzif.setFileName(QFile::decodeName(qgetenv("TZDIR")) + QStringLiteral("/") + QString::fromLocal8Bit(ianaId));
-         if (!tzif.open(QIODevice::ReadOnly)) {
--            tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
--            if (!tzif.open(QIODevice::ReadOnly))
--                return;
-+            // Open named tz, try modern path first, if fails try legacy path
-+            tzif.setFileName(QLatin1String("/usr/share/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+            if (!tzif.open(QIODevice::ReadOnly)) {
-+                tzif.setFileName(QLatin1String("/usr/lib/zoneinfo/") + QString::fromLocal8Bit(ianaId));
-+                if (!tzif.open(QIODevice::ReadOnly))
-+                    return;
-+            }
-         }
-     }
- 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtcharts.nix b/pkgs/development/libraries/qt-5/5.9/qtcharts.nix
deleted file mode 100644
index afc09e3eeb58..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtcharts.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtcharts";
-  qtInputs = [ qtbase qtdeclarative ];
-  outputs = [ "bin" "dev" "out" ];
-  postInstall = ''
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtconnectivity.nix b/pkgs/development/libraries/qt-5/5.9/qtconnectivity.nix
deleted file mode 100644
index 8153f0d40785..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtconnectivity.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtconnectivity";
-  qtInputs = [ qtbase qtdeclarative ];
-  outputs = [ "bin" "dev" "out" ];
-  postInstall = ''
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch b/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
new file mode 100644
index 000000000000..bb1bbbeb05e0
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.9/qtdeclarative.patch
@@ -0,0 +1,33 @@
+diff --git a/src/qml/qml/qqmlimport.cpp b/src/qml/qml/qqmlimport.cpp
+index ee5b38717..bbccef8c4 100644
+--- a/src/qml/qml/qqmlimport.cpp
++++ b/src/qml/qml/qqmlimport.cpp
+@@ -1678,6 +1678,15 @@ QQmlImportDatabase::QQmlImportDatabase(QQmlEngine *e)
+     QString installImportsPath =  QLibraryInfo::location(QLibraryInfo::Qml2ImportsPath);
+     addImportPath(installImportsPath);
+ 
++    // Add import paths derived from PATH
++    const QStringList paths = QFile::decodeName(qgetenv("PATH")).split(':');
++    const QString qmldir = QStringLiteral("../" NIXPKGS_QML2_IMPORT_PREFIX);
++    for (const QString &path: paths) {
++        if (!path.isEmpty()) {
++            addImportPath(QDir::cleanPath(path + QDir::separator() + qmldir));
++        }
++    }
++
+     // env import paths
+     if (Q_UNLIKELY(!qEnvironmentVariableIsEmpty("QML2_IMPORT_PATH"))) {
+         const QByteArray envImportPath = qgetenv("QML2_IMPORT_PATH");
+diff --git a/tools/qmlcachegen/qmlcache.prf b/tools/qmlcachegen/qmlcache.prf
+index 330da358b..cdf570205 100644
+--- a/tools/qmlcachegen/qmlcache.prf
++++ b/tools/qmlcachegen/qmlcache.prf
+@@ -44,7 +44,7 @@ defineReplace(qmlCacheOutputFileName) {
+ }
+ 
+ qmlcacheinst.base = $$QMLCACHE_DESTDIR
+-qmlcacheinst.path = $$[QT_INSTALL_QML]/$$TARGETPATH
++qmlcacheinst.path = $$NIX_OUTPUT_QML/$$TARGETPATH
+ qmlcacheinst.CONFIG = no_check_exist
+ 
+ qmlcachegen.input = CACHEGEN_FILES
diff --git a/pkgs/development/libraries/qt-5/5.9/qtdeclarative/default.nix b/pkgs/development/libraries/qt-5/5.9/qtdeclarative/default.nix
deleted file mode 100644
index 39b4d35ef36c..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtdeclarative/default.nix
+++ /dev/null
@@ -1,20 +0,0 @@
-{ stdenv, qtSubmodule, copyPathsToStore, python2, qtbase, qtsvg, qtxmlpatterns }:
-
-with stdenv.lib;
-
-qtSubmodule {
-  name = "qtdeclarative";
-  patches = copyPathsToStore (readPathsFromFile ./. ./series);
-  qtInputs = [ qtbase qtsvg qtxmlpatterns ];
-  nativeBuildInputs = [ python2 ];
-  outputs = [ "bin" "dev" "out" ];
-
-  preConfigure = ''
-    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QML2_IMPORT_PREFIX=\"$qtQmlPrefix\""
-  '';
-
-  postInstall = ''
-    moveToOutput "$qtPluginPrefix" "$bin"
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtdeclarative/series b/pkgs/development/libraries/qt-5/5.9/qtdeclarative/series
deleted file mode 100644
index 38abb916a508..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtdeclarative/series
+++ /dev/null
@@ -1 +0,0 @@
-import-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.9/qtgraphicaleffects.nix b/pkgs/development/libraries/qt-5/5.9/qtgraphicaleffects.nix
deleted file mode 100644
index 3273f12eb830..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtgraphicaleffects.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtgraphicaleffects";
-  qtInputs = [ qtdeclarative ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtimageformats.nix b/pkgs/development/libraries/qt-5/5.9/qtimageformats.nix
deleted file mode 100644
index 03d0fffbe80e..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtimageformats.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtimageformats";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtlocation.nix b/pkgs/development/libraries/qt-5/5.9/qtlocation.nix
deleted file mode 100644
index f883fd4ff40f..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtlocation.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ qtSubmodule, qtbase, qtmultimedia }:
-
-qtSubmodule {
-  name = "qtlocation";
-  qtInputs = [ qtbase qtmultimedia ];
-  outputs = [ "bin" "dev" "out" ];
-  postInstall = ''
-    moveToOutput "$qtPluginPrefix" "$bin"
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
-  # Linking with -lclipper fails with parallel build enabled
-  enableParallelBuilding = false;
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtquickcontrols2.nix b/pkgs/development/libraries/qt-5/5.9/qtquickcontrols2.nix
deleted file mode 100644
index 37d7d59f8153..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtquickcontrols2.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ qtSubmodule, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtquickcontrols2";
-  qtInputs = [ qtdeclarative ];
-  outputs = [ "bin" "dev" "out" ];
-  postInstall = ''
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtscript/0001-glib-2.32.patch b/pkgs/development/libraries/qt-5/5.9/qtscript.patch
index 887e107b6c1b..5508dec1280e 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtscript/0001-glib-2.32.patch
+++ b/pkgs/development/libraries/qt-5/5.9/qtscript.patch
@@ -1,12 +1,3 @@
-From abd80356449bb36c8adcc5c9ca1df6b47715d265 Mon Sep 17 00:00:00 2001
-From: Thomas Tuegel <ttuegel@gmail.com>
-Date: Sun, 23 Aug 2015 09:13:34 -0500
-Subject: [PATCH] glib-2.32
-
----
- src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
 diff --git a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h b/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
 index 1f6d25e..087c3fb 100644
 --- a/src/3rdparty/javascriptcore/JavaScriptCore/wtf/Threading.h
@@ -20,6 +11,3 @@ index 1f6d25e..087c3fb 100644
  typedef struct _GCond GCond;
  #endif
  
--- 
-2.5.0
-
diff --git a/pkgs/development/libraries/qt-5/5.9/qtscript/default.nix b/pkgs/development/libraries/qt-5/5.9/qtscript/default.nix
deleted file mode 100644
index 127766e2ebd6..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtscript/default.nix
+++ /dev/null
@@ -1,7 +0,0 @@
-{ qtSubmodule, qtbase, qttools }:
-
-qtSubmodule {
-  name = "qtscript";
-  qtInputs = [ qtbase qttools ];
-  patches = [ ./0001-glib-2.32.patch ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtsensors.nix b/pkgs/development/libraries/qt-5/5.9/qtsensors.nix
deleted file mode 100644
index 4127d00b7693..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtsensors.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ stdenv, qtSubmodule, qtbase, qtdeclarative }:
-
-with stdenv.lib;
-
-qtSubmodule {
-  name = "qtsensors";
-  qtInputs = [ qtbase qtdeclarative ];
-  outputs = [ "bin" "dev" "out" ];
-  postInstall = ''
-    moveToOutput "$qtPluginPrefix" "$bin"
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.6/qtserialport/qtserialport-dlopen-udev.patch b/pkgs/development/libraries/qt-5/5.9/qtserialport.patch
index 65bb64710ebd..f25524e80bcf 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtserialport/qtserialport-dlopen-udev.patch
+++ b/pkgs/development/libraries/qt-5/5.9/qtserialport.patch
@@ -1,8 +1,8 @@
-Index: qtserialport-opensource-src-5.8.0/src/serialport/qtudev_p.h
-===================================================================
---- qtserialport-opensource-src-5.8.0.orig/src/serialport/qtudev_p.h
-+++ qtserialport-opensource-src-5.8.0/src/serialport/qtudev_p.h
-@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QL
+diff --git a/src/serialport/qtudev_p.h b/src/serialport/qtudev_p.h
+index af2dab2..8e17f64 100644
+--- a/src/serialport/qtudev_p.h
++++ b/src/serialport/qtudev_p.h
+@@ -111,9 +111,17 @@ inline QFunctionPointer resolveSymbol(QLibrary *udevLibrary, const char *symbolN
  inline bool resolveSymbols(QLibrary *udevLibrary)
  {
      if (!udevLibrary->isLoaded()) {
diff --git a/pkgs/development/libraries/qt-5/5.9/qtserialport/series b/pkgs/development/libraries/qt-5/5.9/qtserialport/series
deleted file mode 100644
index 83f4abf094e9..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtserialport/series
+++ /dev/null
@@ -1 +0,0 @@
-qtserialport-dlopen-udev.patch
diff --git a/pkgs/development/libraries/qt-5/5.9/qtsvg.nix b/pkgs/development/libraries/qt-5/5.9/qtsvg.nix
deleted file mode 100644
index ce419731dfaf..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtsvg.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtsvg";
-  qtInputs = [ qtbase ];
-  outputs = [ "bin" "dev" "out" ];
-  postInstall = ''
-    moveToOutput "$qtPluginPrefix" "$bin"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qttools.patch b/pkgs/development/libraries/qt-5/5.9/qttools.patch
new file mode 100644
index 000000000000..fbba439ef7a5
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.9/qttools.patch
@@ -0,0 +1,71 @@
+diff --git a/src/assistant/help/Qt5HelpConfigExtras.cmake.in b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
+index 3b97923a..63336bd5 100644
+--- a/src/assistant/help/Qt5HelpConfigExtras.cmake.in
++++ b/src/assistant/help/Qt5HelpConfigExtras.cmake.in
+@@ -2,11 +2,10 @@
+ if (NOT TARGET Qt5::qcollectiongenerator)
+     add_executable(Qt5::qcollectiongenerator IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
++    if(NOT EXISTS \"${imported_location}\")
++        set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
++    endif()
+     _qt5_Help_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
+@@ -17,11 +16,7 @@ endif()
+ if (NOT TARGET Qt5::qhelpgenerator)
+     add_executable(Qt5::qhelpgenerator IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+     _qt5_Help_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::qhelpgenerator PROPERTIES
+diff --git a/src/linguist/Qt5LinguistToolsConfig.cmake.in b/src/linguist/Qt5LinguistToolsConfig.cmake.in
+index 4318b16f..d60db4ff 100644
+--- a/src/linguist/Qt5LinguistToolsConfig.cmake.in
++++ b/src/linguist/Qt5LinguistToolsConfig.cmake.in
+@@ -44,11 +44,7 @@ endmacro()
+ if (NOT TARGET Qt5::lrelease)
+     add_executable(Qt5::lrelease IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+     _qt5_LinguistTools_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::lrelease PROPERTIES
+@@ -59,11 +55,7 @@ endif()
+ if (NOT TARGET Qt5::lupdate)
+     add_executable(Qt5::lupdate IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+     _qt5_LinguistTools_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::lupdate PROPERTIES
+@@ -74,11 +66,7 @@ endif()
+ if (NOT TARGET Qt5::lconvert)
+     add_executable(Qt5::lconvert IMPORTED)
+ 
+-!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
+-    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
+-!!ELSE
+     set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
+-!!ENDIF
+     _qt5_LinguistTools_check_file_exists(${imported_location})
+ 
+     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.9/qttools/cmake-paths.patch b/pkgs/development/libraries/qt-5/5.9/qttools/cmake-paths.patch
deleted file mode 100644
index dfcba9045a75..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qttools/cmake-paths.patch
+++ /dev/null
@@ -1,88 +0,0 @@
-Index: qttools-opensource-src-5.8.0/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-===================================================================
---- qttools-opensource-src-5.8.0.orig/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-+++ qttools-opensource-src-5.8.0/src/assistant/help/Qt5HelpConfigExtras.cmake.in
-@@ -2,11 +2,10 @@
- if (NOT TARGET Qt5::qcollectiongenerator)
-     add_executable(Qt5::qcollectiongenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qcollectiongenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qcollectiongenerator PROPERTIES
-@@ -17,11 +16,10 @@ endif()
- if (NOT TARGET Qt5::qhelpgenerator)
-     add_executable(Qt5::qhelpgenerator IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5Help_install_prefix}/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}qhelpgenerator$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_Help_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::qhelpgenerator PROPERTIES
-Index: qttools-opensource-src-5.8.0/src/linguist/Qt5LinguistToolsConfig.cmake.in
-===================================================================
---- qttools-opensource-src-5.8.0.orig/src/linguist/Qt5LinguistToolsConfig.cmake.in
-+++ qttools-opensource-src-5.8.0/src/linguist/Qt5LinguistToolsConfig.cmake.in
-@@ -44,11 +44,10 @@ endmacro()
- if (NOT TARGET Qt5::lrelease)
-     add_executable(Qt5::lrelease IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lrelease$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lrelease PROPERTIES
-@@ -59,11 +58,10 @@ endif()
- if (NOT TARGET Qt5::lupdate)
-     add_executable(Qt5::lupdate IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lupdate$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lupdate PROPERTIES
-@@ -74,11 +72,10 @@ endif()
- if (NOT TARGET Qt5::lconvert)
-     add_executable(Qt5::lconvert IMPORTED)
- 
--!!IF isEmpty(CMAKE_BIN_DIR_IS_ABSOLUTE)
--    set(imported_location \"${_qt5_linguisttools_install_prefix}/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ELSE
--    set(imported_location \"$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
--!!ENDIF
-+    set(imported_location \"@NIX_OUT@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
-+    if(NOT EXISTS \"${imported_location}\")
-+        set(imported_location \"@NIX_DEV@/$${CMAKE_BIN_DIR}lconvert$$CMAKE_BIN_SUFFIX\")
-+    endif()
-     _qt5_LinguistTools_check_file_exists(${imported_location})
- 
-     set_target_properties(Qt5::lconvert PROPERTIES
diff --git a/pkgs/development/libraries/qt-5/5.9/qttools/default.nix b/pkgs/development/libraries/qt-5/5.9/qttools/default.nix
deleted file mode 100644
index 38d8f1ebe647..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qttools/default.nix
+++ /dev/null
@@ -1,16 +0,0 @@
-{ stdenv, qtSubmodule, copyPathsToStore, qtbase }:
-
-with stdenv.lib;
-
-qtSubmodule {
-  name = "qttools";
-  qtInputs = [ qtbase ];
-  outputs = [ "bin" "dev" "out" ];
-  patches = copyPathsToStore (readPathsFromFile ./. ./series);
-  # qmake moves all binaries to $dev in preFixup
-  postFixup = ''
-    moveToOutput "bin/qdbus" "$bin"
-    moveToOutput "bin/qdbusviewer" "$bin"
-    moveToOutput "bin/qtpaths" "$bin"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qttools/series b/pkgs/development/libraries/qt-5/5.9/qttools/series
deleted file mode 100644
index 6cc1d3b87bca..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qttools/series
+++ /dev/null
@@ -1 +0,0 @@
-cmake-paths.patch
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwayland.nix b/pkgs/development/libraries/qt-5/5.9/qtwayland.nix
deleted file mode 100644
index 8b3072c5534d..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwayland.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ qtSubmodule, qtbase, qtquickcontrols, wayland, pkgconfig }:
-
-qtSubmodule {
-  name = "qtwayland";
-  qtInputs = [ qtbase qtquickcontrols ];
-  buildInputs = [ wayland ];
-  nativeBuildInputs = [ pkgconfig ];
-  outputs = [ "bin" "dev" "out" ];
-  postInstall = ''
-    moveToOutput "$qtPluginPrefix" "$bin"
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebchannel.nix b/pkgs/development/libraries/qt-5/5.9/qtwebchannel.nix
deleted file mode 100644
index e6a2d74e714c..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebchannel.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtwebchannel";
-  qtInputs = [ qtbase qtdeclarative ];
-  outputs = [ "bin" "dev" "out" ];
-  postInstall = ''
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
-}
-
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine/qtwebengine-paxmark-mksnapshot.patch b/pkgs/development/libraries/qt-5/5.9/qtwebengine-paxmark-mksnapshot.patch
index 5e170567ce5d..5e170567ce5d 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine/qtwebengine-paxmark-mksnapshot.patch
+++ b/pkgs/development/libraries/qt-5/5.9/qtwebengine-paxmark-mksnapshot.patch
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch b/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
new file mode 100644
index 000000000000..c78cb58f564b
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/5.9/qtwebkit.patch
@@ -0,0 +1,77 @@
+diff --git a/Source/WTF/WTF.pri b/Source/WTF/WTF.pri
+index 69e4cd1f3..3f729a75e 100644
+--- a/Source/WTF/WTF.pri
++++ b/Source/WTF/WTF.pri
+@@ -12,7 +12,7 @@ mac {
+     # Mac OS does ship libicu but not the associated header files.
+     # Therefore WebKit provides adequate header files.
+     INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH
+-    LIBS += -licucore
++    LIBS += /usr/lib/libicucore.dylib
+ } else:!use?(wchar_unicode): {
+     win32 {
+         CONFIG(static, static|shared) {
+diff --git a/Source/WebCore/plugins/qt/PluginPackageQt.cpp b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+index a923d49aa..46772a4bb 100644
+--- a/Source/WebCore/plugins/qt/PluginPackageQt.cpp
++++ b/Source/WebCore/plugins/qt/PluginPackageQt.cpp
+@@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* module = 0)
+         }
+     }
+ 
++#ifdef NIXPKGS_LIBGTK2
++    QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0);
++#else
+     QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
++#endif
+     if (library.load()) {
+         typedef void *(*gtk_init_check_ptr)(int*, char***);
+         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
+diff --git a/Source/WebCore/plugins/qt/PluginViewQt.cpp b/Source/WebCore/plugins/qt/PluginViewQt.cpp
+index de06a2fea..86fe39ef1 100644
+--- a/Source/WebCore/plugins/qt/PluginViewQt.cpp
++++ b/Source/WebCore/plugins/qt/PluginViewQt.cpp
+@@ -697,7 +697,11 @@ static Display *getPluginDisplay()
+     // support gdk based plugins (like flash) that use a different X connection.
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
++#ifdef NIXPKGS_LIBGDK2
++    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
++#else
+     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++#endif
+     if (!library.load())
+         return 0;
+ 
+diff --git a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
+index 8de65216b..38f5c05e5 100644
+--- a/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
++++ b/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
+@@ -53,7 +53,11 @@ static void messageHandler(QtMsgType type, const QMessageLogContext&, const QStr
+ 
+ static bool initializeGtk()
+ {
++#ifdef NIXPKGS_LIBGTK2
++    QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0);
++#else
+     QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
++#endif
+     if (!gtkLibrary.load())
+         return false;
+     typedef void* (*gtk_init_ptr)(void*, void*);
+diff --git a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+index d734ff684..0f6ff63d1 100644
+--- a/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
++++ b/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
+@@ -64,7 +64,11 @@ static Display* getPluginDisplay()
+     // The code below has the same effect as this one:
+     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
+ 
++#ifdef NIXPKGS_LIBGDK2
++    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
++#else
+     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
++#endif
+     if (!library.load())
+         return 0;
+ 
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-gtk.patch b/pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-gtk.patch
deleted file mode 100644
index e34eda592af7..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-gtk.patch
+++ /dev/null
@@ -1,64 +0,0 @@
-Index: qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-+++ qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginPackageQt.cpp
-@@ -136,7 +136,11 @@ static void initializeGtk(QLibrary* modu
-         }
-     }
- 
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (library.load()) {
-         typedef void *(*gtk_init_check_ptr)(int*, char***);
-         gtk_init_check_ptr gtkInitCheck = (gtk_init_check_ptr)library.resolve("gtk_init_check");
-Index: qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginViewQt.cpp
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WebCore/plugins/qt/PluginViewQt.cpp
-+++ qtwebkit-opensource-src-5.8.0/Source/WebCore/plugins/qt/PluginViewQt.cpp
-@@ -697,7 +697,11 @@ static Display *getPluginDisplay()
-     // support gdk based plugins (like flash) that use a different X connection.
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
-Index: qtwebkit-opensource-src-5.8.0/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-+++ qtwebkit-opensource-src-5.8.0/Source/WebKit2/WebProcess/Plugins/Netscape/x11/NetscapePluginX11.cpp
-@@ -64,7 +64,11 @@ static Display* getPluginDisplay()
-     // The code below has the same effect as this one:
-     // Display *gdkDisplay = gdk_x11_display_get_xdisplay(gdk_display_get_default());
- 
-+#ifdef NIXPKGS_LIBGDK2
-+    QLibrary library(QLatin1String(NIXPKGS_LIBGDK2), 0);
-+#else
-     QLibrary library(QLatin1String("libgdk-x11-2.0"), 0);
-+#endif
-     if (!library.load())
-         return 0;
- 
-Index: qtwebkit-opensource-src-5.8.0/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-+++ qtwebkit-opensource-src-5.8.0/Source/WebKit2/PluginProcess/qt/PluginProcessMainQt.cpp
-@@ -53,7 +53,11 @@ static void messageHandler(QtMsgType typ
- 
- static bool initializeGtk()
- {
-+#ifdef NIXPKGS_LIBGTK2
-+    QLibrary gtkLibrary(QLatin1String(NIXPKGS_LIBGTK2), 0);
-+#else
-     QLibrary gtkLibrary(QLatin1String("libgtk-x11-2.0"), 0);
-+#endif
-     if (!gtkLibrary.load())
-         return false;
-     typedef void* (*gtk_init_ptr)(void*, void*);
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-udev.patch b/pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-udev.patch
deleted file mode 100644
index e69de29bb2d1..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-dlopen-udev.patch
+++ /dev/null
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-icucore-darwin.patch b/pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-icucore-darwin.patch
deleted file mode 100644
index 63c653da94ef..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebkit/qtwebkit-icucore-darwin.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: qtwebkit-opensource-src-5.8.0/Source/WTF/WTF.pri
-===================================================================
---- qtwebkit-opensource-src-5.8.0.orig/Source/WTF/WTF.pri
-+++ qtwebkit-opensource-src-5.8.0/Source/WTF/WTF.pri
-@@ -12,7 +12,7 @@ mac {
-     # Mac OS does ship libicu but not the associated header files.
-     # Therefore WebKit provides adequate header files.
-     INCLUDEPATH = $${ROOT_WEBKIT_DIR}/Source/WTF/icu $$INCLUDEPATH
--    LIBS += -licucore
-+    LIBS += /usr/lib/libicucore.dylib
- } else:!use?(wchar_unicode): {
-     win32 {
-         CONFIG(static, static|shared) {
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit/series b/pkgs/development/libraries/qt-5/5.9/qtwebkit/series
deleted file mode 100644
index 140e2a3dd4e2..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebkit/series
+++ /dev/null
@@ -1,3 +0,0 @@
-qtwebkit-dlopen-gtk.patch
-qtwebkit-dlopen-udev.patch
-qtwebkit-icucore-darwin.patch
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebsockets.nix b/pkgs/development/libraries/qt-5/5.9/qtwebsockets.nix
deleted file mode 100644
index 888c1fb65348..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtwebsockets.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-{ qtSubmodule, qtbase, qtdeclarative }:
-
-qtSubmodule {
-  name = "qtwebsockets";
-  qtInputs = [ qtbase qtdeclarative ];
-  outputs = [ "bin" "dev" "out" ];
-  postInstall = ''
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/5.9/qtxmlpatterns.nix
deleted file mode 100644
index 9a8ddbba2bd2..000000000000
--- a/pkgs/development/libraries/qt-5/5.9/qtxmlpatterns.nix
+++ /dev/null
@@ -1,6 +0,0 @@
-{ qtSubmodule, qtbase }:
-
-qtSubmodule {
-  name = "qtxmlpatterns";
-  qtInputs = [ qtbase ];
-}
diff --git a/pkgs/development/libraries/qt-5/5.9/srcs.nix b/pkgs/development/libraries/qt-5/5.9/srcs.nix
index f30802472fb8..247800b75780 100644
--- a/pkgs/development/libraries/qt-5/5.9/srcs.nix
+++ b/pkgs/development/libraries/qt-5/5.9/srcs.nix
@@ -3,283 +3,275 @@
 
 {
   qt3d = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qt3d-opensource-src-5.9.2.tar.xz";
-      sha256 = "10q7npsl087sja0g2n3v0cg4n75y7sbrs3mfjcsg1wpkw8psjmf9";
-      name = "qt3d-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qt3d-opensource-src-5.9.1.tar.xz";
+      sha256 = "15j9znfnxch1n6fwz9ngi30msdzh0wlpykl53cs8g2fp2awfa7sg";
+      name = "qt3d-opensource-src-5.9.1.tar.xz";
     };
   };
   qtactiveqt = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtactiveqt-opensource-src-5.9.2.tar.xz";
-      sha256 = "1kz59ns6afnd8s73ys7hqffg9ki9g7px009b2ab72nq7f8cqsib0";
-      name = "qtactiveqt-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtactiveqt-opensource-src-5.9.1.tar.xz";
+      sha256 = "07zq60xg7nnlny7qgj6dk1ibg3fzhbdh78gpd0s6x1n822iyislg";
+      name = "qtactiveqt-opensource-src-5.9.1.tar.xz";
     };
   };
   qtandroidextras = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtandroidextras-opensource-src-5.9.2.tar.xz";
-      sha256 = "1hsx16v17iqjhs20xn7an2ad7g8djwrmxachscjhji1dvk4682nl";
-      name = "qtandroidextras-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtandroidextras-opensource-src-5.9.1.tar.xz";
+      sha256 = "0nq879jsa2z1l5q3n0hhiv15mzfm5c6s7zfblcc10sgim90p5mjj";
+      name = "qtandroidextras-opensource-src-5.9.1.tar.xz";
     };
   };
   qtbase = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtbase-opensource-src-5.9.2.tar.xz";
-      sha256 = "16v0dny4rcyd5p8qsnsfg89w98k8kqk3rp9x3g3k7xjmi53bpqkz";
-      name = "qtbase-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtbase-opensource-src-5.9.1.tar.xz";
+      sha256 = "1ikm896jzyfyjv2qv8n3fd81sxb4y24zkygx36865ygzyvlj36mw";
+      name = "qtbase-opensource-src-5.9.1.tar.xz";
     };
   };
   qtcanvas3d = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtcanvas3d-opensource-src-5.9.2.tar.xz";
-      sha256 = "1siyzgm1mjx90rwyzzq9vw2s2xzyf6n7q0vn8gw7mdim5indda44";
-      name = "qtcanvas3d-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtcanvas3d-opensource-src-5.9.1.tar.xz";
+      sha256 = "10fy8wqfw2yhha6lyky5g1a72137aj8pji7mk0wjnggh629z12sb";
+      name = "qtcanvas3d-opensource-src-5.9.1.tar.xz";
     };
   };
   qtcharts = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtcharts-opensource-src-5.9.2.tar.xz";
-      sha256 = "193a3imkgryw42s0gbwaj9gpqd673h3jrg86jvmy33l2fc5gfyjf";
-      name = "qtcharts-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtcharts-opensource-src-5.9.1.tar.xz";
+      sha256 = "180df5v7i1ki8hc3lgi6jcfdyz7f19pb73dvfkw402wa2gfcna3k";
+      name = "qtcharts-opensource-src-5.9.1.tar.xz";
     };
   };
   qtconnectivity = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtconnectivity-opensource-src-5.9.2.tar.xz";
-      sha256 = "1k7kjmlny0ykm40qx796wbsg3310v6b8hqizkbr597cmxjbrax9c";
-      name = "qtconnectivity-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtconnectivity-opensource-src-5.9.1.tar.xz";
+      sha256 = "1mbzmqix0388iq20a1ljd1pgdq259rm1xzp9kx8gigqpamqqnqs0";
+      name = "qtconnectivity-opensource-src-5.9.1.tar.xz";
     };
   };
   qtdatavis3d = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtdatavis3d-opensource-src-5.9.2.tar.xz";
-      sha256 = "1cmjjbbmdqdix1f8b7qyc2vwhj9pvchc8r4lp65qw11dhycmdbh6";
-      name = "qtdatavis3d-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtdatavis3d-opensource-src-5.9.1.tar.xz";
+      sha256 = "14d1q07winh6n1bkc616dapwfnsfkcjyg5zngdqjdj9mza8ang13";
+      name = "qtdatavis3d-opensource-src-5.9.1.tar.xz";
     };
   };
   qtdeclarative = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtdeclarative-opensource-src-5.9.2.tar.xz";
-      sha256 = "020bha6q8byxc8cj5zw7gms5rgsjg71hv31hv1rr2fy7x56zsh0d";
-      name = "qtdeclarative-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtdeclarative-opensource-src-5.9.1.tar.xz";
+      sha256 = "1zwlxrgraxhlsdkwsai3pjbz7f3a6rsnsg2mjrpay6cz3af6rznj";
+      name = "qtdeclarative-opensource-src-5.9.1.tar.xz";
     };
   };
   qtdoc = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtdoc-opensource-src-5.9.2.tar.xz";
-      sha256 = "0dfva8h8f9wpszih285qcxlfcijy52qcbfy1zy20gxh72nfi86c9";
-      name = "qtdoc-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtdoc-opensource-src-5.9.1.tar.xz";
+      sha256 = "1d2kk9wzm2261ap87nyf743a4662gll03gz5yh5qi7k620lk372x";
+      name = "qtdoc-opensource-src-5.9.1.tar.xz";
     };
   };
   qtgamepad = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtgamepad-opensource-src-5.9.2.tar.xz";
-      sha256 = "0lm5v43psf7r8zc79dcjdmmdnz4jm30ylgkvsyv8k88mj06yklbn";
-      name = "qtgamepad-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtgamepad-opensource-src-5.9.1.tar.xz";
+      sha256 = "055w4649zi93q1sl32ngqwgnl2vxw1idnm040s9gjgjb67gi81zi";
+      name = "qtgamepad-opensource-src-5.9.1.tar.xz";
     };
   };
   qtgraphicaleffects = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtgraphicaleffects-opensource-src-5.9.2.tar.xz";
-      sha256 = "0xpvigfiqfqvf05ywj8x69y57rp8dwq2hs1kpxlxs15pniz4wn8l";
-      name = "qtgraphicaleffects-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtgraphicaleffects-opensource-src-5.9.1.tar.xz";
+      sha256 = "1zsr3a5dsmpvrb5h4m4h42wqmkvkks3d8mmyrx4k0mfr6s7c71jz";
+      name = "qtgraphicaleffects-opensource-src-5.9.1.tar.xz";
     };
   };
   qtimageformats = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtimageformats-opensource-src-5.9.2.tar.xz";
-      sha256 = "1wwxxcl24mk1p4w6knyfai09axmwqsm6cgsbkjsmdz3zmjh6qqis";
-      name = "qtimageformats-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtimageformats-opensource-src-5.9.1.tar.xz";
+      sha256 = "0iwa3dys5rv706cpxwhmgircv783pmlyl1yrsc5i0rha643y7zkr";
+      name = "qtimageformats-opensource-src-5.9.1.tar.xz";
     };
   };
   qtlocation = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtlocation-opensource-src-5.9.2.tar.xz";
-      sha256 = "033b6l6jbvmc0k5qvbgh5vkzvfga7npqcphrywrrqkmx9vj446n8";
-      name = "qtlocation-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtlocation-opensource-src-5.9.1.tar.xz";
+      sha256 = "058mgvlaml9rkfhkpr1n3avhi12zlva131sqhbwj4lwwyqfkri2b";
+      name = "qtlocation-opensource-src-5.9.1.tar.xz";
     };
   };
   qtmacextras = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtmacextras-opensource-src-5.9.2.tar.xz";
-      sha256 = "0f14xkardmidvwljccrv6adcs4nyn8rzry9k74mwqn0ikvycs3my";
-      name = "qtmacextras-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtmacextras-opensource-src-5.9.1.tar.xz";
+      sha256 = "0096g9l2hwsiwlzfjkw7rhkdnyvb5gzjzyjjg9kqfnsagbwscv11";
+      name = "qtmacextras-opensource-src-5.9.1.tar.xz";
     };
   };
   qtmultimedia = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtmultimedia-opensource-src-5.9.2.tar.xz";
-      sha256 = "0815hi3cxy5zy6yc5fkdpx2xd6rk7968j1ziwl2g4wa80802g9n9";
-      name = "qtmultimedia-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtmultimedia-opensource-src-5.9.1.tar.xz";
+      sha256 = "1r76zvbv6wwb7lgw9jwlx382iyw34i1amxaypb5bg3j1niqvx3z4";
+      name = "qtmultimedia-opensource-src-5.9.1.tar.xz";
     };
   };
   qtnetworkauth = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtnetworkauth-opensource-src-5.9.2.tar.xz";
-      sha256 = "16i33m8x5yii22ciq97bpfmnw0lwhvgv84i2az30a1ikm9dg00x0";
-      name = "qtnetworkauth-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtnetworkauth-opensource-src-5.9.1.tar.xz";
+      sha256 = "1fgax3p7lqcz29z2n1qxnfpkj3wxq1x9bfx61q6nss1fs74pxzra";
+      name = "qtnetworkauth-opensource-src-5.9.1.tar.xz";
     };
   };
   qtpurchasing = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtpurchasing-opensource-src-5.9.2.tar.xz";
-      sha256 = "04f28y7qcr4kd0pw26mm515qj7haxr0i8lijn1q47wkikxyhawca";
-      name = "qtpurchasing-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtpurchasing-opensource-src-5.9.1.tar.xz";
+      sha256 = "0b1hlaq6rb7d6b6h8kqd26klcpzf9vcdjrv610kdj0drb00jg3ss";
+      name = "qtpurchasing-opensource-src-5.9.1.tar.xz";
     };
   };
   qtquickcontrols = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtquickcontrols-opensource-src-5.9.2.tar.xz";
-      sha256 = "07xxhkfsljwdwlp9jfp88pwkrig02y2pnwhdsaz8mkcackwfq2az";
-      name = "qtquickcontrols-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtquickcontrols-opensource-src-5.9.1.tar.xz";
+      sha256 = "0bpc465q822phw3dcbddn70wj1fjlc2hxskkp1z9gl7r23hx03jj";
+      name = "qtquickcontrols-opensource-src-5.9.1.tar.xz";
     };
   };
   qtquickcontrols2 = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtquickcontrols2-opensource-src-5.9.2.tar.xz";
-      sha256 = "1ln83afxyp5dmvdnq6n7as82xrd5k3xvfx7b1jxnljivslyxsm9b";
-      name = "qtquickcontrols2-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtquickcontrols2-opensource-src-5.9.1.tar.xz";
+      sha256 = "1zq86kqz85wm3n84jcxkxw5x1mrhkqzldkigf8xm3l8j24rf0fr0";
+      name = "qtquickcontrols2-opensource-src-5.9.1.tar.xz";
     };
   };
   qtremoteobjects = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtremoteobjects-opensource-src-5.9.2.tar.xz";
-      sha256 = "1ylphdwis34y4pm9xiwh2xqfd0hh2gp8kkawlps2q5mh2bm11376";
-      name = "qtremoteobjects-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtremoteobjects-opensource-src-5.9.1.tar.xz";
+      sha256 = "10kwq0fgmi6zsqhb6s1nkcydpyl8d8flzdpgmyj50c4h2xhg2km0";
+      name = "qtremoteobjects-opensource-src-5.9.1.tar.xz";
     };
   };
   qtscript = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtscript-opensource-src-5.9.2.tar.xz";
-      sha256 = "1wa0rnbphkhgydnwkf5bjwn0llskl6hgs0964nh0jik8qaspv027";
-      name = "qtscript-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtscript-opensource-src-5.9.1.tar.xz";
+      sha256 = "13qq2mjfhqdcvkmzrgxg1gr5kww1ygbwb7r71xxl6rjzbn30hshp";
+      name = "qtscript-opensource-src-5.9.1.tar.xz";
     };
   };
   qtscxml = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtscxml-opensource-src-5.9.2.tar.xz";
-      sha256 = "0pdimqwdrj8hckm81lwy1z58ji4bdv0bzgv336m0a8v3pj914awx";
-      name = "qtscxml-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtscxml-opensource-src-5.9.1.tar.xz";
+      sha256 = "1m3b6wg5hqasdfc5igpj9bq3czql5kkvvn3rx1ig508kdlh5i5s0";
+      name = "qtscxml-opensource-src-5.9.1.tar.xz";
     };
   };
   qtsensors = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtsensors-opensource-src-5.9.2.tar.xz";
-      sha256 = "1lxmhi19dbb8vjhpjph0l0ss6zh72hb4908lp4s1pgf8r641ai3r";
-      name = "qtsensors-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtsensors-opensource-src-5.9.1.tar.xz";
+      sha256 = "1772x7r6y9xv2sv0w2dfz2yhagsq5bpa9kdpzg0qikccmabr7was";
+      name = "qtsensors-opensource-src-5.9.1.tar.xz";
     };
   };
   qtserialbus = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtserialbus-opensource-src-5.9.2.tar.xz";
-      sha256 = "025yv7zajz5scrmkjkmgkyvxpgkliqvrzc88is0gr481zpd4phmv";
-      name = "qtserialbus-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtserialbus-opensource-src-5.9.1.tar.xz";
+      sha256 = "1hzk377c3zl4dm5hxwvpxg2w096m160448y9df6v6l8xpzpzxafa";
+      name = "qtserialbus-opensource-src-5.9.1.tar.xz";
     };
   };
   qtserialport = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtserialport-opensource-src-5.9.2.tar.xz";
-      sha256 = "0hndc9z7qzxazzjvc6k5yd58afw13444plk70b05nqdi5p19rvah";
-      name = "qtserialport-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtserialport-opensource-src-5.9.1.tar.xz";
+      sha256 = "0sbsc7n701kxl16r247a907zg2afmbx1xlml5jkc6a9956zqbzp1";
+      name = "qtserialport-opensource-src-5.9.1.tar.xz";
     };
   };
   qtspeech = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtspeech-opensource-src-5.9.2.tar.xz";
-      sha256 = "0cq33dffi7q7dnvzhdivky5prakb8xnwap0b76fwgirhbbn88ypg";
-      name = "qtspeech-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtspeech-opensource-src-5.9.1.tar.xz";
+      sha256 = "00daxkf8iwf6n9rhkkv3isv5qa8wijwzb0zy1f6zlm3vcc8fz75c";
+      name = "qtspeech-opensource-src-5.9.1.tar.xz";
     };
   };
   qtsvg = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtsvg-opensource-src-5.9.2.tar.xz";
-      sha256 = "020icrl9vi8jh8ygsssqrx2bl8bx28m15dwmf9a969qdnvxyp5ms";
-      name = "qtsvg-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtsvg-opensource-src-5.9.1.tar.xz";
+      sha256 = "1rg2q4snh2g4n93zmk995swwkl0ab1jr9ka9xpj56ddifkw99wlr";
+      name = "qtsvg-opensource-src-5.9.1.tar.xz";
     };
   };
   qttools = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qttools-opensource-src-5.9.2.tar.xz";
-      sha256 = "06nqsa5mj0mc9w9xbm7mgdkb66x4wlvkhnas32f97sb8ic8rdf9b";
-      name = "qttools-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qttools-opensource-src-5.9.1.tar.xz";
+      sha256 = "1s50kh3sg5wc5gqhwwznnibh7jcnfginnmkv66w62mm74k7mdsy4";
+      name = "qttools-opensource-src-5.9.1.tar.xz";
     };
   };
   qttranslations = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qttranslations-opensource-src-5.9.2.tar.xz";
-      sha256 = "0byi4s07lfnzzlr2c4sc5qg3hrysswmakwmf80q2mx50kpgnvwax";
-      name = "qttranslations-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qttranslations-opensource-src-5.9.1.tar.xz";
+      sha256 = "0sdjiqli15fmkbqvhhgjfavff906sg56jx5xf8bg6xzd2j5544ja";
+      name = "qttranslations-opensource-src-5.9.1.tar.xz";
     };
   };
   qtvirtualkeyboard = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtvirtualkeyboard-opensource-src-5.9.2.tar.xz";
-      sha256 = "1z66chp5746cb0rwy2isnpbvwjj44qvp2hg56n3g47dj901wldp8";
-      name = "qtvirtualkeyboard-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtvirtualkeyboard-opensource-src-5.9.1.tar.xz";
+      sha256 = "0k79sqa8bg6gkbsk16320gnila1iiwpnl3vx03rysm5bqdnnlx3b";
+      name = "qtvirtualkeyboard-opensource-src-5.9.1.tar.xz";
     };
   };
   qtwayland = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtwayland-opensource-src-5.9.2.tar.xz";
-      sha256 = "1ipn4xh0dj1kjg5i4vfl4gpx3hg2377w5gls47xpv1ikz41lshzn";
-      name = "qtwayland-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwayland-opensource-src-5.9.1.tar.xz";
+      sha256 = "1yizvbmh26mx1ffq0qaci02g2wihy68ld0y7r3z8nx3v5acb236g";
+      name = "qtwayland-opensource-src-5.9.1.tar.xz";
     };
   };
   qtwebchannel = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtwebchannel-opensource-src-5.9.2.tar.xz";
-      sha256 = "09iss70c1iqgf8qpik35qlgrdw5y9935v0fm2ppgkmxdxkpls6ww";
-      name = "qtwebchannel-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebchannel-opensource-src-5.9.1.tar.xz";
+      sha256 = "003h09mla82f2znb8jjigx13ivc68ikgv7w04594yy7qdmd5yhl0";
+      name = "qtwebchannel-opensource-src-5.9.1.tar.xz";
     };
   };
   qtwebengine = {
-    version = "5.9.2";
-    src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtwebengine-opensource-src-5.9.2.tar.xz";
-      sha256 = "0251qk04yif4lsn8qvkc2kmzzmaw1v3pfh5ypr06d04zb3j6kc6a";
-      name = "qtwebengine-opensource-src-5.9.2.tar.xz";
-    };
-  };
-  qtwebsockets = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtwebsockets-opensource-src-5.9.2.tar.xz";
-      sha256 = "0x0nx1ampqsgj9qlc3l32z3ham1a5vq7m2lnxk5pr92yj6yw3pdg";
-      name = "qtwebsockets-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebengine-opensource-src-5.9.1.tar.xz";
+      sha256 = "00b4d18m54pbxa1hm6ijh2mrd4wmrs7lkplys8b4liw8j7mpx8zn";
+      name = "qtwebengine-opensource-src-5.9.1.tar.xz";
     };
   };
   qtwebkit = {
@@ -298,36 +290,44 @@
       name = "qtwebkit-examples-opensource-src-5.9.1.tar.xz";
     };
   };
+  qtwebsockets = {
+    version = "5.9.1";
+    src = fetchurl {
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebsockets-opensource-src-5.9.1.tar.xz";
+      sha256 = "0r1lya2jj3wfci82zfn0vk6vr8sk9k7xiphnkb0panhb8di769q1";
+      name = "qtwebsockets-opensource-src-5.9.1.tar.xz";
+    };
+  };
   qtwebview = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtwebview-opensource-src-5.9.2.tar.xz";
-      sha256 = "1cdqw6pjfqagnwxrha0s18zadjnm65dsildxj07h2qiwqxwyrjpw";
-      name = "qtwebview-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwebview-opensource-src-5.9.1.tar.xz";
+      sha256 = "0qmxrh4y3i9n8x6yhrlnahcn75cc2xwlc8mi4g8n2d83c3x7pxyn";
+      name = "qtwebview-opensource-src-5.9.1.tar.xz";
     };
   };
   qtwinextras = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtwinextras-opensource-src-5.9.2.tar.xz";
-      sha256 = "07qq9rxl6hhl300w7qxsjjbdd5fwpszfk3rbinxklg20f6c6ixml";
-      name = "qtwinextras-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtwinextras-opensource-src-5.9.1.tar.xz";
+      sha256 = "1x7f944f3g2ml3mm594qv6jlvl5dzzsxq86yinp7av0lhnyrxk0s";
+      name = "qtwinextras-opensource-src-5.9.1.tar.xz";
     };
   };
   qtx11extras = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtx11extras-opensource-src-5.9.2.tar.xz";
-      sha256 = "1ias745j5lfnrfkgyk0pr8n8zlkqs08gq7yyzaj1c645sh54b1fv";
-      name = "qtx11extras-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtx11extras-opensource-src-5.9.1.tar.xz";
+      sha256 = "00fn3bps48gjyw0pdqvvl9scknxdpmacby6hvdrdccc3jll0wgd6";
+      name = "qtx11extras-opensource-src-5.9.1.tar.xz";
     };
   };
   qtxmlpatterns = {
-    version = "5.9.2";
+    version = "5.9.1";
     src = fetchurl {
-      url = "${mirror}/archive/qt/5.9/5.9.2/submodules/qtxmlpatterns-opensource-src-5.9.2.tar.xz";
-      sha256 = "0knk4bplqhvsxar1wv16bzfw57q0aja12gdaxz7m8mvx121sm9ha";
-      name = "qtxmlpatterns-opensource-src-5.9.2.tar.xz";
+      url = "${mirror}/official_releases/qt/5.9/5.9.1/submodules/qtxmlpatterns-opensource-src-5.9.1.tar.xz";
+      sha256 = "094wwap2fsl23cys6rxh2ciw0gxbbiqbshnn4qs1n6xdjrj6i15m";
+      name = "qtxmlpatterns-opensource-src-5.9.1.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/qt-5/README.md b/pkgs/development/libraries/qt-5/README.md
new file mode 100644
index 000000000000..c13b172e82ab
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/README.md
@@ -0,0 +1,81 @@
+# Qt 5 Maintainer's Notes
+
+## Minor Updates
+
+Let `$major` be the major version number, e.g. `5.9`.
+
+1. Change the version number in the `$major/fetch.sh`.
+2. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/qt-5/$major`
+   from the top of the Nixpkgs tree.
+
+See below if it is necessary to update any patches.
+
+## Major Updates
+
+Let `$major` be the new major version number, e.g. `5.10`.
+
+1. Copy the subdirectory from the previous major version to `$major`.
+2. Change the version number in `$major/fetch.sh`.
+3. Run `./maintainers/scripts/fetch-kde-qt.sh pkgs/development/qt-5/$major`
+   from the top of the Nixpkgs tree.
+4. Add a top-level attribute in `pkgs/top-level/all-packages.nix` for the new
+   major version.
+5. Change the `qt5` top-level attribute to point to the new major version.
+6. If the previous major version is _not_ a long-term support release,
+   remove it from Nixpkgs.
+
+See below if it is necessary to update any patches.
+
+## Patches
+
+Nixpkgs maintains several patches for Qt which cannot be submitted upstream. To
+facilitate maintenance, a fork of the upstream repository is created for each patched module:
+
+- [qtbase](https://github.com/ttuegel/qtbase)
+- [qtwebkit](https://github.com/ttuegel/qtwebkit)
+- [qttools](https://github.com/ttuegel/qttools)
+- [qtscript](https://github.com/ttuegel/qtscript)
+- [qtserialport](https://github.com/ttuegel/qtserialport)
+- [qtdeclarative](https://github.com/ttuegel/qtdeclarative)
+- [qtwebengine](https://github.com/ttuegel/qtwebengine)
+
+In each repository, the patches are contained in a branch named `nixpkgs/$major`
+for each major version. Please make a pull request to add or update any patch
+which will be maintained in Nixpkgs.
+
+The forked repository for each module is used to create a single patch in
+Nixpkgs. To recreate the patch for module `$module` (e.g. `qtbase`) at version
+`$version` (e.g. `5.9.1`) in the branch `$major` (e.g. `5.9`),
+
+1. Clone the fork for `$module` from the list above.
+2. Checkout the active branch, `git checkout nixpkgs/$major`.
+3. Compare the patched branch to the release tag,
+   `git diff v$version > $module.patch`.
+4. Copy `$module.patch` into the Nixpkgs tree.
+
+### Minor Version Updates
+
+To update module `$module` to version `$version` from an older version in the
+same branch `$major`,
+
+1. Clone the fork for `$module` from the list above.
+2. Checkout the active branch, `git checkout nixpkgs/$major`.
+3. Merge the new version into the active branch,
+   `git merge --no-ff v$version`.
+4. Fix any conflicts.
+5. Open a pull request for the changes.
+6. Follow the instructions above to recreate the module patch in Nixpkgs.
+
+### Major Version Updates
+
+To update module `$module` from `$oldversion` in branch `$oldmajor` to version
+`$version` in branch `$major`,
+
+1. Clone the fork for `$module` from the list above.
+2. Checkout a new branch for the new major version,
+   `git checkout -b nixpkgs/$major nixpkgs/$oldmajor`.
+3. Rebase the patches from `$oldversion` onto the new branch,
+   `git rebase v$oldversion --onto v$version`.
+4. Fix any conflicts.
+5. Open a pull request for the changes.
+6. Follow the instructions above to recreate the module patch in Nixpkgs.
diff --git a/pkgs/development/libraries/qt-5/hooks/fix-qt-builtin-paths.sh b/pkgs/development/libraries/qt-5/hooks/fix-qt-builtin-paths.sh
new file mode 100644
index 000000000000..4ca11a223de2
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/hooks/fix-qt-builtin-paths.sh
@@ -0,0 +1,64 @@
+# fixQtBuiltinPaths
+#
+# Usage: fixQtBuiltinPaths _dir_ _pattern_
+#
+# Fix Qt builtin paths in files matching _pattern_ under _dir_.
+#
+fixQtBuiltinPaths() {
+    local dir="$1"
+    local pattern="$2"
+    local bin="${!outputBin}"
+    local dev="${!outputDev}"
+    local doc="${!outputDoc}"
+    local lib="${!outputLib}"
+
+    if [ -d "$dir" ]; then
+        find "$dir" -name "$pattern" | while read pr_; do
+            if grep -q '\$\$\[QT_' "${pr_:?}"; then
+                echo "fixQtBuiltinPaths: Fixing Qt builtin paths in \`${pr_:?}'..."
+                sed -i "${pr_:?}" \
+                    -e "s|\\\$\\\$\\[QT_HOST_BINS[^]]*\\]|$dev/bin|g" \
+                    -e "s|\\\$\\\$\\[QT_HOST_DATA[^]]*\\]/mkspecs|$dev/mkspecs|g" \
+                    -e "s|\\\$\\\$\\[QT_HOST_PREFIX[^]]*\\]|$dev|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_ARCHDATA[^]]*\\]|$lib|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_BINS[^]]*\\]|$bin/bin|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_CONFIGURATION[^]]*\\]|$bin|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_DATA[^]]*\\]|$lib|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_DOCS[^]]*\\]|$doc/share/doc|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_EXAMPLES[^]]*\\]|$doc/examples|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_HEADERS[^]]*\\]|$dev/include|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_LIBS[^]]*\\]|$lib/lib|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_LIBEXECS[^]]*\\]|$lib/libexec|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_PLUGINS[^]]*\\]|$bin/$qtPluginPrefix|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_PREFIX[^]]*\\]|$lib|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_TESTS[^]]*\\]|$dev/tests|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_TRANSLATIONS[^]]*\\]|$lib/translations|g" \
+                    -e "s|\\\$\\\$\\[QT_INSTALL_QML[^]]*\\]|$bin/$qtQmlPrefix|g"
+            fi
+        done
+    elif [ -e "$dir" ]; then
+        if grep -q '\$\$\[QT_' "${dir:?}"; then
+            echo "fixQtBuiltinPaths: Fixing Qt builtin paths in \`${dir:?}'..."
+            sed -i "${dir:?}" \
+                -e "s|\\\$\\\$\\[QT_HOST_BINS[^]]*\\]|$dev/bin|g" \
+                -e "s|\\\$\\\$\\[QT_HOST_DATA[^]]*\\]/mkspecs|$dev/mkspecs|g" \
+                -e "s|\\\$\\\$\\[QT_HOST_PREFIX[^]]*\\]|$dev|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_ARCHDATA[^]]*\\]|$lib|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_BINS[^]]*\\]|$bin/bin|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_CONFIGURATION[^]]*\\]|$bin|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_DATA[^]]*\\]|$lib|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_DOCS[^]]*\\]|$doc/share/doc|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_EXAMPLES[^]]*\\]|$doc/examples|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_HEADERS[^]]*\\]|$dev/include|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_LIBS[^]]*\\]|$lib/lib|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_LIBEXECS[^]]*\\]|$lib/libexec|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_PLUGINS[^]]*\\]|$bin/$qtPluginPrefix|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_PREFIX[^]]*\\]|$lib|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_TESTS[^]]*\\]|$dev/tests|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_TRANSLATIONS[^]]*\\]|$lib/translations|g" \
+                -e "s|\\\$\\\$\\[QT_INSTALL_QML[^]]*\\]|$bin/$qtQmlPrefix|g"
+        fi
+    else
+        echo "fixQtBuiltinPaths: Warning: \`$dir' does not exist"
+    fi
+}
diff --git a/pkgs/development/libraries/qt-5/hooks/fix-qt-module-paths.sh b/pkgs/development/libraries/qt-5/hooks/fix-qt-module-paths.sh
new file mode 100644
index 000000000000..916981b5299f
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/hooks/fix-qt-module-paths.sh
@@ -0,0 +1,43 @@
+# fixQtModulePaths
+#
+# Usage: fixQtModulePaths _dir_
+#
+# Find Qt module definitions in directory _dir_ and patch the module paths.
+#
+fixQtModulePaths () {
+    local dir="$1"
+    local bin="${!outputBin}"
+    local dev="${!outputDev}"
+    local lib="${!outputLib}"
+
+    if [ -d "$dir" ]; then
+        find "$dir" -name 'qt_*.pri' | while read pr; do
+            if grep -q '\$\$QT_MODULE_' "${pr:?}"; then
+                echo "fixQtModulePaths: Fixing module paths in \`${pr:?}'..."
+                sed -i "${pr:?}" \
+                    -e "s|\\\$\\\$QT_MODULE_LIB_BASE|$dev/lib|g" \
+                    -e "s|\\\$\\\$QT_MODULE_HOST_LIB_BASE|$dev/lib|g" \
+                    -e "s|\\\$\\\$QT_MODULE_INCLUDE_BASE|$dev/include|g" \
+                    -e "s|\\\$\\\$QT_MODULE_BIN_BASE|$dev/bin|g"
+            fi
+        done
+    elif [ -e "$dir" ]; then
+        echo "fixQtModulePaths: Warning: \`$dir' is not a directory"
+    else
+        echo "fixQtModulePaths: Warning: \`$dir' does not exist"
+    fi
+
+    if [ "z$dev" != "z$lib" ]; then
+        if [ -d "$lib/lib" ]; then
+            mkdir -p "$dev/lib"
+            lndir -silent "$lib/lib" "$dev/lib"
+        fi
+    fi
+
+    if [ "z$bin" != "z$dev" ]; then
+        if [ -d "$bin/bin" ]; then
+            mkdir -p "$dev/bin"
+            lndir -silent "$bin/bin" "$dev/bin"
+        fi
+    fi
+}
diff --git a/pkgs/development/libraries/qt-5/hooks/fix-qt-static-libs.sh b/pkgs/development/libraries/qt-5/hooks/fix-qt-static-libs.sh
new file mode 100644
index 000000000000..2a20e77e7ba7
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/hooks/fix-qt-static-libs.sh
@@ -0,0 +1,32 @@
+# fixQtStaticLibs
+#
+# Usage: fixQtStaticLibs _lib_ _dev_
+#
+# Find static Qt libraries in output _lib_ and move them to the corresponding
+# path in output _dev_. Any QMake library definitions (*.prl files) are also
+# moved and library paths are patched.
+#
+fixQtStaticLibs() {
+    local lib="$1"
+    local dev="$2"
+
+    pushd "$lib"
+    if [ -d "lib" ]; then
+        find lib \( -name '*.a' -o -name '*.la' -o -name '*.prl' \) -print0 | \
+            while read -r -d $'\0' file; do
+                mkdir -p "$dev/$(dirname "$file")"
+                mv "$lib/$file" "$dev/$file"
+            done
+    fi
+    popd
+
+    if [ -d "$dev" ]; then
+        find "$dev" -name '*.prl' | while read prl; do
+            echo "fixQtStaticLibs: Fixing built-in paths in \`$prl'..."
+            sed -i "$prl" \
+                -e '/^QMAKE_PRL_BUILD_DIR =/d' \
+                -e '/^QMAKE_PRO_INPUT =/d' \
+                -e "s|-L\\\$\\\$NIX_OUTPUT_OUT/lib|-L$lib/lib -L$dev/lib|g"
+        done
+    fi
+}
diff --git a/pkgs/development/libraries/qt-5/hooks/move-qt-dev-tools.sh b/pkgs/development/libraries/qt-5/hooks/move-qt-dev-tools.sh
new file mode 100644
index 000000000000..85489c85105b
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/hooks/move-qt-dev-tools.sh
@@ -0,0 +1,34 @@
+updateToolPath() {
+    local tool="$1"
+    local target="$2"
+    local original="${!outputBin}/$tool"
+    local actual="${!outputDev}/$tool"
+    if grep -q "$original" "$target"; then
+        echo "updateToolPath: Updating \`$original' in \`$target\'..."
+        sed -i "$target" -e "s|$original|$actual|"
+    fi
+}
+
+moveQtDevTools() {
+    if [ -n "$devTools" ]; then
+        for tool in $devTools; do
+            moveToOutput "$tool" "${!outputDev}"
+        done
+
+        if [ -d "${!outputDev}/mkspecs" ]; then
+            find "${!outputDev}/mkspecs" -name '*.pr?' | while read pr_; do
+                for tool in $devTools; do
+                    updateToolPath "$tool" "$pr_"
+                done
+            done
+        fi
+
+        if [ -d "${!outputDev}/lib/cmake" ]; then
+            find "${!outputDev}/lib/cmake" -name '*.cmake' | while read cmake; do
+                for tool in $devTools; do
+                    updateToolPath "$tool" "$cmake"
+                done
+            done
+        fi
+    fi
+}
diff --git a/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
new file mode 100644
index 000000000000..17d3db65849e
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/hooks/qmake-hook.sh
@@ -0,0 +1,18 @@
+qmakeConfigurePhase() {
+    runHook preConfigure
+
+    qmake PREFIX=$out \
+          NIX_OUTPUT_OUT=$out \
+          NIX_OUTPUT_DEV=${!outputDev} \
+          NIX_OUTPUT_BIN=${!outputBin} \
+          NIX_OUTPUT_DOC=${!outputDev}/${qtDocPrefix:?} \
+          NIX_OUTPUT_QML=${!outputBin}/${qtQmlPrefix:?} \
+          NIX_OUTPUT_PLUGIN=${!outputBin}/${qtPluginPrefix:?} \
+          $qmakeFlags
+
+    runHook postConfigure
+}
+
+if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then
+    configurePhase=qmakeConfigurePhase
+fi
diff --git a/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
new file mode 100644
index 000000000000..258b2d09f20b
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/hooks/qtbase-setup-hook.sh
@@ -0,0 +1,87 @@
+qtPluginPrefix=@qtPluginPrefix@
+qtQmlPrefix=@qtQmlPrefix@
+qtDocPrefix=@qtDocPrefix@
+
+. @fix_qt_builtin_paths@
+. @fix_qt_module_paths@
+. @fix_qt_static_libs@
+
+providesQtRuntime() {
+    [ -d "$1/$qtPluginPrefix" ] || [ -d "$1/$qtQmlPrefix" ]
+}
+
+# Build tools are often confused if QMAKE is unset.
+QMAKE=@dev@/bin/qmake
+export QMAKE
+
+QMAKEPATH=
+export QMAKEPATH
+
+QMAKEMODULES=
+export QMAKEMODULES
+
+addToQMAKEPATH() {
+    if [ -d "$1/mkspecs" ]; then
+        QMAKEMODULES="${QMAKEMODULES}${QMAKEMODULES:+:}/mkspecs"
+        QMAKEPATH="${QMAKEPATH}${QMAKEPATH:+:}$1"
+    fi
+}
+
+# Propagate any runtime dependency of the building package.
+# Each dependency is propagated to the user environment and as a build
+# input so that it will be re-propagated to the user environment by any
+# package depending on the building package. (This is necessary in case
+# the building package does not provide runtime dependencies itself and so
+# would not be propagated to the user environment.)
+qtCrossEnvHook() {
+    addToQMAKEPATH "$1"
+    if providesQtRuntime "$1"; then
+        if [ "z${!outputBin}" != "z${!outputDev}" ]; then
+            propagatedBuildInputs+=" $1"
+        fi
+        propagatedUserEnvPkgs+=" $1"
+    fi
+}
+crossEnvHooks+=(qtCrossEnvHook)
+
+qtEnvHook() {
+    addToQMAKEPATH "$1"
+    if providesQtRuntime "$1"; then
+        if [ "z${!outputBin}" != "z${!outputDev}" ]; then
+            propagatedNativeBuildInputs+=" $1"
+        fi
+        if [ -z "$crossConfig" ]; then
+        propagatedUserEnvPkgs+=" $1"
+        fi
+    fi
+}
+envHooks+=(qtEnvHook)
+
+postPatchMkspecs() {
+    local bin="${!outputBin}"
+    local dev="${!outputDev}"
+    local doc="${!outputDoc}"
+    local lib="${!outputLib}"
+
+    moveToOutput "mkspecs" "$dev"
+
+    if [ -d "$dev/mkspecs/modules" ]; then
+        fixQtModulePaths "$dev/mkspecs/modules"
+    fi
+
+    if [ -d "$dev/mkspecs" ]; then
+        fixQtBuiltinPaths "$dev/mkspecs" '*.pr?'
+    fi
+}
+if [ -z "$dontPatchMkspecs" ]; then
+    postPhases="${postPhases}${postPhases:+ }postPatchMkspecs"
+fi
+
+postMoveQtStaticLibs() {
+    if [ "z${!outputLib}" != "z${!outputDev}" ]; then
+        fixQtStaticLibs "${!outputLib}" "${!outputDev}"
+    fi
+}
+if [ -z "$dontMoveQtStaticLibs" ]; then
+    postPhases="${postPhases}${postPhases:+ }postMoveQtStaticLibs"
+fi
diff --git a/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh b/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh
new file mode 100644
index 000000000000..b09cf5f46c9c
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/hooks/qttools-setup-hook.sh
@@ -0,0 +1 @@
+qmakeFlags="$qmakeFlags${qmakeFlags:+ }QMAKE_LRELEASE=@dev@/bin/lrelease"
diff --git a/pkgs/development/libraries/qt-5/mkDerivation.nix b/pkgs/development/libraries/qt-5/mkDerivation.nix
new file mode 100644
index 000000000000..385ebeacd8f8
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/mkDerivation.nix
@@ -0,0 +1,29 @@
+{ stdenv, lib }:
+
+let inherit (lib) optional; in
+
+{ debug }:
+
+args:
+
+let
+  args_ = {
+
+    qmakeFlags =
+      (args.qmakeFlags or [])
+      ++ optional (debug != null)
+          (if debug then "CONFIG+=debug" else "CONFIG+=release");
+
+    cmakeFlags =
+      (args.cmakeFlags or [])
+      ++ [ "-DBUILD_TESTING=OFF" ]
+      ++ optional (debug != null)
+          (if debug then "-DCMAKE_BUILD_TYPE=Debug"
+                    else "-DCMAKE_BUILD_TYPE=Release");
+
+    enableParallelBuilding = args.enableParallelBuilding or true;
+
+  };
+in
+
+stdenv.mkDerivation (args // args_)
diff --git a/pkgs/development/libraries/qt-5/modules/qtbase.nix b/pkgs/development/libraries/qt-5/modules/qtbase.nix
new file mode 100644
index 000000000000..36238b5faddf
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtbase.nix
@@ -0,0 +1,413 @@
+{
+  stdenv, lib,
+  src, patches, version, qtCompatVersion,
+
+  coreutils, bison, flex, gdb, gperf, lndir, patchelf, perl, pkgconfig, python2,
+  ruby,
+  # darwin support
+  darwin, libiconv, libcxx,
+
+  dbus, fontconfig, freetype, glib, harfbuzz, icu, libX11, libXcomposite,
+  libXcursor, libXext, libXi, libXrender, libinput, libjpeg, libpng, libtiff,
+  libxcb, libxkbcommon, libxml2, libxslt, openssl, pcre16, pcre2, sqlite, udev,
+  xcbutil, xcbutilimage, xcbutilkeysyms, xcbutilrenderutil, xcbutilwm, xlibs,
+  zlib,
+
+  # optional dependencies
+  cups ? null, mysql ? null, postgresql ? null,
+  withGtk3 ? false, dconf ? null, gtk3 ? null,
+
+  # options
+  mesaSupported ? (!stdenv.isDarwin),
+  mesa,
+  buildExamples ? false,
+  buildTests ? false,
+  developerBuild ? false,
+  decryptSslTraffic ? false
+}:
+
+assert withGtk3 -> dconf != null;
+assert withGtk3 -> gtk3 != null;
+
+let
+  system-x86_64 = lib.elem stdenv.system lib.platforms.x86_64;
+  compareVersion = v: builtins.compareVersions version v;
+in
+
+stdenv.mkDerivation {
+
+  name = "qtbase-${version}";
+  inherit qtCompatVersion src version;
+
+  propagatedBuildInputs =
+    [
+      libxml2 libxslt openssl sqlite zlib
+
+      # Text rendering
+      harfbuzz icu
+
+      # Image formats
+      libjpeg libpng libtiff
+      (if compareVersion "5.9.0" >= 0 then pcre2 else pcre16)
+    ]
+    ++ (
+      if stdenv.isDarwin
+      then with darwin.apple_sdk.frameworks;
+        [
+          AGL AppKit ApplicationServices Carbon Cocoa CoreAudio CoreBluetooth
+          CoreLocation CoreServices DiskArbitration Foundation OpenGL
+          darwin.libobjc libiconv
+        ]
+      else
+        [
+          dbus glib udev
+
+          # Text rendering
+          fontconfig freetype
+
+          # X11 libs
+          libX11 libXcomposite libXext libXi libXrender libxcb libxkbcommon xcbutil
+          xcbutilimage xcbutilkeysyms xcbutilrenderutil xcbutilwm
+        ]
+        ++ lib.optional mesaSupported mesa
+    );
+
+  buildInputs =
+    lib.optionals (!stdenv.isDarwin)
+    (
+      [ libinput ]
+      ++ lib.optional withGtk3 gtk3
+    )
+    ++ lib.optional developerBuild gdb
+    ++ lib.optional (cups != null) cups
+    ++ lib.optional (mysql != null) mysql.lib
+    ++ lib.optional (postgresql != null) postgresql;
+
+  nativeBuildInputs =
+    [ bison flex gperf lndir perl pkgconfig python2 ]
+    ++ lib.optional (!stdenv.isDarwin) patchelf;
+
+  propagatedNativeBuildInputs = [ lndir ];
+
+  outputs = [ "bin" "dev" "out" ];
+
+  inherit patches;
+
+  fix_qt_static_libs = ../hooks/fix-qt-static-libs.sh;
+  fix_qt_builtin_paths = ../hooks/fix-qt-builtin-paths.sh;
+  fix_qt_module_paths = ../hooks/fix-qt-module-paths.sh;
+  preHook = ''
+    . "$fix_qt_static_libs"
+    . "$fix_qt_builtin_paths"
+    . "$fix_qt_module_paths"
+    . ${../hooks/move-qt-dev-tools.sh}
+  '';
+
+  postPatch =
+    ''
+      for prf in qml_plugin.prf qt_plugin.prf qt_docs.prf qml_module.prf create_cmake.prf; do
+          substituteInPlace "mkspecs/features/$prf" \
+              --subst-var qtPluginPrefix \
+              --subst-var qtQmlPrefix \
+              --subst-var qtDocPrefix
+      done
+
+      substituteInPlace configure --replace /bin/pwd pwd
+      substituteInPlace src/corelib/global/global.pri --replace /bin/ls ${coreutils}/bin/ls
+      sed -e 's@/\(usr\|opt\)/@/var/empty/@g' -i mkspecs/*/*.conf
+
+      sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5Config.cmake.in
+      sed -i '/PATHS.*NO_DEFAULT_PATH/ d' src/corelib/Qt5CoreMacros.cmake
+      sed -i 's/NO_DEFAULT_PATH//' src/gui/Qt5GuiConfigExtras.cmake.in
+      sed -i '/PATHS.*NO_DEFAULT_PATH/ d' mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in
+    ''
+
+    + (
+      if stdenv.isDarwin
+      then
+        ''
+          sed -i \
+              -e 's|! /usr/bin/xcode-select --print-path >/dev/null 2>&1;|false;|' \
+              -e 's|! /usr/bin/xcrun -find xcodebuild >/dev/null 2>&1;|false;|' \
+              -e 's|sysroot=$(/usr/bin/xcodebuild -sdk $sdk -version Path 2>/dev/null)|sysroot=/nonsense|' \
+              -e 's|sysroot=$(/usr/bin/xcrun --sdk $sdk --show-sdk-path 2>/dev/null)|sysroot=/nonsense|' \
+              -e 's|QMAKE_CONF_COMPILER=`getXQMakeConf QMAKE_CXX`|QMAKE_CXX="clang++"\nQMAKE_CONF_COMPILER="clang++"|' \
+              -e 's|XCRUN=`/usr/bin/xcrun -sdk macosx clang -v 2>&1`|XCRUN="clang -v 2>&1"|' \
+              -e 's#sdk_val=$(/usr/bin/xcrun -sdk $sdk -find $(echo $val | cut -d \x27 \x27 -f 1))##' \
+              -e 's#val=$(echo $sdk_val $(echo $val | cut -s -d \x27 \x27 -f 2-))##' \
+              ./configure
+              substituteInPlace ./mkspecs/common/mac.conf \
+                  --replace "/System/Library/Frameworks/OpenGL.framework/" "${darwin.apple_sdk.frameworks.OpenGL}/Library/Frameworks/OpenGL.framework/"
+              substituteInPlace ./mkspecs/common/mac.conf \
+                  --replace "/System/Library/Frameworks/AGL.framework/" "${darwin.apple_sdk.frameworks.AGL}/Library/Frameworks/AGL.framework/"
+        ''
+        # Note on the above: \x27 is a way if including a single-quote
+        # character in the sed string arguments.
+      else
+        lib.optionalString mesaSupported
+          ''
+            sed -i mkspecs/common/linux.conf \
+                -e "/^QMAKE_INCDIR_OPENGL/ s|$|${mesa.dev or mesa}/include|" \
+                -e "/^QMAKE_LIBDIR_OPENGL/ s|$|${mesa.out}/lib|"
+          ''
+    );
+
+  qtPluginPrefix = "lib/qt-${qtCompatVersion}/plugins";
+  qtQmlPrefix = "lib/qt-${qtCompatVersion}/qml";
+  qtDocPrefix = "share/doc/qt-${qtCompatVersion}";
+
+  setOutputFlags = false;
+  preConfigure = ''
+    export LD_LIBRARY_PATH="$PWD/lib:$PWD/plugins/platforms:$LD_LIBRARY_PATH"
+    ${lib.optionalString (compareVersion "5.9.0" < 0) ''
+    # We need to set LD to CXX or otherwise we get nasty compile errors
+    export LD=$CXX
+    ''}
+
+    configureFlags+="\
+        -plugindir $out/$qtPluginPrefix \
+        -qmldir $out/$qtQmlPrefix \
+        -docdir $out/$qtDocPrefix"
+
+    createQmakeCache() {
+        cat >>"$1" <<EOF
+    NIX_OUTPUT_BIN = $bin
+    NIX_OUTPUT_DEV = $dev
+    NIX_OUTPUT_OUT = $out
+    NIX_OUTPUT_DOC = $dev/$qtDocPrefix
+    NIX_OUTPUT_QML = $bin/$qtQmlPrefix
+    NIX_OUTPUT_PLUGIN = $bin/$qtPluginPrefix
+    EOF
+    }
+
+    find . -name '.qmake.conf' | while read conf; do
+        cache=$(dirname $conf)/.qmake.cache
+        echo "Creating \`$cache'"
+        createQmakeCache "$cache"
+    done
+
+    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QT_PLUGIN_PREFIX=\"$qtPluginPrefix\""
+  '';
+
+
+  NIX_CFLAGS_COMPILE =
+    [
+      "-Wno-error=sign-compare" # freetype-2.5.4 changed signedness of some struct fields
+      ''-DNIXPKGS_QTCOMPOSE="${libX11.out}/share/X11/locale"''
+      ''-DNIXPKGS_LIBRESOLV="${stdenv.cc.libc.out}/lib/libresolv"''
+      ''-DNIXPKGS_LIBXCURSOR="${libXcursor.out}/lib/libXcursor"''
+    ]
+
+    ++ (
+      if stdenv.isDarwin
+      then
+        [
+          "-Wno-missing-sysroot"
+          "-D__MAC_OS_X_VERSION_MAX_ALLOWED=1090"
+          "-D__AVAILABILITY_INTERNAL__MAC_10_10=__attribute__((availability(macosx,introduced=10.10)))"
+          # Note that nixpkgs's objc4 is from macOS 10.11 while the SDK is
+          # 10.9 which necessitates the above macro definition that mentions
+          # 10.10
+        ]
+      else
+        lib.optional mesaSupported ''-DNIXPKGS_MESA_GL="${mesa.out}/lib/libGL"''
+        ++ lib.optionals withGtk3
+          [
+            ''-DNIXPKGS_QGTK3_XDG_DATA_DIRS="${gtk3}/share/gsettings-schemas/${gtk3.name}"''
+            ''-DNIXPKGS_QGTK3_GIO_EXTRA_MODULES="${dconf.lib}/lib/gio/modules"''
+          ]
+    )
+
+    ++ lib.optional decryptSslTraffic "-DQT_DECRYPT_SSL_TRAFFIC";
+
+  prefixKey = "-prefix ";
+
+  # PostgreSQL autodetection fails sporadically because Qt omits the "-lpq" flag
+  # if dependency paths contain the string "pq", which can occur in the hash.
+  # To prevent these failures, we need to override PostgreSQL detection.
+  PSQL_LIBS = lib.optionalString (postgresql != null) "-L${postgresql.lib}/lib -lpq";
+
+  # -no-eglfs, -no-directfb, -no-linuxfb and -no-kms because of the current minimalist mesa
+  # TODO Remove obsolete and useless flags once the build will be totally mastered
+  configureFlags =
+    [
+      "-verbose"
+      "-confirm-license"
+      "-opensource"
+
+      "-release"
+      "-shared"
+      "-accessibility"
+      "-optimized-qmake"
+      "-strip"
+      "-system-proxies"
+      "-pkg-config"
+
+      "-gui"
+      "-widgets"
+      "-opengl desktop"
+      "-qml-debug"
+      "-icu"
+      "-pch"
+    ]
+    ++ lib.optionals (compareVersion "5.9.0" < 0)
+    [
+      "-c++11"
+      "-no-reduce-relocations"
+    ]
+    ++ lib.optionals developerBuild [
+      "-developer-build"
+      "-no-warnings-are-errors"
+    ]
+    ++ (
+      if (!system-x86_64)
+      then [ "-no-sse2" ]
+      else lib.optional (compareVersion "5.9.0" >= 0) [ "-sse2" ]
+    )
+    ++ [
+      "-no-sse3"
+      "-no-ssse3"
+      "-no-sse4.1"
+      "-no-sse4.2"
+      "-no-avx"
+      "-no-avx2"
+      "-no-mips_dsp"
+      "-no-mips_dspr2"
+    ]
+
+    ++ [
+      "-system-zlib"
+      "-system-libjpeg"
+      "-system-harfbuzz"
+      "-system-pcre"
+      "-openssl-linked"
+      "-system-sqlite"
+      ''-${if mysql != null then "plugin" else "no"}-sql-mysql''
+      ''-${if postgresql != null then "plugin" else "no"}-sql-psql''
+
+      "-make libs"
+      "-make tools"
+      ''-${lib.optionalString (!buildExamples) "no"}make examples''
+      ''-${lib.optionalString (!buildTests) "no"}make tests''
+      "-v"
+    ]
+
+    ++ (
+      if stdenv.isDarwin
+      then
+        [
+          "-platform macx-clang"
+          "-no-use-gold-linker"
+          "-no-fontconfig"
+          "-qt-freetype"
+          "-qt-libpng"
+        ]
+      else
+        [
+          "-${lib.optionalString (compareVersion "5.9.0" < 0) "no-"}rpath"
+
+          "-system-xcb"
+          "-xcb"
+          "-qpa xcb"
+
+          "-system-xkbcommon"
+          "-libinput"
+          "-xkbcommon-evdev"
+
+          "-no-eglfs"
+          "-no-gbm"
+          "-no-kms"
+          "-no-linuxfb"
+
+          ''-${lib.optionalString (cups == null) "no-"}cups''
+          "-dbus-linked"
+          "-glib"
+          "-system-libjpeg"
+          "-system-libpng"
+          # gold linker of binutils 2.28 generates duplicate symbols
+          # TODO: remove for newer version of binutils
+          "-no-use-gold-linker"
+        ]
+        ++ lib.optional withGtk3 "-gtk"
+        ++ lib.optional (compareVersion "5.9.0" >= 0) "-inotify"
+    );
+
+  enableParallelBuilding = true;
+
+  postInstall =
+    # Move selected outputs.
+    ''
+      moveToOutput "mkspecs" "$dev"
+    '';
+
+  devTools = [
+    "bin/fixqt4headers.pl"
+    "bin/moc"
+    "bin/qdbuscpp2xml"
+    "bin/qdbusxml2cpp"
+    "bin/qlalr"
+    "bin/qmake"
+    "bin/rcc"
+    "bin/syncqt.pl"
+    "bin/uic"
+  ];
+
+  postFixup =
+    # Don't retain build-time dependencies like gdb.
+    ''
+      sed '/QMAKE_DEFAULT_.*DIRS/ d' -i $dev/mkspecs/qconfig.pri
+    ''
+
+    + ''
+      fixQtModulePaths "''${!outputDev}/mkspecs/modules"
+      fixQtBuiltinPaths "''${!outputDev}" '*.pr?'
+    ''
+
+    # Move static libraries and QMake library definitions into $dev.
+    + ''
+      fixQtStaticLibs "''${!outputLib}" "''${!outputDev}"
+    ''
+
+    # Move development tools to $dev
+    + ''
+      moveQtDevTools
+      moveToOutput bin "$dev"
+    ''
+
+    + (
+      if stdenv.isDarwin
+      then
+        ''
+          fixDarwinDylibNames_rpath() {
+            local flags=()
+
+            for fn in "$@"; do
+              flags+=(-change "@rpath/$fn.framework/Versions/5/$fn" "$out/lib/$fn.framework/Versions/5/$fn")
+            done
+
+            for fn in "$@"; do
+              echo "$fn: fixing dylib"
+              install_name_tool -id "$out/lib/$fn.framework/Versions/5/$fn" "''${flags[@]}" "$out/lib/$fn.framework/Versions/5/$fn"
+            done
+          }
+          fixDarwinDylibNames_rpath "QtConcurrent" "QtPrintSupport" "QtCore" "QtSql" "QtDBus" "QtTest" "QtGui" "QtWidgets" "QtNetwork" "QtXml" "QtOpenGL"
+        ''
+      else
+        # fixup .pc file (where to find 'moc' etc.)
+        ''
+          sed -i "$dev/lib/pkgconfig/Qt5Core.pc" \
+              -e "/^host_bins=/ c host_bins=$dev/bin"
+        ''
+    );
+
+  setupHook = ../hooks/qtbase-setup-hook.sh;
+
+  meta = with lib; {
+    homepage = http://www.qt.io;
+    description = "A cross-platform application framework for C++";
+    license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
+    maintainers = with maintainers; [ qknight ttuegel periklis ];
+    platforms = platforms.unix;
+  };
+
+}
diff --git a/pkgs/development/libraries/qt-5/modules/qtcharts.nix b/pkgs/development/libraries/qt-5/modules/qtcharts.nix
new file mode 100644
index 000000000000..84d3a17ea8ce
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtcharts.nix
@@ -0,0 +1,7 @@
+{ qtModule, qtbase, qtdeclarative }:
+
+qtModule {
+  name = "qtcharts";
+  qtInputs = [ qtbase qtdeclarative ];
+  outputs = [ "out" "dev" "bin" ];
+}
diff --git a/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix b/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix
new file mode 100644
index 000000000000..d866edb052b8
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtconnectivity.nix
@@ -0,0 +1,8 @@
+{ qtModule, qtbase, qtdeclarative, bluez }:
+
+qtModule {
+  name = "qtconnectivity";
+  qtInputs = [ qtbase qtdeclarative ];
+  buildInputs = [ bluez ];
+  outputs = [ "out" "dev" "bin" ];
+}
diff --git a/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix
new file mode 100644
index 000000000000..fc0a751f48a0
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtdeclarative.nix
@@ -0,0 +1,25 @@
+{ qtModule, lib, python2, qtbase, qtsvg, qtxmlpatterns }:
+
+with lib;
+
+qtModule {
+  name = "qtdeclarative";
+  qtInputs = [ qtbase qtsvg qtxmlpatterns ];
+  nativeBuildInputs = [ python2 ];
+  outputs = [ "out" "dev" "bin" ];
+  preConfigure = ''
+    NIX_CFLAGS_COMPILE+=" -DNIXPKGS_QML2_IMPORT_PREFIX=\"$qtQmlPrefix\""
+  '';
+  devTools = [
+    "bin/qml"
+    "bin/qmlcachegen"
+    "bin/qmleasing"
+    "bin/qmlimportscanner"
+    "bin/qmllint"
+    "bin/qmlmin"
+    "bin/qmlplugindump"
+    "bin/qmlprofiler"
+    "bin/qmlscene"
+    "bin/qmltestrunner"
+  ];
+}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtdoc.nix b/pkgs/development/libraries/qt-5/modules/qtdoc.nix
index 7f979ee94c0f..10623962c430 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtdoc.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtdoc.nix
@@ -1,6 +1,6 @@
-{ qtSubmodule, qtdeclarative }:
+{ qtModule, qtdeclarative }:
 
-qtSubmodule {
+qtModule {
   name = "qtdoc";
   qtInputs = [ qtdeclarative ];
   outputs = [ "out" ];
diff --git a/pkgs/development/libraries/qt-5/5.6/qtgraphicaleffects.nix b/pkgs/development/libraries/qt-5/modules/qtgraphicaleffects.nix
index 3273f12eb830..888f627baab8 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtgraphicaleffects.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtgraphicaleffects.nix
@@ -1,6 +1,7 @@
-{ qtSubmodule, qtdeclarative }:
+{ qtModule, qtdeclarative }:
 
-qtSubmodule {
+qtModule {
   name = "qtgraphicaleffects";
   qtInputs = [ qtdeclarative ];
+  outputs = [ "out" ];
 }
diff --git a/pkgs/development/libraries/qt-5/5.6/qtimageformats.nix b/pkgs/development/libraries/qt-5/modules/qtimageformats.nix
index 03d0fffbe80e..1a7726070be3 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtimageformats.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtimageformats.nix
@@ -1,6 +1,6 @@
-{ qtSubmodule, qtbase }:
+{ qtModule, qtbase }:
 
-qtSubmodule {
+qtModule {
   name = "qtimageformats";
   qtInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/qt-5/modules/qtlocation.nix b/pkgs/development/libraries/qt-5/modules/qtlocation.nix
new file mode 100644
index 000000000000..008583ebaf93
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtlocation.nix
@@ -0,0 +1,9 @@
+{ qtModule, qtbase, qtmultimedia }:
+
+qtModule {
+  name = "qtlocation";
+  qtInputs = [ qtbase qtmultimedia ];
+  outputs = [ "bin" "out" "dev" ];
+  # Linking with -lclipper fails with parallel build enabled
+  enableParallelBuilding = false;
+}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtmacextras.nix b/pkgs/development/libraries/qt-5/modules/qtmacextras.nix
index 582294cc7f76..5a3b1fe35cd8 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtmacextras.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtmacextras.nix
@@ -1,6 +1,6 @@
-{ qtSubmodule, qtbase, lib }:
+{ qtModule, qtbase, lib }:
 
-qtSubmodule {
+qtModule {
   name = "qtmacextras";
   qtInputs = [ qtbase ];
   meta = with lib; {
diff --git a/pkgs/development/libraries/qt-5/5.9/qtmultimedia.nix b/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
index 1c728b036ad8..1b7a7c1fceaa 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtmultimedia.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtmultimedia.nix
@@ -1,11 +1,11 @@
-{ stdenv, qtSubmodule, qtbase, qtdeclarative, pkgconfig
+{ qtModule, stdenv, qtbase, qtdeclarative, pkgconfig
 , alsaLib, gstreamer, gst-plugins-base, libpulseaudio
 , darwin
 }:
 
 with stdenv.lib;
 
-qtSubmodule {
+qtModule {
   name = "qtmultimedia";
   qtInputs = [ qtbase qtdeclarative ];
   nativeBuildInputs = [ pkgconfig ];
@@ -14,8 +14,4 @@ qtSubmodule {
   outputs = [ "bin" "dev" "out" ];
   qmakeFlags = [ "GST_VERSION=1.0" ];
   NIX_LDFLAGS = optionalString (stdenv.isDarwin) "-lobjc";
-  postInstall = ''
-    moveToOutput "$qtPluginPrefix" "$bin"
-    moveToOutput "$qtQmlPrefix" "$bin"
-  '';
 }
diff --git a/pkgs/development/libraries/qt-5/5.9/qtquickcontrols.nix b/pkgs/development/libraries/qt-5/modules/qtquickcontrols.nix
index 93a864621b82..ba0f20bc0d83 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtquickcontrols.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtquickcontrols.nix
@@ -1,6 +1,6 @@
-{ qtSubmodule, qtdeclarative }:
+{ qtModule, qtdeclarative }:
 
-qtSubmodule {
+qtModule {
   name = "qtquickcontrols";
   qtInputs = [ qtdeclarative ];
 }
diff --git a/pkgs/development/libraries/qt-5/modules/qtquickcontrols2.nix b/pkgs/development/libraries/qt-5/modules/qtquickcontrols2.nix
new file mode 100644
index 000000000000..a9522f4b1f0c
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtquickcontrols2.nix
@@ -0,0 +1,7 @@
+{ qtModule, qtdeclarative }:
+
+qtModule {
+  name = "qtquickcontrols2";
+  qtInputs = [ qtdeclarative ];
+  outputs = [ "out" "dev" "bin" ];
+}
diff --git a/pkgs/development/libraries/qt-5/modules/qtscript.nix b/pkgs/development/libraries/qt-5/modules/qtscript.nix
new file mode 100644
index 000000000000..5a1a462a9640
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtscript.nix
@@ -0,0 +1,6 @@
+{ qtModule, qtbase, qttools }:
+
+qtModule {
+  name = "qtscript";
+  qtInputs = [ qtbase qttools ];
+}
diff --git a/pkgs/development/libraries/qt-5/modules/qtsensors.nix b/pkgs/development/libraries/qt-5/modules/qtsensors.nix
new file mode 100644
index 000000000000..3b8732b68851
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtsensors.nix
@@ -0,0 +1,7 @@
+{ qtModule, qtbase, qtdeclarative }:
+
+qtModule {
+  name = "qtsensors";
+  qtInputs = [ qtbase qtdeclarative ];
+  outputs = [ "out" "dev" "bin" ];
+}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtserialport/default.nix b/pkgs/development/libraries/qt-5/modules/qtserialport.nix
index 925e8a808f25..2f8c142323d2 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtserialport/default.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtserialport.nix
@@ -1,11 +1,10 @@
-{ stdenv, qtSubmodule, lib, copyPathsToStore, qtbase, substituteAll, systemd }:
+{ qtModule, stdenv, lib, qtbase, substituteAll, systemd }:
 
 let inherit (lib) getLib optional; in
 
-qtSubmodule {
+qtModule {
   name = "qtserialport";
   qtInputs = [ qtbase ];
-  patches =  copyPathsToStore (lib.readPathsFromFile ./. ./series);
   NIX_CFLAGS_COMPILE =
     optional stdenv.isLinux
     ''-DNIXPKGS_LIBUDEV="${getLib systemd}/lib/libudev"'';
diff --git a/pkgs/development/libraries/qt-5/modules/qtsvg.nix b/pkgs/development/libraries/qt-5/modules/qtsvg.nix
new file mode 100644
index 000000000000..3ce68e56e412
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtsvg.nix
@@ -0,0 +1,7 @@
+{ qtModule, qtbase }:
+
+qtModule {
+  name = "qtsvg";
+  qtInputs = [ qtbase ];
+  outputs = [ "out" "dev" "bin" ];
+}
diff --git a/pkgs/development/libraries/qt-5/modules/qttools.nix b/pkgs/development/libraries/qt-5/modules/qttools.nix
new file mode 100644
index 000000000000..ae6bd18cb148
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qttools.nix
@@ -0,0 +1,34 @@
+{ qtModule, lib, qtbase }:
+
+with lib;
+
+qtModule {
+  name = "qttools";
+  qtInputs = [ qtbase ];
+  outputs = [ "out" "dev" "bin" ];
+
+  # fixQtBuiltinPaths overwrites a builtin path we should keep
+  postPatch = ''
+    sed -i "src/linguist/linguist.pro" \
+        -e '/^cmake_linguist_config_version_file.input =/ s|$$\[QT_HOST_DATA.*\]|${getDev qtbase}|'
+  '';
+
+  devTools = [
+    "bin/qcollectiongenerator"
+    "bin/linguist"
+    "bin/assistant"
+    "bin/qdoc"
+    "bin/lconvert"
+    "bin/designer"
+    "bin/qtattributesscanner"
+    "bin/lrelease"
+    "bin/pixeltool"
+    "bin/lupdate"
+    "bin/qtdiag"
+    "bin/qhelpgenerator"
+    "bin/qtplugininfo"
+    "bin/qthelpconverter"
+  ];
+
+  setupHook = ../hooks/qttools-setup-hook.sh;
+}
diff --git a/pkgs/development/libraries/qt-5/5.9/qttranslations.nix b/pkgs/development/libraries/qt-5/modules/qttranslations.nix
index 50fc8cf6826a..11a6e3fedcb1 100644
--- a/pkgs/development/libraries/qt-5/5.9/qttranslations.nix
+++ b/pkgs/development/libraries/qt-5/modules/qttranslations.nix
@@ -1,6 +1,6 @@
-{ qtSubmodule, qttools }:
+{ qtModule, qttools }:
 
-qtSubmodule {
+qtModule {
   name = "qttranslations";
   qtInputs = [ qttools ];
 }
diff --git a/pkgs/development/libraries/qt-5/5.6/qtwayland.nix b/pkgs/development/libraries/qt-5/modules/qtwayland.nix
index 6d887f7c650b..c7a7704f2837 100644
--- a/pkgs/development/libraries/qt-5/5.6/qtwayland.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwayland.nix
@@ -1,8 +1,9 @@
-{ qtSubmodule, qtbase, qtquickcontrols, wayland, pkgconfig }:
+{ qtModule, qtbase, qtquickcontrols, wayland, pkgconfig }:
 
-qtSubmodule {
+qtModule {
   name = "qtwayland";
   qtInputs = [ qtbase qtquickcontrols ];
   buildInputs = [ wayland ];
   nativeBuildInputs = [ pkgconfig ];
+  outputs = [ "out" "dev" "bin" ];
 }
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebchannel.nix b/pkgs/development/libraries/qt-5/modules/qtwebchannel.nix
new file mode 100644
index 000000000000..84fb88385a3e
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtwebchannel.nix
@@ -0,0 +1,8 @@
+{ qtModule, qtbase, qtdeclarative }:
+
+qtModule {
+  name = "qtwebchannel";
+  qtInputs = [ qtbase qtdeclarative ];
+  outputs = [ "out" "dev" "bin" ];
+}
+
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebengine/default.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 58716f65738f..4be72b087842 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtwebengine/default.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -1,4 +1,5 @@
-{ qtSubmodule, qtquickcontrols, qtlocation, qtwebchannel
+{ qtModule, qtCompatVersion,
+  qtdeclarative, qtquickcontrols, qtlocation, qtwebchannel
 
 , bison, coreutils, flex, git, gperf, ninja, pkgconfig, python2, which
 
@@ -18,9 +19,11 @@
 
 with stdenv.lib;
 
-qtSubmodule {
+let qt56 = qtCompatVersion == "5.6"; in
+
+qtModule {
   name = "qtwebengine";
-  qtInputs = [ qtquickcontrols qtlocation qtwebchannel ];
+  qtInputs = [ qtdeclarative qtquickcontrols qtlocation qtwebchannel ];
   nativeBuildInputs = [
     bison coreutils flex git gperf ninja pkgconfig python2 which
   ];
@@ -38,9 +41,9 @@ qtSubmodule {
     + ''
       substituteInPlace ./src/3rdparty/chromium/build/common.gypi \
         --replace /bin/echo ${coreutils}/bin/echo
-      substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/toolchain.gypi \
+      substituteInPlace ./src/3rdparty/chromium/v8/${if qt56 then "build" else "gypfiles"}/toolchain.gypi \
         --replace /bin/echo ${coreutils}/bin/echo
-      substituteInPlace ./src/3rdparty/chromium/v8/gypfiles/standalone.gypi \
+      substituteInPlace ./src/3rdparty/chromium/v8/${if qt56 then "build" else "gypfiles"}/standalone.gypi \
         --replace /bin/echo ${coreutils}/bin/echo
     ''
     # Patch library paths in Qt sources
@@ -62,6 +65,10 @@ qtSubmodule {
 
   preConfigure = ''
     export MAKEFLAGS=-j$NIX_BUILD_CORES
+
+    if [ -d "$PWD/tools/qmake" ]; then
+        QMAKEPATH="$PWD/tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
+    fi
  '';
 
   qmakeFlags =
@@ -99,7 +106,6 @@ qtSubmodule {
     xlibs.xrandr libXScrnSaver libXcursor libXrandr xlibs.libpciaccess libXtst
     xlibs.libXcomposite
   ];
-  patches = optional stdenv.needsPax ./qtwebengine-paxmark-mksnapshot.patch;
 
   dontUseNinjaBuild = true;
   dontUseNinjaInstall = true;
@@ -111,7 +117,5 @@ qtSubmodule {
     EOF
 
     paxmark m $out/libexec/QtWebEngineProcess
-
-    moveToOutput "$qtQmlPrefix" "$bin"
   '';
 }
diff --git a/pkgs/development/libraries/qt-5/5.9/qtwebkit/default.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index 664281aac311..4dce9c4e22e5 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtwebkit/default.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -1,5 +1,5 @@
-{ qtSubmodule, stdenv, copyPathsToStore, lib
-, qtdeclarative, qtlocation, qtsensors
+{ qtModule, stdenv, lib
+, qtbase, qtdeclarative, qtlocation, qtsensors
 , fontconfig, gdk_pixbuf, gtk2, libwebp, libxml2, libxslt
 , sqlite, systemd, glib, gst_all_1
 , bison2, flex, gdb, gperf, perl, pkgconfig, python2, ruby
@@ -10,9 +10,9 @@
 
 let inherit (lib) optional optionals getLib; in
 
-qtSubmodule {
+qtModule {
   name = "qtwebkit";
-  qtInputs = [ qtdeclarative qtlocation qtsensors ];
+  qtInputs = [ qtbase qtdeclarative qtlocation qtsensors ];
   buildInputs = [ fontconfig libwebp libxml2 libxslt sqlite glib gst_all_1.gstreamer gst_all_1.gst-plugins-base ]
     ++ optionals (stdenv.isDarwin) (with darwin.apple_sdk.frameworks; [ OpenGL ]);
   nativeBuildInputs = [
@@ -23,7 +23,12 @@ qtSubmodule {
     "/usr/lib/libicucore.dylib"
   ];
 
-  patches =  copyPathsToStore (lib.readPathsFromFile ./. ./series);
+  # QtWebKit overrides qmake's default_pre and default_post features,
+  # so its custom qmake files must be found first at the front of QMAKEPATH.
+  preConfigure = ''
+    QMAKEPATH="$PWD/Tools/qmake''${QMAKEPATH:+:}$QMAKEPATH"
+    fixQtBuiltinPaths . '*.pr?'
+  '';
 
   NIX_CFLAGS_COMPILE =
     optionals flashplayerFix
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebsockets.nix b/pkgs/development/libraries/qt-5/modules/qtwebsockets.nix
new file mode 100644
index 000000000000..ad5e7625f289
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtwebsockets.nix
@@ -0,0 +1,7 @@
+{ qtModule, qtbase, qtdeclarative }:
+
+qtModule {
+  name = "qtwebsockets";
+  qtInputs = [ qtbase qtdeclarative ];
+  outputs = [ "out" "dev" "bin" ];
+}
diff --git a/pkgs/development/libraries/qt-5/5.9/qtx11extras.nix b/pkgs/development/libraries/qt-5/modules/qtx11extras.nix
index a765161e2d7e..4d431fee278b 100644
--- a/pkgs/development/libraries/qt-5/5.9/qtx11extras.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtx11extras.nix
@@ -1,6 +1,6 @@
-{ qtSubmodule, qtbase }:
+{ qtModule, qtbase }:
 
-qtSubmodule {
+qtModule {
   name = "qtx11extras";
   qtInputs = [ qtbase ];
 }
diff --git a/pkgs/development/libraries/qt-5/modules/qtxmlpatterns.nix b/pkgs/development/libraries/qt-5/modules/qtxmlpatterns.nix
new file mode 100644
index 000000000000..ee8ef617fc8d
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/modules/qtxmlpatterns.nix
@@ -0,0 +1,7 @@
+{ qtModule, qtbase }:
+
+qtModule {
+  name = "qtxmlpatterns";
+  qtInputs = [ qtbase ];
+  devTools = [ "bin/xmlpatterns" "bin/xmlpatternsvalidator" ];
+}
diff --git a/pkgs/development/libraries/qt-5/qmake-hook.sh b/pkgs/development/libraries/qt-5/qmake-hook.sh
deleted file mode 100644
index c70410975ecd..000000000000
--- a/pkgs/development/libraries/qt-5/qmake-hook.sh
+++ /dev/null
@@ -1,47 +0,0 @@
-qmakeConfigurePhase() {
-    runHook preConfigure
-
-    qmake PREFIX=$out $qmakeFlags
-
-    runHook postConfigure
-}
-
-if [ -z "$dontUseQmakeConfigure" -a -z "$configurePhase" ]; then
-    configurePhase=qmakeConfigurePhase
-fi
-
-_qtModuleMultioutDevsPre() {
-    # We cannot simply set these paths in configureFlags because libQtCore retains
-    # references to the paths it was built with.
-    moveToOutput "bin" "${!outputDev}"
-    moveToOutput "include" "${!outputDev}"
-
-    # The destination directory must exist or moveToOutput will do nothing
-    mkdir -p "${!outputDev}/share"
-    moveToOutput "share/doc" "${!outputDev}"
-}
-
-_qtModuleMultioutDevsPost() {
-    local -a findopts=(-name '*.a' -o -name '*.la')
-    if [ -z "@isDarwin@" ]; then
-        findopts+=(-o -name '*.prl')
-    fi
-
-    # Move libtool archives and qmake project files to $dev/lib
-    if [ "z${!outputLib}" != "z${!outputDev}" ]; then
-        pushd "${!outputLib}"
-        if [ -d "lib" ]; then
-            find lib \( "${findopts[@]}" \) -print0 | \
-                while read -r -d $'\0' file; do
-                    mkdir -p "${!outputDev}/$(dirname "$file")"
-                    mv "${!outputLib}/$file" "${!outputDev}/$file"
-                done
-        fi
-        popd
-    fi
-}
-
-if [ -n "$NIX_QT_SUBMODULE" ]; then
-    preFixupHooks+=(_qtModuleMultioutDevsPre)
-    postFixupHooks+=(_qtModuleMultioutDevsPost)
-fi
diff --git a/pkgs/development/libraries/qt-5/qtModule.nix b/pkgs/development/libraries/qt-5/qtModule.nix
new file mode 100644
index 000000000000..11e4ae1c26c5
--- /dev/null
+++ b/pkgs/development/libraries/qt-5/qtModule.nix
@@ -0,0 +1,59 @@
+{ lib, mkDerivation, perl }:
+
+let inherit (lib) licenses maintainers platforms; in
+
+{ self, srcs, patches }:
+
+args:
+
+let
+  inherit (args) name;
+  version = args.version or srcs."${name}".version;
+  src = args.src or srcs."${name}".src;
+in
+
+mkDerivation (args // {
+  name = "${name}-${version}";
+  inherit src;
+  patches = args.patches or patches."${name}" or [];
+
+  nativeBuildInputs = (args.nativeBuildInputs or []) ++ [ perl self.qmake ];
+  propagatedBuildInputs = args.qtInputs ++ (args.propagatedBuildInputs or []);
+
+  outputs = args.outputs or [ "out" "dev" ];
+  setOutputFlags = args.setOutputFlags or false;
+
+  preHook = ''
+    . ${./hooks/move-qt-dev-tools.sh}
+    . ${./hooks/fix-qt-builtin-paths.sh}
+  '';
+
+  preConfigure = ''
+    ${args.preConfigure or ""}
+
+    fixQtBuiltinPaths . '*.pr?'
+  '';
+
+  postFixup = ''
+    if [ -d "''${!outputDev}/lib/pkgconfig" ]; then
+        find "''${!outputDev}/lib/pkgconfig" -name '*.pc' | while read pc; do
+            sed -i "$pc" \
+                -e "/^prefix=/ c prefix=''${!outputLib}" \
+                -e "/^exec_prefix=/ c exec_prefix=''${!outputBin}" \
+                -e "/^includedir=/ c includedir=''${!outputDev}/include"
+        done
+    fi
+
+    moveQtDevTools
+
+    ${args.postFixup or ""}
+  '';
+
+  meta = {
+    homepage = http://www.qt.io;
+    description = "A cross-platform application framework for C++";
+    license = with licenses; [ fdl13 gpl2 lgpl21 lgpl3 ];
+    maintainers = with maintainers; [ qknight ttuegel periklis ];
+    platforms = platforms.unix;
+  } // (args.meta or {});
+})
diff --git a/pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh b/pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh
deleted file mode 100644
index ce1dada0c479..000000000000
--- a/pkgs/development/libraries/qt-5/qtbase-setup-hook-darwin.sh
+++ /dev/null
@@ -1,192 +0,0 @@
-qtPluginPrefix=@qtPluginPrefix@
-qtQmlPrefix=@qtQmlPrefix@
-qtDocPrefix=@qtDocPrefix@
-
-_qtRmCMakeLink() {
-    find "${!outputLib}" -name "*.cmake" -type l | xargs rm
-}
-
-postInstallHooks+=(_qtRmCMakeLink)
-
-addToSearchPathOnceWithCustomDelimiter() {
-    local delim="$1"
-    local search="$2"
-    local target="$3"
-    local dirs
-    local exported
-    IFS="$delim" read -a dirs <<< "${!search}"
-    local canonical
-    if canonical=$(readlink -e "$target"); then
-        for dir in ${dirs[@]}; do
-            if [ "z$dir" == "z$canonical" ]; then exported=1; fi
-        done
-        if [ -z $exported ]; then
-            eval "export ${search}=\"${!search}${!search:+$delim}$canonical\""
-        fi
-    fi
-}
-
-addToSearchPathOnce() {
-    addToSearchPathOnceWithCustomDelimiter ':' "$@"
-}
-
-propagateOnce() {
-    addToSearchPathOnceWithCustomDelimiter ' ' "$@"
-}
-
-_qtPropagate() {
-    for dir in $qtPluginPrefix $qtQmlPrefix; do
-        if [ -d "$1/$dir" ]; then
-            propagateOnce propagatedBuildInputs "$1"
-            break
-        fi
-    done
-    addToSearchPathOnce QT_PLUGIN_PATH "$1/$qtPluginPrefix"
-    addToSearchPathOnce QML2_IMPORT_PATH "$1/$qtQmlPrefix"
-}
-
-crossEnvHooks+=(_qtPropagate)
-
-_qtPropagateNative() {
-    for dir in $qtPluginPrefix $qtQmlPrefix; do
-        if [ -d "$1/$dir" ]; then
-            propagateOnce propagatedNativeBuildInputs "$1"
-            break
-        fi
-    done
-    if [ -z "$crossConfig" ]; then
-    addToSearchPathOnce QT_PLUGIN_PATH "$1/$qtPluginPrefix"
-    addToSearchPathOnce QML2_IMPORT_PATH "$1/$qtQmlPrefix"
-    fi
-}
-
-envHooks+=(_qtPropagateNative)
-
-_qtMultioutDevs() {
-    # This is necessary whether the package is a Qt module or not
-    moveToOutput "mkspecs" "${!outputDev}"
-}
-
-preFixupHooks+=(_qtMultioutDevs)
-
-_qtSetCMakePrefix() {
-    export CMAKE_PREFIX_PATH="$NIX_QT5_TMP${CMAKE_PREFIX_PATH:+:}${CMAKE_PREFIX_PATH}"
-}
-
-_qtRmTmp() {
-    if [ -z "$NIX_QT_SUBMODULE" ]; then
-        rm -fr "$NIX_QT5_TMP"
-    else
-        cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read file; do
-            if [ ! -d "$NIX_QT5_TMP/$file" ]; then
-                rm -f "$NIX_QT5_TMP/$file"
-            fi
-        done
-
-        cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read dir; do
-            if [ -d "$NIX_QT5_TMP/$dir" ]; then
-                rmdir --ignore-fail-on-non-empty -p "$NIX_QT5_TMP/$dir"
-            fi
-        done
-
-        rm "$NIX_QT5_TMP/nix-support/qt-inputs"
-    fi
-}
-
-_qtSetQmakePath() {
-    export PATH="$NIX_QT5_TMP/bin${PATH:+:}$PATH"
-}
-
-if [ -z "$NIX_QT5_TMP" ]; then
-    if [ -z "$NIX_QT_SUBMODULE" ]; then
-        NIX_QT5_TMP=$(pwd)/.nix_qt5
-    else
-        NIX_QT5_TMP=$out
-    fi
-    postInstallHooks+=(_qtRmTmp)
-
-    mkdir -p "$NIX_QT5_TMP/nix-support"
-    for subdir in bin include mkspecs share; do
-        mkdir -p "$NIX_QT5_TMP/$subdir"
-        echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs"
-    done
-    mkdir -p "$NIX_QT5_TMP/lib"
-
-    postHooks+=(_qtSetCMakePrefix)
-
-    ln -sf "@dev@/bin/qmake" "$NIX_QT5_TMP/bin"
-    echo "bin/qmake" >> "$NIX_QT5_TMP/nix-support/qt-inputs"
-
-    cat >"$NIX_QT5_TMP/bin/qt.conf" <<EOF
-[Paths]
-Prefix = $NIX_QT5_TMP
-Plugins = $qtPluginPrefix
-Qml2Imports = $qtQmlPrefix
-Documentation = $qtDocPrefix
-EOF
-    echo "bin/qt.conf" >> "$NIX_QT5_TMP/nix-support/qt-inputs"
-
-    export QMAKE="$NIX_QT5_TMP/bin/qmake"
-
-    # Set PATH to find qmake first in a preConfigure hook
-    # It must run after all the envHooks!
-    preConfigureHooks+=(_qtSetQmakePath)
-fi
-
-qt5LinkModuleDir() {
-    if [ -d "$1/$2" ]; then
-        @lndir@/bin/lndir -silent "$1/$2" "$NIX_QT5_TMP/$2"
-        find "$1/$2" -printf "$2/%P\n" >> "$NIX_QT5_TMP/nix-support/qt-inputs"
-    fi
-}
-
-qt5LinkDarwinModuleLibDir() {
-  for fw in $(find "$1"/lib -maxdepth 1 -name '*.framework'); do
-    if [ ! -L "$fw" ]; then
-      ln -s "$fw" "$NIX_QT5_TMP"/lib
-    fi
-  done
-  for file in $(find "$1"/lib -maxdepth 1 -type f); do
-    if [ ! -L "$file" ]; then
-      ln -s "$file" "$NIX_QT5_TMP"/lib
-    fi
-  done
-  for dir in $(find "$1"/lib -maxdepth 1 -mindepth 1 -type d ! -name '*.framework'); do
-      mkdir -p "$NIX_QT5_TMP"/lib/$(basename "$dir")
-      @lndir@/bin/lndir -silent "$dir" "$NIX_QT5_TMP"/lib/$(basename "$dir")
-  done
-}
-
-NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@"
-NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@"
-
-_qtLinkAllModules() {
-    IFS=: read -a modules <<< $NIX_QT5_MODULES
-    for module in ${modules[@]}; do
-        qt5LinkDarwinModuleLibDir "$module"
-    done
-
-    IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV
-    for module in ${modules[@]}; do
-        qt5LinkModuleDir "$module" "bin"
-        qt5LinkModuleDir "$module" "include"
-        qt5LinkDarwinModuleLibDir "$module"
-        qt5LinkModuleDir "$module" "mkspecs"
-        qt5LinkModuleDir "$module" "share"
-    done
-}
-
-preConfigureHooks+=(_qtLinkAllModules)
-
-_qtFixCMakePaths() {
-    find "${!outputLib}" -name "*.cmake" | while read file; do
-        substituteInPlace "$file" \
-            --subst-var-by NIX_OUT "${!outputLib}" \
-            --subst-var-by NIX_DEV "${!outputDev}" \
-            --subst-var-by NIX_BIN "${!outputBin}"
-    done
-}
-
-if [ -n "$NIX_QT_SUBMODULE" ]; then
-    postInstallHooks+=(_qtFixCMakePaths)
-fi
diff --git a/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh b/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh
deleted file mode 100644
index e4ef456bf97b..000000000000
--- a/pkgs/development/libraries/qt-5/qtbase-setup-hook.sh
+++ /dev/null
@@ -1,155 +0,0 @@
-qtPluginPrefix=@qtPluginPrefix@
-qtQmlPrefix=@qtQmlPrefix@
-qtDocPrefix=@qtDocPrefix@
-
-NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@"
-NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@"
-
-providesQtRuntime() {
-    [ -d "$1/$qtPluginPrefix" ] || [ -d "$1/$qtQmlPrefix" ]
-}
-
-# Propagate any runtime dependency of the building package.
-# Each dependency is propagated to the user environment and as a build
-# input so that it will be re-propagated to the user environment by any
-# package depending on the building package. (This is necessary in case
-# the building package does not provide runtime dependencies itself and so
-# would not be propagated to the user environment.)
-_qtCrossEnvHook() {
-    if providesQtRuntime "$1"; then
-        propagatedBuildInputs+=" $1"
-        propagatedUserEnvPkgs+=" $1"
-    fi
-}
-if [ -z "$NIX_QT5_TMP" ]; then
-    crossEnvHooks+=(_qtCrossEnvHook)
-fi
-
-_qtEnvHook() {
-    if providesQtRuntime "$1"; then
-        propagatedNativeBuildInputs+=" $1"
-        if [ -z "$crossConfig" ]; then
-        propagatedUserEnvPkgs+=" $1"
-        fi
-    fi
-}
-if [ -z "$NIX_QT5_TMP" ]; then
-    envHooks+=(_qtEnvHook)
-fi
-
-_qtPreFixupHook() {
-    moveToOutput "mkspecs" "${!outputDev}"
-}
-if [ -z "$NIX_QT5_TMP" ]; then
-    preFixupHooks+=(_qtPreFixupHook)
-fi
-
-_qtPostInstallHook() {
-    # Clean up temporary installation files created by this setup hook.
-    # For building Qt modules, this is necessary to prevent including
-    # dependencies in the output. For all other packages, this is necessary
-    # to induce patchelf to remove the temporary paths from the RPATH of
-    # dynamically-linked objects.
-    if [ -z "$NIX_QT_SUBMODULE" ]; then
-        rm -fr "$NIX_QT5_TMP"
-    else
-        cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read file; do
-            if [ ! -d "$NIX_QT5_TMP/$file" ]; then
-                rm -f "$NIX_QT5_TMP/$file"
-            fi
-        done
-
-        cat "$NIX_QT5_TMP/nix-support/qt-inputs" | while read dir; do
-            if [ -d "$NIX_QT5_TMP/$dir" ]; then
-                rmdir --ignore-fail-on-non-empty -p "$NIX_QT5_TMP/$dir"
-            fi
-        done
-
-        rm "$NIX_QT5_TMP/nix-support/qt-inputs"
-    fi
-
-    # Patch CMake modules
-    if [ -n "$NIX_QT_SUBMODULE" ]; then
-        find "${!outputLib}" -name "*.cmake" | while read file; do
-            substituteInPlace "$file" \
-                --subst-var-by NIX_OUT "${!outputLib}" \
-                --subst-var-by NIX_DEV "${!outputDev}" \
-                --subst-var-by NIX_BIN "${!outputBin}"
-        done
-    fi
-}
-if [ -z "$NIX_QT5_TMP" ]; then
-    preConfigureHooks+=(_qtPreConfigureHook)
-fi
-
-_qtLinkModuleDir() {
-    if [ -d "$1/$2" ]; then
-        @lndir@/bin/lndir -silent "$1/$2" "$NIX_QT5_TMP/$2"
-        find "$1/$2" -printf "$2/%P\n" >> "$NIX_QT5_TMP/nix-support/qt-inputs"
-    fi
-}
-
-_qtPreConfigureHook() {
-    # Find the temporary qmake executable first.
-    # This must run after all the environment hooks!
-    export PATH="$NIX_QT5_TMP/bin${PATH:+:}$PATH"
-
-    # Link all runtime module dependencies into the temporary directory.
-    IFS=: read -a modules <<< $NIX_QT5_MODULES
-    for module in ${modules[@]}; do
-        _qtLinkModuleDir "$module" "lib"
-    done
-
-    # Link all the build-time module dependencies into the temporary directory.
-    IFS=: read -a modules <<< $NIX_QT5_MODULES_DEV
-    for module in ${modules[@]}; do
-        _qtLinkModuleDir "$module" "bin"
-        _qtLinkModuleDir "$module" "include"
-        _qtLinkModuleDir "$module" "lib"
-        _qtLinkModuleDir "$module" "mkspecs"
-        _qtLinkModuleDir "$module" "share"
-    done
-}
-if [ -z "$NIX_QT5_TMP" ]; then
-    postInstallHooks+=(_qtPostInstallHook)
-fi
-
-if [ -z "$NIX_QT5_TMP" ]; then
-    if [ -z "$NIX_QT_SUBMODULE" ]; then
-        if [ -z "$IN_NIX_SHELL" ]; then
-            NIX_QT5_TMP=$(pwd)/__nix_qt5__
-        else
-            NIX_QT5_TMP=$(mktemp -d)
-        fi
-    else
-        NIX_QT5_TMP=$out
-    fi
-
-    mkdir -p "$NIX_QT5_TMP/nix-support"
-    for subdir in bin include lib mkspecs share; do
-        mkdir -p "$NIX_QT5_TMP/$subdir"
-        echo "$subdir/" >> "$NIX_QT5_TMP/nix-support/qt-inputs"
-    done
-
-    cp "@dev@/bin/qmake" "$NIX_QT5_TMP/bin"
-    echo "bin/qmake" >> "$NIX_QT5_TMP/nix-support/qt-inputs"
-
-    cat >"$NIX_QT5_TMP/bin/qt.conf" <<EOF
-[Paths]
-Prefix = $NIX_QT5_TMP
-Plugins = $qtPluginPrefix
-Qml2Imports = $qtQmlPrefix
-Documentation = $qtDocPrefix
-EOF
-    echo "bin/qt.conf" >> "$NIX_QT5_TMP/nix-support/qt-inputs"
-
-    export QMAKE="$NIX_QT5_TMP/bin/qmake"
-fi
-
-_qtShellCleanupHook () {
-    rm -fr $NIX_QT5_TMP
-}
-
-if [ -n "$IN_NIX_SHELL" ]; then
-    trap _qtShellCleanupHook EXIT
-fi
diff --git a/pkgs/development/libraries/qt-5/qtsubmodule-setup-hook.sh b/pkgs/development/libraries/qt-5/qtsubmodule-setup-hook.sh
deleted file mode 100644
index e41433c11386..000000000000
--- a/pkgs/development/libraries/qt-5/qtsubmodule-setup-hook.sh
+++ /dev/null
@@ -1,2 +0,0 @@
-NIX_QT5_MODULES="${NIX_QT5_MODULES}${NIX_QT5_MODULES:+:}@out@"
-NIX_QT5_MODULES_DEV="${NIX_QT5_MODULES_DEV}${NIX_QT5_MODULES_DEV:+:}@dev@"
diff --git a/pkgs/development/libraries/qtscriptgenerator/default.nix b/pkgs/development/libraries/qtscriptgenerator/default.nix
index 103b495f8e2c..040072cb463e 100644
--- a/pkgs/development/libraries/qtscriptgenerator/default.nix
+++ b/pkgs/development/libraries/qtscriptgenerator/default.nix
@@ -3,40 +3,45 @@
 stdenv.mkDerivation {
   name = "qtscriptgenerator-0.1.0";
   src = fetchurl {
-    url = http://qtscriptgenerator.googlecode.com/files/qtscriptgenerator-src-0.1.0.tar.gz;
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/qtscriptgenerator/qtscriptgenerator-src-0.1.0.tar.gz";
     sha256 = "0h8zjh38n2wfz7jld0jz6a09y66dbsd2jhm4f2024qfgcmxcabj6";
   };
   buildInputs = [ qt4 ];
 
   patches = [ ./qtscriptgenerator.gcc-4.4.patch ./qt-4.8.patch ];
 
-  # Why isn't the author providing proper Makefile or a CMakeLists.txt ?
-  buildPhase = ''
+  postPatch = ''
     # remove phonon stuff which causes errors (thanks to Gentoo bug reports)
     sed -i "/typesystem_phonon.xml/d" generator/generator.qrc
     sed -i "/qtscript_phonon/d" qtbindings/qtbindings.pro
+  '';
 
-    cd generator
-    qmake
-    make
-    # Set QTDIR, see http://code.google.com/p/qtscriptgenerator/issues/detail?id=38
-    QTDIR=${qt4} ./generator
-    cd ../qtbindings
-    qmake
-    make
+  configurePhase = ''
+    ( cd generator; qmake )
+    ( cd qtbindings; qmake )
+  '';
+
+  buildPhase = ''
+    makeFlags="SHELL=$SHELL ''${enableParallelBuilding:+-j$NIX_BUILD_CORES -l$NIX_BUILD_CORES}"
+    make $makeFlags -C generator
+
+    # Set QTDIR, see https://code.google.com/archive/p/qtscriptgenerator/issues/38
+    ( cd generator; QTDIR=${qt4} ./generator )
+    make $makeFlags -C qtbindings
   '';
 
   installPhase = ''
-    cd ..
     mkdir -p $out/lib/qt4/plugins/script
     cp -av plugins/script/* $out/lib/qt4/plugins/script
   '';
 
+  enableParallelBuilding = true;
+
   hardeningDisable = [ "format" ];
 
   meta = {
     description = "QtScript bindings generator";
-    homepage = http://code.google.com/p/qtscriptgenerator/;
+    homepage = https://code.qt.io/cgit/qt-labs/qtscriptgenerator.git/;
     inherit (qt4.meta) platforms;
     maintainers = [ ];
   };
diff --git a/pkgs/development/libraries/qtstyleplugins/default.nix b/pkgs/development/libraries/qtstyleplugins/default.nix
index 1be83731f202..a8611b312405 100644
--- a/pkgs/development/libraries/qtstyleplugins/default.nix
+++ b/pkgs/development/libraries/qtstyleplugins/default.nix
@@ -13,11 +13,6 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkgconfig qmake ];
   buildInputs = [ gtk2 ];
 
-  installPhase = ''
-    make INSTALL_ROOT=$NIX_QT5_TMP install
-    mv $NIX_QT5_TMP/$NIX_QT5_TMP $out
-  '';
-
   meta = with stdenv.lib; {
     description = "Additional style plugins for Qt5, including BB10, GTK+, Cleanlooks, Motif, Plastique";
     homepage = http://blog.qt.io/blog/2012/10/30/cleaning-up-styles-in-qt5-and-adding-fusion/;
diff --git a/pkgs/development/libraries/sblim-sfcc/default.nix b/pkgs/development/libraries/sblim-sfcc/default.nix
index 111b08b633a7..016cc6f0472f 100644
--- a/pkgs/development/libraries/sblim-sfcc/default.nix
+++ b/pkgs/development/libraries/sblim-sfcc/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "Small Footprint CIM Client Library";
 
-    homepage = http://sourceforge.net/projects/sblim/;
+    homepage = https://sourceforge.net/projects/sblim/;
 
     maintainers = [ stdenv.lib.maintainers.deepfire ];
 
diff --git a/pkgs/development/libraries/skalibs/default.nix b/pkgs/development/libraries/skalibs/default.nix
index b87662a6e342..29cc477a279d 100644
--- a/pkgs/development/libraries/skalibs/default.nix
+++ b/pkgs/development/libraries/skalibs/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.4.0.1";
+  version = "2.6.0.1";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/skalibs";
     rev = "refs/tags/v${version}";
-    sha256 = "1sdzm2vd9mxlwxbmjajb6n1n13dpsavdap2nbbnyx4wnzixxx9k7";
+    sha256 = "0skdv3wff1i78hb0y771apw0cak5rzxbwbh6l922snfm01z9k1ws";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/development/libraries/snappy/default.nix b/pkgs/development/libraries/snappy/default.nix
index a31fa1f0516d..c5e52124ceed 100644
--- a/pkgs/development/libraries/snappy/default.nix
+++ b/pkgs/development/libraries/snappy/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation rec {
   name = "snappy-${version}";
   version = "1.1.4";
-  
+
   src = fetchurl {
     url = "http://github.com/google/snappy/releases/download/${version}/"
         + "snappy-${version}.tar.gz";
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   doCheck = !stdenv.isDarwin;
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/snappy/;
+    homepage = https://google.github.io/snappy/;
     license = licenses.bsd3;
     description = "Compression/decompression library for very high speeds";
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/sparsehash/default.nix b/pkgs/development/libraries/sparsehash/default.nix
index 15b84363e020..f898152d820e 100644
--- a/pkgs/development/libraries/sparsehash/default.nix
+++ b/pkgs/development/libraries/sparsehash/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/sparsehash/;
+    homepage = https://github.com/sparsehash/sparsehash;
     description = "An extremely memory-efficient hash_map implementation";
     platforms = platforms.all;
     license = licenses.bsd3;
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 240de378afc7..080dbc4510dd 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, pkgconfig, spice_protocol, intltool, celt_0_5_1
+{ stdenv, fetchurl, pkgconfig, spice_protocol, gettext, celt_0_5_1
 , openssl, libpulseaudio, pixman, gobjectIntrospection, libjpeg_turbo, zlib
 , cyrus_sasl, python2Packages, autoreconfHook, usbredir, libsoup
 , gtk3, epoxy }:
@@ -8,11 +8,11 @@ with stdenv.lib;
 let
   inherit (python2Packages) python pygtk;
 in stdenv.mkDerivation rec {
-  name = "spice-gtk-0.33";
+  name = "spice-gtk-0.34";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/gtk/${name}.tar.bz2";
-    sha256 = "0fdgx9k4vgmasp8i2n0swrkapq8f212igcg7wsgvr3mbhsvk7bvx";
+    sha256 = "1vknp72pl6v6nf3dphhwp29hk6gv787db2pmyg4m312z2q0hwwp9";
   };
 
   buildInputs = [
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
     libjpeg_turbo zlib cyrus_sasl python pygtk usbredir gtk3 epoxy
   ];
 
-  nativeBuildInputs = [ pkgconfig intltool libsoup autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig gettext libsoup autoreconfHook ];
 
   NIX_CFLAGS_COMPILE = "-fno-stack-protector";
 
@@ -29,10 +29,6 @@ in stdenv.mkDerivation rec {
           --replace '=codegendir pygtk-2.0' '=codegendir pygobject-2.0'
   '';
 
-  preConfigure = ''
-    intltoolize -f
-  '';
-
   configureFlags = [
     "--disable-maintainer-mode"
     "--with-gtk3"
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
index bd56d880f94a..56adea9ca82e 100644
--- a/pkgs/development/libraries/spice-protocol/default.nix
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "spice-protocol-0.12.12";
+  name = "spice-protocol-0.12.13";
 
   src = fetchurl {
     url = "http://www.spice-space.org/download/releases/${name}.tar.bz2";
-    sha256 = "00wx81f2ml62g3maw63jq9w217zym921rdi38h7lpm5m8ckxraqp";
+    sha256 = "0cwrgkp558mblcf4vrhacb3iizz12khsrrl82w38w9nj0ar13vl9";
   };
 
   postInstall = ''
diff --git a/pkgs/development/libraries/stlport/default.nix b/pkgs/development/libraries/stlport/default.nix
index 30f87d36ddf9..ff1a7b57f4a5 100644
--- a/pkgs/development/libraries/stlport/default.nix
+++ b/pkgs/development/libraries/stlport/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An implementation of the C++ Standard Library";
-    homepage = http://sourceforge.net/projects/stlport/;
+    homepage = https://sourceforge.net/projects/stlport/;
     license = stdenv.lib.licenses.free; # seems BSD-like
     broken = true; # probably glibc-2.20 -related issue
   };
diff --git a/pkgs/development/libraries/telepathy/glib/default.nix b/pkgs/development/libraries/telepathy/glib/default.nix
index ec26c9f567b5..fffe677f6a71 100644
--- a/pkgs/development/libraries/telepathy/glib/default.nix
+++ b/pkgs/development/libraries/telepathy/glib/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, dbus_glib, glib, python2, pkgconfig, libxslt
-, gobjectIntrospection, valaSupport ? true, vala_0_23, glibcLocales }:
+, gobjectIntrospection, valaSupport ? true, vala_0_38, glibcLocales }:
 
 stdenv.mkDerivation rec {
   name = "telepathy-glib-0.24.1";
@@ -13,8 +13,8 @@ stdenv.mkDerivation rec {
   LC_ALL = "en_US.UTF-8";
   propagatedBuildInputs = [dbus_glib glib gobjectIntrospection];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ libxslt glibcLocales python2 ] ++ stdenv.lib.optional valaSupport vala_0_23;
+  nativeBuildInputs = [ pkgconfig libxslt ] ++ stdenv.lib.optional valaSupport vala_0_38;
+  buildInputs = [ glibcLocales python2 ];
 
   preConfigure = ''
     substituteInPlace telepathy-glib/telepathy-glib.pc.in --replace Requires.private Requires
diff --git a/pkgs/development/libraries/ti-rpc/default.nix b/pkgs/development/libraries/ti-rpc/default.nix
index d66b5d82ff52..0156c64306c7 100644
--- a/pkgs/development/libraries/ti-rpc/default.nix
+++ b/pkgs/development/libraries/ti-rpc/default.nix
@@ -8,6 +8,10 @@ stdenv.mkDerivation rec {
     sha256 = "1xchbxy0xql7yl7z4n1icj8r7dmly46i22fvm00vdjq64zlmqg3j";
   };
 
+  postPatch = ''
+    sed '1i#include <stdint.h>' -i src/xdr_sizeof.c
+  '';
+
   nativeBuildInputs = [ autoreconfHook ];
   propagatedBuildInputs = [ libkrb5 ];
 
@@ -20,7 +24,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = with stdenv.lib; {
-    homepage = http://sourceforge.net/projects/libtirpc/;
+    homepage = https://sourceforge.net/projects/libtirpc/;
     description = "The transport-independent Sun RPC implementation (TI-RPC)";
     license = licenses.bsd3;
     platforms = platforms.linux;
diff --git a/pkgs/development/libraries/vapoursynth/default.nix b/pkgs/development/libraries/vapoursynth/default.nix
index cdbecb4dc8bb..6864db12f18d 100644
--- a/pkgs/development/libraries/vapoursynth/default.nix
+++ b/pkgs/development/libraries/vapoursynth/default.nix
@@ -1,7 +1,8 @@
-{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook,
-  zimg, libass, yasm, python3, libiconv, ApplicationServices,
-  ocrSupport ?  false, tesseract,
-  imwriSupport? true,  imagemagick7
+{ stdenv, fetchFromGitHub, pkgconfig, autoreconfHook
+, zimg, libass, python3, libiconv
+, ApplicationServices, nasm
+, ocrSupport ?  false, tesseract
+, imwriSupport? true,  imagemagick7
 }:
 
 assert ocrSupport   -> tesseract != null;
@@ -11,18 +12,18 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "vapoursynth-${version}";
-  version = "R38";
+  version = "R39";
 
   src = fetchFromGitHub {
     owner  = "vapoursynth";
     repo   = "vapoursynth";
     rev    = version;
-    sha256 = "0nabl6949s7awy7rnr4ck52v50xr0hwr280fyzsqixgp8w369jn0";
+    sha256 = "0cw7w8xiwhxhwykydy13m44wm9vn9hrsi30z6017ngga9d84fhqy";
   };
 
-  nativeBuildInputs = [ pkgconfig autoreconfHook ];
+  nativeBuildInputs = [ pkgconfig autoreconfHook nasm ];
   buildInputs = [
-    zimg libass tesseract yasm
+    zimg libass
     (python3.withPackages (ps: with ps; [ sphinx cython ]))
   ] ++ optionals stdenv.isDarwin [ libiconv ApplicationServices ]
     ++ optional ocrSupport   tesseract
diff --git a/pkgs/development/libraries/vigra/default.nix b/pkgs/development/libraries/vigra/default.nix
index 2910e8b7dbbc..324d977c72e5 100644
--- a/pkgs/development/libraries/vigra/default.nix
+++ b/pkgs/development/libraries/vigra/default.nix
@@ -24,6 +24,8 @@ in stdenv.mkDerivation rec {
             ++ stdenv.lib.optionals (stdenv.system == "x86_64-linux")
                   [ "-DCMAKE_CXX_FLAGS=-fPIC" "-DCMAKE_C_FLAGS=-fPIC" ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Novel computer vision C++ library with customizable algorithms and data structures";
     homepage = http://hci.iwr.uni-heidelberg.de/vigra;
diff --git a/pkgs/development/libraries/vrb/default.nix b/pkgs/development/libraries/vrb/default.nix
new file mode 100644
index 000000000000..4f72cc138acf
--- /dev/null
+++ b/pkgs/development/libraries/vrb/default.nix
@@ -0,0 +1,34 @@
+{ stdenv, fetchurl }:
+
+stdenv.mkDerivation rec {
+  name = "vrb-${version}";
+  version = "0.5.1";
+
+  src = fetchurl {
+    url = "http://vrb.sourceforge.net/download/${name}.tar.bz2";
+    sha256 = "d579ed1998ef2d78e2ef8481a748d26e1fa12cdda806d2e31d8ec66ffb0e289f";
+  };
+
+  patches = [
+    ./removed_options.patch
+    ./unused-but-set-variable.patch
+  ];
+
+  postPatch = ''
+    patchShebangs configure
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/man/man3
+    cp -p vrb/man/man3/*.3 $out/share/man/man3/
+  '';
+
+  meta = with stdenv.lib; {
+    description = "A virtual ring buffer library written in C";
+    license     = licenses.lgpl21;
+    homepage    = http://vrb.sourceforge.net/;
+    maintainers = [ maintainers.bobvanderlinden ];
+    platforms   = platforms.linux;
+  };
+}
+
diff --git a/pkgs/development/libraries/vrb/removed_options.patch b/pkgs/development/libraries/vrb/removed_options.patch
new file mode 100644
index 000000000000..eda88e751843
--- /dev/null
+++ b/pkgs/development/libraries/vrb/removed_options.patch
@@ -0,0 +1,13 @@
+--- a/configure	2010-10-05 16:32:59.000000000 +0200
++++ b/configure	2010-10-05 16:33:08.000000000 +0200
+@@ -341,8 +341,8 @@
+     pgm_warn=( "${pgm_warn[@]}" -Winline )
+ fi
+ 
+-lib_feat=( -fomit-frame-pointer -funsigned-char -funsigned-bitfields -fgnu-linker -frerun-loop-opt -finline -finline-functions -fmove-all-movables )
+-pgm_feat=( -fomit-frame-pointer -funsigned-char -funsigned-bitfields -fgnu-linker -frerun-loop-opt -finline -finline-functions -fmove-all-movables )
++lib_feat=( -fomit-frame-pointer -funsigned-char -funsigned-bitfields -frerun-loop-opt -finline -finline-functions )
++pgm_feat=( -fomit-frame-pointer -funsigned-char -funsigned-bitfields -frerun-loop-opt -finline -finline-functions )
+ 
+ lib_cp_opt=( -pipe )
+ pgm_cp_opt=( -pipe )
diff --git a/pkgs/development/libraries/vrb/unused-but-set-variable.patch b/pkgs/development/libraries/vrb/unused-but-set-variable.patch
new file mode 100644
index 000000000000..43429255e8cd
--- /dev/null
+++ b/pkgs/development/libraries/vrb/unused-but-set-variable.patch
@@ -0,0 +1,19 @@
+--- a/vrb/src/bin/vbuf.c1	2011-06-13 22:14:24.000000000 +0200
++++ b/vrb/src/bin/vbuf.c	2011-06-13 22:14:43.000000000 +0200
+@@ -426,7 +426,6 @@
+     int			opt_progress		;
+     int			output_fd		;
+     int			poll_time		;
+-    int			poll_num		;
+     int			poll_write		;
+     int			poll_read		;
+ 
+@@ -861,7 +860,7 @@
+ 	    poll_time = display_time - get_time_ms();
+ 	    if ( poll_time < 0 ) poll_time = 0;
+ 	}
+-	poll_num = poll( poll_list, 2, poll_time );
++	poll( poll_list, 2, poll_time );
+ 
+ 	//-----------------------
+ 	// Check for poll events.
diff --git a/pkgs/development/libraries/webkitgtk/2.18.nix b/pkgs/development/libraries/webkitgtk/2.18.nix
index e1b520eb10b1..bc9bdb223abb 100644
--- a/pkgs/development/libraries/webkitgtk/2.18.nix
+++ b/pkgs/development/libraries/webkitgtk/2.18.nix
@@ -12,7 +12,7 @@ assert enableGeoLocation -> geoclue2 != null;
 with stdenv.lib;
 stdenv.mkDerivation rec {
   name = "webkitgtk-${version}";
-  version = "2.18.1";
+  version = "2.18.3";
 
   meta = {
     description = "Web content rendering engine, GTK+ port";
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://webkitgtk.org/releases/${name}.tar.xz";
-    sha256 = "15fp7szmkpannx7avsynf0nv3y343qwq0fvq3rz2m2mw5wq7pnww";
+    sha256 = "17lgn7qwrwqxl1lgmq5icvzmna6aymx4c7al47rp0vvac7hj0m71";
   };
 
   # see if we can clean this up....
diff --git a/pkgs/development/libraries/wlc/default.nix b/pkgs/development/libraries/wlc/default.nix
index 7fcf4fbbe5f6..02066253d0f9 100644
--- a/pkgs/development/libraries/wlc/default.nix
+++ b/pkgs/development/libraries/wlc/default.nix
@@ -5,28 +5,18 @@
 , withOptionalPackages ? true, zlib, valgrind, doxygen
 }:
 
-let
-  # for 0.0.10
-  xwaylandPatch = fetchpatch {
-    url = "https://github.com/Cloudef/wlc/commit/a130f6006560fb8ac02fb59a90ced1659563f9ca.diff";
-    sha256 = "0kzcbqklcyg8bganm65di8cif6dpc8bkrsvkjia09kr92lymxm2c";
-  };
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   name = "wlc-${version}";
-  version = "0.0.10";
+  version = "0.0.11";
 
   src = fetchFromGitHub {
     owner = "Cloudef";
     repo = "wlc";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "09kvwhrpgkxlagn9lgqxc80jbg56djn29a6z0n6h0dsm90ysyb2k";
+    sha256 = "1qnak907gjd35hq4b0rrhgb7kz5iwnirh8yk372yzxpgk7dq0gz9";
   };
 
-  patches = [
-    xwaylandPatch
-  ];
-
   nativeBuildInputs = [ cmake pkgconfig ];
 
   buildInputs = [
diff --git a/pkgs/development/libraries/wxwidgets/2.9/default.nix b/pkgs/development/libraries/wxwidgets/2.9/default.nix
index 56080841ca3d..6230536b33ab 100644
--- a/pkgs/development/libraries/wxwidgets/2.9/default.nix
+++ b/pkgs/development/libraries/wxwidgets/2.9/default.nix
@@ -20,6 +20,14 @@ stdenv.mkDerivation {
     sha256 = "04jda4bns7cmp7xy68qz112yg0lribpc6xs5k9gilfqcyhshqlvc";
   };
 
+  patches = [
+    (fetchurl { # https://trac.wxwidgets.org/ticket/17942
+      url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/"
+          + "fix_assertion_using_hide_in_destroy.diff";
+      sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
+    })
+  ];
+
   buildInputs =
     [ gtk2 libXinerama libSM libXxf86vm xf86vidmodeproto gstreamer
       gst-plugins-base GConf ]
diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix
index 2375de4b1bfa..951f27f7d547 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -1,4 +1,5 @@
-{ stdenv, fetchFromGitHub, fetchpatch, pkgconfig, gtk2, gtk3, libXinerama, libSM, libXxf86vm
+{ stdenv, fetchFromGitHub, fetchurl, fetchpatch, pkgconfig
+, gtk2, gtk3, libXinerama, libSM, libXxf86vm
 , xf86vidmodeproto , gstreamer, gst-plugins-base, GConf, setfile
 , withMesa ? true, mesa_glu ? null, mesa_noglu ? null
 , compat24 ? false, compat26 ? true, unicode ? true
@@ -37,9 +38,14 @@ stdenv.mkDerivation {
 
   propagatedBuildInputs = optional stdenv.isDarwin AGL;
 
-  patches =
+  patches = [
+    (fetchurl { # https://trac.wxwidgets.org/ticket/17942
+      url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/"
+          + "fix_assertion_using_hide_in_destroy.diff";
+      sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
+    })
     # "Add support for WebKit2GTK+ in wxWebView". Will be in 3.0.4
-    optional (!withGtk2) (fetchpatch {
+  ] ++ optional (!withGtk2) (fetchpatch {
       url = "https://github.com/wxWidgets/wxWidgets/commit/ec6e54bc893fb7516731ca9c71e0d0bbc5ae9ff7.patch";
       sha256 = "0gxd83xajm7gdv9rdzyvqwa2p5nz29nr23i0zx2dgfpsvz2qjp3q";
     });
diff --git a/pkgs/development/libraries/xlslib/default.nix b/pkgs/development/libraries/xlslib/default.nix
index b274bba9c126..718554b20a48 100644
--- a/pkgs/development/libraries/xlslib/default.nix
+++ b/pkgs/development/libraries/xlslib/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "C++/C library to construct Excel .xls files in code";
-    homepage = http://sourceforge.net/projects/xlslib/;
+    homepage = https://sourceforge.net/projects/xlslib/;
     license = licenses.bsd2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ abbradar ];
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index e759e65dfc6b..ed84dec365e1 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,16 +1,17 @@
-{ stdenv, fetchurl, pkgconfig, glib, sqlite, gnome3, vala_0_23
+{ stdenv, fetchgit, pkgconfig, glib, sqlite, gnome3, vala_0_38
 , intltool, libtool, dbus_libs, telepathy_glib
 , gtk3, json_glib, librdf_raptor2, dbus_glib
 , pythonSupport ? true, python2Packages
 }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.15";
+  version = "1.0";
   name = "zeitgeist-${version}";
 
-  src = fetchurl {
-    url = "https://github.com/seiflotfy/zeitgeist/archive/v${version}.tar.gz";
-    sha256 = "07pnc7kmjpd0ncm32z6s3ny5p4zl52v9lld0n0f8sp6cw87k12p0";
+  src = fetchgit {
+    url = "git://anongit.freedesktop.org/git/zeitgeist/zeitgeist";
+    rev = "v${version}";
+    sha256 = "0vw6m0azycqabbz8f0fd8xsh5kf6j3ig4wpqlhw6sklvf44ii5b8";
   };
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
@@ -19,9 +20,8 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--with-session-bus-services-dir=$(out)/share/dbus-1/services" ];
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ glib sqlite gnome3.gnome_common intltool
-                  libtool dbus_libs telepathy_glib vala_0_23 dbus_glib
+  nativeBuildInputs = [ pkgconfig gnome3.gnome_common intltool libtool vala_0_38 ];
+  buildInputs = [ glib sqlite dbus_libs telepathy_glib dbus_glib
                   gtk3 json_glib librdf_raptor2 python2Packages.rdflib ];
 
   prePatch = "patchShebangs .";
diff --git a/pkgs/development/libraries/zimg/default.nix b/pkgs/development/libraries/zimg/default.nix
index 2c9d27a8b6ad..b5bb73e3e33b 100644
--- a/pkgs/development/libraries/zimg/default.nix
+++ b/pkgs/development/libraries/zimg/default.nix
@@ -2,17 +2,16 @@
 
 stdenv.mkDerivation rec{
   name = "zimg-${version}";
-  version = "2.4";
+  version = "2.6.1";
 
   src = fetchFromGitHub {
     owner  = "sekrit-twc";
     repo   = "zimg";
-    rev    = "v${version}";
-    sha256 = "11pk8a5manr751jhy0xrql57jzab57lwqjxbpd8kvm9m8b51icwq";
+    rev    = "release-${version}";
+    sha256 = "08hynzcxz95a4i67k5cn6isafdb6xjgd0x0miyhlnp2xc220zfqj";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
-  buildInputs = [ ];
 
   meta = with stdenv.lib; {
     description = "Scaling, colorspace conversion and dithering library";
diff --git a/pkgs/development/lisp-modules/asdf/default.nix b/pkgs/development/lisp-modules/asdf/default.nix
index ef07a65f96bc..be8b5c7b7a93 100644
--- a/pkgs/development/lisp-modules/asdf/default.nix
+++ b/pkgs/development/lisp-modules/asdf/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="asdf";
-    version="3.2.0";
+    version="3.3.0";
     name="${baseName}-${version}";
-    hash="0ns4hh5f0anfgvy4q68wsylgwfin82kb1k2p53h29cf8jiil0p9a";
-    url="http://common-lisp.net/project/asdf/archives/asdf-3.2.0.tar.gz";
-    sha256="0ns4hh5f0anfgvy4q68wsylgwfin82kb1k2p53h29cf8jiil0p9a";
+    hash="16qphj2ilds4plzr36jbnrxxl5s21q53m9vasv3208gb5wjwcnv8";
+    url="http://common-lisp.net/project/asdf/archives/asdf-3.3.0.tar.gz";
+    sha256="16qphj2ilds4plzr36jbnrxxl5s21q53m9vasv3208gb5wjwcnv8";
   };
   buildInputs = [
     texinfo texLive perl
diff --git a/pkgs/development/lisp-modules/clwrapper/default.nix b/pkgs/development/lisp-modules/clwrapper/default.nix
index 2088439c61d5..fb4a090c702a 100644
--- a/pkgs/development/lisp-modules/clwrapper/default.nix
+++ b/pkgs/development/lisp-modules/clwrapper/default.nix
@@ -11,6 +11,7 @@ stdenv.mkDerivation {
     substituteAll ${./common-lisp.sh} "$out"/bin/common-lisp.sh
     substituteAll "${./build-with-lisp.sh}" "$out/bin/build-with-lisp.sh"
     substituteAll "${./cl-wrapper.sh}" "$out/bin/cl-wrapper.sh"
+    patchShebangs "$out/bin"
     chmod a+x "$out"/bin/*
 
     substituteAll "${./setup-hook.sh}" "setup-hook-parsed"
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp b/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
index 3a87626df1bf..9dd82ce2b2d6 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix/system-info.lisp
@@ -264,7 +264,7 @@ parasitic systems will be tracked."
          (source-file (asdf:system-source-file asdf-system)))
     (cond
       (source-file
-       (loop :for system-name :being :the :hash-keys :of asdf/find-system:*defined-systems* :do
+       (loop :for system-name :being :the :hash-keys :of asdf/find-system::*registered-systems* :do
           (when (and (parasitic-relationship-p system system-name)
                      (not (blacklisted-parasite-p system-name)))
             (found-new-parasite system-name)
diff --git a/pkgs/development/misc/loc/default.nix b/pkgs/development/misc/loc/default.nix
index 88d24fddf79e..eef10f3323fe 100644
--- a/pkgs/development/misc/loc/default.nix
+++ b/pkgs/development/misc/loc/default.nix
@@ -16,7 +16,7 @@ buildRustPackage rec {
   cargoSha256 = "0y2ww48vh667kkyg9pyjwcbh7fxi41bjnkhwp749crjqn2abimrk";
 
   meta = {
-    homepage = http://github.com/cgag/loc;
+    homepage = https://github.com/cgag/loc;
     description = "Count lines of code quickly";
     license = stdenv.lib.licenses.mit;
     maintainers = [ stdenv.lib.maintainers.matthiasbeyer ];
diff --git a/pkgs/development/node-packages/composition-v4.nix b/pkgs/development/node-packages/composition-v4.nix
index dc5899ebf1a3..f63ae1ef7503 100644
--- a/pkgs/development/node-packages/composition-v4.nix
+++ b/pkgs/development/node-packages/composition-v4.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.3.0. Do not edit!
+# This file has been generated by node2nix 1.4.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
diff --git a/pkgs/development/node-packages/composition-v6.nix b/pkgs/development/node-packages/composition-v6.nix
index 0c01a169af41..4d4f68cf50ca 100644
--- a/pkgs/development/node-packages/composition-v6.nix
+++ b/pkgs/development/node-packages/composition-v6.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.3.0. Do not edit!
+# This file has been generated by node2nix 1.4.0. Do not edit!
 
 {pkgs ? import <nixpkgs> {
     inherit system;
diff --git a/pkgs/development/node-packages/default-v6.nix b/pkgs/development/node-packages/default-v6.nix
index 6cf74cdc4e78..179629ddfa69 100644
--- a/pkgs/development/node-packages/default-v6.nix
+++ b/pkgs/development/node-packages/default-v6.nix
@@ -61,7 +61,7 @@ nodePackages // {
     '';
   });
 
-  fast-cli = nodePackages.fast-cli.override (oldAttrs: {
+  fast-cli = nodePackages."fast-cli-1.x".override (oldAttrs: {
     preRebuild = ''
       # Simply ignore the phantomjs --version check. It seems to need a display but it is safe to ignore
       sed -i -e "s|console.error('Error verifying phantomjs, continuing', err)|console.error('Error verifying phantomjs, continuing', err); return true;|" node_modules/phantomjs-prebuilt/lib/util.js
diff --git a/pkgs/development/node-packages/node-env.nix b/pkgs/development/node-packages/node-env.nix
index 356e78f027bf..33073e55ce56 100644
--- a/pkgs/development/node-packages/node-env.nix
+++ b/pkgs/development/node-packages/node-env.nix
@@ -110,16 +110,16 @@ let
         text = ''
           var fs = require('fs');
           var path = require('path');
-          
+
           function resolveDependencyVersion(location, name) {
               if(location == process.env['NIX_STORE']) {
                   return null;
               } else {
                   var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
-                  
+
                   if(fs.existsSync(dependencyPackageJSON)) {
                       var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
-                      
+
                       if(dependencyPackageObj.name == name) {
                           return dependencyPackageObj.version;
                       }
@@ -128,12 +128,12 @@ let
                   }
               }
           }
-          
+
           function replaceDependencies(dependencies) {
               if(typeof dependencies == "object" && dependencies !== null) {
                   for(var dependency in dependencies) {
                       var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
-                      
+
                       if(resolvedVersion === null) {
                           process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
                       } else {
@@ -142,17 +142,17 @@ let
                   }
               }
           }
-          
+
           /* Read the package.json configuration */
           var packageObj = JSON.parse(fs.readFileSync('./package.json'));
-          
+
           /* Pinpoint all dependencies */
           replaceDependencies(packageObj.dependencies);
           if(process.argv[2] == "development") {
               replaceDependencies(packageObj.devDependencies);
           }
           replaceDependencies(packageObj.optionalDependencies);
-          
+
           /* Write the fixed package.json file */
           fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
         '';
@@ -160,7 +160,7 @@ let
     in
     ''
       node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
-      
+
       ${stdenv.lib.optionalString (dependencies != [])
         ''
           if [ -d node_modules ]
@@ -171,11 +171,11 @@ let
           fi
         ''}
     '';
-  
+
   # Recursively traverses all dependencies of a package and pinpoints all
   # dependencies in the package.json file to the versions that are actually
   # being used.
-  
+
   pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
     ''
       if [ -d "${packageName}" ]
@@ -210,7 +210,7 @@ let
 
       compositionScript = composePackage args;
       pinpointDependenciesScript = pinpointDependenciesOfPackage args;
-      
+
       passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
 
       installPhase = args.installPhase or ''
@@ -220,7 +220,7 @@ let
 
         # Compose the package and all its dependencies
         source $compositionScriptPath
-        
+
         # Pinpoint the versions of all dependencies to the ones that are actually being used
         echo "pinpointing versions of dependencies..."
         source $pinpointDependenciesScriptPath
@@ -287,31 +287,31 @@ let
 
         includeScript = includeDependencies { inherit dependencies; };
         pinpointDependenciesScript = pinpointDependenciesOfPackage args;
-        
+
         passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
 
         buildCommand = ''
-          mkdir -p $out/lib
-          cd $out/lib
+          mkdir -p $out/${packageName}
+          cd $out/${packageName}
+
           source $includeScriptPath
-          
+
+          # Create fake package.json to make the npm commands work properly
+          cp ${src}/package.json .
+          chmod 644 package.json
+
           # Pinpoint the versions of all dependencies to the ones that are actually being used
           echo "pinpointing versions of dependencies..."
+          cd ..
           source $pinpointDependenciesScriptPath
-
-          # Create fake package.json to make the npm commands work properly
-          cat > package.json <<EOF
-          {
-              "name": "${packageName}",
-              "version": "${version}"
-          }
-          EOF
+          cd ${packageName}
 
           # Patch the shebangs of the bundled modules to prevent them from
           # calling executables outside the Nix store as much as possible
           patchShebangs .
 
           export HOME=$PWD
+
           npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} rebuild
 
           ${stdenv.lib.optionalString (!dontNpmInstall) ''
@@ -321,6 +321,8 @@ let
             npm --registry http://www.example.com --nodedir=${nodeSources} ${npmFlags} ${stdenv.lib.optionalString production "--production"} install
           ''}
 
+          cd ..
+          mv ${packageName} lib
           ln -s $out/lib/node_modules/.bin $out/bin
         '';
       };
diff --git a/pkgs/development/node-packages/node-packages-v4.nix b/pkgs/development/node-packages/node-packages-v4.nix
index c6ef2bdfe8c3..a632f848663e 100644
--- a/pkgs/development/node-packages/node-packages-v4.nix
+++ b/pkgs/development/node-packages/node-packages-v4.nix
@@ -1,4 +1,4 @@
-# This file has been generated by node2nix 1.3.0. Do not edit!
+# This file has been generated by node2nix 1.4.0. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
 
@@ -697,13 +697,13 @@ let
         sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
       };
     };
-    "clone-1.0.2" = {
+    "clone-1.0.3" = {
       name = "clone";
       packageName = "clone";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz";
-        sha1 = "260b7a99ebb1edfe247538175f783243cb19d149";
+        url = "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz";
+        sha1 = "298d7e2231660f40c003c2ed3140decf3f53085f";
       };
     };
     "clone-stats-0.0.1" = {
@@ -787,13 +787,13 @@ let
         sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
       };
     };
-    "resolve-1.4.0" = {
+    "resolve-1.5.0" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.4.0";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.4.0.tgz";
-        sha512 = "3aygixvrv5l6jm5n2dfgzyx4z86l3q2v7c2rln6znai3877q0r5ajlxgdaj4qm9h70yp7grmg9kmvr77ww2zckc7bm22zzfldafqvk9";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.5.0.tgz";
+        sha512 = "25scf9zkhf5yc9x3d7mfq2im5vyxmq3ih939na6jzblal7mgfcijmadl2maz501mkccykj714gvdhhmlzi86hbk7k03r9ipnwd142l6";
       };
     };
     "detect-file-0.1.0" = {
@@ -1048,13 +1048,13 @@ let
         sha1 = "20813df3d712928b207378691a45066fae72dd57";
       };
     };
-    "is-buffer-1.1.5" = {
+    "is-buffer-1.1.6" = {
       name = "is-buffer";
       packageName = "is-buffer";
-      version = "1.1.5";
+      version = "1.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.5.tgz";
-        sha1 = "1f3b26ef613b214b88cbca23cc6c01d87961eecc";
+        url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz";
+        sha512 = "3kr8dm9qyklmm2xyiz75s8db90bfilfals4x0g276kncihrrrz0ar4y6dqpvc7pwy7h43jay1bayi1r62x97nzvcswkk4ap18pl1irm";
       };
     };
     "is-posix-bracket-0.1.1" = {
@@ -2119,13 +2119,13 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
-    "ajv-5.2.4" = {
+    "ajv-5.3.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "5.2.4";
+      version = "5.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-5.2.4.tgz";
-        sha1 = "3daf9a8b67221299fdae8d82d117ed8e6c80244b";
+        url = "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz";
+        sha1 = "4414ff74a50879c208ee5fdc826e32c303549eda";
       };
     };
     "har-schema-2.0.0" = {
@@ -2155,6 +2155,15 @@ let
         sha1 = "96256a3bc975595eb36d82e9929d060d893439ff";
       };
     };
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    };
     "json-schema-traverse-0.3.1" = {
       name = "json-schema-traverse";
       packageName = "json-schema-traverse";
@@ -2164,24 +2173,6 @@ let
         sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
       };
     };
-    "json-stable-stringify-1.0.1" = {
-      name = "json-stable-stringify";
-      packageName = "json-stable-stringify";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
-        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
-      };
-    };
-    "jsonify-0.0.0" = {
-      name = "jsonify";
-      packageName = "jsonify";
-      version = "0.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
-        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
-      };
-    };
     "hoek-4.2.0" = {
       name = "hoek";
       packageName = "hoek";
@@ -2209,13 +2200,13 @@ let
         sha1 = "a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe";
       };
     };
-    "sntp-2.0.2" = {
+    "sntp-2.1.0" = {
       name = "sntp";
       packageName = "sntp";
-      version = "2.0.2";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sntp/-/sntp-2.0.2.tgz";
-        sha1 = "5064110f0af85f7cfdb7d6b67a40028ce52b4b2b";
+        url = "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz";
+        sha512 = "0k2smmr24w5hb1cpql6vcgh58vzp4pmh9anf0bgz3arlsgq1mapnlq9fjqr6xs10aq1cmxaw987fwknqi62frax0fvs9bj3q3kmpg8l";
       };
     };
     "boom-5.2.0" = {
@@ -2452,13 +2443,13 @@ let
         sha1 = "e8381cbebb5b5fd0ca8d2b09f6a0181a158db34d";
       };
     };
-    "ws-1.1.4" = {
+    "ws-1.1.5" = {
       name = "ws";
       packageName = "ws";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-1.1.4.tgz";
-        sha1 = "57f40d036832e5f5055662a397c4de76ed66bf61";
+        url = "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz";
+        sha512 = "3iv2yz706h7wyg563jsfjdykkkxs8j49vz60r6qx5by0npfhs98rgc114kdqs15sc52mldscc22bkfpkrs08cwlqaxx8lfdjn5alwm3";
       };
     };
     "yargs-3.32.0" = {
@@ -3361,13 +3352,13 @@ let
         sha1 = "d95bf721ec877e08db276ed3fc6eb78f9083ad46";
       };
     };
-    "node-pre-gyp-0.6.38" = {
+    "node-pre-gyp-0.6.39" = {
       name = "node-pre-gyp";
       packageName = "node-pre-gyp";
-      version = "0.6.38";
+      version = "0.6.39";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz";
-        sha1 = "e92a20f83416415bb4086f6d1fb78b3da73d113d";
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz";
+        sha512 = "2cwrivwc0ha272cly9r61bbb14kkl1s1hsmn53yr88b6pfjqj512nac6c5rphc6ak88v8gpl1f879qdd3v7386103zzr7miibpmbhis";
       };
     };
     "nopt-4.0.1" = {
@@ -3406,13 +3397,22 @@ let
         sha512 = "2r13vwvb5ick34k6flr7vgbjfsdka8zbj5a74rd0ba4bp0nqmhppbaw3qlwn7f4smpifpa4iy4hxj137y598rbvsmy3h0d8vxgvzwar";
       };
     };
-    "tar-pack-3.4.0" = {
+    "detect-libc-1.0.2" = {
+      name = "detect-libc";
+      packageName = "detect-libc";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz";
+        sha1 = "71ad5d204bf17a6a6ca8f450c61454066ef461e1";
+      };
+    };
+    "tar-pack-3.4.1" = {
       name = "tar-pack";
       packageName = "tar-pack";
-      version = "3.4.0";
+      version = "3.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.0.tgz";
-        sha1 = "23be2d7f671a8339376cbdb0b8fe3fdebf317984";
+        url = "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz";
+        sha512 = "0mgk8jd55vr7i3i29r1skhxwwbqkqfz6mbr32r5nn8h6v5xns8d2rc7835y7wj0zmppckxai7nm8r4s65kkg6yhirnwx33yixn75x1w";
       };
     };
     "aws-sign2-0.6.0" = {
@@ -3487,6 +3487,24 @@ let
         sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
       };
     };
+    "json-stable-stringify-1.0.1" = {
+      name = "json-stable-stringify";
+      packageName = "json-stable-stringify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+      };
+    };
+    "jsonify-0.0.0" = {
+      name = "jsonify";
+      packageName = "jsonify";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
+        sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
+      };
+    };
     "assert-plus-0.2.0" = {
       name = "assert-plus";
       packageName = "assert-plus";
@@ -3631,1869 +3649,6 @@ let
         sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
       };
     };
-    "JSONStream-1.3.1" = {
-      name = "JSONStream";
-      packageName = "JSONStream";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.1.tgz";
-        sha1 = "707f761e01dae9e16f1bcf93703b78c70966579a";
-      };
-    };
-    "ansi-regex-3.0.0" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
-        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
-      };
-    };
-    "ansicolors-0.3.2" = {
-      name = "ansicolors";
-      packageName = "ansicolors";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
-        sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
-      };
-    };
-    "ansistyles-0.1.3" = {
-      name = "ansistyles";
-      packageName = "ansistyles";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz";
-        sha1 = "5de60415bda071bb37127854c864f41b23254539";
-      };
-    };
-    "bluebird-3.5.1" = {
-      name = "bluebird";
-      packageName = "bluebird";
-      version = "3.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bluebird/-/bluebird-3.5.1.tgz";
-        sha512 = "2631bhp784qng0ifbypsmvijn6kjfvkhq2335kdz8ix5qi3wb3lbpg94xjn1av2s6i95ygr5a4y9j1721dw6zdbywwh1m48by4qpa1h";
-      };
-    };
-    "cacache-9.2.9" = {
-      name = "cacache";
-      packageName = "cacache";
-      version = "9.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-9.2.9.tgz";
-        sha512 = "11qjza6qy62lkvynngcvx7nf2vhxvvp4g0l07a8zw5pzqc5iy0zznxzgs0dw1bb2i10dr2v7i624x6v9pkzp55snam9wk5jjf7ka642";
-      };
-    };
-    "call-limit-1.1.0" = {
-      name = "call-limit";
-      packageName = "call-limit";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/call-limit/-/call-limit-1.1.0.tgz";
-        sha1 = "6fd61b03f3da42a2cd0ec2b60f02bd0e71991fea";
-      };
-    };
-    "chownr-1.0.1" = {
-      name = "chownr";
-      packageName = "chownr";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz";
-        sha1 = "e2a75042a9551908bebd25b8523d5f9769d79181";
-      };
-    };
-    "cli-table2-0.2.0" = {
-      name = "cli-table2";
-      packageName = "cli-table2";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-table2/-/cli-table2-0.2.0.tgz";
-        sha1 = "2d1ef7f218a0e786e214540562d4bd177fe32d97";
-      };
-    };
-    "cmd-shim-2.0.2" = {
-      name = "cmd-shim";
-      packageName = "cmd-shim";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz";
-        sha1 = "6fcbda99483a8fd15d7d30a196ca69d688a2efdb";
-      };
-    };
-    "columnify-1.5.4" = {
-      name = "columnify";
-      packageName = "columnify";
-      version = "1.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz";
-        sha1 = "4737ddf1c7b69a8a7c340570782e947eec8e78bb";
-      };
-    };
-    "config-chain-1.1.11" = {
-      name = "config-chain";
-      packageName = "config-chain";
-      version = "1.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz";
-        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";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz";
-        sha1 = "7f742de066fc748bc8db820569dddce49bf0d456";
-      };
-    };
-    "editor-1.0.0" = {
-      name = "editor";
-      packageName = "editor";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz";
-        sha1 = "60c7f87bd62bcc6a894fa8ccd6afb7823a24f742";
-      };
-    };
-    "fs-vacuum-1.2.10" = {
-      name = "fs-vacuum";
-      packageName = "fs-vacuum";
-      version = "1.2.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.10.tgz";
-        sha1 = "b7629bec07a4031a2548fdf99f5ecf1cc8b31e36";
-      };
-    };
-    "fs-write-stream-atomic-1.0.10" = {
-      name = "fs-write-stream-atomic";
-      packageName = "fs-write-stream-atomic";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
-        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
-      };
-    };
-    "iferr-0.1.5" = {
-      name = "iferr";
-      packageName = "iferr";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz";
-        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
-      };
-    };
-    "init-package-json-1.10.1" = {
-      name = "init-package-json";
-      packageName = "init-package-json";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-1.10.1.tgz";
-        sha1 = "cd873a167796befb99612b28762a0b6393fd8f6a";
-      };
-    };
-    "is-cidr-1.0.0" = {
-      name = "is-cidr";
-      packageName = "is-cidr";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-cidr/-/is-cidr-1.0.0.tgz";
-        sha1 = "fb5aacf659255310359da32cae03e40c6a1c2afc";
-      };
-    };
-    "lazy-property-1.0.0" = {
-      name = "lazy-property";
-      packageName = "lazy-property";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lazy-property/-/lazy-property-1.0.0.tgz";
-        sha1 = "84ddc4b370679ba8bd4cdcfa4c06b43d57111147";
-      };
-    };
-    "libnpx-9.6.0" = {
-      name = "libnpx";
-      packageName = "libnpx";
-      version = "9.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/libnpx/-/libnpx-9.6.0.tgz";
-        sha512 = "28v6bsd92dcqj92yr2bk9r29ajwbqx46fd46mriva2934nr7s6hhkxy6f7xbf4nd7p93fxsbpzfx0ghq0y788x1zj8gnh1iswgd89sz";
-      };
-    };
-    "lockfile-1.0.3" = {
-      name = "lockfile";
-      packageName = "lockfile";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lockfile/-/lockfile-1.0.3.tgz";
-        sha1 = "2638fc39a0331e9cac1a04b71799931c9c50df79";
-      };
-    };
-    "lodash._baseuniq-4.6.0" = {
-      name = "lodash._baseuniq";
-      packageName = "lodash._baseuniq";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz";
-        sha1 = "0ebb44e456814af7905c6212fa2c9b2d51b841e8";
-      };
-    };
-    "lodash.clonedeep-4.5.0" = {
-      name = "lodash.clonedeep";
-      packageName = "lodash.clonedeep";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
-        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
-      };
-    };
-    "lodash.union-4.6.0" = {
-      name = "lodash.union";
-      packageName = "lodash.union";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz";
-        sha1 = "48bb5088409f16f1821666641c44dd1aaae3cd88";
-      };
-    };
-    "lodash.uniq-4.5.0" = {
-      name = "lodash.uniq";
-      packageName = "lodash.uniq";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
-        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
-      };
-    };
-    "lodash.without-4.4.0" = {
-      name = "lodash.without";
-      packageName = "lodash.without";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz";
-        sha1 = "3cd4574a00b67bae373a94b748772640507b7aac";
-      };
-    };
-    "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";
-        sha512 = "1xz91sizgyzh8plz5jx1labzpygapm6xy3qpxriaj00yvnhy4lnmhqcb20qln4lh80c5g3yzp4j5i6g63njq1r5sl9c0zlkh9xjk2xb";
-      };
-    };
-    "meant-1.0.1" = {
-      name = "meant";
-      packageName = "meant";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz";
-        sha512 = "2b6yi25bkxg4hd38w2cpfjy0xyka4iqiyzhsnkklx3nxwbgnzr4hfl07xxpflccjvnb03zvnssw0y9fspxdk2fmq3abd4fab0n1baai";
-      };
-    };
-    "mississippi-1.3.0" = {
-      name = "mississippi";
-      packageName = "mississippi";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz";
-        sha1 = "d201583eb12327e3c5c1642a404a9cacf94e34f5";
-      };
-    };
-    "move-concurrently-1.0.1" = {
-      name = "move-concurrently";
-      packageName = "move-concurrently";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz";
-        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
-      };
-    };
-    "node-gyp-3.6.2" = {
-      name = "node-gyp";
-      packageName = "node-gyp";
-      version = "3.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz";
-        sha1 = "9bfbe54562286284838e750eac05295853fa1c60";
-      };
-    };
-    "npm-cache-filename-1.0.2" = {
-      name = "npm-cache-filename";
-      packageName = "npm-cache-filename";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz";
-        sha1 = "ded306c5b0bfc870a9e9faf823bc5f283e05ae11";
-      };
-    };
-    "npm-install-checks-3.0.0" = {
-      name = "npm-install-checks";
-      packageName = "npm-install-checks";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-3.0.0.tgz";
-        sha1 = "d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7";
-      };
-    };
-    "npm-lifecycle-1.0.3" = {
-      name = "npm-lifecycle";
-      packageName = "npm-lifecycle";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-1.0.3.tgz";
-        sha512 = "0iapgirmdb46ia3apm6fsb9qv9c0hi4k9jflrxlgnrm0jhliqgas49lmpz06xafncx1sxgjngl0fw3gr472c7kapzdvpivf0fp5miqa";
-      };
-    };
-    "npm-package-arg-5.1.2" = {
-      name = "npm-package-arg";
-      packageName = "npm-package-arg";
-      version = "5.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-5.1.2.tgz";
-        sha512 = "36g1gm57qcvdgb4lm6ibl9pgma8lgx8l8i2jzap6w3v36wfzsqa7vb411zd26yp9rgcq23951vl5j6pac22qd5h9x7jm9raznnnr460";
-      };
-    };
-    "npm-packlist-1.1.10" = {
-      name = "npm-packlist";
-      packageName = "npm-packlist";
-      version = "1.1.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz";
-        sha512 = "1c5z9bibdf07na26xffshagxk8gfnsbaav802dkvbrlgj4mixz4giji96yb1zs7p9yl9n28mlkhjp9jklq55j27c0i837vk507v8001";
-      };
-    };
-    "npm-profile-2.0.5" = {
-      name = "npm-profile";
-      packageName = "npm-profile";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-profile/-/npm-profile-2.0.5.tgz";
-        sha512 = "2325avpmbzxl4vi1hxnxv96rw9j0y712ym3mph3hrsvgq4p8d0yh44vnja22plnw9vplskcx661j2spzqka65zsszzngvwm806skfdl";
-      };
-    };
-    "npm-registry-client-8.5.0" = {
-      name = "npm-registry-client";
-      packageName = "npm-registry-client";
-      version = "8.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.5.0.tgz";
-        sha512 = "1nwp5cfjmy4k14g6ziz7zpia8f66ximhrdhw49cj2w173bibq1sgc4d5w951ql5dqf0hcmia956ld9y7qs2q1fx6s2j446zhvdk0irn";
-      };
-    };
-    "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" = {
-      name = "opener";
-      packageName = "opener";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz";
-        sha1 = "5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8";
-      };
-    };
-    "pacote-6.0.4" = {
-      name = "pacote";
-      packageName = "pacote";
-      version = "6.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-6.0.4.tgz";
-        sha512 = "36bx0mnsvm3fvq0vbcl05j6fsjf4v4gks1hlxqyga0jxz491cis9y38j8q9cmmfdfbx9xaz3n3h93h0ik4bkn82rb3nz2413wk7xfxi";
-      };
-    };
-    "path-is-inside-1.0.2" = {
-      name = "path-is-inside";
-      packageName = "path-is-inside";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
-        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";
-      };
-    };
-    "qrcode-terminal-0.11.0" = {
-      name = "qrcode-terminal";
-      packageName = "qrcode-terminal";
-      version = "0.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz";
-        sha1 = "ffc6c28a2fc0bfb47052b47e23f4f446a5fbdb9e";
-      };
-    };
-    "query-string-5.0.0" = {
-      name = "query-string";
-      packageName = "query-string";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/query-string/-/query-string-5.0.0.tgz";
-        sha1 = "fbdf7004b4d2aff792f9871981b7a2794f555947";
-      };
-    };
-    "qw-1.0.1" = {
-      name = "qw";
-      packageName = "qw";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qw/-/qw-1.0.1.tgz";
-        sha1 = "efbfdc740f9ad054304426acb183412cc8b996d4";
-      };
-    };
-    "read-1.0.7" = {
-      name = "read";
-      packageName = "read";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read/-/read-1.0.7.tgz";
-        sha1 = "b3da19bd052431a97671d44a42634adf710b40c4";
-      };
-    };
-    "read-cmd-shim-1.0.1" = {
-      name = "read-cmd-shim";
-      packageName = "read-cmd-shim";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz";
-        sha1 = "2d5d157786a37c055d22077c32c53f8329e91c7b";
-      };
-    };
-    "read-installed-4.0.3" = {
-      name = "read-installed";
-      packageName = "read-installed";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz";
-        sha1 = "ff9b8b67f187d1e4c29b9feb31f6b223acd19067";
-      };
-    };
-    "read-package-json-2.0.12" = {
-      name = "read-package-json";
-      packageName = "read-package-json";
-      version = "2.0.12";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.12.tgz";
-        sha512 = "15w2z3m1iysjf0zwvyc5mix8nypx42shx90alil4sslq6caj3pgk59zsn2ppxn95nls6bs7yw7khl5rmlq9gljv27w3vs2gxg9wigwv";
-      };
-    };
-    "read-package-tree-5.1.6" = {
-      name = "read-package-tree";
-      packageName = "read-package-tree";
-      version = "5.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.6.tgz";
-        sha512 = "0v1k32zqj8bnqzyp5h0jxnkvpgpzpa6z7iyqbpm3p0ylqafbb2zm656mw6gs16zf98l7y218ygpx2kzks00qcycwwx2cny67mlza98l";
-      };
-    };
-    "retry-0.10.1" = {
-      name = "retry";
-      packageName = "retry";
-      version = "0.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz";
-        sha1 = "e76388d217992c252750241d3d3956fed98d8ff4";
-      };
-    };
-    "sha-2.0.1" = {
-      name = "sha";
-      packageName = "sha";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz";
-        sha1 = "6030822fbd2c9823949f8f72ed6411ee5cf25aae";
-      };
-    };
-    "slide-1.1.6" = {
-      name = "slide";
-      packageName = "slide";
-      version = "1.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
-        sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
-      };
-    };
-    "sorted-object-2.0.1" = {
-      name = "sorted-object";
-      packageName = "sorted-object";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz";
-        sha1 = "7d631f4bd3a798a24af1dffcfbfe83337a5df5fc";
-      };
-    };
-    "sorted-union-stream-2.1.3" = {
-      name = "sorted-union-stream";
-      packageName = "sorted-union-stream";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz";
-        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";
-        sha512 = "283n1p781cl2pj3jk32blcvwjdlaixng0v5x2f9qi3ndxrmyg3hk4clsjpcfsszkymy40q426yz5skax4ivsmll2p9hhcc00ivc4ijr";
-      };
-    };
-    "strip-ansi-4.0.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
-        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
-      };
-    };
-    "tar-4.0.2" = {
-      name = "tar";
-      packageName = "tar";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-4.0.2.tgz";
-        sha512 = "1mm9s6jly4lwfv9cak7kpiagqx3j6n1dh50k7nlnqy761ckfvn394asfgq1vdnxpjr164h5ybgcfysr8wgm70bwd0y3qnq4w3i8smg2";
-      };
-    };
-    "text-table-0.2.0" = {
-      name = "text-table";
-      packageName = "text-table";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
-        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
-      };
-    };
-    "umask-1.1.0" = {
-      name = "umask";
-      packageName = "umask";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz";
-        sha1 = "f29cebf01df517912bb58ff9c4e50fde8e33320d";
-      };
-    };
-    "unique-filename-1.1.0" = {
-      name = "unique-filename";
-      packageName = "unique-filename";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz";
-        sha1 = "d05f2fe4032560871f30e93cbe735eea201514f3";
-      };
-    };
-    "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";
-      };
-    };
-    "validate-npm-package-name-3.0.0" = {
-      name = "validate-npm-package-name";
-      packageName = "validate-npm-package-name";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz";
-        sha1 = "5fa912d81eb7d0c74afc140de7317f0ca7df437e";
-      };
-    };
-    "worker-farm-1.5.0" = {
-      name = "worker-farm";
-      packageName = "worker-farm";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.0.tgz";
-        sha512 = "2lrlysxfbyzywla6i1q07xncmw30w1icgq18c4bra25dl6wvcd3mxg1lqbf88w5h7mqnf98j8ll657wnqwjq9rwd7pbmd9i11964x0c";
-      };
-    };
-    "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";
-        sha512 = "0jpbx5znf640m7icywa21hdgyss5h6c811z27mzk7mh1yhv8sqcqd2y0cwgkrnigx57k2chv5cqwv0z8ff8z32gpdw8jw5imz8pcdni";
-      };
-    };
-    "debuglog-1.0.1" = {
-      name = "debuglog";
-      packageName = "debuglog";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz";
-        sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
-      };
-    };
-    "imurmurhash-0.1.4" = {
-      name = "imurmurhash";
-      packageName = "imurmurhash";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
-        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
-      };
-    };
-    "lodash._baseindexof-3.1.0" = {
-      name = "lodash._baseindexof";
-      packageName = "lodash._baseindexof";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz";
-        sha1 = "fe52b53a1c6761e42618d654e4a25789ed61822c";
-      };
-    };
-    "lodash._bindcallback-3.0.1" = {
-      name = "lodash._bindcallback";
-      packageName = "lodash._bindcallback";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz";
-        sha1 = "e531c27644cf8b57a99e17ed95b35c748789392e";
-      };
-    };
-    "lodash._cacheindexof-3.0.2" = {
-      name = "lodash._cacheindexof";
-      packageName = "lodash._cacheindexof";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz";
-        sha1 = "3dc69ac82498d2ee5e3ce56091bafd2adc7bde92";
-      };
-    };
-    "lodash._createcache-3.1.2" = {
-      name = "lodash._createcache";
-      packageName = "lodash._createcache";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz";
-        sha1 = "56d6a064017625e79ebca6b8018e17440bdcf093";
-      };
-    };
-    "readdir-scoped-modules-1.0.2" = {
-      name = "readdir-scoped-modules";
-      packageName = "readdir-scoped-modules";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz";
-        sha1 = "9fafa37d286be5d92cbaebdee030dc9b5f406747";
-      };
-    };
-    "jsonparse-1.3.1" = {
-      name = "jsonparse";
-      packageName = "jsonparse";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz";
-        sha1 = "3f4dae4a91fac315f71062f8521cc239f1366280";
-      };
-    };
-    "through-2.3.8" = {
-      name = "through";
-      packageName = "through";
-      version = "2.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
-        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
-      };
-    };
-    "colors-1.1.2" = {
-      name = "colors";
-      packageName = "colors";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
-        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
-      };
-    };
-    "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";
-      };
-    };
-    "proto-list-1.2.4" = {
-      name = "proto-list";
-      packageName = "proto-list";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
-        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
-      };
-    };
-    "asap-2.0.6" = {
-      name = "asap";
-      packageName = "asap";
-      version = "2.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz";
-        sha1 = "e50347611d7e690943208bbdafebcbc2fb866d46";
-      };
-    };
-    "promzard-0.3.0" = {
-      name = "promzard";
-      packageName = "promzard";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz";
-        sha1 = "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee";
-      };
-    };
-    "cidr-regex-1.0.6" = {
-      name = "cidr-regex";
-      packageName = "cidr-regex";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cidr-regex/-/cidr-regex-1.0.6.tgz";
-        sha1 = "74abfd619df370b9d54ab14475568e97dd64c0c1";
-      };
-    };
-    "dotenv-4.0.0" = {
-      name = "dotenv";
-      packageName = "dotenv";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz";
-        sha1 = "864ef1379aced55ce6f95debecdce179f7a0cd1d";
-      };
-    };
-    "yargs-8.0.2" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "8.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-8.0.2.tgz";
-        sha1 = "6299a9055b1cefc969ff7e79c1d918dceb22c360";
-      };
-    };
-    "camelcase-4.1.0" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
-        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
-      };
-    };
-    "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-2.1.0" = {
-      name = "os-locale";
-      packageName = "os-locale";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz";
-        sha512 = "0lafrp0i2ajapsnma0x74q7zscn97a56i5hh58a0nyig2igfx9fqn4ain9kvjrr06as5gzdrv2wdf52qc5m861fd0f4cv69ghdjbjyy";
-      };
-    };
-    "read-pkg-up-2.0.0" = {
-      name = "read-pkg-up";
-      packageName = "read-pkg-up";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-2.0.0.tgz";
-        sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
-      };
-    };
-    "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";
-      };
-    };
-    "string-width-2.1.1" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
-        sha512 = "29s1fqgr4mnhfxwczgdghfmmc1f792m9hysvcjxw2h5lfj8ndf2b6gm02m96qk5m75g4aisijvng4pk618anwbr8i9ay2jyszkqgslw";
-      };
-    };
-    "which-module-2.0.0" = {
-      name = "which-module";
-      packageName = "which-module";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
-        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
-      };
-    };
-    "yargs-parser-7.0.0" = {
-      name = "yargs-parser";
-      packageName = "yargs-parser";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-7.0.0.tgz";
-        sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
-      };
-    };
-    "execa-0.7.0" = {
-      name = "execa";
-      packageName = "execa";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz";
-        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
-      };
-    };
-    "mem-1.1.0" = {
-      name = "mem";
-      packageName = "mem";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mem/-/mem-1.1.0.tgz";
-        sha1 = "5edd52b485ca1d900fe64895505399a0dfa45f76";
-      };
-    };
-    "cross-spawn-5.1.0" = {
-      name = "cross-spawn";
-      packageName = "cross-spawn";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-5.1.0.tgz";
-        sha1 = "e8bd0efee58fcff6f8f94510a0a554bbfa235449";
-      };
-    };
-    "get-stream-3.0.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-3.0.0.tgz";
-        sha1 = "8e943d1358dc37555054ecbe2edb05aa174ede14";
-      };
-    };
-    "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";
-      };
-    };
-    "npm-run-path-2.0.2" = {
-      name = "npm-run-path";
-      packageName = "npm-run-path";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz";
-        sha1 = "35a9232dfa35d7067b4cb2ddf2357b1871536c5f";
-      };
-    };
-    "p-finally-1.0.0" = {
-      name = "p-finally";
-      packageName = "p-finally";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
-        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
-      };
-    };
-    "strip-eof-1.0.0" = {
-      name = "strip-eof";
-      packageName = "strip-eof";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz";
-        sha1 = "bb43ff5598a6eb05d89b59fcd129c983313606bf";
-      };
-    };
-    "shebang-command-1.2.0" = {
-      name = "shebang-command";
-      packageName = "shebang-command";
-      version = "1.2.0";
-      src = fetchurl {
-        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";
-      };
-    };
-    "path-key-2.0.1" = {
-      name = "path-key";
-      packageName = "path-key";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz";
-        sha1 = "411cadb574c5a140d3a4b1910d40d80cc9f40b40";
-      };
-    };
-    "mimic-fn-1.1.0" = {
-      name = "mimic-fn";
-      packageName = "mimic-fn";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.1.0.tgz";
-        sha1 = "e667783d92e89dbd342818b5230b9d62a672ad18";
-      };
-    };
-    "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";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-pkg/-/read-pkg-2.0.0.tgz";
-        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";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/load-json-file/-/load-json-file-2.0.0.tgz";
-        sha1 = "7947e42149af80d696cbf797bcaabcfe1fe29ca8";
-      };
-    };
-    "path-type-2.0.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-2.0.0.tgz";
-        sha1 = "f012ccb8415b7096fc2daa1054c3d72389594c73";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "lodash._createset-4.0.3" = {
-      name = "lodash._createset";
-      packageName = "lodash._createset";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz";
-        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";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.0.tgz";
-        sha1 = "0aac662fd52be78964d5532f694784e70110acf7";
-      };
-    };
-    "duplexify-3.5.1" = {
-      name = "duplexify";
-      packageName = "duplexify";
-      version = "3.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexify/-/duplexify-3.5.1.tgz";
-        sha512 = "0cyjpkdqc1lkh2fh7z9p2i6va4fvwazvpn4153ndpb2ng8w0q9x9kb0hk07yy0baj50s1kl58m7f7zmx8fqdfcp2vsl0m7hfk22i64g";
-      };
-    };
-    "end-of-stream-1.4.0" = {
-      name = "end-of-stream";
-      packageName = "end-of-stream";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.0.tgz";
-        sha1 = "7a90d833efda6cfa6eac0f4949dbb0fad3a63206";
-      };
-    };
-    "flush-write-stream-1.0.2" = {
-      name = "flush-write-stream";
-      packageName = "flush-write-stream";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz";
-        sha1 = "c81b90d8746766f1a609a46809946c45dd8ae417";
-      };
-    };
-    "from2-2.3.0" = {
-      name = "from2";
-      packageName = "from2";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz";
-        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
-      };
-    };
-    "parallel-transform-1.1.0" = {
-      name = "parallel-transform";
-      packageName = "parallel-transform";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz";
-        sha1 = "d410f065b05da23081fcd10f28854c29bda33b06";
-      };
-    };
-    "pump-1.0.2" = {
-      name = "pump";
-      packageName = "pump";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pump/-/pump-1.0.2.tgz";
-        sha1 = "3b3ee6512f94f0e575538c17995f9f16990a5d51";
-      };
-    };
-    "pumpify-1.3.5" = {
-      name = "pumpify";
-      packageName = "pumpify";
-      version = "1.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pumpify/-/pumpify-1.3.5.tgz";
-        sha1 = "1b671c619940abcaeac0ad0e3a3c164be760993b";
-      };
-    };
-    "stream-each-1.2.2" = {
-      name = "stream-each";
-      packageName = "stream-each";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz";
-        sha512 = "2h4ymczmf5aqldga4sj8acqlzc3almazi2vwiv7kx63k28sz1wwkqgzzv1hn47jf49k1x94w25fmmi001h5mj3n6g9in1s6b1n5vkcr";
-      };
-    };
-    "typedarray-0.0.6" = {
-      name = "typedarray";
-      packageName = "typedarray";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
-        sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
-      };
-    };
-    "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";
-      };
-    };
-    "cyclist-0.2.2" = {
-      name = "cyclist";
-      packageName = "cyclist";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz";
-        sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640";
-      };
-    };
-    "copy-concurrently-1.0.5" = {
-      name = "copy-concurrently";
-      packageName = "copy-concurrently";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
-        sha512 = "3c1ggiqqnjgqlwdnimx94gm176c8rjsrih5qw2lbm642l8x7grx07v065k4j89c1p0adkm7v6sz11drb6j6sp51np2m1cazvycnhrvz";
-      };
-    };
-    "run-queue-1.0.3" = {
-      name = "run-queue";
-      packageName = "run-queue";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz";
-        sha1 = "e848396f057d223f24386924618e25694161ec47";
-      };
-    };
-    "ignore-walk-3.0.1" = {
-      name = "ignore-walk";
-      packageName = "ignore-walk";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz";
-        sha512 = "2ajgs5klg786rkdxs37mbxn0p8ah2ai0nj0bjv5vbrfir4y0pvrhxxadv46s8g1hqkq5p3fjssys3n6qvz60p4jzjsgfq683lrnad8d";
-      };
-    };
-    "npm-bundled-1.0.3" = {
-      name = "npm-bundled";
-      packageName = "npm-bundled";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz";
-        sha512 = "0xk8ky1cjf8q2wkbgfzplpn04sm9xnl6i71dwnc29rfh8m2glan5nd6l4k3q7ikci7xpwfpcmyy3frr873zndjmhbr344grkyh3f907";
-      };
-    };
-    "make-fetch-happen-2.5.0" = {
-      name = "make-fetch-happen";
-      packageName = "make-fetch-happen";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-2.5.0.tgz";
-        sha512 = "1s6fqfsr7ksyfp0mwzlcf9rwpg74y29p67jkc8h89zy915rjsy5f85ik1659gd0y48z7lbnf3mg9c27drk74qycj446rlykim3zkw14";
-      };
-    };
-    "agentkeepalive-3.3.0" = {
-      name = "agentkeepalive";
-      packageName = "agentkeepalive";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.3.0.tgz";
-        sha512 = "0svpj8gbh57a1l3zcds9kd8dkh4r2fyacpkrxvffbpj5pgvbf26h93q31niqbqsciswdxlx0fhikljqwg40lvmwxl299nb2gfjmqa7p";
-      };
-    };
-    "http-cache-semantics-3.8.0" = {
-      name = "http-cache-semantics";
-      packageName = "http-cache-semantics";
-      version = "3.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.0.tgz";
-        sha512 = "258k0vff4wrszl7vnpv4c67zc5qk0mnl8banhp8znianmahxv1y55lpz0877jicsw1k0y8g0glz4my71dd9y3ywzpingfvb2xy0ar0w";
-      };
-    };
-    "http-proxy-agent-2.0.0" = {
-      name = "http-proxy-agent";
-      packageName = "http-proxy-agent";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.0.0.tgz";
-        sha1 = "46482a2f0523a4d6082551709f469cb3e4a85ff4";
-      };
-    };
-    "https-proxy-agent-2.1.0" = {
-      name = "https-proxy-agent";
-      packageName = "https-proxy-agent";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.1.0.tgz";
-        sha512 = "17fg8xbji1zam9ksqgdfsyhqfw1nyniz8gwp54q0z7rz1pxw2m3agniawm870nn4j88m1w9l0lfkw5wa4qf1593if0cwicv814xad7w";
-      };
-    };
-    "node-fetch-npm-2.0.2" = {
-      name = "node-fetch-npm";
-      packageName = "node-fetch-npm";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz";
-        sha512 = "0bw6m444q0jc2gmw1yb0im1jv6vhky6d071p72c26ajvf2a7710jq8cp5ampf8j7kdbki7j0mbsi15dh93vrhkpvqpkw0i6ajdk34lw";
-      };
-    };
-    "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";
-      };
-    };
-    "socks-proxy-agent-3.0.1" = {
-      name = "socks-proxy-agent";
-      packageName = "socks-proxy-agent";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz";
-        sha512 = "2a5lsw4fry6nqk3jdxvwqrnpasypvl8c4d0kg32912820lc72l7s9jzidfsrn2an9c66xqicspxb2vnir5cjspprs9qklxnd75060b7";
-      };
-    };
-    "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-4.1.1" = {
-      name = "agent-base";
-      packageName = "agent-base";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-4.1.1.tgz";
-        sha512 = "2naw79i4m7pj1n5qw9xq6c0c8cdjfcqhdqk4j552nbrpb4c60hic13jfikqw7xga8xywpr57z2y5z70gn5xiihq47vzs3wrc1998qf9";
-      };
-    };
-    "es6-promisify-5.0.0" = {
-      name = "es6-promisify";
-      packageName = "es6-promisify";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz";
-        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
-      };
-    };
-    "es6-promise-4.1.1" = {
-      name = "es6-promise";
-      packageName = "es6-promise";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz";
-        sha512 = "2g2gkw8cxy2lww5lqjbv0imkxkhy684pagbq4qaw6np46xcx1r6rbkg7qy4wjv12b7jy7zs208iilim7clc9v6ws2dzy9g0g223b99r";
-      };
-    };
-    "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-better-errors-1.0.1" = {
-      name = "json-parse-better-errors";
-      packageName = "json-parse-better-errors";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.1.tgz";
-        sha512 = "05ndp7b03ikx2vqivfxlm6c73yagjyrdp22ay8z592pqxldbsm7hjzpa3asal2vys99lvirqar3ly3sb1ibhhngls4sqc4nwp2jj967";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "npm-pick-manifest-1.0.4" = {
-      name = "npm-pick-manifest";
-      packageName = "npm-pick-manifest";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz";
-        sha512 = "02pmkjkn2nbr1ypwzwybyd6bfckdwr8cr0nah5bwadz21yd7cd9fbvxqalfdc41n88p1zv8qbgp149knkaixnrl8l7jnrwfxislvb1h";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "decode-uri-component-0.2.0" = {
-      name = "decode-uri-component";
-      packageName = "decode-uri-component";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
-        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
-      };
-    };
-    "strict-uri-encode-1.1.0" = {
-      name = "strict-uri-encode";
-      packageName = "strict-uri-encode";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
-        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "from2-1.3.0" = {
-      name = "from2";
-      packageName = "from2";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/from2/-/from2-1.3.0.tgz";
-        sha1 = "88413baaa5f9a597cfde9221d86986cd3c061dfd";
-      };
-    };
-    "stream-iterate-1.2.0" = {
-      name = "stream-iterate";
-      packageName = "stream-iterate";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-iterate/-/stream-iterate-1.2.0.tgz";
-        sha1 = "2bd7c77296c1702a46488b8ad41f79865eecd4e1";
-      };
-    };
-    "minipass-2.2.1" = {
-      name = "minipass";
-      packageName = "minipass";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-2.2.1.tgz";
-        sha512 = "3yy9s65iwrx5hndcqbxrks88xi9cf8hra6zalgf8xfr4ahpp31s0i8lv6jpyb42p0y7z55ac3390sbqxcgcvan3xls449agbjb98mmv";
-      };
-    };
-    "minizlib-1.0.4" = {
-      name = "minizlib";
-      packageName = "minizlib";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.0.4.tgz";
-        sha512 = "1lxpa3mkdc94i0d7b2ivilcky0gnmnxv5csmigzacb5gl2cz7rz4ciikq1r5an1simk86f61whwzyi5d8gic85w55q19d09sbv19pmh";
-      };
-    };
-    "yallist-3.0.2" = {
-      name = "yallist";
-      packageName = "yallist";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz";
-        sha1 = "8452b4bb7e83c7c188d8041c1a837c773d6d8bb9";
-      };
-    };
-    "unique-slug-2.0.0" = {
-      name = "unique-slug";
-      packageName = "unique-slug";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz";
-        sha1 = "db6676e7c7cc0629878ff196097c78855ae9f4ab";
-      };
-    };
-    "boxen-1.2.2" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz";
-        sha1 = "3f1d4032c30ffea9d4b02c322eaf2ea741dcbce5";
-      };
-    };
-    "configstore-3.1.1" = {
-      name = "configstore";
-      packageName = "configstore";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz";
-        sha512 = "2zmidvkp20q25yv6a5d7k1daawdg0w6ppgayxzpwfhyvmgwybkkv7ni0j4b2j9c8wjn8z33zf5d4bjr8jywb5qixc75vypyy87n90z6";
-      };
-    };
-    "import-lazy-2.1.0" = {
-      name = "import-lazy";
-      packageName = "import-lazy";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz";
-        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
-      };
-    };
-    "is-npm-1.0.0" = {
-      name = "is-npm";
-      packageName = "is-npm";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz";
-        sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
-      };
-    };
-    "latest-version-3.1.0" = {
-      name = "latest-version";
-      packageName = "latest-version";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz";
-        sha1 = "a205383fea322b33b5ae3b18abee0dc2f356ee15";
-      };
-    };
-    "semver-diff-2.1.0" = {
-      name = "semver-diff";
-      packageName = "semver-diff";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz";
-        sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
-      };
-    };
-    "xdg-basedir-3.0.0" = {
-      name = "xdg-basedir";
-      packageName = "xdg-basedir";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz";
-        sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
-      };
-    };
-    "ansi-align-2.0.0" = {
-      name = "ansi-align";
-      packageName = "ansi-align";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz";
-        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
-      };
-    };
-    "chalk-2.2.0" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.2.0.tgz";
-        sha512 = "3vfffivwlp2hr7dwh84lvayba94a98ddhb8dwkv14magmfdj1n895880sik7liqv4xgnvvpr2v5jsm1gzl1fypl7nl9dpa6d3zhq4yh";
-      };
-    };
-    "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-1.2.0" = {
-      name = "term-size";
-      packageName = "term-size";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz";
-        sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
-      };
-    };
-    "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";
-      };
-    };
-    "ansi-styles-3.2.0" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz";
-        sha512 = "2x19fs1qvg7ifsdvii4g8kqpa5hir1lm0k0y0fz6dhm5c8gh4z9il4wqczl078p2ikmrav23dmj86cxy8y1j22k4mv59d8qq6c8wx1n";
-      };
-    };
-    "supports-color-4.5.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-4.5.0.tgz";
-        sha1 = "be7a0de484dec5c5cddf8b3d59125044912f635b";
-      };
-    };
-    "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.3" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
-      };
-    };
-    "has-flag-2.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz";
-        sha1 = "e8207af1cc7b30d446cc70b734b5e8be18f88d51";
-      };
-    };
-    "dot-prop-4.2.0" = {
-      name = "dot-prop";
-      packageName = "dot-prop";
-      version = "4.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dot-prop/-/dot-prop-4.2.0.tgz";
-        sha512 = "2wyv9brsq3dzp724y1q5z5j5ja83y834hgc193lnarfdycwz1ii3xg02qxx3dg05x3skwjm1di5s5a8hqi8l5v1afx2bia436pifhxm";
-      };
-    };
-    "make-dir-1.1.0" = {
-      name = "make-dir";
-      packageName = "make-dir";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-dir/-/make-dir-1.1.0.tgz";
-        sha512 = "1q7686aqgkxk9l6nqhzbil3599f9pxiz364kdbfy7pdr9sny7zylpm6yf4rwz4i0aa11lmf35mh8jmj7g7vxm37pvqvl9qbij5jxyfh";
-      };
-    };
-    "unique-string-1.0.0" = {
-      name = "unique-string";
-      packageName = "unique-string";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz";
-        sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
-      };
-    };
-    "is-obj-1.0.1" = {
-      name = "is-obj";
-      packageName = "is-obj";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-obj/-/is-obj-1.0.1.tgz";
-        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
-      };
-    };
-    "pify-3.0.0" = {
-      name = "pify";
-      packageName = "pify";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz";
-        sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
-      };
-    };
-    "crypto-random-string-1.0.0" = {
-      name = "crypto-random-string";
-      packageName = "crypto-random-string";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz";
-        sha1 = "a230f64f568310e1498009940790ec99545bca7e";
-      };
-    };
-    "package-json-4.0.1" = {
-      name = "package-json";
-      packageName = "package-json";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz";
-        sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
-      };
-    };
-    "got-6.7.1" = {
-      name = "got";
-      packageName = "got";
-      version = "6.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-6.7.1.tgz";
-        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
-      };
-    };
-    "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";
-      };
-    };
-    "registry-url-3.1.0" = {
-      name = "registry-url";
-      packageName = "registry-url";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz";
-        sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
-      };
-    };
-    "create-error-class-3.0.2" = {
-      name = "create-error-class";
-      packageName = "create-error-class";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/create-error-class/-/create-error-class-3.0.2.tgz";
-        sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
-      };
-    };
-    "duplexer3-0.1.4" = {
-      name = "duplexer3";
-      packageName = "duplexer3";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz";
-        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
-      };
-    };
-    "is-redirect-1.0.0" = {
-      name = "is-redirect";
-      packageName = "is-redirect";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz";
-        sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
-      };
-    };
-    "is-retry-allowed-1.1.0" = {
-      name = "is-retry-allowed";
-      packageName = "is-retry-allowed";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-retry-allowed/-/is-retry-allowed-1.1.0.tgz";
-        sha1 = "11a060568b67339444033d0125a61a20d564fb34";
-      };
-    };
-    "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";
-      };
-    };
-    "timed-out-4.0.1" = {
-      name = "timed-out";
-      packageName = "timed-out";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timed-out/-/timed-out-4.0.1.tgz";
-        sha1 = "f32eacac5a175bea25d7fab565ab3ed8741ef56f";
-      };
-    };
-    "unzip-response-2.0.1" = {
-      name = "unzip-response";
-      packageName = "unzip-response";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz";
-        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
-      };
-    };
-    "url-parse-lax-1.0.0" = {
-      name = "url-parse-lax";
-      packageName = "url-parse-lax";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-1.0.0.tgz";
-        sha1 = "7af8f303645e9bd79a272e7a14ac68bc0609da73";
-      };
-    };
-    "capture-stack-trace-1.0.0" = {
-      name = "capture-stack-trace";
-      packageName = "capture-stack-trace";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/capture-stack-trace/-/capture-stack-trace-1.0.0.tgz";
-        sha1 = "4a6fa07399c26bba47f0b2496b4d0fb408c5550d";
-      };
-    };
-    "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";
-      };
-    };
-    "builtins-1.0.3" = {
-      name = "builtins";
-      packageName = "builtins";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz";
-        sha1 = "cb94faeb61c8696451db36534e1422f94f0aee88";
-      };
-    };
-    "errno-0.1.4" = {
-      name = "errno";
-      packageName = "errno";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz";
-        sha1 = "b896e23a9e5e8ba33871fc996abd3635fc9a1c7d";
-      };
-    };
-    "prr-0.0.0" = {
-      name = "prr";
-      packageName = "prr";
-      version = "0.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz";
-        sha1 = "1a84b85908325501411853d0081ee3fa86e2926a";
-      };
-    };
     "adm-zip-0.4.7" = {
       name = "adm-zip";
       packageName = "adm-zip";
@@ -5512,6 +3667,15 @@ let
         sha1 = "612a4ab45ef42a70cde806bad86ee6db047e8385";
       };
     };
+    "colors-1.1.2" = {
+      name = "colors";
+      packageName = "colors";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
+        sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
+      };
+    };
     "fields-0.1.24" = {
       name = "fields";
       packageName = "fields";
@@ -6186,7 +4350,7 @@ in
           })
           (sources."vinyl-0.5.3" // {
             dependencies = [
-              sources."clone-1.0.2"
+              sources."clone-1.0.3"
               sources."clone-stats-0.0.1"
             ];
           })
@@ -6234,14 +4398,14 @@ in
                                     dependencies = [
                                       (sources."kind-of-3.2.2" // {
                                         dependencies = [
-                                          sources."is-buffer-1.1.5"
+                                          sources."is-buffer-1.1.6"
                                         ];
                                       })
                                     ];
                                   })
                                   (sources."kind-of-4.0.0" // {
                                     dependencies = [
-                                      sources."is-buffer-1.1.5"
+                                      sources."is-buffer-1.1.6"
                                     ];
                                   })
                                 ];
@@ -6265,7 +4429,7 @@ in
                   sources."is-extglob-1.0.0"
                   (sources."kind-of-3.2.2" // {
                     dependencies = [
-                      sources."is-buffer-1.1.5"
+                      sources."is-buffer-1.1.6"
                     ];
                   })
                   (sources."normalize-path-2.1.1" // {
@@ -6399,7 +4563,7 @@ in
           sources."lodash.isstring-4.0.1"
           sources."lodash.mapvalues-4.6.0"
           sources."rechoir-0.6.2"
-          (sources."resolve-1.4.0" // {
+          (sources."resolve-1.5.0" // {
             dependencies = [
               sources."path-parse-1.0.5"
             ];
@@ -6438,7 +4602,7 @@ in
         dependencies = [
           (sources."defaults-1.0.3" // {
             dependencies = [
-              sources."clone-1.0.2"
+              sources."clone-1.0.3"
             ];
           })
           (sources."glob-stream-3.1.18" // {
@@ -6671,16 +4835,12 @@ in
           })
           (sources."har-validator-5.0.3" // {
             dependencies = [
-              (sources."ajv-5.2.4" // {
+              (sources."ajv-5.3.0" // {
                 dependencies = [
                   sources."co-4.6.0"
                   sources."fast-deep-equal-1.0.0"
+                  sources."fast-json-stable-stringify-2.0.0"
                   sources."json-schema-traverse-0.3.1"
-                  (sources."json-stable-stringify-1.0.1" // {
-                    dependencies = [
-                      sources."jsonify-0.0.0"
-                    ];
-                  })
                 ];
               })
               sources."har-schema-2.0.0"
@@ -6695,7 +4855,7 @@ in
                   sources."boom-5.2.0"
                 ];
               })
-              sources."sntp-2.0.2"
+              sources."sntp-2.1.0"
             ];
           })
           (sources."http-signature-1.2.0" // {
@@ -7108,7 +5268,7 @@ in
       (sources."v8-debug-1.0.1" // {
         dependencies = [
           sources."nan-2.7.0"
-          (sources."node-pre-gyp-0.6.38" // {
+          (sources."node-pre-gyp-0.6.39" // {
             dependencies = [
               (sources."mkdirp-0.5.1" // {
                 dependencies = [
@@ -7294,6 +5454,7 @@ in
                 ];
               })
               sources."semver-5.4.1"
+              sources."detect-libc-1.0.2"
               (sources."tar-2.2.1" // {
                 dependencies = [
                   sources."block-stream-0.0.9"
@@ -7305,7 +5466,7 @@ in
                   sources."inherits-2.0.3"
                 ];
               })
-              (sources."tar-pack-3.4.0" // {
+              (sources."tar-pack-3.4.1" // {
                 dependencies = [
                   (sources."fstream-1.0.11" // {
                     dependencies = [
@@ -7354,7 +5515,7 @@ in
       (sources."v8-profiler-5.7.0" // {
         dependencies = [
           sources."nan-2.7.0"
-          (sources."node-pre-gyp-0.6.38" // {
+          (sources."node-pre-gyp-0.6.39" // {
             dependencies = [
               (sources."mkdirp-0.5.1" // {
                 dependencies = [
@@ -7540,6 +5701,7 @@ in
                 ];
               })
               sources."semver-5.4.1"
+              sources."detect-libc-1.0.2"
               (sources."tar-2.2.1" // {
                 dependencies = [
                   sources."block-stream-0.0.9"
@@ -7551,7 +5713,7 @@ in
                   sources."inherits-2.0.3"
                 ];
               })
-              (sources."tar-pack-3.4.0" // {
+              (sources."tar-pack-3.4.1" // {
                 dependencies = [
                   (sources."fstream-1.0.11" // {
                     dependencies = [
@@ -7602,7 +5764,7 @@ in
           sources."isexe-2.0.0"
         ];
       })
-      (sources."ws-1.1.4" // {
+      (sources."ws-1.1.5" // {
         dependencies = [
           sources."options-0.0.6"
           sources."ultron-1.0.2"
@@ -7661,10 +5823,10 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.6.38";
+    version = "0.6.39";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz";
-      sha1 = "e92a20f83416415bb4086f6d1fb78b3da73d113d";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz";
+      sha512 = "2cwrivwc0ha272cly9r61bbb14kkl1s1hsmn53yr88b6pfjqj512nac6c5rphc6ak88v8gpl1f879qdd3v7386103zzr7miibpmbhis";
     };
     dependencies = [
       (sources."mkdirp-0.5.1" // {
@@ -7860,6 +6022,7 @@ in
         ];
       })
       sources."semver-5.4.1"
+      sources."detect-libc-1.0.2"
       (sources."tar-2.2.1" // {
         dependencies = [
           sources."block-stream-0.0.9"
@@ -7871,7 +6034,7 @@ in
           sources."inherits-2.0.3"
         ];
       })
-      (sources."tar-pack-3.4.0" // {
+      (sources."tar-pack-3.4.1" // {
         dependencies = [
           (sources."debug-2.6.9" // {
             dependencies = [
@@ -7935,990 +6098,6 @@ in
       url = "https://registry.npmjs.org/npm/-/npm-5.5.1.tgz";
       sha512 = "3chqlcr8vp121jxny46vi43cm5r0p31l7a24jbbq5jz4zzi0bvp0isk0i8xqylllcas38b75a9nl9p9pj0azbmbqf1bcyf793q8wxik";
     };
-    dependencies = [
-      (sources."JSONStream-1.3.1" // {
-        dependencies = [
-          sources."jsonparse-1.3.1"
-          sources."through-2.3.8"
-        ];
-      })
-      sources."abbrev-1.1.1"
-      sources."ansi-regex-3.0.0"
-      sources."ansicolors-0.3.2"
-      sources."ansistyles-0.1.3"
-      sources."aproba-1.2.0"
-      sources."archy-1.0.0"
-      sources."bluebird-3.5.1"
-      (sources."cacache-9.2.9" // {
-        dependencies = [
-          sources."y18n-3.2.1"
-        ];
-      })
-      sources."call-limit-1.1.0"
-      sources."chownr-1.0.1"
-      (sources."cli-table2-0.2.0" // {
-        dependencies = [
-          sources."lodash-3.10.1"
-          (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."strip-ansi-3.0.1" // {
-                dependencies = [
-                  sources."ansi-regex-2.1.1"
-                ];
-              })
-            ];
-          })
-          sources."colors-1.1.2"
-        ];
-      })
-      sources."cmd-shim-2.0.2"
-      (sources."columnify-1.5.4" // {
-        dependencies = [
-          (sources."strip-ansi-3.0.1" // {
-            dependencies = [
-              sources."ansi-regex-2.1.1"
-            ];
-          })
-          (sources."wcwidth-1.0.1" // {
-            dependencies = [
-              (sources."defaults-1.0.3" // {
-                dependencies = [
-                  sources."clone-1.0.2"
-                ];
-              })
-            ];
-          })
-        ];
-      })
-      (sources."config-chain-1.1.11" // {
-        dependencies = [
-          sources."proto-list-1.2.4"
-        ];
-      })
-      sources."detect-indent-5.0.0"
-      (sources."dezalgo-1.0.3" // {
-        dependencies = [
-          sources."asap-2.0.6"
-        ];
-      })
-      sources."editor-1.0.0"
-      sources."fs-vacuum-1.2.10"
-      sources."fs-write-stream-atomic-1.0.10"
-      (sources."glob-7.1.2" // {
-        dependencies = [
-          sources."fs.realpath-1.0.0"
-          (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."path-is-absolute-1.0.1"
-        ];
-      })
-      sources."graceful-fs-4.1.11"
-      sources."has-unicode-2.0.1"
-      sources."hosted-git-info-2.5.0"
-      sources."iferr-0.1.5"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
-      sources."ini-1.3.4"
-      (sources."init-package-json-1.10.1" // {
-        dependencies = [
-          sources."promzard-0.3.0"
-        ];
-      })
-      (sources."is-cidr-1.0.0" // {
-        dependencies = [
-          sources."cidr-regex-1.0.6"
-        ];
-      })
-      sources."lazy-property-1.0.0"
-      (sources."libnpx-9.6.0" // {
-        dependencies = [
-          sources."dotenv-4.0.0"
-          sources."y18n-3.2.1"
-          (sources."yargs-8.0.2" // {
-            dependencies = [
-              sources."camelcase-4.1.0"
-              (sources."cliui-3.2.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."strip-ansi-3.0.1" // {
-                    dependencies = [
-                      sources."ansi-regex-2.1.1"
-                    ];
-                  })
-                  sources."wrap-ansi-2.1.0"
-                ];
-              })
-              sources."decamelize-1.2.0"
-              sources."get-caller-file-1.0.2"
-              (sources."os-locale-2.1.0" // {
-                dependencies = [
-                  (sources."execa-0.7.0" // {
-                    dependencies = [
-                      (sources."cross-spawn-5.1.0" // {
-                        dependencies = [
-                          (sources."shebang-command-1.2.0" // {
-                            dependencies = [
-                              sources."shebang-regex-1.0.0"
-                            ];
-                          })
-                        ];
-                      })
-                      sources."get-stream-3.0.0"
-                      sources."is-stream-1.1.0"
-                      (sources."npm-run-path-2.0.2" // {
-                        dependencies = [
-                          sources."path-key-2.0.1"
-                        ];
-                      })
-                      sources."p-finally-1.0.0"
-                      sources."signal-exit-3.0.2"
-                      sources."strip-eof-1.0.0"
-                    ];
-                  })
-                  (sources."lcid-1.0.0" // {
-                    dependencies = [
-                      sources."invert-kv-1.0.0"
-                    ];
-                  })
-                  (sources."mem-1.1.0" // {
-                    dependencies = [
-                      sources."mimic-fn-1.1.0"
-                    ];
-                  })
-                ];
-              })
-              (sources."read-pkg-up-2.0.0" // {
-                dependencies = [
-                  (sources."find-up-2.1.0" // {
-                    dependencies = [
-                      (sources."locate-path-2.0.0" // {
-                        dependencies = [
-                          (sources."p-locate-2.0.0" // {
-                            dependencies = [
-                              sources."p-limit-1.1.0"
-                            ];
-                          })
-                          sources."path-exists-3.0.0"
-                        ];
-                      })
-                    ];
-                  })
-                  (sources."read-pkg-2.0.0" // {
-                    dependencies = [
-                      (sources."load-json-file-2.0.0" // {
-                        dependencies = [
-                          (sources."parse-json-2.2.0" // {
-                            dependencies = [
-                              (sources."error-ex-1.3.1" // {
-                                dependencies = [
-                                  sources."is-arrayish-0.2.1"
-                                ];
-                              })
-                            ];
-                          })
-                          sources."pify-2.3.0"
-                          sources."strip-bom-3.0.0"
-                        ];
-                      })
-                      (sources."path-type-2.0.0" // {
-                        dependencies = [
-                          sources."pify-2.3.0"
-                        ];
-                      })
-                    ];
-                  })
-                ];
-              })
-              sources."require-directory-2.1.1"
-              sources."require-main-filename-1.0.1"
-              sources."set-blocking-2.0.0"
-              (sources."string-width-2.1.1" // {
-                dependencies = [
-                  sources."is-fullwidth-code-point-2.0.0"
-                ];
-              })
-              sources."which-module-2.0.0"
-              sources."yargs-parser-7.0.0"
-            ];
-          })
-        ];
-      })
-      sources."lockfile-1.0.3"
-      (sources."lodash._baseuniq-4.6.0" // {
-        dependencies = [
-          sources."lodash._createset-4.0.3"
-          sources."lodash._root-3.0.1"
-        ];
-      })
-      sources."lodash.clonedeep-4.5.0"
-      sources."lodash.union-4.6.0"
-      sources."lodash.uniq-4.5.0"
-      sources."lodash.without-4.4.0"
-      (sources."lru-cache-4.1.1" // {
-        dependencies = [
-          sources."pseudomap-1.0.2"
-          sources."yallist-2.1.2"
-        ];
-      })
-      sources."meant-1.0.1"
-      (sources."mississippi-1.3.0" // {
-        dependencies = [
-          (sources."concat-stream-1.6.0" // {
-            dependencies = [
-              sources."typedarray-0.0.6"
-            ];
-          })
-          (sources."duplexify-3.5.1" // {
-            dependencies = [
-              sources."stream-shift-1.0.0"
-            ];
-          })
-          sources."end-of-stream-1.4.0"
-          sources."flush-write-stream-1.0.2"
-          sources."from2-2.3.0"
-          (sources."parallel-transform-1.1.0" // {
-            dependencies = [
-              sources."cyclist-0.2.2"
-            ];
-          })
-          sources."pump-1.0.2"
-          sources."pumpify-1.3.5"
-          (sources."stream-each-1.2.2" // {
-            dependencies = [
-              sources."stream-shift-1.0.0"
-            ];
-          })
-          (sources."through2-2.0.3" // {
-            dependencies = [
-              sources."xtend-4.0.1"
-            ];
-          })
-        ];
-      })
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
-      (sources."move-concurrently-1.0.1" // {
-        dependencies = [
-          sources."copy-concurrently-1.0.5"
-          sources."run-queue-1.0.3"
-        ];
-      })
-      (sources."node-gyp-3.6.2" // {
-        dependencies = [
-          sources."fstream-1.0.11"
-          (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."nopt-3.0.6"
-          sources."semver-5.3.0"
-          (sources."tar-2.2.1" // {
-            dependencies = [
-              sources."block-stream-0.0.9"
-            ];
-          })
-        ];
-      })
-      sources."nopt-4.0.1"
-      (sources."normalize-package-data-2.4.0" // {
-        dependencies = [
-          (sources."is-builtin-module-1.0.0" // {
-            dependencies = [
-              sources."builtin-modules-1.1.1"
-            ];
-          })
-        ];
-      })
-      sources."npm-cache-filename-1.0.2"
-      sources."npm-install-checks-3.0.0"
-      sources."npm-lifecycle-1.0.3"
-      sources."npm-package-arg-5.1.2"
-      (sources."npm-packlist-1.1.10" // {
-        dependencies = [
-          (sources."ignore-walk-3.0.1" // {
-            dependencies = [
-              (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-bundled-1.0.3"
-        ];
-      })
-      (sources."npm-profile-2.0.5" // {
-        dependencies = [
-          (sources."make-fetch-happen-2.5.0" // {
-            dependencies = [
-              (sources."agentkeepalive-3.3.0" // {
-                dependencies = [
-                  (sources."humanize-ms-1.2.1" // {
-                    dependencies = [
-                      sources."ms-2.0.0"
-                    ];
-                  })
-                ];
-              })
-              sources."http-cache-semantics-3.8.0"
-              (sources."http-proxy-agent-2.0.0" // {
-                dependencies = [
-                  (sources."agent-base-4.1.1" // {
-                    dependencies = [
-                      (sources."es6-promisify-5.0.0" // {
-                        dependencies = [
-                          sources."es6-promise-4.1.1"
-                        ];
-                      })
-                    ];
-                  })
-                  (sources."debug-2.6.9" // {
-                    dependencies = [
-                      sources."ms-2.0.0"
-                    ];
-                  })
-                ];
-              })
-              (sources."https-proxy-agent-2.1.0" // {
-                dependencies = [
-                  (sources."agent-base-4.1.1" // {
-                    dependencies = [
-                      (sources."es6-promisify-5.0.0" // {
-                        dependencies = [
-                          sources."es6-promise-4.1.1"
-                        ];
-                      })
-                    ];
-                  })
-                  (sources."debug-2.6.9" // {
-                    dependencies = [
-                      sources."ms-2.0.0"
-                    ];
-                  })
-                ];
-              })
-              (sources."node-fetch-npm-2.0.2" // {
-                dependencies = [
-                  (sources."encoding-0.1.12" // {
-                    dependencies = [
-                      sources."iconv-lite-0.4.19"
-                    ];
-                  })
-                  sources."json-parse-better-errors-1.0.1"
-                ];
-              })
-              (sources."promise-retry-1.1.1" // {
-                dependencies = [
-                  sources."err-code-1.1.2"
-                ];
-              })
-              (sources."socks-proxy-agent-3.0.1" // {
-                dependencies = [
-                  (sources."agent-base-4.1.1" // {
-                    dependencies = [
-                      (sources."es6-promisify-5.0.0" // {
-                        dependencies = [
-                          sources."es6-promise-4.1.1"
-                        ];
-                      })
-                    ];
-                  })
-                  (sources."socks-1.1.10" // {
-                    dependencies = [
-                      sources."ip-1.1.5"
-                      sources."smart-buffer-1.1.15"
-                    ];
-                  })
-                ];
-              })
-            ];
-          })
-        ];
-      })
-      (sources."npm-registry-client-8.5.0" // {
-        dependencies = [
-          (sources."concat-stream-1.6.0" // {
-            dependencies = [
-              sources."typedarray-0.0.6"
-            ];
-          })
-        ];
-      })
-      sources."npm-user-validate-1.0.0"
-      (sources."npmlog-4.1.2" // {
-        dependencies = [
-          (sources."are-we-there-yet-1.1.4" // {
-            dependencies = [
-              sources."delegates-1.0.0"
-            ];
-          })
-          sources."console-control-strings-1.1.0"
-          (sources."gauge-2.7.4" // {
-            dependencies = [
-              sources."object-assign-4.1.1"
-              sources."signal-exit-3.0.2"
-              (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."strip-ansi-3.0.1" // {
-                dependencies = [
-                  sources."ansi-regex-2.1.1"
-                ];
-              })
-              sources."wide-align-1.1.2"
-            ];
-          })
-          sources."set-blocking-2.0.0"
-        ];
-      })
-      sources."once-1.4.0"
-      sources."opener-1.4.3"
-      (sources."osenv-0.1.4" // {
-        dependencies = [
-          sources."os-homedir-1.0.2"
-          sources."os-tmpdir-1.0.2"
-        ];
-      })
-      (sources."pacote-6.0.4" // {
-        dependencies = [
-          (sources."make-fetch-happen-2.5.0" // {
-            dependencies = [
-              (sources."agentkeepalive-3.3.0" // {
-                dependencies = [
-                  (sources."humanize-ms-1.2.1" // {
-                    dependencies = [
-                      sources."ms-2.0.0"
-                    ];
-                  })
-                ];
-              })
-              sources."http-cache-semantics-3.8.0"
-              (sources."http-proxy-agent-2.0.0" // {
-                dependencies = [
-                  (sources."agent-base-4.1.1" // {
-                    dependencies = [
-                      (sources."es6-promisify-5.0.0" // {
-                        dependencies = [
-                          sources."es6-promise-4.1.1"
-                        ];
-                      })
-                    ];
-                  })
-                  (sources."debug-2.6.9" // {
-                    dependencies = [
-                      sources."ms-2.0.0"
-                    ];
-                  })
-                ];
-              })
-              (sources."https-proxy-agent-2.1.0" // {
-                dependencies = [
-                  (sources."agent-base-4.1.1" // {
-                    dependencies = [
-                      (sources."es6-promisify-5.0.0" // {
-                        dependencies = [
-                          sources."es6-promise-4.1.1"
-                        ];
-                      })
-                    ];
-                  })
-                  (sources."debug-2.6.9" // {
-                    dependencies = [
-                      sources."ms-2.0.0"
-                    ];
-                  })
-                ];
-              })
-              (sources."node-fetch-npm-2.0.2" // {
-                dependencies = [
-                  (sources."encoding-0.1.12" // {
-                    dependencies = [
-                      sources."iconv-lite-0.4.19"
-                    ];
-                  })
-                  sources."json-parse-better-errors-1.0.1"
-                ];
-              })
-              (sources."socks-proxy-agent-3.0.1" // {
-                dependencies = [
-                  (sources."agent-base-4.1.1" // {
-                    dependencies = [
-                      (sources."es6-promisify-5.0.0" // {
-                        dependencies = [
-                          sources."es6-promise-4.1.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.4"
-          (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."path-is-inside-1.0.2"
-      sources."promise-inflight-1.0.1"
-      sources."qrcode-terminal-0.11.0"
-      (sources."query-string-5.0.0" // {
-        dependencies = [
-          sources."decode-uri-component-0.2.0"
-          sources."object-assign-4.1.1"
-          sources."strict-uri-encode-1.1.0"
-        ];
-      })
-      sources."qw-1.0.1"
-      (sources."read-1.0.7" // {
-        dependencies = [
-          sources."mute-stream-0.0.7"
-        ];
-      })
-      sources."read-cmd-shim-1.0.1"
-      (sources."read-installed-4.0.3" // {
-        dependencies = [
-          sources."util-extend-1.0.3"
-        ];
-      })
-      (sources."read-package-json-2.0.12" // {
-        dependencies = [
-          sources."json-parse-better-errors-1.0.1"
-          sources."slash-1.0.0"
-        ];
-      })
-      sources."read-package-tree-5.1.6"
-      (sources."readable-stream-2.3.3" // {
-        dependencies = [
-          sources."core-util-is-1.0.2"
-          sources."isarray-1.0.0"
-          sources."process-nextick-args-1.0.7"
-          sources."string_decoder-1.0.3"
-          sources."util-deprecate-1.0.2"
-        ];
-      })
-      (sources."request-2.83.0" // {
-        dependencies = [
-          sources."aws-sign2-0.7.0"
-          sources."aws4-1.6.0"
-          sources."caseless-0.12.0"
-          (sources."combined-stream-1.0.5" // {
-            dependencies = [
-              sources."delayed-stream-1.0.0"
-            ];
-          })
-          sources."extend-3.0.1"
-          sources."forever-agent-0.6.1"
-          (sources."form-data-2.3.1" // {
-            dependencies = [
-              sources."asynckit-0.4.0"
-            ];
-          })
-          (sources."har-validator-5.0.3" // {
-            dependencies = [
-              (sources."ajv-5.2.4" // {
-                dependencies = [
-                  sources."co-4.6.0"
-                  sources."fast-deep-equal-1.0.0"
-                  sources."json-schema-traverse-0.3.1"
-                  (sources."json-stable-stringify-1.0.1" // {
-                    dependencies = [
-                      sources."jsonify-0.0.0"
-                    ];
-                  })
-                ];
-              })
-              sources."har-schema-2.0.0"
-            ];
-          })
-          (sources."hawk-6.0.2" // {
-            dependencies = [
-              sources."hoek-4.2.0"
-              sources."boom-4.3.1"
-              (sources."cryptiles-3.1.2" // {
-                dependencies = [
-                  sources."boom-5.2.0"
-                ];
-              })
-              sources."sntp-2.0.2"
-            ];
-          })
-          (sources."http-signature-1.2.0" // {
-            dependencies = [
-              sources."assert-plus-1.0.0"
-              (sources."jsprim-1.4.1" // {
-                dependencies = [
-                  sources."extsprintf-1.3.0"
-                  sources."json-schema-0.2.3"
-                  (sources."verror-1.10.0" // {
-                    dependencies = [
-                      sources."core-util-is-1.0.2"
-                    ];
-                  })
-                ];
-              })
-              (sources."sshpk-1.13.1" // {
-                dependencies = [
-                  sources."asn1-0.2.3"
-                  sources."dashdash-1.14.1"
-                  sources."getpass-0.1.7"
-                  sources."jsbn-0.1.1"
-                  sources."tweetnacl-0.14.5"
-                  sources."ecc-jsbn-0.1.1"
-                  sources."bcrypt-pbkdf-1.0.1"
-                ];
-              })
-            ];
-          })
-          sources."is-typedarray-1.0.0"
-          sources."isstream-0.1.2"
-          sources."json-stringify-safe-5.0.1"
-          (sources."mime-types-2.1.17" // {
-            dependencies = [
-              sources."mime-db-1.30.0"
-            ];
-          })
-          sources."oauth-sign-0.8.2"
-          sources."performance-now-2.1.0"
-          sources."qs-6.5.1"
-          sources."stringstream-0.0.5"
-          (sources."tough-cookie-2.3.3" // {
-            dependencies = [
-              sources."punycode-1.4.1"
-            ];
-          })
-          sources."tunnel-agent-0.6.0"
-        ];
-      })
-      sources."retry-0.10.1"
-      sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
-      sources."sha-2.0.1"
-      sources."slide-1.1.6"
-      sources."sorted-object-2.0.1"
-      (sources."sorted-union-stream-2.1.3" // {
-        dependencies = [
-          (sources."from2-1.3.0" // {
-            dependencies = [
-              (sources."readable-stream-1.1.14" // {
-                dependencies = [
-                  sources."core-util-is-1.0.2"
-                  sources."isarray-0.0.1"
-                  sources."string_decoder-0.10.31"
-                ];
-              })
-            ];
-          })
-          (sources."stream-iterate-1.2.0" // {
-            dependencies = [
-              sources."stream-shift-1.0.0"
-            ];
-          })
-        ];
-      })
-      sources."ssri-4.1.6"
-      sources."strip-ansi-4.0.0"
-      (sources."tar-4.0.2" // {
-        dependencies = [
-          sources."minipass-2.2.1"
-          sources."minizlib-1.0.4"
-          sources."yallist-3.0.2"
-        ];
-      })
-      sources."text-table-0.2.0"
-      sources."uid-number-0.0.6"
-      sources."umask-1.1.0"
-      (sources."unique-filename-1.1.0" // {
-        dependencies = [
-          sources."unique-slug-2.0.0"
-        ];
-      })
-      sources."unpipe-1.0.0"
-      (sources."update-notifier-2.2.0" // {
-        dependencies = [
-          (sources."boxen-1.2.2" // {
-            dependencies = [
-              sources."ansi-align-2.0.0"
-              sources."camelcase-4.1.0"
-              (sources."chalk-2.2.0" // {
-                dependencies = [
-                  (sources."ansi-styles-3.2.0" // {
-                    dependencies = [
-                      (sources."color-convert-1.9.0" // {
-                        dependencies = [
-                          sources."color-name-1.1.3"
-                        ];
-                      })
-                    ];
-                  })
-                  sources."escape-string-regexp-1.0.5"
-                  (sources."supports-color-4.5.0" // {
-                    dependencies = [
-                      sources."has-flag-2.0.0"
-                    ];
-                  })
-                ];
-              })
-              sources."cli-boxes-1.0.0"
-              (sources."string-width-2.1.1" // {
-                dependencies = [
-                  sources."is-fullwidth-code-point-2.0.0"
-                ];
-              })
-              (sources."term-size-1.2.0" // {
-                dependencies = [
-                  (sources."execa-0.7.0" // {
-                    dependencies = [
-                      (sources."cross-spawn-5.1.0" // {
-                        dependencies = [
-                          (sources."shebang-command-1.2.0" // {
-                            dependencies = [
-                              sources."shebang-regex-1.0.0"
-                            ];
-                          })
-                        ];
-                      })
-                      sources."get-stream-3.0.0"
-                      sources."is-stream-1.1.0"
-                      (sources."npm-run-path-2.0.2" // {
-                        dependencies = [
-                          sources."path-key-2.0.1"
-                        ];
-                      })
-                      sources."p-finally-1.0.0"
-                      sources."signal-exit-3.0.2"
-                      sources."strip-eof-1.0.0"
-                    ];
-                  })
-                ];
-              })
-              (sources."widest-line-1.0.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."strip-ansi-3.0.1" // {
-                        dependencies = [
-                          sources."ansi-regex-2.1.1"
-                        ];
-                      })
-                    ];
-                  })
-                ];
-              })
-            ];
-          })
-          (sources."chalk-1.1.3" // {
-            dependencies = [
-              sources."ansi-styles-2.2.1"
-              sources."escape-string-regexp-1.0.5"
-              (sources."has-ansi-2.0.0" // {
-                dependencies = [
-                  sources."ansi-regex-2.1.1"
-                ];
-              })
-              (sources."strip-ansi-3.0.1" // {
-                dependencies = [
-                  sources."ansi-regex-2.1.1"
-                ];
-              })
-              sources."supports-color-2.0.0"
-            ];
-          })
-          (sources."configstore-3.1.1" // {
-            dependencies = [
-              (sources."dot-prop-4.2.0" // {
-                dependencies = [
-                  sources."is-obj-1.0.1"
-                ];
-              })
-              (sources."make-dir-1.1.0" // {
-                dependencies = [
-                  sources."pify-3.0.0"
-                ];
-              })
-              (sources."unique-string-1.0.0" // {
-                dependencies = [
-                  sources."crypto-random-string-1.0.0"
-                ];
-              })
-            ];
-          })
-          sources."import-lazy-2.1.0"
-          sources."is-npm-1.0.0"
-          (sources."latest-version-3.1.0" // {
-            dependencies = [
-              (sources."package-json-4.0.1" // {
-                dependencies = [
-                  (sources."got-6.7.1" // {
-                    dependencies = [
-                      (sources."create-error-class-3.0.2" // {
-                        dependencies = [
-                          sources."capture-stack-trace-1.0.0"
-                        ];
-                      })
-                      sources."duplexer3-0.1.4"
-                      sources."get-stream-3.0.0"
-                      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."timed-out-4.0.1"
-                      sources."unzip-response-2.0.1"
-                      (sources."url-parse-lax-1.0.0" // {
-                        dependencies = [
-                          sources."prepend-http-1.0.4"
-                        ];
-                      })
-                    ];
-                  })
-                  (sources."registry-auth-token-3.3.1" // {
-                    dependencies = [
-                      (sources."rc-1.2.2" // {
-                        dependencies = [
-                          sources."deep-extend-0.4.2"
-                          sources."minimist-1.2.0"
-                          sources."strip-json-comments-2.0.1"
-                        ];
-                      })
-                    ];
-                  })
-                  (sources."registry-url-3.1.0" // {
-                    dependencies = [
-                      (sources."rc-1.2.2" // {
-                        dependencies = [
-                          sources."deep-extend-0.4.2"
-                          sources."minimist-1.2.0"
-                          sources."strip-json-comments-2.0.1"
-                        ];
-                      })
-                    ];
-                  })
-                ];
-              })
-            ];
-          })
-          sources."semver-diff-2.1.0"
-          sources."xdg-basedir-3.0.0"
-        ];
-      })
-      sources."uuid-3.1.0"
-      (sources."validate-npm-package-name-3.0.0" // {
-        dependencies = [
-          sources."builtins-1.0.3"
-        ];
-      })
-      (sources."which-1.3.0" // {
-        dependencies = [
-          sources."isexe-2.0.0"
-        ];
-      })
-      (sources."worker-farm-1.5.0" // {
-        dependencies = [
-          (sources."errno-0.1.4" // {
-            dependencies = [
-              sources."prr-0.0.0"
-            ];
-          })
-          sources."xtend-4.0.1"
-        ];
-      })
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-2.1.0"
-      sources."debuglog-1.0.1"
-      sources."imurmurhash-0.1.4"
-      sources."lodash._baseindexof-3.1.0"
-      sources."lodash._bindcallback-3.0.1"
-      sources."lodash._cacheindexof-3.0.2"
-      sources."lodash._createcache-3.1.2"
-      sources."lodash._getnative-3.9.1"
-      sources."lodash.restparam-3.6.1"
-      sources."readdir-scoped-modules-1.0.2"
-      (sources."validate-npm-package-license-3.0.1" // {
-        dependencies = [
-          (sources."spdx-correct-1.0.2" // {
-            dependencies = [
-              sources."spdx-license-ids-1.2.2"
-            ];
-          })
-          sources."spdx-expression-parse-1.0.4"
-        ];
-      })
-    ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "a package manager for JavaScript";
@@ -8996,7 +6175,7 @@ in
                             dependencies = [
                               (sources."kind-of-3.2.2" // {
                                 dependencies = [
-                                  sources."is-buffer-1.1.5"
+                                  sources."is-buffer-1.1.6"
                                 ];
                               })
                               sources."longest-1.0.1"
@@ -9012,7 +6191,7 @@ in
                             dependencies = [
                               (sources."kind-of-3.2.2" // {
                                 dependencies = [
-                                  sources."is-buffer-1.1.5"
+                                  sources."is-buffer-1.1.6"
                                 ];
                               })
                               sources."longest-1.0.1"
diff --git a/pkgs/development/node-packages/node-packages-v6.json b/pkgs/development/node-packages/node-packages-v6.json
index c2876f1128cd..0c9fbdbeb815 100644
--- a/pkgs/development/node-packages/node-packages-v6.json
+++ b/pkgs/development/node-packages/node-packages-v6.json
@@ -12,11 +12,12 @@
 , "dnschain"
 , "docker-registry-server"
 , "elasticdump"
+, "elm-test"
 , "emoj"
 , "eslint"
 , "eslint_d"
 , "emojione"
-, "fast-cli"
+, { "fast-cli": "1.x" }
 , "fetch-bower"
 , "forever"
 , "git-run"
@@ -66,14 +67,17 @@
 , "phantomjs"
 , "prettier"
 , "pulp"
+, "quassel-webserver"
 , "react-tools"
 , "s3http"
 , "semver"
 , "serve"
+, "shout"
 , "sinopia"
 , "sloc"
 , "smartdc"
 , "socket.io"
+, "statsd"
 , "stylus"
 , "svgo"
 , "tern"
diff --git a/pkgs/development/node-packages/node-packages-v6.nix b/pkgs/development/node-packages/node-packages-v6.nix
index 1b80e08ad2e9..1038ef78b73d 100644
--- a/pkgs/development/node-packages/node-packages-v6.nix
+++ b/pkgs/development/node-packages/node-packages-v6.nix
@@ -1,16 +1,16 @@
-# This file has been generated by node2nix 1.3.0. Do not edit!
+# This file has been generated by node2nix 1.4.0. Do not edit!
 
 {nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
 
 let
   sources = {
-    "async-2.5.0" = {
+    "async-2.6.0" = {
       name = "async";
       packageName = "async";
-      version = "2.5.0";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async/-/async-2.5.0.tgz";
-        sha512 = "1ijrwmifg76a8wwhhfqxg23kd0rsjhzklwvj2czvqxs2k25ii6p3y6s3vhbcc5hnr87b0gfc4nb54b8bph2hn9c6z1f6nldjw04ksbv";
+        url = "https://registry.npmjs.org/async/-/async-2.6.0.tgz";
+        sha512 = "0zp4b5788400npi1ixjry5x3a4m21c8pnknk8v731rgnwnjbp5ijmfcf5ppmn1ap4a04md1s9dr8n9ygdvrmiai590v0k6dby1wc1y4";
       };
     };
     "babel-core-6.26.0" = {
@@ -1390,31 +1390,31 @@ let
         sha1 = "2721f05aa6876534cd30d6ded9418651cadfaa21";
       };
     };
-    "moment-2.19.1" = {
+    "moment-2.19.2" = {
       name = "moment";
       packageName = "moment";
-      version = "2.19.1";
+      version = "2.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/moment/-/moment-2.19.1.tgz";
-        sha1 = "56da1a2d1cbf01d38b7e1afc31c10bcfa1929167";
+        url = "https://registry.npmjs.org/moment/-/moment-2.19.2.tgz";
+        sha512 = "2s41fkwslr6lp0v2yz37fmsbfiy98x8s1fjc6smx82sf8r6fiq9wyx61javlkn8agzn51zcanhfyxj4wvsc8wyrz5yilzy4ff4a7zj5";
       };
     };
-    "ms-rest-2.2.4" = {
+    "ms-rest-2.2.5" = {
       name = "ms-rest";
       packageName = "ms-rest";
-      version = "2.2.4";
+      version = "2.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-2.2.4.tgz";
-        sha512 = "0v97pcpwwnmp3a1wyz2i2a2csiqsk0pnb9wcjsc2q2glyqr0nzhz51x6qhk3fz5dja6099p49p5bl87rkjp6cilnszjg6cpsklsbni9";
+        url = "https://registry.npmjs.org/ms-rest/-/ms-rest-2.2.5.tgz";
+        sha512 = "36zs0fdmla07dilmiimvvr37yymsa6xb518gmrc8qb94bkd5fhf16xas4krm145cbrrr6nszphz0dljljwa4xif0x3xcyzwldj0063a";
       };
     };
-    "ms-rest-azure-2.4.1" = {
+    "ms-rest-azure-2.4.4" = {
       name = "ms-rest-azure";
       packageName = "ms-rest-azure";
-      version = "2.4.1";
+      version = "2.4.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-2.4.1.tgz";
-        sha1 = "0d5501449a3318c0cf5e10d4bb0494977989b967";
+        url = "https://registry.npmjs.org/ms-rest-azure/-/ms-rest-azure-2.4.4.tgz";
+        sha512 = "3b2qx0kki9qi012nsx0psn8plvgzq9cmjgpz9gjnizkf0lwha54mk9262ixkjgz5mzjxpn0jcy67h5zf10l2xvi27zs98jq869w46rs";
       };
     };
     "node-forge-0.6.23" = {
@@ -1948,13 +1948,13 @@ let
         sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
       };
     };
-    "clone-1.0.2" = {
+    "clone-1.0.3" = {
       name = "clone";
       packageName = "clone";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz";
-        sha1 = "260b7a99ebb1edfe247538175f783243cb19d149";
+        url = "https://registry.npmjs.org/clone/-/clone-1.0.3.tgz";
+        sha1 = "298d7e2231660f40c003c2ed3140decf3f53085f";
       };
     };
     "from-0.1.7" = {
@@ -2020,26 +2020,26 @@ let
         sha1 = "0e3c4f24a3f052b231b12d5049085a0a099be782";
       };
     };
-    "@types/node-8.0.47" = {
-      name = "@types/node";
+    "@types/node-8.0.51" = {
+      name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "8.0.47";
+      version = "8.0.51";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-8.0.47.tgz";
-        sha512 = "24zynk3vnq6mz1x5s476q5hmksqcr3pwnsbqpkwyi2jlm8l61r4b9bh9l37zwhca9iaxb6v1ccyrxjzc3rfnpzqyizznmlnivphpv4h";
+        url = "https://registry.npmjs.org/@types/node/-/node-8.0.51.tgz";
+        sha512 = "2yh8vsbldk5709rd96vpr4hs6l9s3c3qslff28jhn8qa2l8wklkdqmkcl39v90pqb55xh049vd6bzl8b975yxnpb1lzl3rnk5cgwp8j";
       };
     };
-    "@types/request-2.0.7" = {
-      name = "@types/request";
+    "@types/request-2.0.8" = {
+      name = "_at_types_slash_request";
       packageName = "@types/request";
-      version = "2.0.7";
+      version = "2.0.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/request/-/request-2.0.7.tgz";
-        sha512 = "1ncrcrax2iw3iwr7qcnlx4qcd2cpymjl89kblqpxp54415ldf9x4drqap21rs0d8a1sjvhq2wmkfb8qaw5sjw46vmsiqprvwcxjcnc6";
+        url = "https://registry.npmjs.org/@types/request/-/request-2.0.8.tgz";
+        sha512 = "0x0whs0ls74h1hja129z6vxkbf7zzk5b4kqbp7iwxbilnbq9i53bfff95riw6n3k8pc4mahdg6p283bycw50f5b8mqax5hhknr217vy";
       };
     };
     "@types/uuid-3.4.3" = {
-      name = "@types/uuid";
+      name = "_at_types_slash_uuid";
       packageName = "@types/uuid";
       version = "3.4.3";
       src = fetchurl {
@@ -2074,13 +2074,31 @@ let
         sha1 = "c36193dd3ce1c2eed2adb7c802dbbc77a81b1c0f";
       };
     };
-    "@types/form-data-2.2.0" = {
-      name = "@types/form-data";
+    "@types/form-data-2.2.1" = {
+      name = "_at_types_slash_form-data";
       packageName = "@types/form-data";
-      version = "2.2.0";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.1.tgz";
+        sha512 = "2fv2qaz90rp6ib2s45ix0p3a4bd6yl6k94k1kkhw7w4s2aa5mqc6chppkf6pfvsz1l6phh7y0xswyfyzjgny7qzascch8c7ws20a0r4";
+      };
+    };
+    "async-2.5.0" = {
+      name = "async";
+      packageName = "async";
+      version = "2.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async/-/async-2.5.0.tgz";
+        sha512 = "1ijrwmifg76a8wwhhfqxg23kd0rsjhzklwvj2czvqxs2k25ii6p3y6s3vhbcc5hnr87b0gfc4nb54b8bph2hn9c6z1f6nldjw04ksbv";
+      };
+    };
+    "adal-node-0.1.25" = {
+      name = "adal-node";
+      packageName = "adal-node";
+      version = "0.1.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/form-data/-/form-data-2.2.0.tgz";
-        sha512 = "26fb719b154ab3x89bbgpp3fk4jcrfal0y909ik8zss3d8ykn1dsh9wm3q08j5pzpy3wvfy41h0yzfhbl7k3lb4zjqm9swwq8d4wvmy";
+        url = "https://registry.npmjs.org/adal-node/-/adal-node-0.1.25.tgz";
+        sha1 = "6554350ab42914870004c45c0d64448f3dbfcd03";
       };
     };
     "debug-0.7.4" = {
@@ -3523,13 +3541,13 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "crypto-browserify-3.11.1" = {
+    "crypto-browserify-3.12.0" = {
       name = "crypto-browserify";
       packageName = "crypto-browserify";
-      version = "3.11.1";
+      version = "3.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.1.tgz";
-        sha512 = "2alsgx5iqvf0nr641lz4g24bpvfgv6lza2h9n34d24jhvs3s0dklnds2x2nzs2w9sfiadi6zy93c2szm5ajn50wwnb8dalf02bxkbim";
+        url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz";
+        sha512 = "1d3mrhqlay037azmjp2ml5a8yyls9ijdhilv6f0znz0ajgfm972yr9bhm78wqi09p4crc3shgflk50jc63zijsqv777ikkyi2j2qgkz";
       };
     };
     "defined-1.0.0" = {
@@ -3982,6 +4000,15 @@ let
         sha512 = "293m4ffiafbjg0b99a2k78wiffmlwc2v7cigrn5l3n7555x7qxyr34sp0s4p713vwlaf0ny5n57iysgkz08slld3hzw8ci1a2gxjgpi";
       };
     };
+    "randomfill-1.0.3" = {
+      name = "randomfill";
+      packageName = "randomfill";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randomfill/-/randomfill-1.0.3.tgz";
+        sha512 = "08l7hdx65kfxli7g9pcnlv84bdrccj7d267d1kfi93db6a4mihwyhvsipmx2n0yk9z45cs21isgpld6rib5saxg28s2g8nn3ap8dgk0";
+      };
+    };
     "browserify-aes-1.1.1" = {
       name = "browserify-aes";
       packageName = "browserify-aes";
@@ -4882,13 +4909,13 @@ let
         sha1 = "a3292a373e6f3e0798da0b20641b9a9c5bc47e19";
       };
     };
-    "qap-3.1.3" = {
+    "qap-3.2.2" = {
       name = "qap";
       packageName = "qap";
-      version = "3.1.3";
+      version = "3.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qap/-/qap-3.1.3.tgz";
-        sha1 = "394288bf07c8fe16cf36bb2e40a3bb947ed24963";
+        url = "https://registry.npmjs.org/qap/-/qap-3.2.2.tgz";
+        sha1 = "52a03f43adbb2fd45b6d2461e8121e650db43338";
       };
     };
     "base64-js-1.2.0" = {
@@ -5062,13 +5089,13 @@ let
         sha1 = "9427bb96ff1263cc10a8414cedd51a18b919e8b3";
       };
     };
-    "rusha-0.8.6" = {
+    "rusha-0.8.7" = {
       name = "rusha";
       packageName = "rusha";
-      version = "0.8.6";
+      version = "0.8.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rusha/-/rusha-0.8.6.tgz";
-        sha1 = "b264ddaa4d49a1d67300061858ba9358c4adca14";
+        url = "https://registry.npmjs.org/rusha/-/rusha-0.8.7.tgz";
+        sha1 = "30673b7e95fafe0ebe1fe24dd6d95fd605f94ede";
       };
     };
     "decompress-response-3.3.0" = {
@@ -5566,13 +5593,13 @@ let
         sha1 = "420b3a9ee1c46854919b4a2aeac65c43fa50597b";
       };
     };
-    "ws-1.1.4" = {
+    "ws-1.1.5" = {
       name = "ws";
       packageName = "ws";
-      version = "1.1.4";
+      version = "1.1.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-1.1.4.tgz";
-        sha1 = "57f40d036832e5f5055662a397c4de76ed66bf61";
+        url = "https://registry.npmjs.org/ws/-/ws-1.1.5.tgz";
+        sha512 = "3iv2yz706h7wyg563jsfjdykkkxs8j49vz60r6qx5by0npfhs98rgc114kdqs15sc52mldscc22bkfpkrs08cwlqaxx8lfdjn5alwm3";
       };
     };
     "ipaddr.js-1.5.4" = {
@@ -6988,600 +7015,6 @@ let
         sha512 = "38s4f3id97wsb0rg9nm9zvxyq0nvwrmrpa5dzvrkp36mf5ibs98b4z6lvsbrwzzs0sbcank6c7gpp06vcwp9acfhp41rzlhi3ybsxwy";
       };
     };
-    "abbrev-1.0.9" = {
-      name = "abbrev";
-      packageName = "abbrev";
-      version = "1.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz";
-        sha1 = "91b4792588a7738c25f35dd6f63752a2f8776135";
-      };
-    };
-    "ansicolors-0.3.2" = {
-      name = "ansicolors";
-      packageName = "ansicolors";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
-        sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
-      };
-    };
-    "ansistyles-0.1.3" = {
-      name = "ansistyles";
-      packageName = "ansistyles";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz";
-        sha1 = "5de60415bda071bb37127854c864f41b23254539";
-      };
-    };
-    "archy-1.0.0" = {
-      name = "archy";
-      packageName = "archy";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz";
-        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
-      };
-    };
-    "async-some-1.0.2" = {
-      name = "async-some";
-      packageName = "async-some";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async-some/-/async-some-1.0.2.tgz";
-        sha1 = "4d8a81620d5958791b5b98f802d3207776e95509";
-      };
-    };
-    "block-stream-0.0.9" = {
-      name = "block-stream";
-      packageName = "block-stream";
-      version = "0.0.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
-        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
-      };
-    };
-    "char-spinner-1.0.1" = {
-      name = "char-spinner";
-      packageName = "char-spinner";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz";
-        sha1 = "e6ea67bd247e107112983b7ab0479ed362800081";
-      };
-    };
-    "chownr-1.0.1" = {
-      name = "chownr";
-      packageName = "chownr";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz";
-        sha1 = "e2a75042a9551908bebd25b8523d5f9769d79181";
-      };
-    };
-    "cmd-shim-2.0.2" = {
-      name = "cmd-shim";
-      packageName = "cmd-shim";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz";
-        sha1 = "6fcbda99483a8fd15d7d30a196ca69d688a2efdb";
-      };
-    };
-    "columnify-1.5.4" = {
-      name = "columnify";
-      packageName = "columnify";
-      version = "1.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz";
-        sha1 = "4737ddf1c7b69a8a7c340570782e947eec8e78bb";
-      };
-    };
-    "config-chain-1.1.11" = {
-      name = "config-chain";
-      packageName = "config-chain";
-      version = "1.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz";
-        sha1 = "aba09747dfbe4c3e70e766a6e41586e1859fc6f2";
-      };
-    };
-    "dezalgo-1.0.3" = {
-      name = "dezalgo";
-      packageName = "dezalgo";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz";
-        sha1 = "7f742de066fc748bc8db820569dddce49bf0d456";
-      };
-    };
-    "fs-vacuum-1.2.10" = {
-      name = "fs-vacuum";
-      packageName = "fs-vacuum";
-      version = "1.2.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.10.tgz";
-        sha1 = "b7629bec07a4031a2548fdf99f5ecf1cc8b31e36";
-      };
-    };
-    "fs-write-stream-atomic-1.0.10" = {
-      name = "fs-write-stream-atomic";
-      packageName = "fs-write-stream-atomic";
-      version = "1.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz";
-        sha1 = "b47df53493ef911df75731e70a9ded0189db40c9";
-      };
-    };
-    "fstream-1.0.11" = {
-      name = "fstream";
-      packageName = "fstream";
-      version = "1.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz";
-        sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171";
-      };
-    };
-    "fstream-npm-1.1.1" = {
-      name = "fstream-npm";
-      packageName = "fstream-npm";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.1.1.tgz";
-        sha1 = "6b9175db6239a83d8209e232426c494dbb29690c";
-      };
-    };
-    "github-url-from-git-1.4.0" = {
-      name = "github-url-from-git";
-      packageName = "github-url-from-git";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz";
-        sha1 = "285e6b520819001bde128674704379e4ff03e0de";
-      };
-    };
-    "github-url-from-username-repo-1.0.2" = {
-      name = "github-url-from-username-repo";
-      packageName = "github-url-from-username-repo";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz";
-        sha1 = "7dd79330d2abe69c10c2cef79714c97215791dfa";
-      };
-    };
-    "glob-7.0.6" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz";
-        sha1 = "211bafaf49e525b8cd93260d14ab136152b3f57a";
-      };
-    };
-    "hosted-git-info-2.1.5" = {
-      name = "hosted-git-info";
-      packageName = "hosted-git-info";
-      version = "2.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz";
-        sha1 = "0ba81d90da2e25ab34a332e6ec77936e1598118b";
-      };
-    };
-    "init-package-json-1.9.6" = {
-      name = "init-package-json";
-      packageName = "init-package-json";
-      version = "1.9.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/init-package-json/-/init-package-json-1.9.6.tgz";
-        sha1 = "789fc2b74466a4952b9ea77c0575bc78ebd60a61";
-      };
-    };
-    "lockfile-1.0.3" = {
-      name = "lockfile";
-      packageName = "lockfile";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lockfile/-/lockfile-1.0.3.tgz";
-        sha1 = "2638fc39a0331e9cac1a04b71799931c9c50df79";
-      };
-    };
-    "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";
-      };
-    };
-    "node-gyp-3.6.2" = {
-      name = "node-gyp";
-      packageName = "node-gyp";
-      version = "3.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.6.2.tgz";
-        sha1 = "9bfbe54562286284838e750eac05295853fa1c60";
-      };
-    };
-    "nopt-3.0.6" = {
-      name = "nopt";
-      packageName = "nopt";
-      version = "3.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
-        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
-      };
-    };
-    "normalize-git-url-3.0.2" = {
-      name = "normalize-git-url";
-      packageName = "normalize-git-url";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-git-url/-/normalize-git-url-3.0.2.tgz";
-        sha1 = "8e5f14be0bdaedb73e07200310aa416c27350fc4";
-      };
-    };
-    "normalize-package-data-2.3.8" = {
-      name = "normalize-package-data";
-      packageName = "normalize-package-data";
-      version = "2.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.8.tgz";
-        sha1 = "d819eda2a9dedbd1ffa563ea4071d936782295bb";
-      };
-    };
-    "npm-cache-filename-1.0.2" = {
-      name = "npm-cache-filename";
-      packageName = "npm-cache-filename";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz";
-        sha1 = "ded306c5b0bfc870a9e9faf823bc5f283e05ae11";
-      };
-    };
-    "npm-install-checks-1.0.7" = {
-      name = "npm-install-checks";
-      packageName = "npm-install-checks";
-      version = "1.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.7.tgz";
-        sha1 = "6d91aeda0ac96801f1ed7aadee116a6c0a086a57";
-      };
-    };
-    "npm-package-arg-4.1.1" = {
-      name = "npm-package-arg";
-      packageName = "npm-package-arg";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.1.1.tgz";
-        sha1 = "86d9dca985b4c5e5d59772dfd5de6919998a495a";
-      };
-    };
-    "npm-registry-client-7.2.1" = {
-      name = "npm-registry-client";
-      packageName = "npm-registry-client";
-      version = "7.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.2.1.tgz";
-        sha1 = "c792266b088cc313f8525e7e35248626c723db75";
-      };
-    };
-    "npm-user-validate-0.1.5" = {
-      name = "npm-user-validate";
-      packageName = "npm-user-validate";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.5.tgz";
-        sha1 = "52465d50c2d20294a57125b996baedbf56c5004b";
-      };
-    };
-    "npmlog-2.0.4" = {
-      name = "npmlog";
-      packageName = "npmlog";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz";
-        sha1 = "98b52530f2514ca90d09ec5b22c8846722375692";
-      };
-    };
-    "path-is-inside-1.0.2" = {
-      name = "path-is-inside";
-      packageName = "path-is-inside";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
-        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
-      };
-    };
-    "read-installed-4.0.3" = {
-      name = "read-installed";
-      packageName = "read-installed";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz";
-        sha1 = "ff9b8b67f187d1e4c29b9feb31f6b223acd19067";
-      };
-    };
-    "readable-stream-2.1.5" = {
-      name = "readable-stream";
-      packageName = "readable-stream";
-      version = "2.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.5.tgz";
-        sha1 = "66fa8b720e1438b364681f2ad1a63c618448c9d0";
-      };
-    };
-    "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";
-      };
-    };
-    "retry-0.10.1" = {
-      name = "retry";
-      packageName = "retry";
-      version = "0.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz";
-        sha1 = "e76388d217992c252750241d3d3956fed98d8ff4";
-      };
-    };
-    "rimraf-2.5.4" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "2.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-2.5.4.tgz";
-        sha1 = "96800093cbf1a0c86bd95b4625467535c29dfa04";
-      };
-    };
-    "sha-2.0.1" = {
-      name = "sha";
-      packageName = "sha";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz";
-        sha1 = "6030822fbd2c9823949f8f72ed6411ee5cf25aae";
-      };
-    };
-    "sorted-object-2.0.1" = {
-      name = "sorted-object";
-      packageName = "sorted-object";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.1.tgz";
-        sha1 = "7d631f4bd3a798a24af1dffcfbfe83337a5df5fc";
-      };
-    };
-    "text-table-0.2.0" = {
-      name = "text-table";
-      packageName = "text-table";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
-        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
-      };
-    };
-    "uid-number-0.0.6" = {
-      name = "uid-number";
-      packageName = "uid-number";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz";
-        sha1 = "0ea10e8035e8eb5b8e4449f06da1c730663baa81";
-      };
-    };
-    "umask-1.1.0" = {
-      name = "umask";
-      packageName = "umask";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz";
-        sha1 = "f29cebf01df517912bb58ff9c4e50fde8e33320d";
-      };
-    };
-    "validate-npm-package-name-2.2.2" = {
-      name = "validate-npm-package-name";
-      packageName = "validate-npm-package-name";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-2.2.2.tgz";
-        sha1 = "f65695b22f7324442019a3c7fa39a6e7fd299085";
-      };
-    };
-    "which-1.2.14" = {
-      name = "which";
-      packageName = "which";
-      version = "1.2.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which/-/which-1.2.14.tgz";
-        sha1 = "9a87c4378f03e827cecaf1acdf56c736c01c14e5";
-      };
-    };
-    "write-file-atomic-1.1.4" = {
-      name = "write-file-atomic";
-      packageName = "write-file-atomic";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.4.tgz";
-        sha1 = "b1f52dc2e8dc0e3cb04d187a25f758a38a90ca3b";
-      };
-    };
-    "proto-list-1.2.4" = {
-      name = "proto-list";
-      packageName = "proto-list";
-      version = "1.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
-        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
-      };
-    };
-    "iferr-0.1.5" = {
-      name = "iferr";
-      packageName = "iferr";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz";
-        sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
-      };
-    };
-    "fstream-ignore-1.0.5" = {
-      name = "fstream-ignore";
-      packageName = "fstream-ignore";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz";
-        sha1 = "9c31dae34767018fe1d249b24dada67d092da105";
-      };
-    };
-    "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";
-      };
-    };
-    "semver-5.3.0" = {
-      name = "semver";
-      packageName = "semver";
-      version = "5.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
-        sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
-      };
-    };
-    "npm-package-arg-4.2.1" = {
-      name = "npm-package-arg";
-      packageName = "npm-package-arg";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.2.1.tgz";
-        sha1 = "593303fdea85f7c422775f17f9eb7670f680e3ec";
-      };
-    };
-    "are-we-there-yet-1.1.4" = {
-      name = "are-we-there-yet";
-      packageName = "are-we-there-yet";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz";
-        sha1 = "bb5dca382bb94f05e15194373d16fd3ba1ca110d";
-      };
-    };
-    "gauge-1.2.7" = {
-      name = "gauge";
-      packageName = "gauge";
-      version = "1.2.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz";
-        sha1 = "e9cec5483d3d4ee0ef44b60a7d99e4935e136d93";
-      };
-    };
-    "delegates-1.0.0" = {
-      name = "delegates";
-      packageName = "delegates";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
-        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
-      };
-    };
-    "has-unicode-2.0.1" = {
-      name = "has-unicode";
-      packageName = "has-unicode";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
-        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
-      };
-    };
-    "lodash.pad-4.5.1" = {
-      name = "lodash.pad";
-      packageName = "lodash.pad";
-      version = "4.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz";
-        sha1 = "4330949a833a7c8da22cc20f6a26c4d59debba70";
-      };
-    };
-    "lodash.padend-4.6.1" = {
-      name = "lodash.padend";
-      packageName = "lodash.padend";
-      version = "4.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz";
-        sha1 = "53ccba047d06e158d311f45da625f4e49e6f166e";
-      };
-    };
-    "lodash.padstart-4.6.1" = {
-      name = "lodash.padstart";
-      packageName = "lodash.padstart";
-      version = "4.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz";
-        sha1 = "d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b";
-      };
-    };
-    "debuglog-1.0.1" = {
-      name = "debuglog";
-      packageName = "debuglog";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz";
-        sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
-      };
-    };
-    "readdir-scoped-modules-1.0.2" = {
-      name = "readdir-scoped-modules";
-      packageName = "readdir-scoped-modules";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz";
-        sha1 = "9fafa37d286be5d92cbaebdee030dc9b5f406747";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz";
-        sha1 = "355219cd6cf18dbe7c01cc7fd2dce765cfdc549a";
-      };
-    };
     "base64-js-1.1.2" = {
       name = "base64-js";
       packageName = "base64-js";
@@ -7627,6 +7060,24 @@ let
         sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
       };
     };
+    "block-stream-0.0.9" = {
+      name = "block-stream";
+      packageName = "block-stream";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
+        sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
+      };
+    };
+    "fstream-1.0.11" = {
+      name = "fstream";
+      packageName = "fstream";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fstream/-/fstream-1.0.11.tgz";
+        sha1 = "5c1fb1f117477114f0632a0eb4b71b3cb0fd3171";
+      };
+    };
     "pegjs-0.10.0" = {
       name = "pegjs";
       packageName = "pegjs";
@@ -8546,13 +7997,13 @@ let
         sha1 = "ea1a04fb64adff0242e9974f297dd4c3cad271e1";
       };
     };
-    "websocket-extensions-0.1.2" = {
+    "websocket-extensions-0.1.3" = {
       name = "websocket-extensions";
       packageName = "websocket-extensions";
-      version = "0.1.2";
+      version = "0.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.2.tgz";
-        sha1 = "0e18781de629a18308ce1481650f67ffa2693a5d";
+        url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz";
+        sha512 = "0d1n4yv45ibxf72hj7qka3j7v53dwn58savfiyvsppqhhrgg3g648ykk5v7fpb53hz85kj87m4f45r7d5iazx4yqgs381z6qnfd98cy";
       };
     };
     "native-dns-cache-git+https://github.com/okTurtles/native-dns-cache.git#8714196bb9223cc9a4064a4fddf9e82ec50b7d4d" = {
@@ -8873,13 +8324,13 @@ let
         sha1 = "4d4e55f171356121b2c5f6559f944705ab28db15";
       };
     };
-    "tar-stream-1.5.4" = {
+    "tar-stream-1.5.5" = {
       name = "tar-stream";
       packageName = "tar-stream";
-      version = "1.5.4";
+      version = "1.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.4.tgz";
-        sha1 = "36549cf04ed1aee9b2a30c0143252238daf94016";
+        url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.5.tgz";
+        sha512 = "219gn10gvilrq6h3yshbhn25fx46n0wlgg66h0v326jhzz8gmpxsinb8bnhx1py35z0cv2248v91k2vy6vmkajmvpmkfmizywn601wr";
       };
     };
     "through2-0.6.5" = {
@@ -9188,13 +8639,13 @@ let
         sha1 = "cac328f7bee45730d404b692203fcb590e172d5e";
       };
     };
-    "aws-sdk-2.141.0" = {
+    "aws-sdk-2.149.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.141.0";
+      version = "2.149.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.141.0.tgz";
-        sha1 = "3d96a5970fd9f540ceabcc1d4baeb33b71583aa7";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.149.0.tgz";
+        sha1 = "76f53722a7780bdb3191e83f27c10108c6fe9813";
       };
     };
     "request-2.83.0" = {
@@ -9440,6 +8891,564 @@ let
         sha512 = "19h20yqpvca08dns1rs4f057f10w63v0snxfml4h5khsk266x3x1im0w72bza4k2xn0kfz6jlv001dhcvxsjr09bmbqnysils9m7437";
       };
     };
+    "binstall-1.2.0" = {
+      name = "binstall";
+      packageName = "binstall";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binstall/-/binstall-1.2.0.tgz";
+        sha1 = "6b2c0f580b9e3c607f50ef7a22a54ce9fdc8d933";
+      };
+    };
+    "chalk-2.1.0" = {
+      name = "chalk";
+      packageName = "chalk";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz";
+        sha512 = "1fnn3znivja3xq1lacvsdwkl2s8ki9w95sylnf2pkmaia1mjz3llbdb5r2dxsflqfky3h8f1bh0piv0l5waw2bkdniqnyv0yx5wch9d";
+      };
+    };
+    "chokidar-1.6.0" = {
+      name = "chokidar";
+      packageName = "chokidar";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-1.6.0.tgz";
+        sha1 = "90c32ad4802901d7713de532dc284e96a63ad058";
+      };
+    };
+    "cross-spawn-4.0.0" = {
+      name = "cross-spawn";
+      packageName = "cross-spawn";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.0.tgz";
+        sha1 = "8254774ab4786b8c5b3cf4dfba66ce563932c252";
+      };
+    };
+    "find-parent-dir-0.3.0" = {
+      name = "find-parent-dir";
+      packageName = "find-parent-dir";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz";
+        sha1 = "33c44b429ab2b2f0646299c5f9f718f376ff8d54";
+      };
+    };
+    "firstline-1.2.1" = {
+      name = "firstline";
+      packageName = "firstline";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/firstline/-/firstline-1.2.1.tgz";
+        sha1 = "b88673c42009f8821fac2926e99720acee924fae";
+      };
+    };
+    "fs-extra-0.30.0" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "0.30.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-0.30.0.tgz";
+        sha1 = "f233ffcc08d4da7d432daa449776989db1df93f0";
+      };
+    };
+    "fsevents-1.1.2" = {
+      name = "fsevents";
+      packageName = "fsevents";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz";
+        sha512 = "25k3z64r4fhzjs1crh981lkkvkrhn2xv67k7y00zpnpsl571y5apg0r0kanddirms8kxf2xgf4yx9n2hzs9ml3v3p9qcnqhkh9khzja";
+      };
+    };
+    "lodash-4.13.1" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz";
+        sha1 = "83e4b10913f48496d4d16fec4a560af2ee744b68";
+      };
+    };
+    "murmur-hash-js-1.0.0" = {
+      name = "murmur-hash-js";
+      packageName = "murmur-hash-js";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/murmur-hash-js/-/murmur-hash-js-1.0.0.tgz";
+        sha1 = "5041049269c96633c866386960b2f4289e75e5b0";
+      };
+    };
+    "node-elm-compiler-4.3.3" = {
+      name = "node-elm-compiler";
+      packageName = "node-elm-compiler";
+      version = "4.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-elm-compiler/-/node-elm-compiler-4.3.3.tgz";
+        sha512 = "2xwfrbx7s959y63gdiy54y86mp770vkxfgszp5xhwnxr29d3xavf8dnp0ab238732wh1121qwlx6k68wa4wkk4rm4qiswq5h5m9fjhd";
+      };
+    };
+    "supports-color-4.2.0" = {
+      name = "supports-color";
+      packageName = "supports-color";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-color/-/supports-color-4.2.0.tgz";
+        sha512 = "158ng0v99ac7csif7v6153bp63nxmlz2a613z8y09sk8jsj2rpalscgg0lfzdlpfdd5612jqsnkvrz0137inka2qjcmcjrmy2xhrkaf";
+      };
+    };
+    "ansi-styles-3.2.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz";
+        sha512 = "2x19fs1qvg7ifsdvii4g8kqpa5hir1lm0k0y0fz6dhm5c8gh4z9il4wqczl078p2ikmrav23dmj86cxy8y1j22k4mv59d8qq6c8wx1n";
+      };
+    };
+    "color-convert-1.9.1" = {
+      name = "color-convert";
+      packageName = "color-convert";
+      version = "1.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.1.tgz";
+        sha512 = "32rj1090g95xcvm0d2ya6jbqdhiy9w2wv3picdy33fzrm455v0gi7g4n8lw0n31g37wwbdnz7lxjsisgbsaqz1d10j9nh5hi2f9lccs";
+      };
+    };
+    "color-name-1.1.3" = {
+      name = "color-name";
+      packageName = "color-name";
+      version = "1.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
+        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+      };
+    };
+    "anymatch-1.3.2" = {
+      name = "anymatch";
+      packageName = "anymatch";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz";
+        sha512 = "269dbx666z4ws49vag1dma5kdpjlx83s74c1jlngrn2672rhvbc47i5ay5h40spmrzgvbvcm33i4yrp88rrc6lg70v78k155z45lwyi";
+      };
+    };
+    "async-each-1.0.1" = {
+      name = "async-each";
+      packageName = "async-each";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz";
+        sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d";
+      };
+    };
+    "glob-parent-2.0.0" = {
+      name = "glob-parent";
+      packageName = "glob-parent";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz";
+        sha1 = "81383d72db054fcccf5336daa902f182f6edbb28";
+      };
+    };
+    "is-binary-path-1.0.1" = {
+      name = "is-binary-path";
+      packageName = "is-binary-path";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
+        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
+      };
+    };
+    "is-glob-2.0.1" = {
+      name = "is-glob";
+      packageName = "is-glob";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz";
+        sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
+      };
+    };
+    "readdirp-2.1.0" = {
+      name = "readdirp";
+      packageName = "readdirp";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz";
+        sha1 = "4ed0ad060df3073300c48440373f72d1cc642d78";
+      };
+    };
+    "micromatch-2.3.11" = {
+      name = "micromatch";
+      packageName = "micromatch";
+      version = "2.3.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz";
+        sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
+      };
+    };
+    "normalize-path-2.1.1" = {
+      name = "normalize-path";
+      packageName = "normalize-path";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
+        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
+      };
+    };
+    "arr-diff-2.0.0" = {
+      name = "arr-diff";
+      packageName = "arr-diff";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz";
+        sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
+      };
+    };
+    "braces-1.8.5" = {
+      name = "braces";
+      packageName = "braces";
+      version = "1.8.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz";
+        sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
+      };
+    };
+    "expand-brackets-0.1.5" = {
+      name = "expand-brackets";
+      packageName = "expand-brackets";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz";
+        sha1 = "df07284e342a807cd733ac5af72411e581d1177b";
+      };
+    };
+    "extglob-0.3.2" = {
+      name = "extglob";
+      packageName = "extglob";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz";
+        sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
+      };
+    };
+    "filename-regex-2.0.1" = {
+      name = "filename-regex";
+      packageName = "filename-regex";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz";
+        sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26";
+      };
+    };
+    "is-extglob-1.0.0" = {
+      name = "is-extglob";
+      packageName = "is-extglob";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz";
+        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";
+      };
+    };
+    "object.omit-2.0.1" = {
+      name = "object.omit";
+      packageName = "object.omit";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz";
+        sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
+      };
+    };
+    "parse-glob-3.0.4" = {
+      name = "parse-glob";
+      packageName = "parse-glob";
+      version = "3.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz";
+        sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
+      };
+    };
+    "regex-cache-0.4.4" = {
+      name = "regex-cache";
+      packageName = "regex-cache";
+      version = "0.4.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz";
+        sha512 = "1crfmf19zkv0imnbbkj7bwrcyin3zxa88cs86b6apkxj8qrsmkxnydhsy2ia75q4ld10rhi2s2c36h7g77a997mh9c2z453s311jllx";
+      };
+    };
+    "arr-flatten-1.1.0" = {
+      name = "arr-flatten";
+      packageName = "arr-flatten";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz";
+        sha512 = "2vdly17xk5kw7bfzajrjdnw4ml3wrfblx8064n0i4fxlchcscx2mvnwkq2bnnqvbqvdy4vs9ad462lz0rid7khysly9m9vzjiblly1g";
+      };
+    };
+    "expand-range-1.8.2" = {
+      name = "expand-range";
+      packageName = "expand-range";
+      version = "1.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz";
+        sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
+      };
+    };
+    "preserve-0.2.0" = {
+      name = "preserve";
+      packageName = "preserve";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz";
+        sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b";
+      };
+    };
+    "repeat-element-1.1.2" = {
+      name = "repeat-element";
+      packageName = "repeat-element";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz";
+        sha1 = "ef089a178d1483baae4d93eb98b4f9e4e11d990a";
+      };
+    };
+    "fill-range-2.2.3" = {
+      name = "fill-range";
+      packageName = "fill-range";
+      version = "2.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz";
+        sha1 = "50b77dfd7e469bc7492470963699fe7a8485a723";
+      };
+    };
+    "is-number-2.1.0" = {
+      name = "is-number";
+      packageName = "is-number";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz";
+        sha1 = "01fcbbb393463a548f2f466cce16dece49db908f";
+      };
+    };
+    "isobject-2.1.0" = {
+      name = "isobject";
+      packageName = "isobject";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
+        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
+      };
+    };
+    "randomatic-1.1.7" = {
+      name = "randomatic";
+      packageName = "randomatic";
+      version = "1.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz";
+        sha512 = "2is2kipfnz3hl4yxgqk07rll6956cq3zzf9cddai3f0lij5acq76v98qv14qkpljh1pqfsyb8p69xa9cyaww6p0j91s4vc9zj6594hg";
+      };
+    };
+    "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/kind-of/-/kind-of-4.0.0.tgz";
+        sha1 = "20813df3d712928b207378691a45066fae72dd57";
+      };
+    };
+    "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";
+      };
+    };
+    "for-own-0.1.5" = {
+      name = "for-own";
+      packageName = "for-own";
+      version = "0.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz";
+        sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce";
+      };
+    };
+    "is-extendable-0.1.1" = {
+      name = "is-extendable";
+      packageName = "is-extendable";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
+        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
+      };
+    };
+    "for-in-1.0.2" = {
+      name = "for-in";
+      packageName = "for-in";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz";
+        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
+      };
+    };
+    "glob-base-0.3.0" = {
+      name = "glob-base";
+      packageName = "glob-base";
+      version = "0.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz";
+        sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
+      };
+    };
+    "is-dotfile-1.0.3" = {
+      name = "is-dotfile";
+      packageName = "is-dotfile";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz";
+        sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1";
+      };
+    };
+    "is-equal-shallow-0.1.3" = {
+      name = "is-equal-shallow";
+      packageName = "is-equal-shallow";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz";
+        sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534";
+      };
+    };
+    "is-primitive-2.0.0" = {
+      name = "is-primitive";
+      packageName = "is-primitive";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz";
+        sha1 = "207bab91638499c07b2adf240a41a87210034575";
+      };
+    };
+    "remove-trailing-separator-1.1.0" = {
+      name = "remove-trailing-separator";
+      packageName = "remove-trailing-separator";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
+        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
+      };
+    };
+    "binary-extensions-1.10.0" = {
+      name = "binary-extensions";
+      packageName = "binary-extensions";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz";
+        sha1 = "9aeb9a6c5e88638aad171e167f5900abe24835d0";
+      };
+    };
+    "set-immediate-shim-1.0.1" = {
+      name = "set-immediate-shim";
+      packageName = "set-immediate-shim";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz";
+        sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
+      };
+    };
+    "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";
+        sha512 = "1xz91sizgyzh8plz5jx1labzpygapm6xy3qpxriaj00yvnhy4lnmhqcb20qln4lh80c5g3yzp4j5i6g63njq1r5sl9c0zlkh9xjk2xb";
+      };
+    };
+    "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";
+      };
+    };
+    "find-elm-dependencies-1.0.2" = {
+      name = "find-elm-dependencies";
+      packageName = "find-elm-dependencies";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/find-elm-dependencies/-/find-elm-dependencies-1.0.2.tgz";
+        sha512 = "2hpc7v115prqkr487hxh0gllwvf0xa90lsb3i1azmrpfclp37vahxvdsqkr9pwvbcr7znccvhfgp1xy26czrmdcxzfl250a63dywyw2";
+      };
+    };
+    "lodash-4.14.2" = {
+      name = "lodash";
+      packageName = "lodash";
+      version = "4.14.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash/-/lodash-4.14.2.tgz";
+        sha1 = "bbccce6373a400fbfd0a8c67ca42f6d1ef416432";
+      };
+    };
+    "firstline-1.2.0" = {
+      name = "firstline";
+      packageName = "firstline";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/firstline/-/firstline-1.2.0.tgz";
+        sha1 = "c9f4886e7f7fbf0afc12d71941dce06b192aea05";
+      };
+    };
+    "has-flag-2.0.0" = {
+      name = "has-flag";
+      packageName = "has-flag";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz";
+        sha1 = "e8207af1cc7b30d446cc70b734b5e8be18f88d51";
+      };
+    };
     "auto-bind-1.1.0" = {
       name = "auto-bind";
       packageName = "auto-bind";
@@ -9449,13 +9458,13 @@ let
         sha1 = "93b864dc7ee01a326281775d5c75ca0a751e5961";
       };
     };
-    "clipboardy-1.1.4" = {
+    "clipboardy-1.2.1" = {
       name = "clipboardy";
       packageName = "clipboardy";
-      version = "1.1.4";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clipboardy/-/clipboardy-1.1.4.tgz";
-        sha1 = "51b17574fc682588e2dd295cfa6e6aa109eab5ee";
+        url = "https://registry.npmjs.org/clipboardy/-/clipboardy-1.2.1.tgz";
+        sha512 = "3vl17aazp0zg59v7p7jmgm4zhrkxb6kmpddqam0r2cpviy51qmykr9kc52lyxywshbi3y52dqs5m17plpm0anscyh6cr2r2g07bxg0r";
       };
     };
     "conf-1.3.1" = {
@@ -9539,13 +9548,13 @@ let
         sha1 = "d4ba3e8e5e92760e4d1d3b603d772805c6cb256f";
       };
     };
-    "execa-0.6.3" = {
+    "execa-0.8.0" = {
       name = "execa";
       packageName = "execa";
-      version = "0.6.3";
+      version = "0.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.6.3.tgz";
-        sha1 = "57b69a594f081759c69e5370f0d17b9cb11658fe";
+        url = "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz";
+        sha1 = "d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da";
       };
     };
     "cross-spawn-5.1.0" = {
@@ -9593,15 +9602,6 @@ 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";
-        sha512 = "1xz91sizgyzh8plz5jx1labzpygapm6xy3qpxriaj00yvnhy4lnmhqcb20qln4lh80c5g3yzp4j5i6g63njq1r5sl9c0zlkh9xjk2xb";
-      };
-    };
     "shebang-command-1.2.0" = {
       name = "shebang-command";
       packageName = "shebang-command";
@@ -9980,13 +9980,13 @@ let
         sha1 = "415c4478f2bcc30120c22ce10ed3226f7d3e18e0";
       };
     };
-    "log-update-2.2.0" = {
+    "log-update-2.3.0" = {
       name = "log-update";
       packageName = "log-update";
-      version = "2.2.0";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/log-update/-/log-update-2.2.0.tgz";
-        sha1 = "e1b034d4325e3436c9df1aa7fd9c9c243bfb9198";
+        url = "https://registry.npmjs.org/log-update/-/log-update-2.3.0.tgz";
+        sha1 = "88328fd7d1ce7938b29283746f0b1bc126b24708";
       };
     };
     "prop-types-15.6.0" = {
@@ -9998,15 +9998,6 @@ let
         sha1 = "ceaf083022fc46b4a35f69e13ef75aed0d639856";
       };
     };
-    "ansi-styles-3.2.0" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.0.tgz";
-        sha512 = "2x19fs1qvg7ifsdvii4g8kqpa5hir1lm0k0y0fz6dhm5c8gh4z9il4wqczl078p2ikmrav23dmj86cxy8y1j22k4mv59d8qq6c8wx1n";
-      };
-    };
     "supports-color-4.5.0" = {
       name = "supports-color";
       packageName = "supports-color";
@@ -10016,33 +10007,6 @@ let
         sha1 = "be7a0de484dec5c5cddf8b3d59125044912f635b";
       };
     };
-    "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.3" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
-      };
-    };
-    "has-flag-2.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-2.0.0.tgz";
-        sha1 = "e8207af1cc7b30d446cc70b734b5e8be18f88d51";
-      };
-    };
     "ansi-escapes-3.0.0" = {
       name = "ansi-escapes";
       packageName = "ansi-escapes";
@@ -10232,13 +10196,13 @@ let
         sha1 = "3d63c3edfda02e06e01a452ad88caacc7cdcb6e8";
       };
     };
-    "espree-3.5.1" = {
+    "espree-3.5.2" = {
       name = "espree";
       packageName = "espree";
-      version = "3.5.1";
+      version = "3.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-3.5.1.tgz";
-        sha1 = "0c988b8ab46db53100a1954ae4ba995ddd27d87e";
+        url = "https://registry.npmjs.org/espree/-/espree-3.5.2.tgz";
+        sha512 = "04mnrkdqs32w98h9sfkn9i9zkyqj69sz2q1kxpnmsryjnfd9jrpqqlwrik73a80mdz86xckbr7vayw1dwkxhhnbvs4zciqsiiwlm9xi";
       };
     };
     "esquery-1.0.0" = {
@@ -10313,13 +10277,13 @@ let
         sha512 = "0h26sq1bwxc45bm0hvlcadrbk4bizzaw729wvw690ya7mpys45bqfzdqwhjkdrnq0i44dzxckykz4bix22jfdyfg1asybg3yzczjsrv";
       };
     };
-    "json-stable-stringify-1.0.1" = {
-      name = "json-stable-stringify";
-      packageName = "json-stable-stringify";
+    "json-stable-stringify-without-jsonify-1.0.1" = {
+      name = "json-stable-stringify-without-jsonify";
+      packageName = "json-stable-stringify-without-jsonify";
       version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
-        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+        url = "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
+        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
       };
     };
     "levn-0.3.0" = {
@@ -10349,6 +10313,15 @@ let
         sha1 = "364c5e409d3f4d6301d6c0b4c05bba50180aeb64";
       };
     };
+    "path-is-inside-1.0.2" = {
+      name = "path-is-inside";
+      packageName = "path-is-inside";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz";
+        sha1 = "365417dede44430d1c11af61027facf074bdfc53";
+      };
+    };
     "pluralize-7.0.0" = {
       name = "pluralize";
       packageName = "pluralize";
@@ -10385,6 +10358,15 @@ let
         sha512 = "2q47avrxblc0an2g5ij8sd7ss2bqhdxy2949dk774gyg9vmsivg7fwyn885v2va72sxiv5k59ifvi3hg4ra6z95lr8in6sjyw008jai";
       };
     };
+    "text-table-0.2.0" = {
+      name = "text-table";
+      packageName = "text-table";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
+        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+      };
+    };
     "esrecurse-4.2.0" = {
       name = "esrecurse";
       packageName = "esrecurse";
@@ -10700,13 +10682,13 @@ let
         sha512 = "1xd3zsk02nck4y601rn98n8cicrphaw5bdix278mk1yizmjv9s0wpa6akcqggd7d99c55s3byf4ylqdxkshyfsfnfx7lvwbmq2b3siw";
       };
     };
-    "eslint-4.10.0" = {
+    "eslint-4.11.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "4.10.0";
+      version = "4.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-4.10.0.tgz";
-        sha512 = "284ihlnpkrds6jd5rwdbmknxhci60p5sv24p9aad5ra2rjwb1pcakk3p630bggahmq6jjsxngj9rfmpv31jy9gs29cl2qfxzzq6bi9h";
+        url = "https://registry.npmjs.org/eslint/-/eslint-4.11.0.tgz";
+        sha512 = "3p35ybksp5c5qbdwb9fpd0dhspjbpnlqhfh3jj7zl6zfcpvljm3fnhfzwx35h8rqb7wi3y3r9w22nabnh4jzm8zwwhnz5lajr1f2rji";
       };
     };
     "supports-color-3.2.3" = {
@@ -10727,6 +10709,15 @@ let
         sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
       };
     };
+    "log-update-1.0.2" = {
+      name = "log-update";
+      packageName = "log-update";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz";
+        sha1 = "19929f64c4093d2d2e7075a1dad8af59c296b8d1";
+      };
+    };
     "ora-1.3.0" = {
       name = "ora";
       packageName = "ora";
@@ -10736,13 +10727,22 @@ let
         sha1 = "80078dd2b92a934af66a3ad72a5b910694ede51a";
       };
     };
-    "puppeteer-0.11.0" = {
-      name = "puppeteer";
-      packageName = "puppeteer";
-      version = "0.11.0";
+    "phantomjs-prebuilt-2.1.16" = {
+      name = "phantomjs-prebuilt";
+      packageName = "phantomjs-prebuilt";
+      version = "2.1.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/phantomjs-prebuilt/-/phantomjs-prebuilt-2.1.16.tgz";
+        sha1 = "efd212a4a3966d3647684ea8ba788549be2aefef";
+      };
+    };
+    "promise-phantom-3.1.6" = {
+      name = "promise-phantom";
+      packageName = "promise-phantom";
+      version = "3.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-0.11.0.tgz";
-        sha512 = "3rfwg87lk6wc7vyansvzg9qpxlkix62l5mway31pxflgcadf475n8zm866gbcq7wxyffy0nx4hrlkhd1fchbn2i0zw6x122lmijx3zy";
+        url = "https://registry.npmjs.org/promise-phantom/-/promise-phantom-3.1.6.tgz";
+        sha1 = "bbcfd248725259f2bb115a27bfa8d65dc420f931";
       };
     };
     "zen-observable-0.5.2" = {
@@ -10772,6 +10772,15 @@ let
         sha1 = "376ff7b58ea3086a0f09facc74617eca501e1a18";
       };
     };
+    "es6-promise-4.1.1" = {
+      name = "es6-promise";
+      packageName = "es6-promise";
+      version = "4.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz";
+        sha512 = "2g2gkw8cxy2lww5lqjbv0imkxkhy684pagbq4qaw6np46xcx1r6rbkg7qy4wjv12b7jy7zs208iilim7clc9v6ws2dzy9g0g223b99r";
+      };
+    };
     "extract-zip-1.6.6" = {
       name = "extract-zip";
       packageName = "extract-zip";
@@ -10781,31 +10790,40 @@ let
         sha1 = "1290ede8d20d0872b429fd3f351ca128ec5ef85c";
       };
     };
-    "https-proxy-agent-2.1.0" = {
-      name = "https-proxy-agent";
-      packageName = "https-proxy-agent";
-      version = "2.1.0";
+    "fs-extra-1.0.0" = {
+      name = "fs-extra";
+      packageName = "fs-extra";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.1.0.tgz";
-        sha512 = "17fg8xbji1zam9ksqgdfsyhqfw1nyniz8gwp54q0z7rz1pxw2m3agniawm870nn4j88m1w9l0lfkw5wa4qf1593if0cwicv814xad7w";
+        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz";
+        sha1 = "cd3ce5f7e7cb6145883fcae3191e9877f8587950";
       };
     };
-    "proxy-from-env-1.0.0" = {
-      name = "proxy-from-env";
-      packageName = "proxy-from-env";
-      version = "1.0.0";
+    "hasha-2.2.0" = {
+      name = "hasha";
+      packageName = "hasha";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.0.0.tgz";
-        sha1 = "33c50398f70ea7eb96d21f7b817630a55791c7ee";
+        url = "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz";
+        sha1 = "78d7cbfc1e6d66303fe79837365984517b2f6ee1";
       };
     };
-    "ws-3.2.0" = {
-      name = "ws";
-      packageName = "ws";
-      version = "3.2.0";
+    "kew-0.7.0" = {
+      name = "kew";
+      packageName = "kew";
+      version = "0.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-3.2.0.tgz";
-        sha512 = "1bj83dg7c5sca2v9cpzz4m83y9mm8icldvpk2c9sq3216cr6cn7qvfwhw9hq881nq7pii3xxbg8lz6g2p6223ililwkzzp68ndbfd45";
+        url = "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz";
+        sha1 = "79d93d2d33363d6fdd2970b335d9141ad591d79b";
+      };
+    };
+    "request-progress-2.0.1" = {
+      name = "request-progress";
+      packageName = "request-progress";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz";
+        sha1 = "5d36bb57961c673aa5b788dbc8141fdf23b44e08";
       };
     };
     "mkdirp-0.5.0" = {
@@ -10844,40 +10862,40 @@ let
         sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
       };
     };
-    "agent-base-4.1.1" = {
-      name = "agent-base";
-      packageName = "agent-base";
-      version = "4.1.1";
+    "throttleit-1.0.0" = {
+      name = "throttleit";
+      packageName = "throttleit";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-4.1.1.tgz";
-        sha512 = "2naw79i4m7pj1n5qw9xq6c0c8cdjfcqhdqk4j552nbrpb4c60hic13jfikqw7xga8xywpr57z2y5z70gn5xiihq47vzs3wrc1998qf9";
+        url = "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz";
+        sha1 = "9e785836daf46743145a5984b6268d828528ac6c";
       };
     };
-    "es6-promisify-5.0.0" = {
-      name = "es6-promisify";
-      packageName = "es6-promisify";
-      version = "5.0.0";
+    "mkpath-1.0.0" = {
+      name = "mkpath";
+      packageName = "mkpath";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz";
-        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
+        url = "https://registry.npmjs.org/mkpath/-/mkpath-1.0.0.tgz";
+        sha1 = "ebb3a977e7af1c683ae6fda12b545a6ba6c5853d";
       };
     };
-    "es6-promise-4.1.1" = {
-      name = "es6-promise";
-      packageName = "es6-promise";
-      version = "4.1.1";
+    "node-phantom-simple-2.2.4" = {
+      name = "node-phantom-simple";
+      packageName = "node-phantom-simple";
+      version = "2.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.1.1.tgz";
-        sha512 = "2g2gkw8cxy2lww5lqjbv0imkxkhy684pagbq4qaw6np46xcx1r6rbkg7qy4wjv12b7jy7zs208iilim7clc9v6ws2dzy9g0g223b99r";
+        url = "https://registry.npmjs.org/node-phantom-simple/-/node-phantom-simple-2.2.4.tgz";
+        sha1 = "4fc4effbb02f241fb5082bd4fbab398e4aecb64d";
       };
     };
-    "async-limiter-1.0.0" = {
-      name = "async-limiter";
-      packageName = "async-limiter";
-      version = "1.0.0";
+    "tmp-0.0.31" = {
+      name = "tmp";
+      packageName = "tmp";
+      version = "0.0.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz";
-        sha512 = "1ddib7nbyayhldvsyrfdpxk7khyi6s72570gkf3qqf4b1xwzdh52w0vlj6bknl40imispychhwfjb2bm29pjxbd5yz26fi8g8bfx7wf";
+        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.31.tgz";
+        sha1 = "8f38ab9438e17315e5dbd8b3657e8bfb277ae4a7";
       };
     };
     "glob-3.2.11" = {
@@ -11042,508 +11060,13 @@ let
         sha1 = "dbf8d752a7fe22fa7d58635689499610e9276ddc";
       };
     };
-    "anymatch-1.3.2" = {
-      name = "anymatch";
-      packageName = "anymatch";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/anymatch/-/anymatch-1.3.2.tgz";
-        sha512 = "269dbx666z4ws49vag1dma5kdpjlx83s74c1jlngrn2672rhvbc47i5ay5h40spmrzgvbvcm33i4yrp88rrc6lg70v78k155z45lwyi";
-      };
-    };
-    "async-each-1.0.1" = {
-      name = "async-each";
-      packageName = "async-each";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/async-each/-/async-each-1.0.1.tgz";
-        sha1 = "19d386a1d9edc6e7c1c85d388aedbcc56d33602d";
-      };
-    };
-    "glob-parent-2.0.0" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz";
-        sha1 = "81383d72db054fcccf5336daa902f182f6edbb28";
-      };
-    };
-    "is-binary-path-1.0.1" = {
-      name = "is-binary-path";
-      packageName = "is-binary-path";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
-        sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
-      };
-    };
-    "is-glob-2.0.1" = {
-      name = "is-glob";
-      packageName = "is-glob";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz";
-        sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
-      };
-    };
-    "readdirp-2.1.0" = {
-      name = "readdirp";
-      packageName = "readdirp";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/readdirp/-/readdirp-2.1.0.tgz";
-        sha1 = "4ed0ad060df3073300c48440373f72d1cc642d78";
-      };
-    };
-    "fsevents-1.1.2" = {
+    "fsevents-1.1.3" = {
       name = "fsevents";
       packageName = "fsevents";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.1.2.tgz";
-        sha512 = "25k3z64r4fhzjs1crh981lkkvkrhn2xv67k7y00zpnpsl571y5apg0r0kanddirms8kxf2xgf4yx9n2hzs9ml3v3p9qcnqhkh9khzja";
-      };
-    };
-    "micromatch-2.3.11" = {
-      name = "micromatch";
-      packageName = "micromatch";
-      version = "2.3.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-2.3.11.tgz";
-        sha1 = "86677c97d1720b363431d04d0d15293bd38c1565";
-      };
-    };
-    "normalize-path-2.1.1" = {
-      name = "normalize-path";
-      packageName = "normalize-path";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz";
-        sha1 = "1ab28b556e198363a8c1a6f7e6fa20137fe6aed9";
-      };
-    };
-    "arr-diff-2.0.0" = {
-      name = "arr-diff";
-      packageName = "arr-diff";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz";
-        sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
-      };
-    };
-    "braces-1.8.5" = {
-      name = "braces";
-      packageName = "braces";
-      version = "1.8.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz";
-        sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
-      };
-    };
-    "expand-brackets-0.1.5" = {
-      name = "expand-brackets";
-      packageName = "expand-brackets";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz";
-        sha1 = "df07284e342a807cd733ac5af72411e581d1177b";
-      };
-    };
-    "extglob-0.3.2" = {
-      name = "extglob";
-      packageName = "extglob";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz";
-        sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
-      };
-    };
-    "filename-regex-2.0.1" = {
-      name = "filename-regex";
-      packageName = "filename-regex";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.1.tgz";
-        sha1 = "c1c4b9bee3e09725ddb106b75c1e301fe2f18b26";
-      };
-    };
-    "is-extglob-1.0.0" = {
-      name = "is-extglob";
-      packageName = "is-extglob";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz";
-        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";
-      };
-    };
-    "object.omit-2.0.1" = {
-      name = "object.omit";
-      packageName = "object.omit";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.omit/-/object.omit-2.0.1.tgz";
-        sha1 = "1a9c744829f39dbb858c76ca3579ae2a54ebd1fa";
-      };
-    };
-    "parse-glob-3.0.4" = {
-      name = "parse-glob";
-      packageName = "parse-glob";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz";
-        sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
-      };
-    };
-    "regex-cache-0.4.4" = {
-      name = "regex-cache";
-      packageName = "regex-cache";
-      version = "0.4.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.4.tgz";
-        sha512 = "1crfmf19zkv0imnbbkj7bwrcyin3zxa88cs86b6apkxj8qrsmkxnydhsy2ia75q4ld10rhi2s2c36h7g77a997mh9c2z453s311jllx";
-      };
-    };
-    "arr-flatten-1.1.0" = {
-      name = "arr-flatten";
-      packageName = "arr-flatten";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz";
-        sha512 = "2vdly17xk5kw7bfzajrjdnw4ml3wrfblx8064n0i4fxlchcscx2mvnwkq2bnnqvbqvdy4vs9ad462lz0rid7khysly9m9vzjiblly1g";
-      };
-    };
-    "expand-range-1.8.2" = {
-      name = "expand-range";
-      packageName = "expand-range";
-      version = "1.8.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz";
-        sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
-      };
-    };
-    "preserve-0.2.0" = {
-      name = "preserve";
-      packageName = "preserve";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz";
-        sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b";
-      };
-    };
-    "repeat-element-1.1.2" = {
-      name = "repeat-element";
-      packageName = "repeat-element";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz";
-        sha1 = "ef089a178d1483baae4d93eb98b4f9e4e11d990a";
-      };
-    };
-    "fill-range-2.2.3" = {
-      name = "fill-range";
-      packageName = "fill-range";
-      version = "2.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz";
-        sha1 = "50b77dfd7e469bc7492470963699fe7a8485a723";
-      };
-    };
-    "is-number-2.1.0" = {
-      name = "is-number";
-      packageName = "is-number";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz";
-        sha1 = "01fcbbb393463a548f2f466cce16dece49db908f";
-      };
-    };
-    "isobject-2.1.0" = {
-      name = "isobject";
-      packageName = "isobject";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
-        sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
-      };
-    };
-    "randomatic-1.1.7" = {
-      name = "randomatic";
-      packageName = "randomatic";
-      version = "1.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/randomatic/-/randomatic-1.1.7.tgz";
-        sha512 = "2is2kipfnz3hl4yxgqk07rll6956cq3zzf9cddai3f0lij5acq76v98qv14qkpljh1pqfsyb8p69xa9cyaww6p0j91s4vc9zj6594hg";
-      };
-    };
-    "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/kind-of/-/kind-of-4.0.0.tgz";
-        sha1 = "20813df3d712928b207378691a45066fae72dd57";
-      };
-    };
-    "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";
-      };
-    };
-    "for-own-0.1.5" = {
-      name = "for-own";
-      packageName = "for-own";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/for-own/-/for-own-0.1.5.tgz";
-        sha1 = "5265c681a4f294dabbf17c9509b6763aa84510ce";
-      };
-    };
-    "is-extendable-0.1.1" = {
-      name = "is-extendable";
-      packageName = "is-extendable";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
-        sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
-      };
-    };
-    "for-in-1.0.2" = {
-      name = "for-in";
-      packageName = "for-in";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz";
-        sha1 = "81068d295a8142ec0ac726c6e2200c30fb6d5e80";
-      };
-    };
-    "glob-base-0.3.0" = {
-      name = "glob-base";
-      packageName = "glob-base";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz";
-        sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
-      };
-    };
-    "is-dotfile-1.0.3" = {
-      name = "is-dotfile";
-      packageName = "is-dotfile";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.3.tgz";
-        sha1 = "a6a2f32ffd2dfb04f5ca25ecd0f6b83cf798a1e1";
-      };
-    };
-    "is-equal-shallow-0.1.3" = {
-      name = "is-equal-shallow";
-      packageName = "is-equal-shallow";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz";
-        sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534";
-      };
-    };
-    "is-primitive-2.0.0" = {
-      name = "is-primitive";
-      packageName = "is-primitive";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz";
-        sha1 = "207bab91638499c07b2adf240a41a87210034575";
-      };
-    };
-    "remove-trailing-separator-1.1.0" = {
-      name = "remove-trailing-separator";
-      packageName = "remove-trailing-separator";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz";
-        sha1 = "c24bce2a283adad5bc3f58e0d48249b92379d8ef";
-      };
-    };
-    "binary-extensions-1.10.0" = {
-      name = "binary-extensions";
-      packageName = "binary-extensions";
-      version = "1.10.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.10.0.tgz";
-        sha1 = "9aeb9a6c5e88638aad171e167f5900abe24835d0";
-      };
-    };
-    "set-immediate-shim-1.0.1" = {
-      name = "set-immediate-shim";
-      packageName = "set-immediate-shim";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz";
-        sha1 = "4b2b1b27eb808a9f8dcc481a58e5e56f599f3f61";
-      };
-    };
-    "node-pre-gyp-0.6.38" = {
-      name = "node-pre-gyp";
-      packageName = "node-pre-gyp";
-      version = "0.6.38";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz";
-        sha1 = "e92a20f83416415bb4086f6d1fb78b3da73d113d";
-      };
-    };
-    "npmlog-4.1.2" = {
-      name = "npmlog";
-      packageName = "npmlog";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
-        sha512 = "2967mavp7zw0aawf5fadqf4pmn7vy5gya1yx2s9wwppvivhd9q4mpdnszfqvd7p6yks649bwbpj8iviw86g0hpp4f93d5ca7dmjmrfs";
-      };
-    };
-    "request-2.81.0" = {
-      name = "request";
-      packageName = "request";
-      version = "2.81.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.81.0.tgz";
-        sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
-      };
-    };
-    "tar-pack-3.4.1" = {
-      name = "tar-pack";
-      packageName = "tar-pack";
-      version = "3.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz";
-        sha512 = "0mgk8jd55vr7i3i29r1skhxwwbqkqfz6mbr32r5nn8h6v5xns8d2rc7835y7wj0zmppckxai7nm8r4s65kkg6yhirnwx33yixn75x1w";
-      };
-    };
-    "console-control-strings-1.1.0" = {
-      name = "console-control-strings";
-      packageName = "console-control-strings";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
-        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
-      };
-    };
-    "gauge-2.7.4" = {
-      name = "gauge";
-      packageName = "gauge";
-      version = "2.7.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
-        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
-      };
-    };
-    "set-blocking-2.0.0" = {
-      name = "set-blocking";
-      packageName = "set-blocking";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
-        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
-      };
-    };
-    "aproba-1.2.0" = {
-      name = "aproba";
-      packageName = "aproba";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
-        sha512 = "13mgnbmdhdq0qncijvpip1l39q1a8labcvj3hc3n1yl2zch106mdkn7p7bd5knvmfkkn1js9nd47nzyjk1himbm8ry8i8gd6mk7mlk3";
-      };
-    };
-    "string-width-1.0.2" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
-        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
-      };
-    };
-    "wide-align-1.1.2" = {
-      name = "wide-align";
-      packageName = "wide-align";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz";
-        sha512 = "39m5b8qc31vxhh0bz14vh9a1kf9znarvlpkf0v6vv1f2dxi61gihav2djq2mn7ns1z3yq6l8pyydj52fyzbm2q04rssrcrv4jbwnc4a";
-      };
-    };
-    "har-validator-4.2.1" = {
-      name = "har-validator";
-      packageName = "har-validator";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz";
-        sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
-      };
-    };
-    "performance-now-0.2.0" = {
-      name = "performance-now";
-      packageName = "performance-now";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz";
-        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
-      };
-    };
-    "qs-6.4.0" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz";
-        sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
-      };
-    };
-    "ajv-4.11.8" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "4.11.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz";
-        sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
-      };
-    };
-    "har-schema-1.0.5" = {
-      name = "har-schema";
-      packageName = "har-schema";
-      version = "1.0.5";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz";
-        sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
+        url = "https://registry.npmjs.org/fsevents/-/fsevents-1.1.3.tgz";
+        sha512 = "3jw51f4iayxvp9wfxczk1xgcvhsydhlgah64jmpl0mqiii2h8i5pp0lrqac5xn7296gxqrvy4lgm4k4hkifk8gipgqxd68x764gp2jq";
       };
     };
     "event-stream-0.5.3" = {
@@ -11645,13 +11168,13 @@ let
         sha1 = "d2d0f1887ca363d1acf0ea86d5c4df293b3fb675";
       };
     };
-    "simple-git-1.80.1" = {
+    "simple-git-1.82.0" = {
       name = "simple-git";
       packageName = "simple-git";
-      version = "1.80.1";
+      version = "1.82.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.80.1.tgz";
-        sha1 = "48104cb4ac72576937853e1afd1eeffdc97acb29";
+        url = "https://registry.npmjs.org/simple-git/-/simple-git-1.82.0.tgz";
+        sha1 = "5fd0efe9c4ee78e5d942f276ac492b32e041a01a";
       };
     };
     "tabtab-git+https://github.com/mixu/node-tabtab.git" = {
@@ -11691,6 +11214,15 @@ let
         sha1 = "a4274eeb32fa765da5a7a3b1712617ce3b144149";
       };
     };
+    "nopt-3.0.6" = {
+      name = "nopt";
+      packageName = "nopt";
+      version = "3.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
+        sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
+      };
+    };
     "coffee-script-1.12.7" = {
       name = "coffee-script";
       packageName = "coffee-script";
@@ -12051,6 +11583,15 @@ let
         sha1 = "79691584d98607f5070bd3b70a40e6bb22e401eb";
       };
     };
+    "archy-1.0.0" = {
+      name = "archy";
+      packageName = "archy";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz";
+        sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
+      };
+    };
     "deprecated-0.0.1" = {
       name = "deprecated";
       packageName = "deprecated";
@@ -13005,22 +12546,22 @@ let
         sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
       };
     };
-    "@ionic/cli-framework-0.0.2" = {
-      name = "@ionic/cli-framework";
+    "@ionic/cli-framework-0.1.1" = {
+      name = "_at_ionic_slash_cli-framework";
       packageName = "@ionic/cli-framework";
-      version = "0.0.2";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-0.0.2.tgz";
-        sha512 = "0sx59z1970yad1c2k9h7mz0fkjj21im682qb503ypng99fr0bm3nl6p5sw37iy2x44jj9jbh3a7lcc3kzm8ymy5gqw4v7rxbmcn8vv0";
+        url = "https://registry.npmjs.org/@ionic/cli-framework/-/cli-framework-0.1.1.tgz";
+        sha512 = "1x9p7bbnmxy6xj42n0qsmyv2bxha404r3snlxjxhiaw20p8bg243k2lgxdqqj0r29sp5rd8cnkx631zsk18hi6bmdr50mdp5hjw89n5";
       };
     };
-    "@ionic/cli-utils-1.15.2" = {
-      name = "@ionic/cli-utils";
+    "@ionic/cli-utils-1.18.0" = {
+      name = "_at_ionic_slash_cli-utils";
       packageName = "@ionic/cli-utils";
-      version = "1.15.2";
+      version = "1.18.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.15.2.tgz";
-        sha512 = "1611izq9j89s32sjxkrv23zm9lihvk5wgyyxqwzn286npawpx2gxvs24xm45k5ysy0gxbba9k258ixj9a6vzaz644w69y63nh2fxw18";
+        url = "https://registry.npmjs.org/@ionic/cli-utils/-/cli-utils-1.18.0.tgz";
+        sha512 = "2biqawzp7wwh6rb38w7gnnymxhg1k4r60hvm530hmvgpsdgbi0wq8ys9p1i969qij187nz3vr5cb5wivqwimldysqv6n1d2b95rrkbv";
       };
     };
     "opn-5.1.0" = {
@@ -13059,13 +12600,13 @@ let
         sha1 = "195a21d6c46e361d2fb1281ba38b91e9df7bdbb3";
       };
     };
-    "superagent-3.8.0" = {
+    "superagent-3.8.1" = {
       name = "superagent";
       packageName = "superagent";
-      version = "3.8.0";
+      version = "3.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/superagent/-/superagent-3.8.0.tgz";
-        sha512 = "05p3nzd9iw05i37pkvil2wjvrvlxzwr4ym9m6f7ykdlssf2ljywmsmc6y6kbm0qd91d2lssks1riwvlpnp63809qb6l9vv71ddccmgg";
+        url = "https://registry.npmjs.org/superagent/-/superagent-3.8.1.tgz";
+        sha512 = "3lp63wkl3d6zz6lfrv6kzi29lcvhjxvjhq66sqjj5di7z5d2w653wvbb66sfng07f7czigzfacxy8hry6v304nlg1gigf85i0nlbh2l";
       };
     };
     "component-emitter-1.2.1" = {
@@ -13095,13 +12636,13 @@ let
         sha1 = "96b8886f7c3c3508b932d6bd70c4d3a88f35f1a9";
       };
     };
-    "@ionic/discover-0.3.3" = {
-      name = "@ionic/discover";
+    "@ionic/discover-0.4.0" = {
+      name = "_at_ionic_slash_discover";
       packageName = "@ionic/discover";
-      version = "0.3.3";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@ionic/discover/-/discover-0.3.3.tgz";
-        sha512 = "3brs0chjqyz8drf7i6w67bmzxgvi88pb54m6qz3ml1wc3j42hgby7x0rjzwzdhkyx5573vbr91ias805gff1piyn7x7nq0c4568zj65";
+        url = "https://registry.npmjs.org/@ionic/discover/-/discover-0.4.0.tgz";
+        sha512 = "0x6yxaj489n9lbq0kfvdnpj1pacgv3r0vk5cnlla7w1jkvxzwaf0vbcnwd9gdaj6zkq69wm1g4zjvj37pyn1lajjkzl1f50l7cnr2ad";
       };
     };
     "archiver-2.1.0" = {
@@ -13176,6 +12717,15 @@ let
         sha1 = "2b19630af85b1666688b9d68f6e4218900f81f8c";
       };
     };
+    "tar-4.0.2" = {
+      name = "tar";
+      packageName = "tar";
+      version = "4.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar/-/tar-4.0.2.tgz";
+        sha512 = "1mm9s6jly4lwfv9cak7kpiagqx3j6n1dh50k7nlnqy761ckfvn394asfgq1vdnxpjr164h5ybgcfysr8wgm70bwd0y3qnq4w3i8smg2";
+      };
+    };
     "tiny-lr-1.0.5" = {
       name = "tiny-lr";
       packageName = "tiny-lr";
@@ -13185,6 +12735,15 @@ let
         sha512 = "2b8y1xdv7szw0hvad64rghp2zdahs6qhx0k79c0s9xa0a35zbcrb9b9gywixhcxqi1c9ab7ah8ibra22k8baakh7rvmhf904d559g32";
       };
     };
+    "ws-3.3.1" = {
+      name = "ws";
+      packageName = "ws";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-3.3.1.tgz";
+        sha512 = "3y6jiddhkfn0qgl1bq8whpn8s7l4vh981nnjih1k81wa7mxgbj6c9nnayxk1hz4qdxy34f8wbzv6kq6pdcsg7n98a1c5jyhr52fw3zh";
+      };
+    };
     "netmask-1.0.6" = {
       name = "netmask";
       packageName = "netmask";
@@ -13320,6 +12879,42 @@ let
         sha1 = "e531c27644cf8b57a99e17ed95b35c748789392e";
       };
     };
+    "chownr-1.0.1" = {
+      name = "chownr";
+      packageName = "chownr";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz";
+        sha1 = "e2a75042a9551908bebd25b8523d5f9769d79181";
+      };
+    };
+    "minipass-2.2.1" = {
+      name = "minipass";
+      packageName = "minipass";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minipass/-/minipass-2.2.1.tgz";
+        sha512 = "3yy9s65iwrx5hndcqbxrks88xi9cf8hra6zalgf8xfr4ahpp31s0i8lv6jpyb42p0y7z55ac3390sbqxcgcvan3xls449agbjb98mmv";
+      };
+    };
+    "minizlib-1.0.4" = {
+      name = "minizlib";
+      packageName = "minizlib";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.0.4.tgz";
+        sha512 = "1lxpa3mkdc94i0d7b2ivilcky0gnmnxv5csmigzacb5gl2cz7rz4ciikq1r5an1simk86f61whwzyi5d8gic85w55q19d09sbv19pmh";
+      };
+    };
+    "yallist-3.0.2" = {
+      name = "yallist";
+      packageName = "yallist";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz";
+        sha1 = "8452b4bb7e83c7c188d8041c1a837c773d6d8bb9";
+      };
+    };
     "body-5.1.0" = {
       name = "body";
       packageName = "body";
@@ -13401,6 +12996,15 @@ let
         sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
       };
     };
+    "async-limiter-1.0.0" = {
+      name = "async-limiter";
+      packageName = "async-limiter";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.0.tgz";
+        sha512 = "1ddib7nbyayhldvsyrfdpxk7khyi6s72570gkf3qqf4b1xwzdh52w0vlj6bknl40imispychhwfjb2bm29pjxbd5yz26fi8g8bfx7wf";
+      };
+    };
     "is-wsl-1.1.0" = {
       name = "is-wsl";
       packageName = "is-wsl";
@@ -13419,6 +13023,15 @@ let
         sha512 = "260gwv2k1svhzfxs50g921jbhrqlbfr94mcs9ak0dip7i2331nqc7ip0fgdkfl3r1b30w1s87qh2ssq6wxzd08pbmkjwchqc6xdnqls";
       };
     };
+    "abbrev-1.0.9" = {
+      name = "abbrev";
+      packageName = "abbrev";
+      version = "1.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/abbrev/-/abbrev-1.0.9.tgz";
+        sha1 = "91b4792588a7738c25f35dd6f63752a2f8776135";
+      };
+    };
     "escodegen-1.8.1" = {
       name = "escodegen";
       packageName = "escodegen";
@@ -13500,13 +13113,13 @@ let
         sha1 = "a969a80a1fbff6b78f28776594d7bc2bdfab6aad";
       };
     };
-    "jaeger-client-3.5.3" = {
+    "jaeger-client-3.6.0" = {
       name = "jaeger-client";
       packageName = "jaeger-client";
-      version = "3.5.3";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.5.3.tgz";
-        sha1 = "30a3989642ee3e8ea06d10c2b9f9e046d424d8ed";
+        url = "https://registry.npmjs.org/jaeger-client/-/jaeger-client-3.6.0.tgz";
+        sha1 = "5659f522776298eea8ed768741dc71978ba69a98";
       };
     };
     "mz-2.7.0" = {
@@ -13572,31 +13185,31 @@ let
         sha1 = "f8395f85d459276067c988aa41837a8f82870844";
       };
     };
-    "vscode-jsonrpc-3.4.1" = {
+    "vscode-jsonrpc-3.5.0" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "3.4.1";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.4.1.tgz";
-        sha1 = "e2e0b9e121f71a2b5448058a34a3aef8376a5e91";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-3.5.0.tgz";
+        sha1 = "87239d9e166b2d7352245b8a813597804c1d63aa";
       };
     };
-    "vscode-languageserver-3.4.3" = {
+    "vscode-languageserver-3.5.0" = {
       name = "vscode-languageserver";
       packageName = "vscode-languageserver";
-      version = "3.4.3";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-3.4.3.tgz";
-        sha1 = "83fea96bc5e094549a0a5ce3ef76b53d7ad40508";
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-3.5.0.tgz";
+        sha1 = "d28099bc6ddda8c1dd16b707e454e1b1ddae0dba";
       };
     };
-    "vscode-languageserver-types-3.4.0" = {
+    "vscode-languageserver-types-3.5.0" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
-      version = "3.4.0";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.4.0.tgz";
-        sha1 = "5043ae47ee4ac16af07bb3d0ca561235e0c0d2fa";
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.5.0.tgz";
+        sha1 = "e48d79962f0b8e02de955e3f524908e2b19c0374";
       };
     };
     "assertion-error-1.0.2" = {
@@ -13644,13 +13257,13 @@ let
         sha1 = "b942e6d4bde653005ef6b71361def8727d0645e0";
       };
     };
-    "type-detect-4.0.3" = {
+    "type-detect-4.0.5" = {
       name = "type-detect";
       packageName = "type-detect";
-      version = "4.0.3";
+      version = "4.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.3.tgz";
-        sha1 = "0e3f2670b44099b0b46c284d136a7ef49c74c2ea";
+        url = "https://registry.npmjs.org/type-detect/-/type-detect-4.0.5.tgz";
+        sha512 = "08z0fl5f7kx0fhjbj75cvshf4j5j3zzk04766g04rlwcjqr2i3z84qla0ci1h2iv014qkmsh9z7vbvd6ncr04bf1c36cl151f8jzlip";
       };
     };
     "node-int64-0.4.0" = {
@@ -13752,13 +13365,13 @@ let
         sha1 = "11a86befeac3c4aa3ec08623651a3c81a6d0bbc8";
       };
     };
-    "vscode-languageserver-protocol-3.4.4" = {
+    "vscode-languageserver-protocol-3.5.0" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.4.4";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.4.4.tgz";
-        sha1 = "0387bb49bd0f805e9048c695997dbd430d6eca28";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.5.0.tgz";
+        sha1 = "067c5cbe27709795398d119692c97ebba1452209";
       };
     };
     "when-3.4.6" = {
@@ -13779,6 +13392,15 @@ let
         sha1 = "22817534f24bfa4950c34d532d48ecbc621b8c14";
       };
     };
+    "config-chain-1.1.11" = {
+      name = "config-chain";
+      packageName = "config-chain";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.11.tgz";
+        sha1 = "aba09747dfbe4c3e70e766a6e41586e1859fc6f2";
+      };
+    };
     "editorconfig-0.13.3" = {
       name = "editorconfig";
       packageName = "editorconfig";
@@ -13788,6 +13410,15 @@ let
         sha512 = "08ysphnfa9fynh31z9sbxq8nyw0v2w2q6xkvqpy13xr16mh58na9xrxjxj0r6vwr01xjna3jyz6njwbxw0dvyrq509y5fs2sm8fqj2s";
       };
     };
+    "proto-list-1.2.4" = {
+      name = "proto-list";
+      packageName = "proto-list";
+      version = "1.2.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
+        sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
+      };
+    };
     "bluebird-3.5.1" = {
       name = "bluebird";
       packageName = "bluebird";
@@ -13887,13 +13518,13 @@ let
         sha1 = "13f14ce02eed4e981297b64eb9e3b932e2dd13dc";
       };
     };
-    "lodash-id-0.13.0" = {
+    "lodash-id-0.14.0" = {
       name = "lodash-id";
       packageName = "lodash-id";
-      version = "0.13.0";
+      version = "0.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lodash-id/-/lodash-id-0.13.0.tgz";
-        sha1 = "1b2086c24f004f07411bdb09b775072114bcddc6";
+        url = "https://registry.npmjs.org/lodash-id/-/lodash-id-0.14.0.tgz";
+        sha1 = "baf48934e543a1b5d6346f8c84698b1a8c803896";
       };
     };
     "lowdb-0.15.5" = {
@@ -13923,6 +13554,15 @@ let
         sha1 = "d01fa6c65859b76fcf31b3cb53a3821a311d8051";
       };
     };
+    "nanoid-1.0.1" = {
+      name = "nanoid";
+      packageName = "nanoid";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-1.0.1.tgz";
+        sha512 = "3dh8fdgynnii8rgdpyk69z99y49bnl60244wsaw8mk2lzhfhczgf7nxgmm0qakmgzbvqqqfngq03z3j8hp70smh7ka0il806w7ajxh5";
+      };
+    };
     "please-upgrade-node-3.0.1" = {
       name = "please-upgrade-node";
       packageName = "please-upgrade-node";
@@ -13932,15 +13572,6 @@ let
         sha1 = "0a681f2c18915e5433a5ca2cd94e0b8206a782db";
       };
     };
-    "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";
@@ -13950,31 +13581,22 @@ let
         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" = {
+    "update-notifier-2.3.0" = {
       name = "update-notifier";
       packageName = "update-notifier";
-      version = "1.0.3";
+      version = "2.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-1.0.3.tgz";
-        sha1 = "8f92c515482bd6831b7c93013e70f87552c7cf5a";
+        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz";
+        sha1 = "4e8827a6bb915140ab093559d7014e3ebb837451";
       };
     };
-    "yargs-6.6.0" = {
+    "yargs-10.0.3" = {
       name = "yargs";
       packageName = "yargs";
-      version = "6.6.0";
+      version = "10.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-6.6.0.tgz";
-        sha1 = "782ec21ef403345f830a808ca3d513af56065208";
+        url = "https://registry.npmjs.org/yargs/-/yargs-10.0.3.tgz";
+        sha512 = "1vn6jsqrhybxddyhmvkh0d43n2lk1z8081glfq80zpjfs4xgwpk0mmgdiry9zgsihmv9a2qidmp5hhyqqq8mzzkr037wla0qd1nk80f";
       };
     };
     "path-to-regexp-1.7.0" = {
@@ -14013,40 +13635,76 @@ let
         sha1 = "015db3f353e02e56377755f962742e8981e7bbba";
       };
     };
-    "boxen-0.6.0" = {
+    "boxen-1.2.2" = {
       name = "boxen";
       packageName = "boxen";
-      version = "0.6.0";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-0.6.0.tgz";
-        sha1 = "8364d4248ac34ff0ef1b2f2bf49a6c60ce0d81b6";
+        url = "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz";
+        sha1 = "3f1d4032c30ffea9d4b02c322eaf2ea741dcbce5";
       };
     };
-    "latest-version-2.0.0" = {
+    "configstore-3.1.1" = {
+      name = "configstore";
+      packageName = "configstore";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz";
+        sha512 = "2zmidvkp20q25yv6a5d7k1daawdg0w6ppgayxzpwfhyvmgwybkkv7ni0j4b2j9c8wjn8z33zf5d4bjr8jywb5qixc75vypyy87n90z6";
+      };
+    };
+    "import-lazy-2.1.0" = {
+      name = "import-lazy";
+      packageName = "import-lazy";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz";
+        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
+      };
+    };
+    "is-installed-globally-0.1.0" = {
+      name = "is-installed-globally";
+      packageName = "is-installed-globally";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz";
+        sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
+      };
+    };
+    "latest-version-3.1.0" = {
       name = "latest-version";
       packageName = "latest-version";
-      version = "2.0.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-2.0.0.tgz";
-        sha1 = "56f8d6139620847b8017f8f1f4d78e211324168b";
+        url = "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz";
+        sha1 = "a205383fea322b33b5ae3b18abee0dc2f356ee15";
       };
     };
-    "lazy-req-1.1.0" = {
-      name = "lazy-req";
-      packageName = "lazy-req";
-      version = "1.1.0";
+    "xdg-basedir-3.0.0" = {
+      name = "xdg-basedir";
+      packageName = "xdg-basedir";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lazy-req/-/lazy-req-1.1.0.tgz";
-        sha1 = "bdaebead30f8d824039ce0ce149d4daa07ba1fac";
+        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz";
+        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-2.0.0.tgz";
+        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
+      };
+    };
+    "camelcase-4.1.0" = {
+      name = "camelcase";
+      packageName = "camelcase";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-1.1.0.tgz";
-        sha1 = "2f0c1658829739add5ebb15e6b0c6e3423f016ba";
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
+        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
       };
     };
     "cli-boxes-1.0.0" = {
@@ -14058,13 +13716,13 @@ let
         sha1 = "4fa917c3e59c94a004cd61f8ee509da651687143";
       };
     };
-    "filled-array-1.1.0" = {
-      name = "filled-array";
-      packageName = "filled-array";
-      version = "1.1.0";
+    "term-size-1.2.0" = {
+      name = "term-size";
+      packageName = "term-size";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filled-array/-/filled-array-1.1.0.tgz";
-        sha1 = "c3c4f6c663b923459a9aa29912d2d031f1507f84";
+        url = "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz";
+        sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
       };
     };
     "widest-line-1.0.0" = {
@@ -14076,22 +13734,67 @@ let
         sha1 = "0c09c85c2a94683d0d7eaf8ee097d564bf0e105c";
       };
     };
-    "package-json-2.4.0" = {
+    "execa-0.7.0" = {
+      name = "execa";
+      packageName = "execa";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz";
+        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
+      };
+    };
+    "string-width-1.0.2" = {
+      name = "string-width";
+      packageName = "string-width";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz";
+        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
+      };
+    };
+    "unique-string-1.0.0" = {
+      name = "unique-string";
+      packageName = "unique-string";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz";
+        sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
+      };
+    };
+    "crypto-random-string-1.0.0" = {
+      name = "crypto-random-string";
+      packageName = "crypto-random-string";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz";
+        sha1 = "a230f64f568310e1498009940790ec99545bca7e";
+      };
+    };
+    "global-dirs-0.1.0" = {
+      name = "global-dirs";
+      packageName = "global-dirs";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.0.tgz";
+        sha1 = "10d34039e0df04272e262cf24224f7209434df4f";
+      };
+    };
+    "package-json-4.0.1" = {
       name = "package-json";
       packageName = "package-json";
-      version = "2.4.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/package-json/-/package-json-2.4.0.tgz";
-        sha1 = "0d15bd67d1cbbddbb2ca222ff2edb86bcb31a8bb";
+        url = "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz";
+        sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
       };
     };
-    "got-5.7.1" = {
+    "got-6.7.1" = {
       name = "got";
       packageName = "got";
-      version = "5.7.1";
+      version = "6.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-5.7.1.tgz";
-        sha1 = "5f81635a61e4a6589f180569ea4e381680a51f35";
+        url = "https://registry.npmjs.org/got/-/got-6.7.1.tgz";
+        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
       };
     };
     "registry-auth-token-3.3.1" = {
@@ -14112,31 +13815,13 @@ let
         sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
       };
     };
-    "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" = {
+    "unzip-response-2.0.1" = {
       name = "unzip-response";
       packageName = "unzip-response";
-      version = "1.0.2";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.2.tgz";
-        sha1 = "b984f0877fc0a89c2c773cc1ef7b5b232b5b06fe";
+        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz";
+        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
       };
     };
     "capture-stack-trace-1.0.0" = {
@@ -14148,15 +13833,6 @@ let
         sha1 = "4a6fa07399c26bba47f0b2496b4d0fb408c5550d";
       };
     };
-    "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";
@@ -14175,13 +13851,13 @@ let
         sha1 = "f702e63127e7e231c160a80c1554acb70d5047e5";
       };
     };
-    "os-locale-1.4.0" = {
+    "os-locale-2.1.0" = {
       name = "os-locale";
       packageName = "os-locale";
-      version = "1.4.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz";
-        sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
+        url = "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz";
+        sha512 = "0lafrp0i2ajapsnma0x74q7zscn97a56i5hh58a0nyig2igfx9fqn4ain9kvjrr06as5gzdrv2wdf52qc5m861fd0f4cv69ghdjbjyy";
       };
     };
     "require-directory-2.1.1" = {
@@ -14202,13 +13878,22 @@ let
         sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
       };
     };
-    "which-module-1.0.0" = {
+    "set-blocking-2.0.0" = {
+      name = "set-blocking";
+      packageName = "set-blocking";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
+        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+      };
+    };
+    "which-module-2.0.0" = {
       name = "which-module";
       packageName = "which-module";
-      version = "1.0.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/which-module/-/which-module-1.0.0.tgz";
-        sha1 = "bba63ca861948994ff307736089e3b96026c2a4f";
+        url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
+        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
       };
     };
     "y18n-3.2.1" = {
@@ -14220,13 +13905,13 @@ let
         sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
       };
     };
-    "yargs-parser-4.2.1" = {
+    "yargs-parser-8.0.0" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
-      version = "4.2.1";
+      version = "8.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-4.2.1.tgz";
-        sha1 = "29cceac0dc4f03c6c87b4a9f217dd18c9f74871c";
+        url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-8.0.0.tgz";
+        sha1 = "21d476330e5a82279a4b881345bf066102e219c6";
       };
     };
     "wrap-ansi-2.1.0" = {
@@ -14346,15 +14031,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.2.1" = {
       name = "useragent";
       packageName = "useragent";
@@ -15282,6 +14958,24 @@ let
         sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
       };
     };
+    "cmd-shim-2.0.2" = {
+      name = "cmd-shim";
+      packageName = "cmd-shim";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz";
+        sha1 = "6fcbda99483a8fd15d7d30a196ca69d688a2efdb";
+      };
+    };
+    "columnify-1.5.4" = {
+      name = "columnify";
+      packageName = "columnify";
+      version = "1.5.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz";
+        sha1 = "4737ddf1c7b69a8a7c340570782e947eec8e78bb";
+      };
+    };
     "command-join-2.0.0" = {
       name = "command-join";
       packageName = "command-join";
@@ -15291,22 +14985,22 @@ let
         sha1 = "52e8b984f4872d952ff1bdc8b98397d27c7144cf";
       };
     };
-    "conventional-changelog-cli-1.3.4" = {
+    "conventional-changelog-cli-1.3.5" = {
       name = "conventional-changelog-cli";
       packageName = "conventional-changelog-cli";
-      version = "1.3.4";
+      version = "1.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-1.3.4.tgz";
-        sha512 = "19sf25mfb7bg5c2dxm409isgy0l82khqviy1grzd48spdgbp2mfm01g4qm4qfwak05142k26mvhd0ds7iw2yynxwvmf4zsx9n5pbh3g";
+        url = "https://registry.npmjs.org/conventional-changelog-cli/-/conventional-changelog-cli-1.3.5.tgz";
+        sha1 = "46c51496216b7406588883defa6fac589e9bb31e";
       };
     };
-    "conventional-recommended-bump-1.0.2" = {
+    "conventional-recommended-bump-1.0.3" = {
       name = "conventional-recommended-bump";
       packageName = "conventional-recommended-bump";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-1.0.2.tgz";
-        sha512 = "1fnli57xfi29zij20i1ps8q1rdrh1awq5ca128gc87y604h8434y8sykhw8mx2lq5ncabmal7p8cld9gjph3x30lr5gky8wgfyh8blh";
+        url = "https://registry.npmjs.org/conventional-recommended-bump/-/conventional-recommended-bump-1.0.3.tgz";
+        sha1 = "472b69b1b8f09c5c4ed40fe28a41e63cc04bd736";
       };
     };
     "dedent-0.7.0" = {
@@ -15318,15 +15012,6 @@ let
         sha1 = "2495ddbaf6eb874abb0e1be9df22d2e5a544326c";
       };
     };
-    "execa-0.8.0" = {
-      name = "execa";
-      packageName = "execa";
-      version = "0.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.8.0.tgz";
-        sha1 = "d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da";
-      };
-    };
     "fs-extra-4.0.2" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -15381,6 +15066,15 @@ let
         sha1 = "7eb3735d983a7ed2262ade4ff769af5369c5c440";
       };
     };
+    "npmlog-4.1.2" = {
+      name = "npmlog";
+      packageName = "npmlog";
+      version = "4.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-4.1.2.tgz";
+        sha512 = "2967mavp7zw0aawf5fadqf4pmn7vy5gya1yx2s9wwppvivhd9q4mpdnszfqvd7p6yks649bwbpj8iviw86g0hpp4f93d5ca7dmjmrfs";
+      };
+    };
     "read-cmd-shim-1.0.1" = {
       name = "read-cmd-shim";
       packageName = "read-cmd-shim";
@@ -15453,13 +15147,13 @@ let
         sha1 = "6a7990437ca736d5e1288db92bd3266d5f5cb2aa";
       };
     };
-    "conventional-changelog-1.1.6" = {
+    "conventional-changelog-1.1.7" = {
       name = "conventional-changelog";
       packageName = "conventional-changelog";
-      version = "1.1.6";
+      version = "1.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.6.tgz";
-        sha512 = "2ffx29rhcisbh01fd2vqwpkgqc25im5g0zrna5lh0dawsc3rh6ckz8p629wvw24xk26z7h6kh08i73zwffn056d6bgmchaqn8013901";
+        url = "https://registry.npmjs.org/conventional-changelog/-/conventional-changelog-1.1.7.tgz";
+        sha1 = "9151a62b1d8edb2d82711dabf5b7cf71041f82b1";
       };
     };
     "tempfile-1.1.1" = {
@@ -15471,67 +15165,67 @@ let
         sha1 = "5bcc4eaecc4ab2c707d8bc11d99ccc9a2cb287f2";
       };
     };
-    "conventional-changelog-angular-1.5.1" = {
+    "conventional-changelog-angular-1.5.2" = {
       name = "conventional-changelog-angular";
       packageName = "conventional-changelog-angular";
-      version = "1.5.1";
+      version = "1.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.5.1.tgz";
-        sha512 = "14c5dfbhxpdrladq6cqml7q0ya3swqv2abyd0gjyhrjlbfqigg002p5pw2807sf5g8v5nl28p5qpzha1rvb35l3v28wr9w758zyfy02";
+        url = "https://registry.npmjs.org/conventional-changelog-angular/-/conventional-changelog-angular-1.5.2.tgz";
+        sha1 = "2b38f665fe9c5920af1a2f82f547f4babe6de57c";
       };
     };
-    "conventional-changelog-atom-0.1.1" = {
+    "conventional-changelog-atom-0.1.2" = {
       name = "conventional-changelog-atom";
       packageName = "conventional-changelog-atom";
-      version = "0.1.1";
+      version = "0.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.1.1.tgz";
-        sha512 = "0h2y3wj5pfwir1ynh6i7qibcv30z2vy6l6q11nh9z9vzl15433c00bvjy1iz9zirkb57g4xyilak59hdzfzinadxqi8h3r2wgznxng8";
+        url = "https://registry.npmjs.org/conventional-changelog-atom/-/conventional-changelog-atom-0.1.2.tgz";
+        sha1 = "12595ad5267a6937c34cf900281b1c65198a4c63";
       };
     };
-    "conventional-changelog-codemirror-0.2.0" = {
+    "conventional-changelog-codemirror-0.2.1" = {
       name = "conventional-changelog-codemirror";
       packageName = "conventional-changelog-codemirror";
-      version = "0.2.0";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.2.0.tgz";
-        sha512 = "3b5q7575vplhqxypaq7jzwkmn3pys0kln0gk9grr6il64c2swappb2vj4s5ly5w5whww5vnvg7qi7r9cbha8dwr8w7d0ab8qbvxhild";
+        url = "https://registry.npmjs.org/conventional-changelog-codemirror/-/conventional-changelog-codemirror-0.2.1.tgz";
+        sha1 = "299a4f7147baf350e6c8158fc54954a291c5cc09";
       };
     };
-    "conventional-changelog-core-1.9.2" = {
+    "conventional-changelog-core-1.9.3" = {
       name = "conventional-changelog-core";
       packageName = "conventional-changelog-core";
-      version = "1.9.2";
+      version = "1.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-1.9.2.tgz";
-        sha512 = "0pya0kpddr0dw5i6rv0dx1p3kwbxiwn3rlf80phv5blrsxw4s7mzq02m9d4iya8gbk27938y9pqyzika2nis6sg17jnlafsllcfixig";
+        url = "https://registry.npmjs.org/conventional-changelog-core/-/conventional-changelog-core-1.9.3.tgz";
+        sha1 = "2899fe779389a329f0ec4b2746c36ddefb98da2d";
       };
     };
-    "conventional-changelog-ember-0.2.8" = {
+    "conventional-changelog-ember-0.2.9" = {
       name = "conventional-changelog-ember";
       packageName = "conventional-changelog-ember";
-      version = "0.2.8";
+      version = "0.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.2.8.tgz";
-        sha512 = "0k0s4ry497xk0xgmviy70l51b7sdrq74qw55mffc2jhivfnb92b638whriapgkj2j75y5m8h726nck2hys6dl2svbv9kxyjiz922sxj";
+        url = "https://registry.npmjs.org/conventional-changelog-ember/-/conventional-changelog-ember-0.2.9.tgz";
+        sha1 = "8ec73cc054e3ab064667fb1feb52fe8ef1b16438";
       };
     };
-    "conventional-changelog-eslint-0.2.0" = {
+    "conventional-changelog-eslint-0.2.1" = {
       name = "conventional-changelog-eslint";
       packageName = "conventional-changelog-eslint";
-      version = "0.2.0";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-0.2.0.tgz";
-        sha512 = "148g8219ij95sjk72v8b4nwkd833nvx72xfyf2y1hdsn6hx0vmzsvi3zha3vcawng36i7s36vlg4rrl5bv0b4b83j0kwg668q5sfqjq";
+        url = "https://registry.npmjs.org/conventional-changelog-eslint/-/conventional-changelog-eslint-0.2.1.tgz";
+        sha1 = "2c2a11beb216f80649ba72834180293b687c0662";
       };
     };
-    "conventional-changelog-express-0.2.0" = {
+    "conventional-changelog-express-0.2.1" = {
       name = "conventional-changelog-express";
       packageName = "conventional-changelog-express";
-      version = "0.2.0";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.2.0.tgz";
-        sha512 = "2znlyzw006zmdhm1607ybfs9j0w5aiv6rggvl330yfjkr2asshfg4lx7fksnd8vq9s5s0igih953aq0ggwy9iw8i2sk18wznncq8d5s";
+        url = "https://registry.npmjs.org/conventional-changelog-express/-/conventional-changelog-express-0.2.1.tgz";
+        sha1 = "838d9e1e6c9099703b150b9c19aa2d781742bd6c";
       };
     };
     "conventional-changelog-jquery-0.1.0" = {
@@ -15552,13 +15246,13 @@ let
         sha1 = "0479eb443cc7d72c58bf0bcf0ef1d444a92f0e5c";
       };
     };
-    "conventional-changelog-jshint-0.2.0" = {
+    "conventional-changelog-jshint-0.2.1" = {
       name = "conventional-changelog-jshint";
       packageName = "conventional-changelog-jshint";
-      version = "0.2.0";
+      version = "0.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.2.0.tgz";
-        sha512 = "20xl3db9slzbzvbz6fdhlgkygssjlw42y8q2skq2ax1qx015z6vak2kyb1kygh2j914xm9l7qf40w946s3gjrdag6nmvs5d8xrzhhxr";
+        url = "https://registry.npmjs.org/conventional-changelog-jshint/-/conventional-changelog-jshint-0.2.1.tgz";
+        sha1 = "86139bb3ac99899f2b177e9617e09b37d99bcf3a";
       };
     };
     "compare-func-1.3.2" = {
@@ -15579,22 +15273,22 @@ let
         sha1 = "9e528762b4a9066ad163a6962a364418e9626ece";
       };
     };
-    "conventional-changelog-writer-2.0.1" = {
+    "conventional-changelog-writer-2.0.2" = {
       name = "conventional-changelog-writer";
       packageName = "conventional-changelog-writer";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-2.0.1.tgz";
-        sha512 = "0m9wq87p40hbc08y9hbdxmdl5559mbna5n5mc8nhsjcnq3cm0hd4pvgazlxsp41drfxxs67lxghk6qz5kq508hd5c758yhwkzpq52jz";
+        url = "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-2.0.2.tgz";
+        sha1 = "b5857ded1b001daf9a78b9cd40926f45c134949b";
       };
     };
-    "conventional-commits-parser-2.0.0" = {
+    "conventional-commits-parser-2.0.1" = {
       name = "conventional-commits-parser";
       packageName = "conventional-commits-parser";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.0.0.tgz";
-        sha512 = "0mh43bfdx21ll5dn629cyh7p65drm2zcrazqvi6kq0m17h0y27brzsf8shjpi4idj3h9sqqa1dnq47xdwa00y4saswih5iqmy1pm1zj";
+        url = "https://registry.npmjs.org/conventional-commits-parser/-/conventional-commits-parser-2.0.1.tgz";
+        sha1 = "1f15ce6b844f7ca41495c8190c0833c30b8b1693";
       };
     };
     "dateformat-1.0.12" = {
@@ -15615,13 +15309,13 @@ let
         sha1 = "c73b489c06d80cc5536c2c853f9e05232056972d";
       };
     };
-    "git-raw-commits-1.2.0" = {
+    "git-raw-commits-1.3.0" = {
       name = "git-raw-commits";
       packageName = "git-raw-commits";
-      version = "1.2.0";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.2.0.tgz";
-        sha1 = "0f3a8bfd99ae0f2d8b9224d58892975e9a52d03c";
+        url = "https://registry.npmjs.org/git-raw-commits/-/git-raw-commits-1.3.0.tgz";
+        sha1 = "0bc8596e90d5ffe736f7f5546bd2d12f73abaac6";
       };
     };
     "git-remote-origin-url-2.0.0" = {
@@ -15633,22 +15327,22 @@ let
         sha1 = "5282659dae2107145a11126112ad3216ec5fa65f";
       };
     };
-    "git-semver-tags-1.2.2" = {
+    "git-semver-tags-1.2.3" = {
       name = "git-semver-tags";
       packageName = "git-semver-tags";
-      version = "1.2.2";
+      version = "1.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.2.2.tgz";
-        sha512 = "2fmj7x594d4xc7jkpbya2bhn0ysjdpslbajip0jz2is360vp29wlf3ycs193g2gxl7cw5ykb62gm93z1ywbfl49x4k0y1fakji0s4ky";
+        url = "https://registry.npmjs.org/git-semver-tags/-/git-semver-tags-1.2.3.tgz";
+        sha1 = "188b453882bf9d7a23afd31baba537dab7388d5d";
       };
     };
-    "conventional-commits-filter-1.0.0" = {
+    "conventional-commits-filter-1.1.0" = {
       name = "conventional-commits-filter";
       packageName = "conventional-commits-filter";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.0.0.tgz";
-        sha1 = "6fc2a659372bc3f2339cf9ffff7e1b0344b93039";
+        url = "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-1.1.0.tgz";
+        sha1 = "1fc29af30b5edab76f54e229c411b0c663d0f9eb";
       };
     };
     "split-1.0.1" = {
@@ -15804,6 +15498,69 @@ let
         sha1 = "2334c18e9c759f7bdd56fdef7e9ae3d588e68ed3";
       };
     };
+    "are-we-there-yet-1.1.4" = {
+      name = "are-we-there-yet";
+      packageName = "are-we-there-yet";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.4.tgz";
+        sha1 = "bb5dca382bb94f05e15194373d16fd3ba1ca110d";
+      };
+    };
+    "console-control-strings-1.1.0" = {
+      name = "console-control-strings";
+      packageName = "console-control-strings";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz";
+        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+      };
+    };
+    "gauge-2.7.4" = {
+      name = "gauge";
+      packageName = "gauge";
+      version = "2.7.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gauge/-/gauge-2.7.4.tgz";
+        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+      };
+    };
+    "delegates-1.0.0" = {
+      name = "delegates";
+      packageName = "delegates";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
+        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+      };
+    };
+    "aproba-1.2.0" = {
+      name = "aproba";
+      packageName = "aproba";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz";
+        sha512 = "13mgnbmdhdq0qncijvpip1l39q1a8labcvj3hc3n1yl2zch106mdkn7p7bd5knvmfkkn1js9nd47nzyjk1himbm8ry8i8gd6mk7mlk3";
+      };
+    };
+    "has-unicode-2.0.1" = {
+      name = "has-unicode";
+      packageName = "has-unicode";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz";
+        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+      };
+    };
+    "wide-align-1.1.2" = {
+      name = "wide-align";
+      packageName = "wide-align";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.2.tgz";
+        sha512 = "39m5b8qc31vxhh0bz14vh9a1kf9znarvlpkf0v6vv1f2dxi61gihav2djq2mn7ns1z3yq6l8pyydj52fyzbm2q04rssrcrv4jbwnc4a";
+      };
+    };
     "load-json-file-2.0.0" = {
       name = "load-json-file";
       packageName = "load-json-file";
@@ -15867,24 +15624,6 @@ let
         sha1 = "658535584861ec97d730d6cf41822e1f56684128";
       };
     };
-    "camelcase-4.1.0" = {
-      name = "camelcase";
-      packageName = "camelcase";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-4.1.0.tgz";
-        sha1 = "d545635be1e33c542649c69173e5de6acfae34dd";
-      };
-    };
-    "os-locale-2.1.0" = {
-      name = "os-locale";
-      packageName = "os-locale";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-locale/-/os-locale-2.1.0.tgz";
-        sha512 = "0lafrp0i2ajapsnma0x74q7zscn97a56i5hh58a0nyig2igfx9fqn4ain9kvjrr06as5gzdrv2wdf52qc5m861fd0f4cv69ghdjbjyy";
-      };
-    };
     "read-pkg-up-2.0.0" = {
       name = "read-pkg-up";
       packageName = "read-pkg-up";
@@ -15894,15 +15633,6 @@ let
         sha1 = "6b72a8048984e0c41e79510fd5e9fa99b3b549be";
       };
     };
-    "which-module-2.0.0" = {
-      name = "which-module";
-      packageName = "which-module";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz";
-        sha1 = "d9ef07dce77b9902b8a3a8fa4b31c3e3f7e6e87a";
-      };
-    };
     "yargs-parser-7.0.0" = {
       name = "yargs-parser";
       packageName = "yargs-parser";
@@ -15912,15 +15642,6 @@ let
         sha1 = "8d0ac42f16ea55debd332caf4c4038b3e3f5dfd9";
       };
     };
-    "execa-0.7.0" = {
-      name = "execa";
-      packageName = "execa";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.7.0.tgz";
-        sha1 = "944becd34cc41ee32a63a9faf27ad5a65fc59777";
-      };
-    };
     "vinyl-1.2.0" = {
       name = "vinyl";
       packageName = "vinyl";
@@ -16038,6 +15759,15 @@ let
         sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
       };
     };
+    "json-stable-stringify-1.0.1" = {
+      name = "json-stable-stringify";
+      packageName = "json-stable-stringify";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
+        sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
+      };
+    };
     "markdown-it-8.4.0" = {
       name = "markdown-it";
       packageName = "markdown-it";
@@ -16146,13 +15876,13 @@ let
         sha1 = "0df29351f0721163515dfb9e5543e5f6eed5162f";
       };
     };
-    "engine.io-3.1.3" = {
+    "engine.io-3.1.4" = {
       name = "engine.io";
       packageName = "engine.io";
-      version = "3.1.3";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-3.1.3.tgz";
-        sha1 = "7aecf71bf8a310f9fa21461999c4fcc035f8a877";
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-3.1.4.tgz";
+        sha1 = "3d0211b70a552ce841ffc7da8627b301a9a4162e";
       };
     };
     "socket.io-adapter-1.1.1" = {
@@ -16218,13 +15948,13 @@ let
         sha1 = "a37d94ed9cda2d59865c9f76fe596ee1f338741e";
       };
     };
-    "engine.io-client-3.1.3" = {
+    "engine.io-client-3.1.4" = {
       name = "engine.io-client";
       packageName = "engine.io-client";
-      version = "3.1.3";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.3.tgz";
-        sha1 = "d705e48985dfe8b54a98c9f77052b8b08258be05";
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.1.4.tgz";
+        sha1 = "4fcf1370b47163bd2ce9be2733972430350d4ea1";
       };
     };
     "xmlhttprequest-ssl-1.5.4" = {
@@ -16560,13 +16290,22 @@ let
         sha1 = "6509f0126af4c178551cfa99394e032e13a4d56e";
       };
     };
-    "nijs-0.0.23" = {
+    "nijs-0.0.25" = {
       name = "nijs";
       packageName = "nijs";
-      version = "0.0.23";
+      version = "0.0.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nijs/-/nijs-0.0.23.tgz";
-        sha1 = "dbf8f4a0acafbe3b8d9b71c24cbd1d851de6c31a";
+        url = "https://registry.npmjs.org/nijs/-/nijs-0.0.25.tgz";
+        sha1 = "04b035cb530d46859d1018839a518c029133f676";
+      };
+    };
+    "retry-0.10.1" = {
+      name = "retry";
+      packageName = "retry";
+      version = "0.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz";
+        sha1 = "e76388d217992c252750241d3d3956fed98d8ff4";
       };
     };
     "ssri-4.1.6" = {
@@ -16587,33 +16326,6 @@ let
         sha1 = "5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e";
       };
     };
-    "minipass-2.2.1" = {
-      name = "minipass";
-      packageName = "minipass";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minipass/-/minipass-2.2.1.tgz";
-        sha512 = "3yy9s65iwrx5hndcqbxrks88xi9cf8hra6zalgf8xfr4ahpp31s0i8lv6jpyb42p0y7z55ac3390sbqxcgcvan3xls449agbjb98mmv";
-      };
-    };
-    "minizlib-1.0.4" = {
-      name = "minizlib";
-      packageName = "minizlib";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minizlib/-/minizlib-1.0.4.tgz";
-        sha512 = "1lxpa3mkdc94i0d7b2ivilcky0gnmnxv5csmigzacb5gl2cz7rz4ciikq1r5an1simk86f61whwzyi5d8gic85w55q19d09sbv19pmh";
-      };
-    };
-    "yallist-3.0.2" = {
-      name = "yallist";
-      packageName = "yallist";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz";
-        sha1 = "8452b4bb7e83c7c188d8041c1a837c773d6d8bb9";
-      };
-    };
     "fs-extra-0.6.4" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -16650,6 +16362,15 @@ let
         sha1 = "5502987dc8714be3392097f32e0071c9dee07cf6";
       };
     };
+    "semver-5.3.0" = {
+      name = "semver";
+      packageName = "semver";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/semver/-/semver-5.3.0.tgz";
+        sha1 = "9b2ce5d3de02d17c6012ad326aa6b4d0cf54f94f";
+      };
+    };
     "biased-opener-0.2.8" = {
       name = "biased-opener";
       packageName = "biased-opener";
@@ -16785,6 +16506,114 @@ let
         sha1 = "c636c6c1f50eed7c927af06c1dbffab53c7abe28";
       };
     };
+    "node-pre-gyp-0.6.39" = {
+      name = "node-pre-gyp";
+      packageName = "node-pre-gyp";
+      version = "0.6.39";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz";
+        sha512 = "2cwrivwc0ha272cly9r61bbb14kkl1s1hsmn53yr88b6pfjqj512nac6c5rphc6ak88v8gpl1f879qdd3v7386103zzr7miibpmbhis";
+      };
+    };
+    "request-2.81.0" = {
+      name = "request";
+      packageName = "request";
+      version = "2.81.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request/-/request-2.81.0.tgz";
+        sha1 = "c6928946a0e06c5f8d6f8a9333469ffda46298a0";
+      };
+    };
+    "detect-libc-1.0.2" = {
+      name = "detect-libc";
+      packageName = "detect-libc";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.2.tgz";
+        sha1 = "71ad5d204bf17a6a6ca8f450c61454066ef461e1";
+      };
+    };
+    "tar-pack-3.4.1" = {
+      name = "tar-pack";
+      packageName = "tar-pack";
+      version = "3.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-pack/-/tar-pack-3.4.1.tgz";
+        sha512 = "0mgk8jd55vr7i3i29r1skhxwwbqkqfz6mbr32r5nn8h6v5xns8d2rc7835y7wj0zmppckxai7nm8r4s65kkg6yhirnwx33yixn75x1w";
+      };
+    };
+    "har-validator-4.2.1" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "4.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-4.2.1.tgz";
+        sha1 = "33481d0f1bbff600dd203d75812a6a5fba002e2a";
+      };
+    };
+    "performance-now-0.2.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-0.2.0.tgz";
+        sha1 = "33ef30c5c77d4ea21c5a53869d91b56d8f2555e5";
+      };
+    };
+    "qs-6.4.0" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.4.0.tgz";
+        sha1 = "13e26d28ad6b0ffaa91312cd3bf708ed351e7233";
+      };
+    };
+    "ajv-4.11.8" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "4.11.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-4.11.8.tgz";
+        sha1 = "82ffb02b29e662ae53bdc20af15947706739c536";
+      };
+    };
+    "har-schema-1.0.5" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-1.0.5.tgz";
+        sha1 = "d263135f43307c02c602afc8fe95970c0151369e";
+      };
+    };
+    "fstream-ignore-1.0.5" = {
+      name = "fstream-ignore";
+      packageName = "fstream-ignore";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz";
+        sha1 = "9c31dae34767018fe1d249b24dada67d092da105";
+      };
+    };
+    "uid-number-0.0.6" = {
+      name = "uid-number";
+      packageName = "uid-number";
+      version = "0.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz";
+        sha1 = "0ea10e8035e8eb5b8e4449f06da1c730663baa81";
+      };
+    };
+    "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";
@@ -16848,15 +16677,6 @@ let
         sha1 = "ecca3a03e56b9af17385baac812ac83b994a962f";
       };
     };
-    "update-notifier-2.3.0" = {
-      name = "update-notifier";
-      packageName = "update-notifier";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/update-notifier/-/update-notifier-2.3.0.tgz";
-        sha1 = "4e8827a6bb915140ab093559d7014e3ebb837451";
-      };
-    };
     "nopt-1.0.10" = {
       name = "nopt";
       packageName = "nopt";
@@ -16866,132 +16686,6 @@ let
         sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
       };
     };
-    "boxen-1.2.2" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-1.2.2.tgz";
-        sha1 = "3f1d4032c30ffea9d4b02c322eaf2ea741dcbce5";
-      };
-    };
-    "configstore-3.1.1" = {
-      name = "configstore";
-      packageName = "configstore";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/configstore/-/configstore-3.1.1.tgz";
-        sha512 = "2zmidvkp20q25yv6a5d7k1daawdg0w6ppgayxzpwfhyvmgwybkkv7ni0j4b2j9c8wjn8z33zf5d4bjr8jywb5qixc75vypyy87n90z6";
-      };
-    };
-    "import-lazy-2.1.0" = {
-      name = "import-lazy";
-      packageName = "import-lazy";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-lazy/-/import-lazy-2.1.0.tgz";
-        sha1 = "05698e3d45c88e8d7e9d92cb0584e77f096f3e43";
-      };
-    };
-    "is-installed-globally-0.1.0" = {
-      name = "is-installed-globally";
-      packageName = "is-installed-globally";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-installed-globally/-/is-installed-globally-0.1.0.tgz";
-        sha1 = "0dfd98f5a9111716dd535dda6492f67bf3d25a80";
-      };
-    };
-    "latest-version-3.1.0" = {
-      name = "latest-version";
-      packageName = "latest-version";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/latest-version/-/latest-version-3.1.0.tgz";
-        sha1 = "a205383fea322b33b5ae3b18abee0dc2f356ee15";
-      };
-    };
-    "xdg-basedir-3.0.0" = {
-      name = "xdg-basedir";
-      packageName = "xdg-basedir";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-3.0.0.tgz";
-        sha1 = "496b2cc109eca8dbacfe2dc72b603c17c5870ad4";
-      };
-    };
-    "ansi-align-2.0.0" = {
-      name = "ansi-align";
-      packageName = "ansi-align";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-align/-/ansi-align-2.0.0.tgz";
-        sha1 = "c36aeccba563b89ceb556f3690f0b1d9e3547f7f";
-      };
-    };
-    "term-size-1.2.0" = {
-      name = "term-size";
-      packageName = "term-size";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/term-size/-/term-size-1.2.0.tgz";
-        sha1 = "458b83887f288fc56d6fffbfad262e26638efa69";
-      };
-    };
-    "unique-string-1.0.0" = {
-      name = "unique-string";
-      packageName = "unique-string";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-string/-/unique-string-1.0.0.tgz";
-        sha1 = "9e1057cca851abb93398f8b33ae187b99caec11a";
-      };
-    };
-    "crypto-random-string-1.0.0" = {
-      name = "crypto-random-string";
-      packageName = "crypto-random-string";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/crypto-random-string/-/crypto-random-string-1.0.0.tgz";
-        sha1 = "a230f64f568310e1498009940790ec99545bca7e";
-      };
-    };
-    "global-dirs-0.1.0" = {
-      name = "global-dirs";
-      packageName = "global-dirs";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.0.tgz";
-        sha1 = "10d34039e0df04272e262cf24224f7209434df4f";
-      };
-    };
-    "package-json-4.0.1" = {
-      name = "package-json";
-      packageName = "package-json";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/package-json/-/package-json-4.0.1.tgz";
-        sha1 = "8869a0401253661c4c4ca3da6c2121ed555f5eed";
-      };
-    };
-    "got-6.7.1" = {
-      name = "got";
-      packageName = "got";
-      version = "6.7.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-6.7.1.tgz";
-        sha1 = "240cd05785a9a18e561dc1b44b41c763ef1e8db0";
-      };
-    };
-    "unzip-response-2.0.1" = {
-      name = "unzip-response";
-      packageName = "unzip-response";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unzip-response/-/unzip-response-2.0.1.tgz";
-        sha1 = "d2f0f737d16b0615e72a6935ed04214572d56f97";
-      };
-    };
     "body-parser-1.17.2" = {
       name = "body-parser";
       packageName = "body-parser";
@@ -17064,15 +16758,6 @@ let
         sha512 = "2mxs6nll208xgqy9asgc0iq4k9ynd2aanig2qkfi3drd8axdafhhx36a58ssksmjgl6s1m2bh2j8igrlpm3k11cg58nhmqbxhlkmv2a";
       };
     };
-    "fs-extra-1.0.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-1.0.0.tgz";
-        sha1 = "cd3ce5f7e7cb6145883fcae3191e9877f8587950";
-      };
-    };
     "fs.notify-0.0.4" = {
       name = "fs.notify";
       packageName = "fs.notify";
@@ -17244,13 +16929,13 @@ let
         sha1 = "ba12c72b01b39e33f375ccbf4321b163425e8fb2";
       };
     };
-    "node-red-node-twitter-0.1.11" = {
+    "node-red-node-twitter-0.1.12" = {
       name = "node-red-node-twitter";
       packageName = "node-red-node-twitter";
-      version = "0.1.11";
+      version = "0.1.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-node-twitter/-/node-red-node-twitter-0.1.11.tgz";
-        sha1 = "52c074f42a32140132baea108d42cbcd0ef397d2";
+        url = "https://registry.npmjs.org/node-red-node-twitter/-/node-red-node-twitter-0.1.12.tgz";
+        sha512 = "3h9isciksl33ajjzn4s0dp8s8m3zkijqc7rbw4v8glrhz5y3npbv8501sffak943jyd4k3dqalizv9giwaxqfd1760pkhbzh816y6j4";
       };
     };
     "node-red-node-rbe-0.1.13" = {
@@ -18567,600 +18252,6 @@ let
         sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
       };
     };
-    "cacache-9.2.9" = {
-      name = "cacache";
-      packageName = "cacache";
-      version = "9.2.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacache/-/cacache-9.2.9.tgz";
-        sha512 = "11qjza6qy62lkvynngcvx7nf2vhxvvp4g0l07a8zw5pzqc5iy0zznxzgs0dw1bb2i10dr2v7i624x6v9pkzp55snam9wk5jjf7ka642";
-      };
-    };
-    "call-limit-1.1.0" = {
-      name = "call-limit";
-      packageName = "call-limit";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/call-limit/-/call-limit-1.1.0.tgz";
-        sha1 = "6fd61b03f3da42a2cd0ec2b60f02bd0e71991fea";
-      };
-    };
-    "cli-table2-0.2.0" = {
-      name = "cli-table2";
-      packageName = "cli-table2";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-table2/-/cli-table2-0.2.0.tgz";
-        sha1 = "2d1ef7f218a0e786e214540562d4bd177fe32d97";
-      };
-    };
-    "is-cidr-1.0.0" = {
-      name = "is-cidr";
-      packageName = "is-cidr";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-cidr/-/is-cidr-1.0.0.tgz";
-        sha1 = "fb5aacf659255310359da32cae03e40c6a1c2afc";
-      };
-    };
-    "lazy-property-1.0.0" = {
-      name = "lazy-property";
-      packageName = "lazy-property";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lazy-property/-/lazy-property-1.0.0.tgz";
-        sha1 = "84ddc4b370679ba8bd4cdcfa4c06b43d57111147";
-      };
-    };
-    "libnpx-9.6.0" = {
-      name = "libnpx";
-      packageName = "libnpx";
-      version = "9.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/libnpx/-/libnpx-9.6.0.tgz";
-        sha512 = "28v6bsd92dcqj92yr2bk9r29ajwbqx46fd46mriva2934nr7s6hhkxy6f7xbf4nd7p93fxsbpzfx0ghq0y788x1zj8gnh1iswgd89sz";
-      };
-    };
-    "lodash._baseuniq-4.6.0" = {
-      name = "lodash._baseuniq";
-      packageName = "lodash._baseuniq";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz";
-        sha1 = "0ebb44e456814af7905c6212fa2c9b2d51b841e8";
-      };
-    };
-    "lodash.clonedeep-4.5.0" = {
-      name = "lodash.clonedeep";
-      packageName = "lodash.clonedeep";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
-        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
-      };
-    };
-    "lodash.union-4.6.0" = {
-      name = "lodash.union";
-      packageName = "lodash.union";
-      version = "4.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.union/-/lodash.union-4.6.0.tgz";
-        sha1 = "48bb5088409f16f1821666641c44dd1aaae3cd88";
-      };
-    };
-    "lodash.uniq-4.5.0" = {
-      name = "lodash.uniq";
-      packageName = "lodash.uniq";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz";
-        sha1 = "d0225373aeb652adc1bc82e4945339a842754773";
-      };
-    };
-    "lodash.without-4.4.0" = {
-      name = "lodash.without";
-      packageName = "lodash.without";
-      version = "4.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.without/-/lodash.without-4.4.0.tgz";
-        sha1 = "3cd4574a00b67bae373a94b748772640507b7aac";
-      };
-    };
-    "meant-1.0.1" = {
-      name = "meant";
-      packageName = "meant";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/meant/-/meant-1.0.1.tgz";
-        sha512 = "2b6yi25bkxg4hd38w2cpfjy0xyka4iqiyzhsnkklx3nxwbgnzr4hfl07xxpflccjvnb03zvnssw0y9fspxdk2fmq3abd4fab0n1baai";
-      };
-    };
-    "mississippi-1.3.0" = {
-      name = "mississippi";
-      packageName = "mississippi";
-      version = "1.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mississippi/-/mississippi-1.3.0.tgz";
-        sha1 = "d201583eb12327e3c5c1642a404a9cacf94e34f5";
-      };
-    };
-    "move-concurrently-1.0.1" = {
-      name = "move-concurrently";
-      packageName = "move-concurrently";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz";
-        sha1 = "be2c005fda32e0b29af1f05d7c4b33214c701f92";
-      };
-    };
-    "npm-install-checks-3.0.0" = {
-      name = "npm-install-checks";
-      packageName = "npm-install-checks";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-3.0.0.tgz";
-        sha1 = "d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7";
-      };
-    };
-    "npm-lifecycle-1.0.3" = {
-      name = "npm-lifecycle";
-      packageName = "npm-lifecycle";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-lifecycle/-/npm-lifecycle-1.0.3.tgz";
-        sha512 = "0iapgirmdb46ia3apm6fsb9qv9c0hi4k9jflrxlgnrm0jhliqgas49lmpz06xafncx1sxgjngl0fw3gr472c7kapzdvpivf0fp5miqa";
-      };
-    };
-    "npm-packlist-1.1.10" = {
-      name = "npm-packlist";
-      packageName = "npm-packlist";
-      version = "1.1.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.1.10.tgz";
-        sha512 = "1c5z9bibdf07na26xffshagxk8gfnsbaav802dkvbrlgj4mixz4giji96yb1zs7p9yl9n28mlkhjp9jklq55j27c0i837vk507v8001";
-      };
-    };
-    "npm-profile-2.0.5" = {
-      name = "npm-profile";
-      packageName = "npm-profile";
-      version = "2.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-profile/-/npm-profile-2.0.5.tgz";
-        sha512 = "2325avpmbzxl4vi1hxnxv96rw9j0y712ym3mph3hrsvgq4p8d0yh44vnja22plnw9vplskcx661j2spzqka65zsszzngvwm806skfdl";
-      };
-    };
-    "npm-registry-client-8.5.0" = {
-      name = "npm-registry-client";
-      packageName = "npm-registry-client";
-      version = "8.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-8.5.0.tgz";
-        sha512 = "1nwp5cfjmy4k14g6ziz7zpia8f66ximhrdhw49cj2w173bibq1sgc4d5w951ql5dqf0hcmia956ld9y7qs2q1fx6s2j446zhvdk0irn";
-      };
-    };
-    "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" = {
-      name = "opener";
-      packageName = "opener";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/opener/-/opener-1.4.3.tgz";
-        sha1 = "5c6da2c5d7e5831e8ffa3964950f8d6674ac90b8";
-      };
-    };
-    "pacote-6.0.4" = {
-      name = "pacote";
-      packageName = "pacote";
-      version = "6.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-6.0.4.tgz";
-        sha512 = "36bx0mnsvm3fvq0vbcl05j6fsjf4v4gks1hlxqyga0jxz491cis9y38j8q9cmmfdfbx9xaz3n3h93h0ik4bkn82rb3nz2413wk7xfxi";
-      };
-    };
-    "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";
-      };
-    };
-    "qrcode-terminal-0.11.0" = {
-      name = "qrcode-terminal";
-      packageName = "qrcode-terminal";
-      version = "0.11.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qrcode-terminal/-/qrcode-terminal-0.11.0.tgz";
-        sha1 = "ffc6c28a2fc0bfb47052b47e23f4f446a5fbdb9e";
-      };
-    };
-    "query-string-5.0.1" = {
-      name = "query-string";
-      packageName = "query-string";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/query-string/-/query-string-5.0.1.tgz";
-        sha512 = "0lcnspv96dv03600bgjxk2ypak8mysp77n47jkddpz6ldcgscwyan1akqjrddii4abb2brz6gr6yq9pcbdx63m9i16kk8m5028qrkv8";
-      };
-    };
-    "qw-1.0.1" = {
-      name = "qw";
-      packageName = "qw";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qw/-/qw-1.0.1.tgz";
-        sha1 = "efbfdc740f9ad054304426acb183412cc8b996d4";
-      };
-    };
-    "read-package-tree-5.1.6" = {
-      name = "read-package-tree";
-      packageName = "read-package-tree";
-      version = "5.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.6.tgz";
-        sha512 = "0v1k32zqj8bnqzyp5h0jxnkvpgpzpa6z7iyqbpm3p0ylqafbb2zm656mw6gs16zf98l7y218ygpx2kzks00qcycwwx2cny67mlza98l";
-      };
-    };
-    "sorted-union-stream-2.1.3" = {
-      name = "sorted-union-stream";
-      packageName = "sorted-union-stream";
-      version = "2.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sorted-union-stream/-/sorted-union-stream-2.1.3.tgz";
-        sha1 = "c7794c7e077880052ff71a8d4a2dbb4a9a638ac7";
-      };
-    };
-    "tar-4.0.2" = {
-      name = "tar";
-      packageName = "tar";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tar/-/tar-4.0.2.tgz";
-        sha512 = "1mm9s6jly4lwfv9cak7kpiagqx3j6n1dh50k7nlnqy761ckfvn394asfgq1vdnxpjr164h5ybgcfysr8wgm70bwd0y3qnq4w3i8smg2";
-      };
-    };
-    "unique-filename-1.1.0" = {
-      name = "unique-filename";
-      packageName = "unique-filename";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz";
-        sha1 = "d05f2fe4032560871f30e93cbe735eea201514f3";
-      };
-    };
-    "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";
-      };
-    };
-    "worker-farm-1.5.1" = {
-      name = "worker-farm";
-      packageName = "worker-farm";
-      version = "1.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/worker-farm/-/worker-farm-1.5.1.tgz";
-        sha512 = "0vwa4w6rn98nh8igcx2sni6hccs5wfwhh68zxzzgffimr7gmy5nw1ks0j2n0gra7g2ahsl7p7l34mcn8702n01y30qc6xxcdbllg4sg";
-      };
-    };
-    "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";
-        sha512 = "0jpbx5znf640m7icywa21hdgyss5h6c811z27mzk7mh1yhv8sqcqd2y0cwgkrnigx57k2chv5cqwv0z8ff8z32gpdw8jw5imz8pcdni";
-      };
-    };
-    "lodash._baseindexof-3.1.0" = {
-      name = "lodash._baseindexof";
-      packageName = "lodash._baseindexof";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz";
-        sha1 = "fe52b53a1c6761e42618d654e4a25789ed61822c";
-      };
-    };
-    "lodash._cacheindexof-3.0.2" = {
-      name = "lodash._cacheindexof";
-      packageName = "lodash._cacheindexof";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz";
-        sha1 = "3dc69ac82498d2ee5e3ce56091bafd2adc7bde92";
-      };
-    };
-    "lodash._createcache-3.1.2" = {
-      name = "lodash._createcache";
-      packageName = "lodash._createcache";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz";
-        sha1 = "56d6a064017625e79ebca6b8018e17440bdcf093";
-      };
-    };
-    "cidr-regex-1.0.6" = {
-      name = "cidr-regex";
-      packageName = "cidr-regex";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cidr-regex/-/cidr-regex-1.0.6.tgz";
-        sha1 = "74abfd619df370b9d54ab14475568e97dd64c0c1";
-      };
-    };
-    "dotenv-4.0.0" = {
-      name = "dotenv";
-      packageName = "dotenv";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dotenv/-/dotenv-4.0.0.tgz";
-        sha1 = "864ef1379aced55ce6f95debecdce179f7a0cd1d";
-      };
-    };
-    "lodash._createset-4.0.3" = {
-      name = "lodash._createset";
-      packageName = "lodash._createset";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz";
-        sha1 = "0f4659fbb09d75194fa9e2b88a6644d363c9fe26";
-      };
-    };
-    "flush-write-stream-1.0.2" = {
-      name = "flush-write-stream";
-      packageName = "flush-write-stream";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.0.2.tgz";
-        sha1 = "c81b90d8746766f1a609a46809946c45dd8ae417";
-      };
-    };
-    "from2-2.3.0" = {
-      name = "from2";
-      packageName = "from2";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz";
-        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
-      };
-    };
-    "parallel-transform-1.1.0" = {
-      name = "parallel-transform";
-      packageName = "parallel-transform";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.1.0.tgz";
-        sha1 = "d410f065b05da23081fcd10f28854c29bda33b06";
-      };
-    };
-    "stream-each-1.2.2" = {
-      name = "stream-each";
-      packageName = "stream-each";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-each/-/stream-each-1.2.2.tgz";
-        sha512 = "2h4ymczmf5aqldga4sj8acqlzc3almazi2vwiv7kx63k28sz1wwkqgzzv1hn47jf49k1x94w25fmmi001h5mj3n6g9in1s6b1n5vkcr";
-      };
-    };
-    "cyclist-0.2.2" = {
-      name = "cyclist";
-      packageName = "cyclist";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cyclist/-/cyclist-0.2.2.tgz";
-        sha1 = "1b33792e11e914a2fd6d6ed6447464444e5fa640";
-      };
-    };
-    "copy-concurrently-1.0.5" = {
-      name = "copy-concurrently";
-      packageName = "copy-concurrently";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz";
-        sha512 = "3c1ggiqqnjgqlwdnimx94gm176c8rjsrih5qw2lbm642l8x7grx07v065k4j89c1p0adkm7v6sz11drb6j6sp51np2m1cazvycnhrvz";
-      };
-    };
-    "run-queue-1.0.3" = {
-      name = "run-queue";
-      packageName = "run-queue";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz";
-        sha1 = "e848396f057d223f24386924618e25694161ec47";
-      };
-    };
-    "ignore-walk-3.0.1" = {
-      name = "ignore-walk";
-      packageName = "ignore-walk";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.1.tgz";
-        sha512 = "2ajgs5klg786rkdxs37mbxn0p8ah2ai0nj0bjv5vbrfir4y0pvrhxxadv46s8g1hqkq5p3fjssys3n6qvz60p4jzjsgfq683lrnad8d";
-      };
-    };
-    "npm-bundled-1.0.3" = {
-      name = "npm-bundled";
-      packageName = "npm-bundled";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.0.3.tgz";
-        sha512 = "0xk8ky1cjf8q2wkbgfzplpn04sm9xnl6i71dwnc29rfh8m2glan5nd6l4k3q7ikci7xpwfpcmyy3frr873zndjmhbr344grkyh3f907";
-      };
-    };
-    "make-fetch-happen-2.5.0" = {
-      name = "make-fetch-happen";
-      packageName = "make-fetch-happen";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-2.5.0.tgz";
-        sha512 = "1s6fqfsr7ksyfp0mwzlcf9rwpg74y29p67jkc8h89zy915rjsy5f85ik1659gd0y48z7lbnf3mg9c27drk74qycj446rlykim3zkw14";
-      };
-    };
-    "agentkeepalive-3.3.0" = {
-      name = "agentkeepalive";
-      packageName = "agentkeepalive";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.3.0.tgz";
-        sha512 = "0svpj8gbh57a1l3zcds9kd8dkh4r2fyacpkrxvffbpj5pgvbf26h93q31niqbqsciswdxlx0fhikljqwg40lvmwxl299nb2gfjmqa7p";
-      };
-    };
-    "http-cache-semantics-3.8.0" = {
-      name = "http-cache-semantics";
-      packageName = "http-cache-semantics";
-      version = "3.8.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.0.tgz";
-        sha512 = "258k0vff4wrszl7vnpv4c67zc5qk0mnl8banhp8znianmahxv1y55lpz0877jicsw1k0y8g0glz4my71dd9y3ywzpingfvb2xy0ar0w";
-      };
-    };
-    "http-proxy-agent-2.0.0" = {
-      name = "http-proxy-agent";
-      packageName = "http-proxy-agent";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.0.0.tgz";
-        sha1 = "46482a2f0523a4d6082551709f469cb3e4a85ff4";
-      };
-    };
-    "node-fetch-npm-2.0.2" = {
-      name = "node-fetch-npm";
-      packageName = "node-fetch-npm";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.2.tgz";
-        sha512 = "0bw6m444q0jc2gmw1yb0im1jv6vhky6d071p72c26ajvf2a7710jq8cp5ampf8j7kdbki7j0mbsi15dh93vrhkpvqpkw0i6ajdk34lw";
-      };
-    };
-    "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";
-      };
-    };
-    "socks-proxy-agent-3.0.1" = {
-      name = "socks-proxy-agent";
-      packageName = "socks-proxy-agent";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-3.0.1.tgz";
-        sha512 = "2a5lsw4fry6nqk3jdxvwqrnpasypvl8c4d0kg32912820lc72l7s9jzidfsrn2an9c66xqicspxb2vnir5cjspprs9qklxnd75060b7";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "npm-pick-manifest-1.0.4" = {
-      name = "npm-pick-manifest";
-      packageName = "npm-pick-manifest";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-1.0.4.tgz";
-        sha512 = "02pmkjkn2nbr1ypwzwybyd6bfckdwr8cr0nah5bwadz21yd7cd9fbvxqalfdc41n88p1zv8qbgp149knkaixnrl8l7jnrwfxislvb1h";
-      };
-    };
-    "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";
-      };
-    };
-    "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";
-      };
-    };
-    "decode-uri-component-0.2.0" = {
-      name = "decode-uri-component";
-      packageName = "decode-uri-component";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz";
-        sha1 = "eb3913333458775cb84cd1a1fae062106bb87545";
-      };
-    };
-    "strict-uri-encode-1.1.0" = {
-      name = "strict-uri-encode";
-      packageName = "strict-uri-encode";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz";
-        sha1 = "279b225df1d582b1f54e65addd4352e18faa0713";
-      };
-    };
-    "stream-iterate-1.2.0" = {
-      name = "stream-iterate";
-      packageName = "stream-iterate";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stream-iterate/-/stream-iterate-1.2.0.tgz";
-        sha1 = "2bd7c77296c1702a46488b8ad41f79865eecd4e1";
-      };
-    };
-    "unique-slug-2.0.0" = {
-      name = "unique-slug";
-      packageName = "unique-slug";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz";
-        sha1 = "db6676e7c7cc0629878ff196097c78855ae9f4ab";
-      };
-    };
     "argparse-0.1.15" = {
       name = "argparse";
       packageName = "argparse";
@@ -19377,13 +18468,13 @@ let
         sha1 = "27d92fec34d27cfa42707d3b40d025ae9855f2df";
       };
     };
-    "snyk-1.47.0" = {
+    "snyk-1.49.2" = {
       name = "snyk";
       packageName = "snyk";
-      version = "1.47.0";
+      version = "1.49.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk/-/snyk-1.47.0.tgz";
-        sha1 = "2c86a734a842fdfc18b97df682a91d419fec70f3";
+        url = "https://registry.npmjs.org/snyk/-/snyk-1.49.2.tgz";
+        sha1 = "331bbf072599cb9ececf8d061e3177c9118158a6";
       };
     };
     "spawn-please-0.3.0" = {
@@ -19395,141 +18486,6 @@ let
         sha1 = "db338ec4cff63abc69f1d0e08cee9eb8bebd9d11";
       };
     };
-    "aproba-1.0.4" = {
-      name = "aproba";
-      packageName = "aproba";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-1.0.4.tgz";
-        sha1 = "2713680775e7614c8ba186c065d4e2e52d1072c0";
-      };
-    };
-    "fstream-npm-1.2.1" = {
-      name = "fstream-npm";
-      packageName = "fstream-npm";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.2.1.tgz";
-        sha512 = "07r7qvmx5fjjk2ra3hjrz31ciy4vhfq2k8a3wjscjl7y52885zwfvz4caa5xr3kab8l3y4c9rsz1nkpjl530irrs6q5l3z6yadyj4c8";
-      };
-    };
-    "node-gyp-3.4.0" = {
-      name = "node-gyp";
-      packageName = "node-gyp";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.4.0.tgz";
-        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";
-      version = "2.75.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/request/-/request-2.75.0.tgz";
-        sha1 = "d2b8268a286da13eaa5d01adf5d18cc90f657d93";
-      };
-    };
-    "write-file-atomic-1.2.0" = {
-      name = "write-file-atomic";
-      packageName = "write-file-atomic";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.2.0.tgz";
-        sha1 = "14c66d4e4cb3ca0565c28cf3b7a6f3e4d5938fab";
-      };
-    };
-    "npmlog-3.1.2" = {
-      name = "npmlog";
-      packageName = "npmlog";
-      version = "3.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-3.1.2.tgz";
-        sha1 = "2d46fa874337af9498a2f12bb43d8d0be4a36873";
-      };
-    };
-    "path-array-1.0.1" = {
-      name = "path-array";
-      packageName = "path-array";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz";
-        sha1 = "7e2f0f35f07a2015122b868b7eac0eb2c4fec271";
-      };
-    };
-    "gauge-2.6.0" = {
-      name = "gauge";
-      packageName = "gauge";
-      version = "2.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-2.6.0.tgz";
-        sha1 = "d35301ad18e96902b4751dcbbe40f4218b942a46";
-      };
-    };
-    "array-index-1.0.0" = {
-      name = "array-index";
-      packageName = "array-index";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz";
-        sha1 = "ec56a749ee103e4e08c790b9c353df16055b97f9";
-      };
-    };
-    "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";
-      };
-    };
-    "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.35" = {
-      name = "es5-ext";
-      packageName = "es5-ext";
-      version = "0.10.35";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz";
-        sha1 = "18ee858ce6a3c45c7d79e91c15fcca9ec568494f";
-      };
-    };
-    "es6-iterator-2.0.3" = {
-      name = "es6-iterator";
-      packageName = "es6-iterator";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
-        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
-      };
-    };
-    "form-data-2.0.0" = {
-      name = "form-data";
-      packageName = "form-data";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/form-data/-/form-data-2.0.0.tgz";
-        sha1 = "6f0aebadcc5da16c13e1ecc11137d85f9b883b25";
-      };
-    };
     "hasbin-1.2.3" = {
       name = "hasbin";
       packageName = "hasbin";
@@ -19602,13 +18558,13 @@ let
         sha512 = "3ar9rk77y39sydnriw6k9p5s15qpv1in81365l0yjbvn6qis7v4na98xfibsmfnnkjyblnd5qs2q1j6fabdfx4g2x5yi7ld6hdm6r3r";
       };
     };
-    "snyk-nuget-plugin-1.0.0" = {
+    "snyk-nuget-plugin-1.2.0" = {
       name = "snyk-nuget-plugin";
       packageName = "snyk-nuget-plugin";
-      version = "1.0.0";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.0.0.tgz";
-        sha512 = "0kqpbx8ic08dxrlg4mw6xv4ka0bi7f20h53i77rfs0v7j2cnihaij945b78rn6q464simc3amr66jv7svfwyyimj10qcvzhbb02ghvj";
+        url = "https://registry.npmjs.org/snyk-nuget-plugin/-/snyk-nuget-plugin-1.2.0.tgz";
+        sha512 = "1n2w2izk863wslmjkbyj90cgrksxiz9ggxz6m664xz77f7bz265jzs3bzy54a5r3f0p84hk0lykbkaaydvkhqawijpdwhww6jmzp2d6";
       };
     };
     "snyk-policy-1.7.1" = {
@@ -19827,6 +18783,15 @@ let
         sha1 = "d17aea72ff2fba39b9e43601be7b3ff72e089852";
       };
     };
+    "lodash.clonedeep-4.5.0" = {
+      name = "lodash.clonedeep";
+      packageName = "lodash.clonedeep";
+      version = "4.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
+        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
+      };
+    };
     "minimatch-3.0.2" = {
       name = "minimatch";
       packageName = "minimatch";
@@ -19836,6 +18801,15 @@ let
         sha1 = "0f398a7300ea441e9c348c83d98ab8c9dbf9c40a";
       };
     };
+    "ansicolors-0.3.2" = {
+      name = "ansicolors";
+      packageName = "ansicolors";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
+        sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
+      };
+    };
     "clite-0.3.0" = {
       name = "clite";
       packageName = "clite";
@@ -19890,6 +18864,69 @@ 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";
+      };
+    };
     "lodash.assign-4.2.0" = {
       name = "lodash.assign";
       packageName = "lodash.assign";
@@ -19899,6 +18936,15 @@ let
         sha1 = "0d99f3ccd7a6d261d19bdaeb9245005d285808e7";
       };
     };
+    "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";
@@ -19917,22 +18963,31 @@ let
         sha1 = "85568de3cf150ff49fa51825f03a8c880ddcc5c4";
       };
     };
-    "lokijs-1.5.0" = {
+    "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";
+      };
+    };
+    "lokijs-1.5.1" = {
       name = "lokijs";
       packageName = "lokijs";
-      version = "1.5.0";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lokijs/-/lokijs-1.5.0.tgz";
-        sha1 = "99e403d6a89e47e11ed0c5d499fb55a0603d5efc";
+        url = "https://registry.npmjs.org/lokijs/-/lokijs-1.5.1.tgz";
+        sha512 = "1pi08ry0a4zvg7mqj14gl0vacka95k77bbvljmcf25whxxbkh2rprsxpd8pv6frqh4ix6vslk44silx83sk65xhaw7ia2zssf0vngiy";
       };
     };
-    "vscode-languageclient-3.4.5" = {
+    "vscode-languageclient-3.5.0" = {
       name = "vscode-languageclient";
       packageName = "vscode-languageclient";
-      version = "3.4.5";
+      version = "3.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.4.5.tgz";
-        sha1 = "6230072ab0772085d09b48f99b79e7c421ddfbb7";
+        url = "https://registry.npmjs.org/vscode-languageclient/-/vscode-languageclient-3.5.0.tgz";
+        sha1 = "36d02cc186a8365a4467719a290fb200a9ae490a";
       };
     };
     "babybird-0.0.1" = {
@@ -19990,13 +19045,13 @@ let
         sha1 = "80a070bb819b09e4af2ca6d0780f75ce05e75c2f";
       };
     };
-    "mediawiki-title-0.6.4" = {
+    "mediawiki-title-0.6.5" = {
       name = "mediawiki-title";
       packageName = "mediawiki-title";
-      version = "0.6.4";
+      version = "0.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mediawiki-title/-/mediawiki-title-0.6.4.tgz";
-        sha1 = "b453ded9e0d9d7c97b7914f3100dbe68840c6e03";
+        url = "https://registry.npmjs.org/mediawiki-title/-/mediawiki-title-0.6.5.tgz";
+        sha512 = "3r94k4jgdj5ir5y2p0hvb860976fz2fnzjafjzmsf0pivsqgy0hgxsxg315zmzq69rv0lli8rfjwcjp097xya03aaa4s7xjppi0ixvw";
       };
     };
     "negotiator-git+https://github.com/arlolra/negotiator.git#full-parse-access" = {
@@ -20028,13 +19083,13 @@ let
         sha1 = "78717d9b718ce7cab55e20b9f24388d5fa51d5c0";
       };
     };
-    "service-runner-2.3.0" = {
+    "service-runner-2.4.2" = {
       name = "service-runner";
       packageName = "service-runner";
-      version = "2.3.0";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.3.0.tgz";
-        sha1 = "09039dfdcc40cdbd0259dd3f982916675838cb59";
+        url = "https://registry.npmjs.org/service-runner/-/service-runner-2.4.2.tgz";
+        sha1 = "dc2ca5dd29061296ed79139eba08c80918e00d94";
       };
     };
     "simplediff-0.1.1" = {
@@ -20109,13 +19164,13 @@ let
         sha1 = "9cea9b6386ac301c741838ca3cb91e66dbfbf669";
       };
     };
-    "hot-shots-4.7.1" = {
+    "hot-shots-4.8.0" = {
       name = "hot-shots";
       packageName = "hot-shots";
-      version = "4.7.1";
+      version = "4.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/hot-shots/-/hot-shots-4.7.1.tgz";
-        sha1 = "35cb2d3691c66cd18a0fcdffcc9e5b21194275b0";
+        url = "https://registry.npmjs.org/hot-shots/-/hot-shots-4.8.0.tgz";
+        sha1 = "052be48430efc7d117ba7cc4d41f1833ba38c79f";
       };
     };
     "limitation-0.2.0" = {
@@ -20578,6 +19633,15 @@ let
         sha1 = "ec9f820356ed99ef6d357f0756d648717bdd4281";
       };
     };
+    "ws-1.1.4" = {
+      name = "ws";
+      packageName = "ws";
+      version = "1.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-1.1.4.tgz";
+        sha1 = "57f40d036832e5f5055662a397c4de76ed66bf61";
+      };
+    };
     "engine.io-client-1.8.4" = {
       name = "engine.io-client";
       packageName = "engine.io-client";
@@ -20596,24 +19660,6 @@ let
         sha1 = "92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4";
       };
     };
-    "hasha-2.2.0" = {
-      name = "hasha";
-      packageName = "hasha";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz";
-        sha1 = "78d7cbfc1e6d66303fe79837365984517b2f6ee1";
-      };
-    };
-    "kew-0.7.0" = {
-      name = "kew";
-      packageName = "kew";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz";
-        sha1 = "79d93d2d33363d6fdd2970b335d9141ad591d79b";
-      };
-    };
     "request-2.67.0" = {
       name = "request";
       packageName = "request";
@@ -20623,13 +19669,13 @@ let
         sha1 = "8af74780e2bf11ea0ae9aa965c11f11afd272742";
       };
     };
-    "request-progress-2.0.1" = {
-      name = "request-progress";
-      packageName = "request-progress";
-      version = "2.0.1";
+    "which-1.2.14" = {
+      name = "which";
+      packageName = "which";
+      version = "1.2.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz";
-        sha1 = "5d36bb57961c673aa5b788dbc8141fdf23b44e08";
+        url = "https://registry.npmjs.org/which/-/which-1.2.14.tgz";
+        sha1 = "9a87c4378f03e827cecaf1acdf56c736c01c14e5";
       };
     };
     "concat-stream-1.5.0" = {
@@ -20668,15 +19714,6 @@ let
         sha1 = "c83a1830f4e5ef0b93ef2a3488e724f8de016ac7";
       };
     };
-    "throttleit-1.0.0" = {
-      name = "throttleit";
-      packageName = "throttleit";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz";
-        sha1 = "9e785836daf46743145a5984b6268d828528ac6c";
-      };
-    };
     "browserify-13.3.0" = {
       name = "browserify";
       packageName = "browserify";
@@ -20758,6 +19795,393 @@ let
         sha1 = "96247e853f068fd6e0d45cc73f0bb2cd9778ef02";
       };
     };
+    "less-2.7.3" = {
+      name = "less";
+      packageName = "less";
+      version = "2.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/less/-/less-2.7.3.tgz";
+        sha512 = "04jbm6adzhknlcwjjdd94n8dhqwgsg0fyampis9854jf23z9g9lxs8593908ymwldl88bjipf9b9rw6xfibb29vv7s0c44wllj4ixr8";
+      };
+    };
+    "less-middleware-2.2.1" = {
+      name = "less-middleware";
+      packageName = "less-middleware";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/less-middleware/-/less-middleware-2.2.1.tgz";
+        sha512 = "059c8rz6wkzc3fwd62a6f3lfw3h9sxj2fr0jjyr1i9kwfvk3737xyzndyshklllx5gnfri9z2g9a28c2ccnd6ka6adn6i7h4z5frw6m";
+      };
+    };
+    "libquassel-2.1.9" = {
+      name = "libquassel";
+      packageName = "libquassel";
+      version = "2.1.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/libquassel/-/libquassel-2.1.9.tgz";
+        sha1 = "e80ad2ef5c081ac677f66515d107537fdc0f5c64";
+      };
+    };
+    "net-browserify-alt-1.1.0" = {
+      name = "net-browserify-alt";
+      packageName = "net-browserify-alt";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/net-browserify-alt/-/net-browserify-alt-1.1.0.tgz";
+        sha1 = "02c9ecac88437be23f5948b208a1e65d8d138a73";
+      };
+    };
+    "pug-2.0.0-rc.4" = {
+      name = "pug";
+      packageName = "pug";
+      version = "2.0.0-rc.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug/-/pug-2.0.0-rc.4.tgz";
+        sha512 = "1fbygi6jg8awam3agrc63yjlgxk8vfpnym1ql4dikclikp3kdrxfpfgdywadidzzic33b9fdqnwqy6ag82m4x6kmgl644zsz2ig3gj8";
+      };
+    };
+    "httpolyglot-0.1.2" = {
+      name = "httpolyglot";
+      packageName = "httpolyglot";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/httpolyglot/-/httpolyglot-0.1.2.tgz";
+        sha1 = "e4d347fe8984a62f467d4060df527f1851f6997b";
+      };
+    };
+    "image-size-0.5.5" = {
+      name = "image-size";
+      packageName = "image-size";
+      version = "0.5.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz";
+        sha1 = "09dfd4ab9d20e29eb1c3e80b8990378df9e3cb9c";
+      };
+    };
+    "node.extend-2.0.0" = {
+      name = "node.extend";
+      packageName = "node.extend";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node.extend/-/node.extend-2.0.0.tgz";
+        sha1 = "7525a2875677ea534784a5e10ac78956139614df";
+      };
+    };
+    "is-3.2.1" = {
+      name = "is";
+      packageName = "is";
+      version = "3.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is/-/is-3.2.1.tgz";
+        sha1 = "d0ac2ad55eb7b0bec926a5266f6c662aaa83dca5";
+      };
+    };
+    "eventemitter2-3.0.2" = {
+      name = "eventemitter2";
+      packageName = "eventemitter2";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/eventemitter2/-/eventemitter2-3.0.2.tgz";
+        sha1 = "81c0edb739ffa64fb9f21bbcb1d2b419a5133512";
+      };
+    };
+    "qtdatastream-0.7.1" = {
+      name = "qtdatastream";
+      packageName = "qtdatastream";
+      version = "0.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qtdatastream/-/qtdatastream-0.7.1.tgz";
+        sha1 = "8085d390b4c19f7b02dee8a7cd873e2af58667b5";
+      };
+    };
+    "int64-buffer-0.1.9" = {
+      name = "int64-buffer";
+      packageName = "int64-buffer";
+      version = "0.1.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/int64-buffer/-/int64-buffer-0.1.9.tgz";
+        sha1 = "9e039da043b24f78b196b283e04653ef5e990f61";
+      };
+    };
+    "bufferutil-2.0.1" = {
+      name = "bufferutil";
+      packageName = "bufferutil";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bufferutil/-/bufferutil-2.0.1.tgz";
+        sha1 = "8de37f5a300730c305fc3edd9f93348ee8a46288";
+      };
+    };
+    "nan-2.5.1" = {
+      name = "nan";
+      packageName = "nan";
+      version = "2.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-2.5.1.tgz";
+        sha1 = "d5b01691253326a97a2bbee9e61c55d8d60351e2";
+      };
+    };
+    "prebuild-install-2.1.2" = {
+      name = "prebuild-install";
+      packageName = "prebuild-install";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-2.1.2.tgz";
+        sha1 = "d9ae0ca85330e03962d93292f95a8b44c2ebf505";
+      };
+    };
+    "expand-template-1.1.0" = {
+      name = "expand-template";
+      packageName = "expand-template";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/expand-template/-/expand-template-1.1.0.tgz";
+        sha512 = "34i2f4clwy5bpzgl137zwplybp5hn6ncxq0p794cx9m0crhgk31nfy0s8wp1v6hvw90h20c268r040g892dixy6zqq1xlm3ra8g0j4j";
+      };
+    };
+    "github-from-package-0.0.0" = {
+      name = "github-from-package";
+      packageName = "github-from-package";
+      version = "0.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/github-from-package/-/github-from-package-0.0.0.tgz";
+        sha1 = "97fb5d96bfde8973313f20e8288ef9a167fa64ce";
+      };
+    };
+    "node-abi-2.1.2" = {
+      name = "node-abi";
+      packageName = "node-abi";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-2.1.2.tgz";
+        sha512 = "1sd6l8zqa18mlzackwy8vns51zjp8xyrd97nc514b0yvndd0y0wsyx2q9h8zr0k9kra5ys1yq75ggkv5av69cyzxji19rdvr5pjsrc6";
+      };
+    };
+    "noop-logger-0.1.1" = {
+      name = "noop-logger";
+      packageName = "noop-logger";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/noop-logger/-/noop-logger-0.1.1.tgz";
+        sha1 = "94a2b1633c4f1317553007d8966fd0e841b6a4c2";
+      };
+    };
+    "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";
+      };
+    };
+    "tar-fs-1.16.0" = {
+      name = "tar-fs";
+      packageName = "tar-fs";
+      version = "1.16.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tar-fs/-/tar-fs-1.16.0.tgz";
+        sha512 = "1i39d75rgrl2a3v3x65w7bz6az06sg7xdvp7j9zk5bqilj5znclmr7r5n9l6la6nkqikn4lkhnfrgp4hzbvp6ph77nn53g6zvmdpni3";
+      };
+    };
+    "pug-code-gen-2.0.0" = {
+      name = "pug-code-gen";
+      packageName = "pug-code-gen";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-code-gen/-/pug-code-gen-2.0.0.tgz";
+        sha512 = "1b9phnpcwd902482wvyql8a4h9wr1fw5idsjvg14bjvkmvxharb8m2ca25rj2f0s4i9sdldp2fj02i5933qys4921r9p7w97wjj52hk";
+      };
+    };
+    "pug-filters-2.1.5" = {
+      name = "pug-filters";
+      packageName = "pug-filters";
+      version = "2.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-filters/-/pug-filters-2.1.5.tgz";
+        sha512 = "0nihpmd2irqm58nrnc382aqyb787sw551g74fc4500j4kda6qxhvahknqahl918pizcx97wp64fq34m2kksp8p2jlqqn2vbmga3nk66";
+      };
+    };
+    "pug-lexer-3.1.0" = {
+      name = "pug-lexer";
+      packageName = "pug-lexer";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-lexer/-/pug-lexer-3.1.0.tgz";
+        sha1 = "fd087376d4a675b4f59f8fef422883434e9581a2";
+      };
+    };
+    "pug-linker-3.0.3" = {
+      name = "pug-linker";
+      packageName = "pug-linker";
+      version = "3.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-linker/-/pug-linker-3.0.3.tgz";
+        sha512 = "3j4v4ah7h6m44m7z40iqkmsdyyjb0azz5ajifi5v4byld75vrl715r2xnc8vhm4z1v686m55yyxhlcmzx4cby2ssv4yqp221779q8hc";
+      };
+    };
+    "pug-load-2.0.9" = {
+      name = "pug-load";
+      packageName = "pug-load";
+      version = "2.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-load/-/pug-load-2.0.9.tgz";
+        sha512 = "3liz20386ljxz81ia1jz31fljanr88zp0br2b45lrjdzr40slg2nkyz3xi7bsqam2zixzb86hspwvl734ac36f8shz6iqpf58w5jdq4";
+      };
+    };
+    "pug-parser-4.0.0" = {
+      name = "pug-parser";
+      packageName = "pug-parser";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-parser/-/pug-parser-4.0.0.tgz";
+        sha512 = "11a3hd10qhnpzmdrgqwndjjzmgqz090q2l89jmaqvjm0lnlrxcqig1fi0d92wxna26d18g8ywv4n9msnnlb5x2qq2qdc6sbywa19hd1";
+      };
+    };
+    "pug-runtime-2.0.3" = {
+      name = "pug-runtime";
+      packageName = "pug-runtime";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-runtime/-/pug-runtime-2.0.3.tgz";
+        sha1 = "98162607b0fce9e254d427f33987a5aee7168bda";
+      };
+    };
+    "pug-strip-comments-1.0.2" = {
+      name = "pug-strip-comments";
+      packageName = "pug-strip-comments";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-strip-comments/-/pug-strip-comments-1.0.2.tgz";
+        sha1 = "d313afa01bcc374980e1399e23ebf2eb9bdc8513";
+      };
+    };
+    "constantinople-3.1.0" = {
+      name = "constantinople";
+      packageName = "constantinople";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/constantinople/-/constantinople-3.1.0.tgz";
+        sha1 = "7569caa8aa3f8d5935d62e1fa96f9f702cd81c79";
+      };
+    };
+    "doctypes-1.1.0" = {
+      name = "doctypes";
+      packageName = "doctypes";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/doctypes/-/doctypes-1.1.0.tgz";
+        sha1 = "ea80b106a87538774e8a3a4a5afe293de489e0a9";
+      };
+    };
+    "js-stringify-1.0.2" = {
+      name = "js-stringify";
+      packageName = "js-stringify";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-stringify/-/js-stringify-1.0.2.tgz";
+        sha1 = "1736fddfd9724f28a3682adc6230ae7e4e9679db";
+      };
+    };
+    "pug-attrs-2.0.2" = {
+      name = "pug-attrs";
+      packageName = "pug-attrs";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-attrs/-/pug-attrs-2.0.2.tgz";
+        sha1 = "8be2b2225568ffa75d1b866982bff9f4111affcb";
+      };
+    };
+    "pug-error-1.3.2" = {
+      name = "pug-error";
+      packageName = "pug-error";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-error/-/pug-error-1.3.2.tgz";
+        sha1 = "53ae7d9d29bb03cf564493a026109f54c47f5f26";
+      };
+    };
+    "with-5.1.1" = {
+      name = "with";
+      packageName = "with";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/with/-/with-5.1.1.tgz";
+        sha1 = "fa4daa92daf32c4ea94ed453c81f04686b575dfe";
+      };
+    };
+    "is-expression-2.1.0" = {
+      name = "is-expression";
+      packageName = "is-expression";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-expression/-/is-expression-2.1.0.tgz";
+        sha1 = "91be9d47debcfef077977e9722be6dcfb4465ef0";
+      };
+    };
+    "acorn-globals-3.1.0" = {
+      name = "acorn-globals";
+      packageName = "acorn-globals";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-3.1.0.tgz";
+        sha1 = "fd8270f71fbb4996b004fa880ee5d46573a731bf";
+      };
+    };
+    "pug-walk-1.1.5" = {
+      name = "pug-walk";
+      packageName = "pug-walk";
+      version = "1.1.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pug-walk/-/pug-walk-1.1.5.tgz";
+        sha512 = "1418rf52jpq3k5l26drb11156l945688pjpia6njqrxzgffjb2rric213vrqigglhmhwc0r57zsmlknnwvhg5w9nh025b6yapb4g6dc";
+      };
+    };
+    "jstransformer-1.0.0" = {
+      name = "jstransformer";
+      packageName = "jstransformer";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jstransformer/-/jstransformer-1.0.0.tgz";
+        sha1 = "ed8bf0921e2f3f1ed4d5c1a44f68709ed24722c3";
+      };
+    };
+    "character-parser-2.2.0" = {
+      name = "character-parser";
+      packageName = "character-parser";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/character-parser/-/character-parser-2.2.0.tgz";
+        sha1 = "c7ce28f36d4bcd9744e5ffc2c5fcde1c73261fc0";
+      };
+    };
+    "is-expression-3.0.0" = {
+      name = "is-expression";
+      packageName = "is-expression";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-expression/-/is-expression-3.0.0.tgz";
+        sha1 = "39acaa6be7fd1f3471dc42c7416e61c24317ac9f";
+      };
+    };
+    "is-regex-1.0.4" = {
+      name = "is-regex";
+      packageName = "is-regex";
+      version = "1.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
+        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
+      };
+    };
+    "token-stream-0.0.1" = {
+      name = "token-stream";
+      packageName = "token-stream";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/token-stream/-/token-stream-0.0.1.tgz";
+        sha1 = "ceeefc717a76c4316f126d0b9dbaa55d7e7df01a";
+      };
+    };
     "commoner-0.10.8" = {
       name = "commoner";
       packageName = "commoner";
@@ -21037,7 +20461,7 @@ let
         sha1 = "a567c2af000ad22dc8f2a653d91978ae1f5316f4";
       };
     };
-    "oauth-https://codeload.github.com/ciaranj/node-oauth/legacy.tar.gz/master" = {
+    "oauth-https://github.com/ciaranj/node-oauth/tarball/master" = {
       name = "oauth";
       packageName = "oauth";
       version = "0.9.15";
@@ -21146,22 +20570,13 @@ let
         sha512 = "1qi9fsw42grlhv4aj7v42xikvicr5657809syvp4dca33fjzzr1h7x1q9zwhclpyb879g6bgb2yd4i2iasnpmxn8ng1dcnq85yg001r";
       };
     };
-    "boxen-1.2.1" = {
-      name = "boxen";
-      packageName = "boxen";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/boxen/-/boxen-1.2.1.tgz";
-        sha1 = "0f11e7fe344edb9397977fc13ede7f64d956481d";
-      };
-    };
-    "chalk-2.1.0" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "2.1.0";
+    "clipboardy-1.1.4" = {
+      name = "clipboardy";
+      packageName = "clipboardy";
+      version = "1.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.1.0.tgz";
-        sha512 = "1fnn3znivja3xq1lacvsdwkl2s8ki9w95sylnf2pkmaia1mjz3llbdb5r2dxsflqfky3h8f1bh0piv0l5waw2bkdniqnyv0yx5wch9d";
+        url = "https://registry.npmjs.org/clipboardy/-/clipboardy-1.1.4.tgz";
+        sha1 = "51b17574fc682588e2dd295cfa6e6aa109eab5ee";
       };
     };
     "detect-port-1.2.1" = {
@@ -21173,22 +20588,13 @@ let
         sha512 = "0r0mpkpa1r78cmagyv47v38fc8ik7pr3zvlnqg57v8nkh4ipd83rla5s1j2c8gymfbwzzlna6pp7h9xw94h93gic3l2z9hzpd68p9fq";
       };
     };
-    "filesize-3.5.10" = {
+    "filesize-3.5.11" = {
       name = "filesize";
       packageName = "filesize";
-      version = "3.5.10";
+      version = "3.5.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/filesize/-/filesize-3.5.10.tgz";
-        sha1 = "fc8fa23ddb4ef9e5e0ab6e1e64f679a24a56761f";
-      };
-    };
-    "handlebars-4.0.10" = {
-      name = "handlebars";
-      packageName = "handlebars";
-      version = "4.0.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/handlebars/-/handlebars-4.0.10.tgz";
-        sha1 = "3d30c718b09a3d96f23ea4cc1f403c4d3ba9ff4f";
+        url = "https://registry.npmjs.org/filesize/-/filesize-3.5.11.tgz";
+        sha512 = "3bg35im21jf6dhyrcajczdjl3rjm5mphdhansyfbpzm067vv3jp91n43nrzxf8q6nx3b5vkn2my1rskyp4pmg91xzdq01lawyifazk4";
       };
     };
     "micro-9.0.0" = {
@@ -21245,6 +20651,15 @@ let
         sha1 = "5c0a3f29c8ccffbbb1ec941dcec09d71fa32f36a";
       };
     };
+    "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";
+      };
+    };
     "address-1.0.3" = {
       name = "address";
       packageName = "address";
@@ -21254,6 +20669,351 @@ let
         sha512 = "27dii2i2aw9z3pw09110914532z5dfywxp8gbrfr14737cwy8m0jysam3abmfsbp8g51sd02ys57j5snwly3zfd0vrbli4109rni7ng";
       };
     };
+    "bcrypt-nodejs-0.0.3" = {
+      name = "bcrypt-nodejs";
+      packageName = "bcrypt-nodejs";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt-nodejs/-/bcrypt-nodejs-0.0.3.tgz";
+        sha1 = "c60917f26dc235661566c681061c303c2b28842b";
+      };
+    };
+    "cheerio-0.17.0" = {
+      name = "cheerio";
+      packageName = "cheerio";
+      version = "0.17.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz";
+        sha1 = "fa5ae42cc60121133d296d0b46d983215f7268ea";
+      };
+    };
+    "moment-2.7.0" = {
+      name = "moment";
+      packageName = "moment";
+      version = "2.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/moment/-/moment-2.7.0.tgz";
+        sha1 = "359a19ec634cda3c706c8709adda54c0329aaec4";
+      };
+    };
+    "slate-irc-0.7.3" = {
+      name = "slate-irc";
+      packageName = "slate-irc";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slate-irc/-/slate-irc-0.7.3.tgz";
+        sha1 = "8d01f2bc809e00a5b2faca7d8d3130d155422a77";
+      };
+    };
+    "socket.io-1.0.6" = {
+      name = "socket.io";
+      packageName = "socket.io";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io/-/socket.io-1.0.6.tgz";
+        sha1 = "b566532888dae3ac9058a12f294015ebdfa8084a";
+      };
+    };
+    "CSSselect-0.4.1" = {
+      name = "CSSselect";
+      packageName = "CSSselect";
+      version = "0.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz";
+        sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2";
+      };
+    };
+    "htmlparser2-3.7.3" = {
+      name = "htmlparser2";
+      packageName = "htmlparser2";
+      version = "3.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz";
+        sha1 = "6a64c77637c08c6f30ec2a8157a53333be7cb05e";
+      };
+    };
+    "dom-serializer-0.0.1" = {
+      name = "dom-serializer";
+      packageName = "dom-serializer";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz";
+        sha1 = "9589827f1e32d22c37c829adabd59b3247af8eaf";
+      };
+    };
+    "CSSwhat-0.4.7" = {
+      name = "CSSwhat";
+      packageName = "CSSwhat";
+      version = "0.4.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz";
+        sha1 = "867da0ff39f778613242c44cfea83f0aa4ebdf9b";
+      };
+    };
+    "domutils-1.4.3" = {
+      name = "domutils";
+      packageName = "domutils";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz";
+        sha1 = "0865513796c6b306031850e175516baf80b72a6f";
+      };
+    };
+    "domhandler-2.2.1" = {
+      name = "domhandler";
+      packageName = "domhandler";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz";
+        sha1 = "59df9dcd227e808b365ae73e1f6684ac3d946fc2";
+      };
+    };
+    "irc-replies-2.0.1" = {
+      name = "irc-replies";
+      packageName = "irc-replies";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/irc-replies/-/irc-replies-2.0.1.tgz";
+        sha1 = "5bf4125fb6ec0f3929a89647b26e653232942b79";
+      };
+    };
+    "slate-irc-parser-0.0.2" = {
+      name = "slate-irc-parser";
+      packageName = "slate-irc-parser";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/slate-irc-parser/-/slate-irc-parser-0.0.2.tgz";
+        sha1 = "0c5f8f20d817bb85329da9fca135c66b05947d80";
+      };
+    };
+    "linewise-0.0.3" = {
+      name = "linewise";
+      packageName = "linewise";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/linewise/-/linewise-0.0.3.tgz";
+        sha1 = "bf967ba0dd31faaf09ab5bdb3676ad7f2aa18493";
+      };
+    };
+    "engine.io-1.3.1" = {
+      name = "engine.io";
+      packageName = "engine.io";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io/-/engine.io-1.3.1.tgz";
+        sha1 = "2d968308fffae5d17f5209b6775246e90d8a705e";
+      };
+    };
+    "socket.io-parser-2.2.0" = {
+      name = "socket.io-parser";
+      packageName = "socket.io-parser";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.0.tgz";
+        sha1 = "2609601f59e6a7fab436a53be3d333fbbfcbd30a";
+      };
+    };
+    "socket.io-client-1.0.6" = {
+      name = "socket.io-client";
+      packageName = "socket.io-client";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.0.6.tgz";
+        sha1 = "c86cb3e507ab2f96da4500bd34fcf46a1e9dfe5e";
+      };
+    };
+    "socket.io-adapter-0.2.0" = {
+      name = "socket.io-adapter";
+      packageName = "socket.io-adapter";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.2.0.tgz";
+        sha1 = "bd39329b8961371787e24f345b074ec9cf000e33";
+      };
+    };
+    "has-binary-data-0.1.1" = {
+      name = "has-binary-data";
+      packageName = "has-binary-data";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-binary-data/-/has-binary-data-0.1.1.tgz";
+        sha1 = "e10749fb87828a52df96f4086587eb4a03966439";
+      };
+    };
+    "debug-0.6.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-0.6.0.tgz";
+        sha1 = "ce9d5d025d5294b3f0748a494bebaf3c9fd8734f";
+      };
+    };
+    "ws-0.4.31" = {
+      name = "ws";
+      packageName = "ws";
+      version = "0.4.31";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ws/-/ws-0.4.31.tgz";
+        sha1 = "5a4849e7a9ccd1ed5a81aeb4847c9fedf3122927";
+      };
+    };
+    "engine.io-parser-1.0.6" = {
+      name = "engine.io-parser";
+      packageName = "engine.io-parser";
+      version = "1.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.0.6.tgz";
+        sha1 = "d38813143a411cb3b914132ab05bf99e6f7a248e";
+      };
+    };
+    "nan-0.3.2" = {
+      name = "nan";
+      packageName = "nan";
+      version = "0.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/nan/-/nan-0.3.2.tgz";
+        sha1 = "0df1935cab15369075ef160ad2894107aa14dc2d";
+      };
+    };
+    "base64-arraybuffer-0.1.2" = {
+      name = "base64-arraybuffer";
+      packageName = "base64-arraybuffer";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz";
+        sha1 = "474df4a9f2da24e05df3158c3b1db3c3cd46a154";
+      };
+    };
+    "after-0.8.1" = {
+      name = "after";
+      packageName = "after";
+      version = "0.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/after/-/after-0.8.1.tgz";
+        sha1 = "ab5d4fb883f596816d3515f8f791c0af486dd627";
+      };
+    };
+    "blob-0.0.2" = {
+      name = "blob";
+      packageName = "blob";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/blob/-/blob-0.0.2.tgz";
+        sha1 = "b89562bd6994af95ba1e812155536333aa23cf24";
+      };
+    };
+    "utf8-2.0.0" = {
+      name = "utf8";
+      packageName = "utf8";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/utf8/-/utf8-2.0.0.tgz";
+        sha1 = "79ce59eced874809cab9a71fc7102c7d45d4118d";
+      };
+    };
+    "json3-3.2.6" = {
+      name = "json3";
+      packageName = "json3";
+      version = "3.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json3/-/json3-3.2.6.tgz";
+        sha1 = "f6efc93c06a04de9aec53053df2559bb19e2038b";
+      };
+    };
+    "emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz" = {
+      name = "emitter";
+      packageName = "emitter";
+      version = "1.0.1";
+      src = fetchurl {
+        name = "emitter-1.0.1.tar.gz";
+        url = https://codeload.github.com/component/emitter/tar.gz/1.0.1;
+        sha256 = "0eae744826723877457f7a7ac7f31d68a5a060673b3a883f6a8e325bf48f313d";
+      };
+    };
+    "engine.io-client-1.3.1" = {
+      name = "engine.io-client";
+      packageName = "engine.io-client";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.3.1.tgz";
+        sha1 = "1c5a65d5c5af6d04b44c22c3dbcd95c39ed1c989";
+      };
+    };
+    "parseuri-0.0.2" = {
+      name = "parseuri";
+      packageName = "parseuri";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz";
+        sha1 = "db41878f2d6964718be870b3140973d8093be156";
+      };
+    };
+    "to-array-0.1.3" = {
+      name = "to-array";
+      packageName = "to-array";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/to-array/-/to-array-0.1.3.tgz";
+        sha1 = "d45dadc6363417f60f28474fea50ecddbb4f4991";
+      };
+    };
+    "has-cors-1.0.3" = {
+      name = "has-cors";
+      packageName = "has-cors";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/has-cors/-/has-cors-1.0.3.tgz";
+        sha1 = "502acb9b3104dac33dd2630eaf2f888b0baf4cb3";
+      };
+    };
+    "xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" = {
+      name = "xmlhttprequest";
+      packageName = "xmlhttprequest";
+      version = "1.5.0";
+      src = fetchurl {
+        name = "xmlhttprequest-1.5.0.tar.gz";
+        url = https://codeload.github.com/LearnBoost/node-XMLHttpRequest/tar.gz/0f36d0b5ebc03d85f860d42a64ae9791e1daa433;
+        sha256 = "28dd0394d85befe8be4e9cd9f6803102780c62cbb09298cb174b52ff9777624f";
+      };
+    };
+    "parsejson-0.0.1" = {
+      name = "parsejson";
+      packageName = "parsejson";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz";
+        sha1 = "9b10c6c0d825ab589e685153826de0a3ba278bcc";
+      };
+    };
+    "parseqs-0.0.2" = {
+      name = "parseqs";
+      packageName = "parseqs";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz";
+        sha1 = "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7";
+      };
+    };
+    "global-https://github.com/component/global/archive/v2.0.1.tar.gz" = {
+      name = "global";
+      packageName = "global";
+      version = "2.0.1";
+      src = fetchurl {
+        name = "global-2.0.1.tar.gz";
+        url = https://codeload.github.com/component/global/tar.gz/v2.0.1;
+        sha256 = "42be02b7148745447f6ba21137c972ca82d2cad92d30d63bd4fc310623901785";
+      };
+    };
+    "socket.io-parser-2.1.2" = {
+      name = "socket.io-parser";
+      packageName = "socket.io-parser";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.1.2.tgz";
+        sha1 = "876655b9edd555c5bdf7301cedf30a436c67b8b0";
+      };
+    };
     "express-5.0.0-alpha.6" = {
       name = "express";
       packageName = "express";
@@ -21830,6 +21590,78 @@ let
         sha1 = "8a6a4ac3a8c774b6f687fece49bdffd78552e2cd";
       };
     };
+    "generic-pool-2.2.0" = {
+      name = "generic-pool";
+      packageName = "generic-pool";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/generic-pool/-/generic-pool-2.2.0.tgz";
+        sha1 = "8b465c1a7588ea9dd2bb133bda0bb66bfef8a63e";
+      };
+    };
+    "modern-syslog-1.1.2" = {
+      name = "modern-syslog";
+      packageName = "modern-syslog";
+      version = "1.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/modern-syslog/-/modern-syslog-1.1.2.tgz";
+        sha1 = "f1fa58899f3f452d788f1573401212a4ef898de5";
+      };
+    };
+    "hashring-3.2.0" = {
+      name = "hashring";
+      packageName = "hashring";
+      version = "3.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hashring/-/hashring-3.2.0.tgz";
+        sha1 = "fda4efde8aa22cdb97fb1d2a65e88401e1c144ce";
+      };
+    };
+    "winser-0.1.6" = {
+      name = "winser";
+      packageName = "winser";
+      version = "0.1.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/winser/-/winser-0.1.6.tgz";
+        sha1 = "08663dc32878a12bbce162d840da5097b48466c9";
+      };
+    };
+    "connection-parse-0.0.7" = {
+      name = "connection-parse";
+      packageName = "connection-parse";
+      version = "0.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connection-parse/-/connection-parse-0.0.7.tgz";
+        sha1 = "18e7318aab06a699267372b10c5226d25a1c9a69";
+      };
+    };
+    "simple-lru-cache-0.0.2" = {
+      name = "simple-lru-cache";
+      packageName = "simple-lru-cache";
+      version = "0.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz";
+        sha1 = "d59cc3a193c1a5d0320f84ee732f6e4713e511dd";
+      };
+    };
+    "sequence-2.2.1" = {
+      name = "sequence";
+      packageName = "sequence";
+      version = "2.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
+        sha1 = "7f5617895d44351c0a047e764467690490a16b03";
+      };
+    };
+    "commander-1.3.1" = {
+      name = "commander";
+      packageName = "commander";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/commander/-/commander-1.3.1.tgz";
+        sha1 = "02443e02db96f4b32b674225451abb6e9510000e";
+      };
+    };
     "css-parse-1.7.0" = {
       name = "css-parse";
       packageName = "css-parse";
@@ -21839,6 +21671,15 @@ let
         sha1 = "321f6cf73782a6ff751111390fc05e2c657d8c9b";
       };
     };
+    "glob-7.0.6" = {
+      name = "glob";
+      packageName = "glob";
+      version = "7.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/glob/-/glob-7.0.6.tgz";
+        sha1 = "211bafaf49e525b8cd93260d14ab136152b3f57a";
+      };
+    };
     "coa-2.0.0" = {
       name = "coa";
       packageName = "coa";
@@ -21893,13 +21734,13 @@ let
         sha512 = "3a7768nyac729dk372kmbf8f28j0pajy699g45bs8vrlx605wiad3i692a8y58x437bvnfy7015lx08sxhm2vknmsi83a69dwnv2bjw";
       };
     };
-    "csso-3.3.1" = {
+    "csso-3.4.0" = {
       name = "csso";
       packageName = "csso";
-      version = "3.3.1";
+      version = "3.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/csso/-/csso-3.3.1.tgz";
-        sha512 = "087ks3lnvyygbxivwf2fnn53a033ncz1ywm3jyarhz2hvsflka09iw611cwc55ix974bflcf0wmg6zvfkhxsjqmqfrz61w5y1yi6c9s";
+        url = "https://registry.npmjs.org/csso/-/csso-3.4.0.tgz";
+        sha1 = "57b27ef553cccbf5aa964c641748641e9af113f3";
       };
     };
     "object.values-1.0.4" = {
@@ -21965,15 +21806,6 @@ let
         sha1 = "86eb75392805ddc33af71c92a0eedf74ee7604b2";
       };
     };
-    "is-regex-1.0.4" = {
-      name = "is-regex";
-      packageName = "is-regex";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz";
-        sha1 = "5517489b547091b0930e095654ced25ee97e9491";
-      };
-    };
     "is-date-object-1.0.1" = {
       name = "is-date-object";
       packageName = "is-date-object";
@@ -22064,15 +21896,6 @@ let
         sha1 = "03ca7ba2d150d4267773f74e57558d1053d2bee3";
       };
     };
-    "log-update-1.0.2" = {
-      name = "log-update";
-      packageName = "log-update";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/log-update/-/log-update-1.0.2.tgz";
-        sha1 = "19929f64c4093d2d2e7075a1dad8af59c296b8d1";
-      };
-    };
     "promise-finally-3.0.0" = {
       name = "promise-finally";
       packageName = "promise-finally";
@@ -22100,6 +21923,15 @@ let
         sha1 = "44c26902e4ae8ece2366cedc9ff16b10a5f391c6";
       };
     };
+    "lockfile-1.0.3" = {
+      name = "lockfile";
+      packageName = "lockfile";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lockfile/-/lockfile-1.0.3.tgz";
+        sha1 = "2638fc39a0331e9cac1a04b71799931c9c50df79";
+      };
+    };
     "make-error-cause-1.2.2" = {
       name = "make-error-cause";
       packageName = "make-error-cause";
@@ -22262,13 +22094,13 @@ let
         sha512 = "18r5wdrfrrjip7xipgxyg673njbfkj46hkswp4bmb5n7zx6gmajrashp6w32rkvhanymnx6rd7mrlqgzm68ksd89sy5x9gd5qx58hqj";
       };
     };
-    "color-2.0.0" = {
+    "color-2.0.1" = {
       name = "color";
       packageName = "color";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/color/-/color-2.0.0.tgz";
-        sha1 = "e0c9972d1e969857004b101eaa55ceab5961d67d";
+        url = "https://registry.npmjs.org/color/-/color-2.0.1.tgz";
+        sha512 = "1gir7mfj6033amg78p7jvpj0nk2hw61hqd81r6x3a2qmgizbw3d89k0qk62680zhm9ypcx6c9p2cgwjvb8smxv0qgvblkwza9ah5ddr";
       };
     };
     "crossroads-0.12.2" = {
@@ -22532,15 +22364,6 @@ let
         sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
       };
     };
-    "aproba-1.1.2" = {
-      name = "aproba";
-      packageName = "aproba";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aproba/-/aproba-1.1.2.tgz";
-        sha512 = "0zmgm7vf91vxk5hdvkwhfnzjxz9r6hwpn8dlbpasaax8rxx7z1qqdmh8l631vawj7y1bkpsd0v0mhjh9agggkjl72f3vlnfhy61m5k6";
-      };
-    };
     "lsmod-1.0.0" = {
       name = "lsmod";
       packageName = "lsmod";
@@ -22703,13 +22526,13 @@ let
         sha1 = "b951f4abb6bd617e66f63eb891498e391763e309";
       };
     };
-    "webpack-sources-1.0.1" = {
+    "webpack-sources-1.0.2" = {
       name = "webpack-sources";
       packageName = "webpack-sources";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.1.tgz";
-        sha512 = "27l6lhqai0bhgk7mbchvf608bgmrgbqmgjd07k1rsg7xh12lnaflr459cy7ay108jr7dk8g5ybx70xi7cbz6lm5c7m022sl5b34r6yk";
+        url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.0.2.tgz";
+        sha512 = "1mk1l1f1bv2cnxbyr13i5rbiwm9cgv91d28rk3mmy8z2m6f0xksgkjv5k00xcmvkd3sjsbrica8a1xrlzz0crydrfix3sdgq1s1vdb3";
       };
     };
     "es6-map-0.1.5" = {
@@ -22730,6 +22553,33 @@ let
         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.35" = {
+      name = "es5-ext";
+      packageName = "es5-ext";
+      version = "0.10.35";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.35.tgz";
+        sha1 = "18ee858ce6a3c45c7d79e91c15fcca9ec568494f";
+      };
+    };
+    "es6-iterator-2.0.3" = {
+      name = "es6-iterator";
+      packageName = "es6-iterator";
+      version = "2.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
+        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
+      };
+    };
     "es6-set-0.1.5" = {
       name = "es6-set";
       packageName = "es6-set";
@@ -22739,6 +22589,15 @@ let
         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";
@@ -22847,6 +22706,15 @@ let
         sha1 = "eec5c726eacef51b7f6b73c20db6e1b13b069c98";
       };
     };
+    "es6-promisify-5.0.0" = {
+      name = "es6-promisify";
+      packageName = "es6-promisify";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz";
+        sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
+      };
+    };
     "event-to-promise-0.8.0" = {
       name = "event-to-promise";
       packageName = "event-to-promise";
@@ -22964,6 +22832,24 @@ let
         sha1 = "5164d4faabb88dcf277f17c8a3b16bfd3da8bee3";
       };
     };
+    "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";
+      };
+    };
+    "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";
+      };
+    };
     "zip-dir-1.0.2" = {
       name = "zip-dir";
       packageName = "zip-dir";
@@ -23063,13 +22949,13 @@ let
         sha1 = "7a549bbd9ffe1585b0cd0a191e203055bee574b4";
       };
     };
-    "pino-4.8.2" = {
+    "pino-4.10.1" = {
       name = "pino";
       packageName = "pino";
-      version = "4.8.2";
+      version = "4.10.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pino/-/pino-4.8.2.tgz";
-        sha512 = "2cd8127wzi403lmj965crklncvs06pfnnc8can3s1m2v1lrs1cfpxmnqa4g4rgdph5zz5rqfsg16a0hwzb6j15fpqhxmw3agl5axv8a";
+        url = "https://registry.npmjs.org/pino/-/pino-4.10.1.tgz";
+        sha512 = "3rpmn1qi3nr971gz5r7r3m2z0zw5qm0grj2xrihhf8mllkwl9i4klkav8gg0js5kgd2y39jf7z9qc0ihja2nzlzl61c31jvph091w6p";
       };
     };
     "postcss-6.0.11" = {
@@ -23117,22 +23003,13 @@ let
         sha1 = "79450aff22b2a9c5a41ef54e02db907ccfbf9ee2";
       };
     };
-    "parse5-3.0.2" = {
+    "parse5-3.0.3" = {
       name = "parse5";
       packageName = "parse5";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse5/-/parse5-3.0.2.tgz";
-        sha1 = "05eff57f0ef4577fb144a79f8b9a967a6cc44510";
-      };
-    };
-    "@types/node-6.0.90" = {
-      name = "@types/node";
-      packageName = "@types/node";
-      version = "6.0.90";
+      version = "3.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-6.0.90.tgz";
-        sha512 = "2q3rymdpikk7mc1rlmv8r1n0rlw856xmw64dx65mi90khgn1plppcsal3jvcbbhc527f06fh2wk9yargn2mlmgxxibhdvv2ax2hcymm";
+        url = "https://registry.npmjs.org/parse5/-/parse5-3.0.3.tgz";
+        sha512 = "005xscj5zlz7pkxa5ngys7i7pdb2f4pirj1zw7hr1145zhxxgg04nhykjh1csy2ncr5lyjw8phq8m2ylqhfhi2z4hgvjb2b1rkbs0xf";
       };
     };
     "anchor-markdown-header-0.5.7" = {
@@ -23522,13 +23399,13 @@ let
         sha512 = "01vq6bwp36yjvywlw5jniq4ainn8jrwxsab76bv02j77ky26qm99097g7x6j8dqrjrhfgd0vs9q6nh2milhsnsk9529s42njilsq58m";
       };
     };
-    "fast-safe-stringify-1.2.0" = {
+    "fast-safe-stringify-1.2.1" = {
       name = "fast-safe-stringify";
       packageName = "fast-safe-stringify";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.2.0.tgz";
-        sha1 = "ebd42666fd18fe4f2ba4f0d295065f3f85cade96";
+        url = "https://registry.npmjs.org/fast-safe-stringify/-/fast-safe-stringify-1.2.1.tgz";
+        sha512 = "2in2h3qxnsgr2kvm4pk5hlgxgx9n4hnh83rzirgscbql55k3jwgvs9hksclxzi7il0i0qbj3iqk5qlka0rf71wq9b9qij9jxmw2lrc3";
       };
     };
     "flatstr-1.0.5" = {
@@ -23873,6 +23750,15 @@ let
         sha1 = "bbf6b39f5f43ec30bc71babcb37557acecf34353";
       };
     };
+    "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";
+      };
+    };
     "jszip-2.6.1" = {
       name = "jszip";
       packageName = "jszip";
@@ -24197,6 +24083,51 @@ let
         sha1 = "f04374d4eee5310e9a8e113bf1495411e46176a1";
       };
     };
+    "npmlog-2.0.4" = {
+      name = "npmlog";
+      packageName = "npmlog";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz";
+        sha1 = "98b52530f2514ca90d09ec5b22c8846722375692";
+      };
+    };
+    "gauge-1.2.7" = {
+      name = "gauge";
+      packageName = "gauge";
+      version = "1.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz";
+        sha1 = "e9cec5483d3d4ee0ef44b60a7d99e4935e136d93";
+      };
+    };
+    "lodash.pad-4.5.1" = {
+      name = "lodash.pad";
+      packageName = "lodash.pad";
+      version = "4.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.5.1.tgz";
+        sha1 = "4330949a833a7c8da22cc20f6a26c4d59debba70";
+      };
+    };
+    "lodash.padend-4.6.1" = {
+      name = "lodash.padend";
+      packageName = "lodash.padend";
+      version = "4.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.6.1.tgz";
+        sha1 = "53ccba047d06e158d311f45da625f4e49e6f166e";
+      };
+    };
+    "lodash.padstart-4.6.1" = {
+      name = "lodash.padstart";
+      packageName = "lodash.padstart";
+      version = "4.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.6.1.tgz";
+        sha1 = "d2e3eebff0d9d39ad50f5cbd1b52a7bce6bb611b";
+      };
+    };
     "bin-version-check-2.1.0" = {
       name = "bin-version-check";
       packageName = "bin-version-check";
@@ -24365,13 +24296,13 @@ in
   alloy = nodeEnv.buildNodePackage {
     name = "alloy";
     packageName = "alloy";
-    version = "1.10.7";
+    version = "1.10.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/alloy/-/alloy-1.10.7.tgz";
-      sha1 = "48e37cfbbd1bae96fba40bbffdd542577d981637";
+      url = "https://registry.npmjs.org/alloy/-/alloy-1.10.9.tgz";
+      sha512 = "173lfbg90gljigg1hpfc6cw3qi4lg8k7nhlm0b0zhpclsnhz2za0v31y1v19j7w0f2yc4v10h0sqigfnvb8xhfb4sck2dn7rmsknvhq";
     };
     dependencies = [
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       (sources."babel-core-6.26.0" // {
         dependencies = [
           sources."source-map-0.5.7"
@@ -24415,23 +24346,19 @@ in
       sources."path-is-absolute-1.0.1"
       sources."private-0.1.8"
       sources."slash-1.0.0"
-      sources."chalk-1.1.3"
+      sources."chalk-0.4.0"
       sources."esutils-2.0.2"
       sources."js-tokens-3.0.2"
-      sources."ansi-styles-2.2.1"
+      sources."ansi-styles-1.0.0"
       sources."escape-string-regexp-1.0.5"
       sources."has-ansi-2.0.0"
-      sources."strip-ansi-3.0.1"
+      sources."strip-ansi-0.1.1"
       sources."supports-color-2.0.0"
       sources."ansi-regex-2.1.1"
       sources."core-js-2.5.1"
       sources."home-or-tmp-2.0.0"
       sources."mkdirp-0.5.1"
-      (sources."source-map-support-0.4.18" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."source-map-support-0.4.18"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."minimist-0.0.8"
@@ -24456,29 +24383,15 @@ in
       sources."jsonfile-3.0.1"
       sources."universalify-0.1.1"
       sources."array-unique-0.2.1"
-      (sources."global-modules-0.2.3" // {
-        dependencies = [
-          sources."is-windows-0.2.0"
-        ];
-      })
-      sources."is-windows-0.1.1"
-      (sources."global-prefix-0.1.5" // {
-        dependencies = [
-          sources."is-windows-0.2.0"
-        ];
-      })
+      sources."global-modules-0.2.3"
+      sources."is-windows-0.2.0"
+      sources."global-prefix-0.1.5"
       sources."homedir-polyfill-1.0.1"
       sources."ini-1.3.4"
       sources."which-1.3.0"
       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."nomnom-1.8.1"
       sources."JSV-4.0.2"
       sources."underscore-1.6.0"
       sources."has-color-0.1.7"
@@ -24674,7 +24587,11 @@ in
       sources."github-0.1.6"
       sources."fast-json-patch-0.5.6"
       sources."js2xmlparser-1.0.0"
-      sources."jsonlint-1.6.2"
+      (sources."jsonlint-1.6.2" // {
+        dependencies = [
+          sources."underscore-1.6.0"
+        ];
+      })
       sources."jsonminify-0.4.1"
       sources."jsrsasign-4.8.2"
       sources."jwt-decode-2.2.0"
@@ -24684,15 +24601,16 @@ in
           sources."streamline-0.4.11"
         ];
       })
-      sources."moment-2.19.1"
-      (sources."ms-rest-2.2.4" // {
+      sources."moment-2.19.2"
+      (sources."ms-rest-2.2.5" // {
         dependencies = [
           sources."moment-2.18.1"
         ];
       })
-      (sources."ms-rest-azure-2.4.1" // {
+      (sources."ms-rest-azure-2.4.4" // {
         dependencies = [
           sources."async-2.5.0"
+          sources."adal-node-0.1.25"
           sources."moment-2.18.1"
         ];
       })
@@ -24702,33 +24620,27 @@ in
       sources."progress-1.1.8"
       (sources."prompt-0.2.14" // {
         dependencies = [
-          (sources."winston-0.8.3" // {
-            dependencies = [
-              sources."pkginfo-0.3.1"
-            ];
-          })
+          sources."winston-0.8.3"
           sources."async-0.2.10"
           sources."colors-0.6.2"
         ];
       })
-      (sources."readable-stream-1.0.34" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-        ];
-      })
+      sources."readable-stream-1.0.34"
       (sources."request-2.74.0" // {
         dependencies = [
-          sources."extend-3.0.1"
+          sources."readable-stream-2.0.6"
+          sources."async-2.6.0"
+          sources."commander-2.11.0"
         ];
       })
-      (sources."ssh-key-to-pem-0.11.0" // {
+      sources."ssh-key-to-pem-0.11.0"
+      sources."streamline-0.10.17"
+      sources."streamline-streams-0.1.5"
+      (sources."sync-request-3.0.0" // {
         dependencies = [
-          sources."asn1-0.1.11"
+          sources."readable-stream-2.3.3"
         ];
       })
-      sources."streamline-0.10.17"
-      sources."streamline-streams-0.1.5"
-      sources."sync-request-3.0.0"
       sources."through-2.3.4"
       sources."tunnel-0.0.2"
       sources."underscore-1.4.4"
@@ -24739,7 +24651,6 @@ in
         dependencies = [
           sources."async-1.0.0"
           sources."colors-1.0.3"
-          sources."pkginfo-0.3.1"
         ];
       })
       sources."wordwrap-0.0.2"
@@ -24760,7 +24671,7 @@ in
       sources."duplexer-0.1.1"
       sources."sax-0.5.2"
       sources."browserify-mime-1.2.9"
-      sources."extend-1.2.1"
+      sources."extend-3.0.1"
       sources."json-edm-parser-0.1.2"
       sources."md5.js-1.3.4"
       sources."jsonparse-1.2.0"
@@ -24769,44 +24680,36 @@ in
       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."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
       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."clone-1.0.3"
       sources."from-0.1.7"
       sources."map-stream-0.1.0"
       sources."pause-stream-0.0.11"
       sources."split-0.2.10"
       sources."stream-combiner-0.0.4"
-      (sources."nomnom-1.8.1" // {
-        dependencies = [
-          sources."underscore-1.6.0"
-        ];
-      })
+      sources."nomnom-1.8.1"
       sources."JSV-4.0.2"
-      sources."chalk-0.4.0"
+      sources."chalk-1.1.3"
       sources."has-color-0.1.7"
-      sources."ansi-styles-1.0.0"
-      sources."strip-ansi-0.1.1"
-      sources."@types/node-8.0.47"
-      sources."@types/request-2.0.7"
+      sources."ansi-styles-2.2.1"
+      sources."strip-ansi-3.0.1"
+      sources."@types/node-8.0.51"
+      sources."@types/request-2.0.8"
       sources."@types/uuid-3.4.3"
       sources."is-buffer-1.1.6"
       sources."is-stream-1.1.0"
-      sources."@types/form-data-2.2.0"
+      sources."@types/form-data-2.2.1"
       sources."lodash-4.17.4"
       sources."debug-0.7.4"
       sources."q-0.9.7"
-      sources."pkginfo-0.4.1"
+      sources."pkginfo-0.3.1"
       sources."revalidator-0.1.8"
-      (sources."utile-0.2.1" // {
-        dependencies = [
-          sources."async-0.2.10"
-        ];
-      })
+      sources."utile-0.2.1"
       sources."deep-equal-1.0.1"
       sources."i-0.3.6"
       sources."mkdirp-0.5.1"
@@ -24827,27 +24730,12 @@ in
       sources."isstream-0.1.2"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
-      (sources."bl-1.1.2" // {
-        dependencies = [
-          sources."readable-stream-2.0.6"
-        ];
-      })
+      sources."bl-1.1.2"
       sources."caseless-0.11.0"
       sources."combined-stream-1.0.5"
       sources."forever-agent-0.6.1"
-      (sources."form-data-1.0.1" // {
-        dependencies = [
-          sources."async-2.5.0"
-        ];
-      })
-      (sources."har-validator-2.0.6" // {
-        dependencies = [
-          sources."chalk-1.1.3"
-          sources."commander-2.11.0"
-          sources."ansi-styles-2.2.1"
-          sources."strip-ansi-3.0.1"
-        ];
-      })
+      sources."form-data-1.0.1"
+      sources."har-validator-2.0.6"
       sources."hawk-3.1.3"
       sources."http-signature-1.1.1"
       sources."is-typedarray-1.0.0"
@@ -24875,35 +24763,15 @@ in
       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.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
       sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      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."verror-1.10.0"
+      sources."asn1-0.1.11"
+      sources."dashdash-1.14.1"
+      sources."getpass-0.1.7"
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
       sources."ecc-jsbn-0.1.1"
@@ -24915,12 +24783,7 @@ in
       sources."fibers-1.0.15"
       sources."galaxy-0.1.12"
       sources."amdefine-1.0.1"
-      (sources."concat-stream-1.6.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."concat-stream-1.6.0"
       sources."http-response-object-1.1.0"
       sources."then-request-2.2.0"
       sources."typedarray-0.0.6"
@@ -24970,22 +24833,18 @@ in
       sources."bower-logger-0.2.1"
       (sources."fs-extra-0.26.7" // {
         dependencies = [
-          sources."graceful-fs-4.1.11"
+          sources."glob-7.1.2"
         ];
       })
       sources."lodash-4.2.1"
       sources."promised-temp-0.1.0"
       sources."semver-5.4.1"
-      (sources."temp-0.8.3" // {
-        dependencies = [
-          sources."rimraf-2.2.8"
-        ];
-      })
+      sources."temp-0.8.3"
       sources."glob-6.0.4"
       sources."sprintf-js-1.0.3"
       sources."deep-extend-0.4.2"
       sources."ext-name-3.0.0"
-      sources."graceful-fs-3.0.11"
+      sources."graceful-fs-4.1.11"
       sources."intersect-1.0.1"
       sources."ends-with-0.2.0"
       sources."ext-list-2.2.2"
@@ -24996,7 +24855,7 @@ in
       sources."decamelize-1.2.0"
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
-      sources."minimist-1.2.0"
+      sources."minimist-0.0.8"
       sources."normalize-package-data-2.4.0"
       sources."object-assign-4.1.1"
       sources."read-pkg-up-1.0.1"
@@ -25018,16 +24877,8 @@ in
       sources."path-exists-2.1.0"
       sources."pinkie-promise-2.0.1"
       sources."pinkie-2.0.4"
-      (sources."load-json-file-1.1.0" // {
-        dependencies = [
-          sources."graceful-fs-4.1.11"
-        ];
-      })
-      (sources."path-type-1.1.0" // {
-        dependencies = [
-          sources."graceful-fs-4.1.11"
-        ];
-      })
+      sources."load-json-file-1.1.0"
+      sources."path-type-1.1.0"
       sources."parse-json-2.2.0"
       sources."pify-2.3.0"
       sources."strip-bom-2.0.0"
@@ -25043,22 +24894,10 @@ in
       sources."sort-keys-1.1.2"
       sources."is-plain-obj-1.1.0"
       sources."natives-1.1.0"
-      (sources."jsonfile-2.4.0" // {
-        dependencies = [
-          sources."graceful-fs-4.1.11"
-        ];
-      })
-      (sources."klaw-1.3.1" // {
-        dependencies = [
-          sources."graceful-fs-4.1.11"
-        ];
-      })
+      sources."jsonfile-2.4.0"
+      sources."klaw-1.3.1"
       sources."path-is-absolute-1.0.1"
-      (sources."rimraf-2.6.2" // {
-        dependencies = [
-          sources."glob-7.1.2"
-        ];
-      })
+      sources."rimraf-2.2.8"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
@@ -25070,11 +24909,7 @@ in
       sources."concat-map-0.0.1"
       sources."q-1.5.1"
       sources."debug-2.6.9"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."mkdirp-0.5.1"
       sources."ms-2.0.0"
       sources."os-tmpdir-1.0.2"
     ];
@@ -25114,7 +24949,7 @@ in
       })
       sources."console-browserify-1.1.0"
       sources."constants-browserify-1.0.0"
-      sources."crypto-browserify-3.11.1"
+      sources."crypto-browserify-3.12.0"
       sources."defined-1.0.0"
       sources."deps-sort-2.0.0"
       sources."domain-browser-1.1.7"
@@ -25126,11 +24961,7 @@ in
       sources."https-browserify-1.0.0"
       sources."inherits-2.0.3"
       sources."insert-module-globals-7.0.1"
-      (sources."labeled-stream-splicer-2.0.0" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-        ];
-      })
+      sources."labeled-stream-splicer-2.0.0"
       sources."module-deps-4.1.1"
       sources."os-browserify-0.3.0"
       sources."parents-1.0.1"
@@ -25189,6 +25020,7 @@ in
       sources."pbkdf2-3.0.14"
       sources."public-encrypt-4.0.0"
       sources."randombytes-2.0.5"
+      sources."randomfill-1.0.3"
       sources."browserify-aes-1.1.1"
       sources."browserify-des-1.0.0"
       sources."evp_bytestokey-1.0.3"
@@ -25198,7 +25030,7 @@ in
       sources."des.js-1.0.0"
       sources."minimalistic-assert-1.0.0"
       sources."md5.js-1.3.4"
-      sources."hash-base-3.0.4"
+      sources."hash-base-2.0.2"
       sources."bn.js-4.11.8"
       sources."browserify-rsa-4.0.1"
       sources."elliptic-6.4.0"
@@ -25208,11 +25040,7 @@ in
       sources."hmac-drbg-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."asn1.js-4.9.2"
-      (sources."ripemd160-2.0.1" // {
-        dependencies = [
-          sources."hash-base-2.0.2"
-        ];
-      })
+      sources."ripemd160-2.0.1"
       sources."sha.js-2.4.9"
       sources."miller-rabin-4.0.1"
       sources."fs.realpath-1.0.0"
@@ -25275,40 +25103,27 @@ in
       sources."keypress-0.2.1"
       sources."mime-1.4.1"
       sources."minimist-1.2.0"
-      sources."peerflix-0.34.0"
+      (sources."peerflix-0.34.0" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
       (sources."playerui-1.2.0" // {
         dependencies = [
           sources."chalk-0.5.1"
-          sources."ansi-styles-1.1.0"
-          sources."has-ansi-0.1.0"
-          sources."strip-ansi-0.3.0"
-          sources."supports-color-0.2.0"
-          sources."ansi-regex-0.2.1"
         ];
       })
       sources."query-string-1.0.1"
       sources."range-parser-1.2.0"
       (sources."read-torrent-1.3.0" // {
         dependencies = [
-          sources."magnet-uri-2.0.1"
-          (sources."parse-torrent-4.1.0" // {
-            dependencies = [
-              sources."magnet-uri-4.2.3"
-            ];
-          })
-          sources."thirty-two-0.0.2"
-          sources."parse-torrent-file-2.1.4"
-          sources."bencode-0.7.0"
+          sources."mime-1.2.11"
         ];
       })
       sources."router-0.6.2"
       sources."srt2vtt-1.3.1"
       sources."stream-transcoder-0.0.5"
-      (sources."xml2js-0.4.19" // {
-        dependencies = [
-          sources."xmlbuilder-9.0.4"
-        ];
-      })
+      sources."xml2js-0.4.19"
       sources."xspfr-0.3.1"
       sources."xtend-4.0.1"
       sources."castv2-0.1.9"
@@ -25319,13 +25134,13 @@ in
       sources."bufferview-1.0.1"
       sources."colour-0.7.1"
       sources."optjs-3.2.2"
-      sources."ansi-styles-2.2.1"
+      sources."ansi-styles-1.1.0"
       sources."escape-string-regexp-1.0.5"
-      sources."has-ansi-1.0.3"
-      sources."strip-ansi-2.0.1"
-      sources."supports-color-1.3.1"
-      sources."ansi-regex-1.1.1"
-      sources."get-stdin-4.0.1"
+      sources."has-ansi-0.1.0"
+      sources."strip-ansi-0.3.0"
+      sources."supports-color-0.2.0"
+      sources."ansi-regex-0.2.1"
+      sources."get-stdin-5.0.1"
       sources."chromecast-scanner-0.5.0"
       sources."mutate.js-0.2.0"
       sources."promiscuous-0.6.0"
@@ -25333,17 +25148,13 @@ in
       sources."ware-1.3.0"
       sources."array-find-0.1.1"
       sources."multicast-dns-4.0.1"
-      sources."thunky-0.1.0"
+      sources."thunky-1.0.2"
       sources."wrap-fn-0.1.5"
       sources."co-3.1.0"
       sources."ms-2.0.0"
       sources."append-0.1.1"
-      sources."object-assign-1.0.0"
-      (sources."meow-3.7.0" // {
-        dependencies = [
-          sources."object-assign-4.1.1"
-        ];
-      })
+      sources."object-assign-4.1.1"
+      sources."meow-3.7.0"
       sources."camelcase-keys-2.1.0"
       sources."decamelize-1.2.0"
       sources."loud-rejection-1.6.0"
@@ -25358,7 +25169,7 @@ in
       sources."array-find-index-1.0.2"
       sources."hosted-git-info-2.5.0"
       sources."is-builtin-module-1.0.0"
-      sources."semver-5.4.1"
+      sources."semver-5.1.1"
       sources."validate-npm-package-license-3.0.1"
       sources."builtin-modules-1.1.1"
       sources."spdx-correct-1.0.2"
@@ -25389,55 +25200,21 @@ in
       sources."network-address-0.0.5"
       sources."numeral-1.5.6"
       sources."open-0.0.5"
-      (sources."optimist-0.6.1" // {
-        dependencies = [
-          sources."minimist-0.0.10"
-        ];
-      })
-      (sources."parse-torrent-5.8.3" // {
-        dependencies = [
-          sources."get-stdin-5.0.1"
-        ];
-      })
-      (sources."pump-0.3.5" // {
-        dependencies = [
-          sources."once-1.2.0"
-        ];
-      })
-      (sources."rc-0.4.0" // {
-        dependencies = [
-          sources."minimist-0.0.10"
-        ];
-      })
-      (sources."torrent-stream-1.0.3" // {
-        dependencies = [
-          sources."end-of-stream-0.1.5"
-          sources."parse-torrent-4.1.0"
-          sources."once-1.3.3"
-          sources."magnet-uri-4.2.3"
-          sources."parse-torrent-file-2.1.4"
-          sources."thirty-two-0.0.2"
-          sources."bencode-0.7.0"
-        ];
-      })
+      sources."optimist-0.6.1"
+      sources."parse-torrent-4.1.0"
+      sources."pump-0.3.5"
+      sources."rc-0.4.0"
+      sources."torrent-stream-1.0.3"
       sources."windows-no-runnable-0.0.6"
-      (sources."mdns-js-0.5.3" // {
-        dependencies = [
-          sources."semver-5.1.1"
-        ];
-      })
+      sources."mdns-js-0.5.3"
       sources."plist-2.1.0"
       sources."dns-js-0.2.1"
-      sources."qap-3.1.3"
+      sources."qap-3.2.2"
       sources."base64-js-1.2.0"
-      sources."xmlbuilder-8.2.2"
+      sources."xmlbuilder-9.0.4"
       sources."xmldom-0.1.27"
       sources."cli-width-1.1.1"
-      (sources."figures-1.7.0" // {
-        dependencies = [
-          sources."object-assign-4.1.1"
-        ];
-      })
+      sources."figures-1.7.0"
       sources."lodash-3.10.1"
       sources."readline2-0.1.1"
       sources."rx-2.5.3"
@@ -25445,52 +25222,36 @@ in
       sources."mute-stream-0.0.4"
       sources."wordwrap-0.0.3"
       sources."blob-to-buffer-1.2.6"
-      sources."magnet-uri-5.1.7"
-      sources."parse-torrent-file-4.0.3"
+      sources."magnet-uri-2.0.1"
+      sources."parse-torrent-file-2.1.4"
       sources."simple-get-2.7.0"
-      sources."safe-buffer-5.1.1"
-      sources."thirty-two-1.0.2"
+      sources."safe-buffer-5.0.1"
+      sources."thirty-two-0.0.2"
       sources."uniq-1.0.1"
-      sources."bencode-1.0.0"
+      sources."bencode-0.8.0"
       sources."simple-sha1-2.1.0"
-      sources."rusha-0.8.6"
+      sources."rusha-0.8.7"
       sources."decompress-response-3.3.0"
-      sources."once-1.4.0"
+      sources."once-1.3.3"
       sources."simple-concat-1.0.0"
       sources."mimic-response-1.0.0"
       sources."wrappy-1.0.2"
-      (sources."end-of-stream-1.0.0" // {
-        dependencies = [
-          sources."once-1.3.3"
-        ];
-      })
+      sources."end-of-stream-0.1.5"
       sources."deep-extend-0.2.11"
       sources."strip-json-comments-0.1.3"
       sources."ini-1.1.0"
       sources."bitfield-0.1.0"
-      sources."bncode-0.5.3"
-      (sources."fs-chunk-store-1.6.5" // {
-        dependencies = [
-          sources."mkdirp-0.5.1"
-          sources."thunky-1.0.2"
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."bncode-0.2.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."mkdirp-0.3.5"
+      sources."mkdirp-0.5.1"
       sources."peer-wire-swarm-0.12.1"
       sources."rimraf-2.6.2"
       sources."torrent-discovery-5.4.0"
       sources."torrent-piece-1.1.1"
-      (sources."random-access-file-1.8.1" // {
-        dependencies = [
-          sources."mkdirp-0.5.1"
-          sources."thunky-1.0.2"
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."random-access-file-1.8.1"
       sources."randombytes-2.0.5"
       sources."run-parallel-1.1.6"
       sources."buffer-alloc-unsafe-1.0.0"
@@ -25498,17 +25259,13 @@ in
       sources."ip-1.1.5"
       sources."flatten-0.0.1"
       sources."fifo-0.1.4"
-      (sources."peer-wire-protocol-0.7.0" // {
-        dependencies = [
-          sources."bncode-0.2.3"
-        ];
-      })
+      sources."peer-wire-protocol-0.7.0"
       sources."speedometer-0.1.4"
       sources."utp-0.0.7"
-      sources."readable-stream-1.1.14"
+      sources."readable-stream-2.3.3"
       sources."core-util-is-1.0.2"
-      sources."isarray-0.0.1"
-      sources."string_decoder-0.10.31"
+      sources."isarray-1.0.0"
+      sources."string_decoder-1.0.3"
       sources."cyclist-0.1.1"
       sources."glob-7.1.2"
       sources."fs.realpath-1.0.0"
@@ -25518,24 +25275,12 @@ in
       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 = [
-          sources."bencode-0.7.0"
-        ];
-      })
-      (sources."bittorrent-tracker-7.7.0" // {
-        dependencies = [
-          sources."bencode-0.8.0"
-        ];
-      })
+      sources."bittorrent-dht-6.4.2"
+      sources."bittorrent-tracker-7.7.0"
       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."k-bucket-2.0.1"
+      sources."k-rpc-3.7.0"
       sources."lru-2.0.1"
       sources."buffer-equal-0.0.1"
       sources."k-rpc-socket-1.7.1"
@@ -25543,47 +25288,21 @@ in
       sources."compact2string-1.4.0"
       sources."random-iterate-1.0.1"
       sources."run-series-1.1.4"
-      (sources."simple-peer-6.4.4" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      (sources."simple-websocket-4.3.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."ws-2.3.1"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-          sources."safe-buffer-5.0.1"
-        ];
-      })
+      sources."simple-peer-6.4.4"
+      sources."simple-websocket-4.3.1"
       sources."string2compact-1.2.2"
-      (sources."ws-1.1.4" // {
-        dependencies = [
-          sources."ultron-1.0.2"
-        ];
-      })
+      sources."ws-2.3.1"
       sources."ipaddr.js-1.5.4"
       sources."get-browser-rtc-1.0.2"
       sources."process-nextick-args-1.0.7"
       sources."util-deprecate-1.0.2"
-      sources."ultron-1.1.0"
+      sources."ultron-1.0.2"
       sources."addr-to-ip-port-1.4.2"
       sources."options-0.0.6"
       sources."pad-0.0.5"
       sources."single-line-log-0.4.1"
-      (sources."request-2.16.6" // {
-        dependencies = [
-          sources."mime-1.2.11"
-        ];
-      })
-      (sources."form-data-0.0.10" // {
-        dependencies = [
-          sources."mime-1.2.11"
-        ];
-      })
+      sources."request-2.16.6"
+      sources."form-data-0.0.10"
       sources."hawk-0.10.2"
       sources."node-uuid-1.4.8"
       sources."cookie-jar-0.2.0"
@@ -25603,13 +25322,7 @@ in
       sources."codepage-1.4.0"
       sources."utfx-1.0.1"
       sources."voc-1.0.0"
-      (sources."concat-stream-1.6.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."concat-stream-1.6.0"
       sources."exit-on-epipe-1.0.1"
       sources."commander-2.11.0"
       sources."typedarray-0.0.6"
@@ -25657,18 +25370,14 @@ in
       })
       (sources."cordova-lib-7.1.0" // {
         dependencies = [
-          sources."glob-7.1.1"
           sources."nopt-4.0.1"
-          sources."plist-2.0.1"
-          sources."shelljs-0.3.0"
-          sources."base64-js-1.1.2"
-          sources."xmlbuilder-8.2.2"
+          sources."cordova-common-2.0.3"
+          sources."q-1.5.1"
         ];
       })
       sources."editor-1.0.0"
       (sources."insight-0.8.2" // {
         dependencies = [
-          sources."async-1.5.2"
           sources."configstore-1.4.0"
         ];
       })
@@ -25682,14 +25391,14 @@ in
       sources."dot-prop-3.0.0"
       sources."graceful-fs-4.1.11"
       sources."mkdirp-0.5.1"
-      sources."object-assign-4.1.1"
+      sources."object-assign-3.0.0"
       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."is-obj-1.0.1"
-      sources."minimist-0.0.8"
+      sources."minimist-1.2.0"
       sources."os-homedir-1.0.2"
       sources."imurmurhash-0.1.4"
       sources."slide-1.1.6"
@@ -25697,12 +25406,12 @@ in
       sources."bplist-parser-0.1.1"
       sources."cordova-registry-mapper-1.1.15"
       sources."elementtree-0.1.6"
-      sources."glob-5.0.15"
+      sources."glob-7.1.2"
       sources."minimatch-3.0.4"
-      sources."plist-1.2.0"
+      sources."plist-2.0.1"
       sources."semver-5.4.1"
       sources."shelljs-0.5.3"
-      sources."underscore-1.8.3"
+      sources."underscore-1.2.1"
       sources."unorm-1.4.1"
       sources."big-integer-1.6.25"
       sources."sax-0.3.5"
@@ -25714,139 +25423,56 @@ in
       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"
+      sources."base64-js-1.1.2"
+      sources."xmlbuilder-8.2.2"
       sources."xmldom-0.1.27"
       sources."util-deprecate-1.0.2"
       sources."lodash-3.10.1"
       sources."aliasify-2.1.0"
       (sources."cordova-create-1.1.1" // {
         dependencies = [
-          (sources."cordova-common-2.0.3" // {
-            dependencies = [
-              sources."q-1.5.1"
-              sources."shelljs-0.5.3"
-            ];
-          })
-          (sources."cordova-fetch-1.1.0" // {
-            dependencies = [
-              sources."q-1.5.1"
-              sources."shelljs-0.7.8"
-            ];
-          })
-          sources."shelljs-0.3.0"
-          sources."glob-7.1.2"
-        ];
-      })
-      (sources."cordova-fetch-1.2.0" // {
-        dependencies = [
-          sources."q-1.5.1"
-          sources."shelljs-0.7.8"
-          sources."glob-7.1.2"
+          sources."q-1.4.1"
         ];
       })
+      sources."cordova-fetch-1.1.0"
       sources."cordova-js-4.2.2"
       sources."cordova-serve-2.0.0"
-      (sources."dep-graph-1.1.0" // {
-        dependencies = [
-          sources."underscore-1.2.1"
-        ];
-      })
-      (sources."init-package-json-1.10.1" // {
-        dependencies = [
-          sources."glob-7.1.2"
-        ];
-      })
-      (sources."npm-2.15.12" // {
-        dependencies = [
-          sources."abbrev-1.0.9"
-          sources."glob-7.0.6"
-          sources."hosted-git-info-2.1.5"
-          (sources."init-package-json-1.9.6" // {
-            dependencies = [
-              sources."glob-7.1.2"
-              sources."validate-npm-package-name-3.0.0"
-            ];
-          })
-          sources."nopt-3.0.6"
-          sources."normalize-package-data-2.3.8"
-          sources."npm-package-arg-4.1.1"
-          sources."readable-stream-2.1.5"
-          sources."request-2.74.0"
-          sources."semver-5.1.1"
-          sources."validate-npm-package-name-2.2.2"
-          sources."write-file-atomic-1.1.4"
-          sources."isarray-1.0.0"
-          sources."string_decoder-0.10.31"
-          sources."qs-6.2.3"
-          sources."builtins-0.0.7"
-        ];
-      })
+      sources."dep-graph-1.1.0"
+      sources."init-package-json-1.10.1"
+      sources."npm-2.15.12"
       sources."opener-1.4.2"
       sources."properties-parser-0.3.1"
-      (sources."request-2.79.0" // {
-        dependencies = [
-          sources."form-data-2.1.4"
-          sources."qs-6.3.2"
-          sources."uuid-3.1.0"
-        ];
-      })
+      sources."request-2.79.0"
       sources."tar-2.2.1"
       sources."valid-identifier-0.0.1"
-      (sources."xcode-0.9.3" // {
-        dependencies = [
-          sources."uuid-3.0.1"
-        ];
-      })
+      sources."xcode-0.9.3"
       sources."browserify-transform-tools-1.7.0"
       sources."falafel-2.1.0"
       sources."through-2.3.8"
-      sources."acorn-5.2.1"
+      sources."acorn-4.0.13"
       sources."foreach-2.0.5"
-      sources."isarray-0.0.1"
+      sources."isarray-1.0.0"
       sources."object-keys-1.0.11"
       sources."cordova-app-hello-world-3.12.0"
-      (sources."dependency-ls-1.1.1" // {
-        dependencies = [
-          sources."q-1.4.1"
-        ];
-      })
+      sources."dependency-ls-1.1.1"
       sources."is-url-1.2.2"
       sources."interpret-1.0.4"
       sources."rechoir-0.6.2"
       sources."fs.realpath-1.0.0"
-      sources."resolve-1.5.0"
+      sources."resolve-1.1.7"
       sources."path-parse-1.0.5"
-      (sources."browserify-14.4.0" // {
-        dependencies = [
-          sources."glob-7.1.2"
-        ];
-      })
+      sources."browserify-14.4.0"
       sources."JSONStream-1.3.1"
       sources."assert-1.4.1"
       sources."browser-pack-6.0.2"
-      (sources."browser-resolve-1.11.2" // {
-        dependencies = [
-          sources."resolve-1.1.7"
-        ];
-      })
+      sources."browser-resolve-1.11.2"
       sources."browserify-zlib-0.1.4"
-      (sources."buffer-5.0.8" // {
-        dependencies = [
-          sources."base64-js-1.2.1"
-        ];
-      })
+      sources."buffer-5.0.8"
       sources."cached-path-relative-1.0.1"
-      (sources."concat-stream-1.5.2" // {
-        dependencies = [
-          sources."readable-stream-2.0.6"
-          sources."isarray-1.0.0"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."concat-stream-1.5.2"
       sources."console-browserify-1.1.0"
       sources."constants-browserify-1.0.0"
-      sources."crypto-browserify-3.11.1"
+      sources."crypto-browserify-3.12.0"
       sources."defined-1.0.0"
       sources."deps-sort-2.0.0"
       sources."domain-browser-1.1.7"
@@ -25865,39 +25491,19 @@ in
       sources."punycode-1.4.1"
       sources."querystring-es3-0.2.1"
       sources."read-only-stream-2.0.0"
-      (sources."readable-stream-2.3.3" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-        ];
-      })
+      sources."readable-stream-2.3.3"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."stream-browserify-2.0.1"
       sources."stream-http-2.7.2"
       sources."string_decoder-1.0.3"
-      (sources."subarg-1.0.0" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
-      (sources."syntax-error-1.3.0" // {
-        dependencies = [
-          sources."acorn-4.0.13"
-        ];
-      })
+      sources."subarg-1.0.0"
+      sources."syntax-error-1.3.0"
       sources."through2-2.0.3"
       sources."timers-browserify-1.4.2"
       sources."tty-browserify-0.0.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
-      (sources."util-0.10.3" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-        ];
-      })
+      sources."url-0.11.0"
+      sources."util-0.10.3"
       sources."vm-browserify-0.0.4"
       sources."xtend-4.0.1"
       sources."jsonparse-1.3.1"
@@ -25922,6 +25528,7 @@ in
       sources."pbkdf2-3.0.14"
       sources."public-encrypt-4.0.0"
       sources."randombytes-2.0.5"
+      sources."randomfill-1.0.3"
       sources."browserify-aes-1.1.1"
       sources."browserify-des-1.0.0"
       sources."evp_bytestokey-1.0.3"
@@ -25931,7 +25538,7 @@ in
       sources."des.js-1.0.0"
       sources."minimalistic-assert-1.0.0"
       sources."md5.js-1.3.4"
-      sources."hash-base-3.0.4"
+      sources."hash-base-2.0.2"
       sources."bn.js-4.11.8"
       sources."browserify-rsa-4.0.1"
       sources."elliptic-6.4.0"
@@ -25941,27 +25548,15 @@ in
       sources."hmac-drbg-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."asn1.js-4.9.2"
-      (sources."ripemd160-2.0.1" // {
-        dependencies = [
-          sources."hash-base-2.0.2"
-        ];
-      })
+      sources."ripemd160-2.0.1"
       sources."sha.js-2.4.9"
       sources."miller-rabin-4.0.1"
       sources."function-bind-1.1.1"
       sources."is-buffer-1.1.6"
       sources."lexical-scope-1.2.0"
-      (sources."astw-2.2.0" // {
-        dependencies = [
-          sources."acorn-4.0.13"
-        ];
-      })
+      sources."astw-2.2.0"
       sources."stream-splicer-2.0.0"
-      (sources."detective-4.5.0" // {
-        dependencies = [
-          sources."acorn-4.0.13"
-        ];
-      })
+      sources."detective-4.5.0"
       sources."stream-combiner2-1.1.1"
       sources."path-platform-0.11.15"
       sources."json-stable-stringify-0.0.1"
@@ -26011,19 +25606,15 @@ in
       sources."parseurl-1.3.2"
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-2.0.2"
-      sources."qs-6.5.1"
+      sources."qs-6.3.2"
       sources."range-parser-1.2.0"
       sources."send-0.16.1"
       sources."serve-static-1.13.1"
-      sources."setprototypeof-1.1.0"
+      sources."setprototypeof-1.0.3"
       sources."statuses-1.3.1"
       sources."type-is-1.6.15"
       sources."utils-merge-1.0.1"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."setprototypeof-1.0.3"
-        ];
-      })
+      sources."http-errors-1.6.2"
       sources."iconv-lite-0.4.19"
       sources."raw-body-2.3.2"
       sources."unpipe-1.0.0"
@@ -26036,15 +25627,11 @@ in
       sources."npm-package-arg-5.1.2"
       sources."promzard-0.3.0"
       sources."read-1.0.7"
-      (sources."read-package-json-2.0.12" // {
-        dependencies = [
-          sources."glob-7.1.2"
-        ];
-      })
+      sources."read-package-json-2.0.12"
       sources."validate-npm-package-license-3.0.1"
       sources."validate-npm-package-name-3.0.0"
       sources."hosted-git-info-2.5.0"
-      sources."mute-stream-0.0.7"
+      sources."mute-stream-0.0.5"
       sources."json-parse-better-errors-1.0.1"
       sources."normalize-package-data-2.4.0"
       sources."slash-1.0.0"
@@ -26055,113 +25642,26 @@ in
       sources."spdx-license-ids-1.2.2"
       sources."builtins-1.0.3"
       sources."abbrev-1.1.1"
-      sources."ansicolors-0.3.2"
-      sources."ansistyles-0.1.3"
-      sources."archy-1.0.0"
-      sources."async-some-1.0.2"
-      sources."block-stream-0.0.9"
-      sources."char-spinner-1.0.1"
-      sources."chmodr-1.0.2"
-      sources."chownr-1.0.1"
-      sources."cmd-shim-2.0.2"
-      sources."columnify-1.5.4"
-      sources."config-chain-1.1.11"
-      sources."dezalgo-1.0.3"
-      sources."fs-vacuum-1.2.10"
-      sources."fs-write-stream-atomic-1.0.10"
-      sources."fstream-1.0.11"
-      sources."fstream-npm-1.1.1"
-      sources."github-url-from-git-1.4.0"
-      sources."github-url-from-username-repo-1.0.2"
-      sources."ini-1.3.4"
-      sources."lockfile-1.0.3"
-      sources."lru-cache-4.0.2"
-      (sources."node-gyp-3.6.2" // {
-        dependencies = [
-          sources."glob-7.1.2"
-          sources."semver-5.3.0"
-        ];
-      })
-      sources."normalize-git-url-3.0.2"
-      sources."npm-cache-filename-1.0.2"
-      sources."npm-install-checks-1.0.7"
-      (sources."npm-registry-client-7.2.1" // {
-        dependencies = [
-          sources."npm-package-arg-4.2.1"
-        ];
-      })
-      sources."npm-user-validate-0.1.5"
-      sources."npmlog-2.0.4"
-      sources."path-is-inside-1.0.2"
-      sources."read-installed-4.0.3"
-      (sources."realize-package-specifier-3.0.3" // {
-        dependencies = [
-          sources."npm-package-arg-4.2.1"
-        ];
-      })
-      sources."retry-0.10.1"
-      (sources."rimraf-2.5.4" // {
-        dependencies = [
-          sources."glob-7.1.2"
-        ];
-      })
-      sources."sha-2.0.1"
-      sources."sorted-object-2.0.1"
-      sources."text-table-0.2.0"
-      sources."uid-number-0.0.6"
-      sources."umask-1.1.0"
-      sources."which-1.2.14"
-      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.6"
-      sources."iferr-0.1.5"
-      sources."fstream-ignore-1.0.5"
-      sources."pseudomap-1.0.2"
-      sources."yallist-2.1.2"
-      sources."are-we-there-yet-1.1.4"
-      sources."gauge-1.2.7"
-      sources."delegates-1.0.0"
-      sources."has-unicode-2.0.1"
-      sources."lodash.pad-4.5.1"
-      sources."lodash.padend-4.6.1"
-      sources."lodash.padstart-4.6.1"
-      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."string.prototype.codepointat-0.2.0"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
-      (sources."bl-1.1.2" // {
-        dependencies = [
-          sources."readable-stream-2.0.6"
-          sources."isarray-1.0.0"
-          sources."string_decoder-0.10.31"
-        ];
-      })
       sources."caseless-0.11.0"
       sources."combined-stream-1.0.5"
       sources."extend-3.0.1"
       sources."forever-agent-0.6.1"
-      sources."form-data-1.0.1"
+      sources."form-data-2.1.4"
       sources."har-validator-2.0.6"
       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."node-uuid-1.4.8"
       sources."oauth-sign-0.8.2"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.3"
       sources."tunnel-agent-0.4.3"
       sources."delayed-stream-1.0.0"
-      (sources."async-2.5.0" // {
-        dependencies = [
-          sources."lodash-4.17.4"
-        ];
-      })
+      sources."asynckit-0.4.0"
       sources."commander-2.11.0"
       sources."is-my-json-valid-2.16.1"
       sources."pinkie-promise-2.0.1"
@@ -26174,64 +25674,36 @@ in
       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.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
       sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.10.0"
       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."dashdash-1.14.1"
+      sources."getpass-0.1.7"
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
-      sources."isexe-2.0.0"
-      sources."string.prototype.codepointat-0.2.0"
-      sources."asynckit-0.4.0"
+      sources."block-stream-0.0.9"
+      sources."fstream-1.0.11"
+      sources."rimraf-2.6.2"
       sources."pegjs-0.10.0"
-      (sources."simple-plist-0.2.1" // {
-        dependencies = [
-          sources."plist-2.0.1"
-          sources."base64-js-1.1.2"
-          sources."xmlbuilder-8.2.2"
-        ];
-      })
+      sources."simple-plist-0.2.1"
       sources."bplist-creator-0.0.7"
       sources."stream-buffers-2.2.0"
+      sources."async-1.5.2"
       sources."inquirer-0.10.1"
       sources."lodash.debounce-3.1.1"
+      sources."node-uuid-1.4.8"
       sources."os-name-1.0.3"
       sources."ansi-escapes-1.4.0"
       sources."cli-cursor-1.0.2"
       sources."cli-width-1.1.1"
       sources."figures-1.7.0"
-      (sources."readline2-1.0.1" // {
-        dependencies = [
-          sources."mute-stream-0.0.5"
-        ];
-      })
+      sources."readline2-1.0.1"
       sources."run-async-0.1.0"
       sources."rx-lite-3.1.2"
       sources."restore-cursor-1.0.1"
@@ -26241,11 +25713,7 @@ in
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."lodash._getnative-3.9.1"
-      (sources."osx-release-1.1.0" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."osx-release-1.1.0"
       sources."win-release-1.1.1"
       sources."is-npm-1.0.0"
       sources."latest-version-1.0.1"
@@ -26253,11 +25721,7 @@ in
       sources."semver-diff-2.1.0"
       sources."string-length-1.0.1"
       sources."package-json-1.2.0"
-      (sources."got-3.3.1" // {
-        dependencies = [
-          sources."object-assign-3.0.0"
-        ];
-      })
+      sources."got-3.3.1"
       sources."registry-url-3.1.0"
       sources."duplexify-3.5.1"
       sources."infinity-agent-2.0.3"
@@ -26270,12 +25734,9 @@ in
       sources."timed-out-2.0.0"
       sources."end-of-stream-1.4.0"
       sources."stream-shift-1.0.0"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."rc-1.2.2"
       sources."deep-extend-0.4.2"
+      sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
       sources."is-finite-1.0.2"
     ];
@@ -26342,9 +25803,7 @@ in
       sources."hiredis-0.4.1"
       (sources."json-rpc2-0.8.1" // {
         dependencies = [
-          sources."debug-1.0.5"
           sources."lodash-2.4.2"
-          sources."ms-2.0.0"
         ];
       })
       sources."lodash-3.1.0"
@@ -26358,17 +25817,8 @@ in
       sources."properties-1.2.1"
       sources."redis-0.12.1"
       sources."string-2.0.1"
-      (sources."winston-0.8.0" // {
-        dependencies = [
-          sources."async-0.2.10"
-        ];
-      })
-      (sources."superagent-0.21.0" // {
-        dependencies = [
-          sources."qs-1.2.0"
-          sources."methods-1.0.1"
-        ];
-      })
+      sources."winston-0.8.0"
+      sources."superagent-0.21.0"
       sources."through-2.3.8"
       sources."duplexer-0.1.1"
       sources."from-0.1.7"
@@ -26379,36 +25829,31 @@ in
       sources."accepts-1.2.13"
       sources."content-disposition-0.5.0"
       sources."cookie-signature-1.0.5"
-      sources."debug-2.1.3"
+      sources."debug-2.6.9"
       sources."depd-1.0.1"
       sources."escape-html-1.0.1"
       sources."etag-1.5.1"
       sources."finalhandler-0.3.3"
       sources."fresh-0.2.4"
       sources."media-typer-0.3.0"
-      sources."methods-1.1.2"
+      sources."methods-1.0.1"
       sources."on-finished-2.2.1"
       sources."parseurl-1.3.2"
       sources."path-to-regexp-0.1.3"
       sources."proxy-addr-1.0.10"
-      sources."qs-2.3.3"
+      sources."qs-1.2.0"
       sources."range-parser-1.0.3"
       sources."send-0.11.1"
       sources."serve-static-1.8.1"
-      (sources."type-is-1.5.7" // {
-        dependencies = [
-          sources."mime-types-2.0.14"
-          sources."mime-db-1.12.0"
-        ];
-      })
+      sources."type-is-1.5.7"
       sources."vary-1.0.1"
       sources."cookie-0.1.2"
       sources."merge-descriptors-0.0.2"
       sources."utils-merge-1.0.0"
-      sources."mime-types-2.1.17"
+      sources."mime-types-2.0.14"
       sources."negotiator-0.5.3"
-      sources."mime-db-1.30.0"
-      sources."ms-0.7.0"
+      sources."mime-db-1.12.0"
+      sources."ms-2.0.0"
       sources."crc-3.2.1"
       sources."ee-first-1.1.0"
       sources."forwarded-0.1.2"
@@ -26424,7 +25869,7 @@ in
       sources."better-curry-1.6.0"
       sources."websocket-driver-0.7.0"
       sources."http-parser-js-0.4.9"
-      sources."websocket-extensions-0.1.2"
+      sources."websocket-extensions-0.1.3"
       (sources."native-dns-cache-git+https://github.com/okTurtles/native-dns-cache.git#8714196bb9223cc9a4064a4fddf9e82ec50b7d4d" // {
         dependencies = [
           sources."native-dns-packet-git+https://github.com/okTurtles/native-dns-packet.git#307e77a47ebba57a5ae9118a284e916e5ebb305a"
@@ -26487,28 +25932,18 @@ in
       sources."level-0.18.0"
       (sources."level-sublevel-6.6.1" // {
         dependencies = [
-          (sources."levelup-0.19.1" // {
-            dependencies = [
-              sources."xtend-3.0.0"
-            ];
-          })
-          sources."readable-stream-1.0.34"
+          sources."levelup-0.19.1"
+          sources."xtend-3.0.0"
         ];
       })
       sources."leveldown-0.10.6"
       (sources."levelup-0.18.6" // {
         dependencies = [
-          sources."readable-stream-1.0.34"
-          sources."semver-2.3.2"
           sources."xtend-3.0.0"
         ];
       })
       sources."lexicographic-integer-1.1.0"
-      (sources."memdown-0.10.2" // {
-        dependencies = [
-          sources."ltgt-1.0.2"
-        ];
-      })
+      sources."memdown-0.10.2"
       sources."minimist-0.2.0"
       (sources."mkdirp-0.5.1" // {
         dependencies = [
@@ -26520,9 +25955,6 @@ in
           sources."minimist-1.2.0"
           sources."split2-2.2.0"
           sources."through2-2.0.3"
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
         ];
       })
       sources."pump-1.0.2"
@@ -26532,19 +25964,8 @@ in
       sources."sorted-union-stream-1.0.2"
       sources."split2-0.2.1"
       sources."stream-collector-1.0.1"
-      (sources."tar-stream-1.5.4" // {
-        dependencies = [
-          sources."bl-1.2.1"
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      (sources."through2-0.6.5" // {
-        dependencies = [
-          sources."readable-stream-1.0.34"
-        ];
-      })
+      sources."tar-stream-1.5.5"
+      sources."through2-0.6.5"
       sources."thunky-0.1.0"
       sources."xtend-4.0.1"
       sources."jsonparse-0.0.5"
@@ -26554,17 +25975,11 @@ in
       sources."once-1.4.0"
       sources."wrappy-1.0.2"
       sources."inherits-2.0.3"
-      sources."readable-stream-1.1.14"
+      sources."readable-stream-1.0.34"
       sources."core-util-is-1.0.2"
       sources."isarray-0.0.1"
       sources."string_decoder-0.10.31"
-      (sources."duplexify-3.5.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."duplexify-3.5.1"
       sources."lru-cache-2.7.3"
       sources."stream-shift-1.0.0"
       sources."process-nextick-args-1.0.7"
@@ -26572,38 +25987,26 @@ in
       sources."util-deprecate-1.0.2"
       sources."level-packager-0.18.0"
       sources."bytewise-1.1.0"
-      sources."ltgt-2.1.3"
+      sources."ltgt-1.0.2"
       sources."pull-level-2.0.3"
       sources."pull-stream-3.6.1"
       sources."typewiselite-1.0.0"
       sources."bytewise-core-1.2.3"
       sources."typewise-1.0.3"
       sources."typewise-core-1.2.0"
-      (sources."bl-0.8.2" // {
-        dependencies = [
-          sources."readable-stream-1.0.34"
-        ];
-      })
+      sources."bl-1.2.1"
       sources."deferred-leveldown-0.2.0"
       sources."errno-0.1.4"
       sources."prr-0.0.0"
-      sources."semver-5.1.1"
-      (sources."abstract-leveldown-0.12.4" // {
-        dependencies = [
-          sources."xtend-3.0.0"
-        ];
-      })
+      sources."semver-2.3.2"
+      sources."abstract-leveldown-0.12.4"
       sources."level-post-1.0.5"
       sources."pull-cat-1.1.11"
       sources."pull-live-1.0.1"
       sources."pull-pushable-2.1.1"
       sources."pull-window-2.1.4"
-      (sources."stream-to-pull-stream-1.7.2" // {
-        dependencies = [
-          sources."looper-3.0.0"
-        ];
-      })
-      sources."looper-2.0.0"
+      sources."stream-to-pull-stream-1.7.2"
+      sources."looper-3.0.0"
       sources."bindings-1.2.1"
       sources."nan-2.1.0"
       sources."json-stringify-safe-5.0.1"
@@ -26629,9 +26032,9 @@ in
     };
     dependencies = [
       sources."JSONStream-1.3.1"
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."aws4-1.6.0"
-      sources."aws-sdk-2.141.0"
+      sources."aws-sdk-2.149.0"
       sources."ini-1.3.4"
       sources."optimist-0.6.1"
       sources."request-2.83.0"
@@ -26651,7 +26054,7 @@ in
       sources."base64-js-1.2.1"
       sources."ieee754-1.1.8"
       sources."isarray-1.0.0"
-      sources."punycode-1.3.2"
+      sources."punycode-1.4.1"
       sources."wordwrap-0.0.3"
       sources."minimist-0.0.10"
       sources."aws-sign2-0.7.0"
@@ -26672,11 +26075,7 @@ in
       sources."qs-6.5.1"
       sources."safe-buffer-5.1.1"
       sources."stringstream-0.0.5"
-      (sources."tough-cookie-2.3.3" // {
-        dependencies = [
-          sources."punycode-1.4.1"
-        ];
-      })
+      sources."tough-cookie-2.3.3"
       sources."tunnel-agent-0.6.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
@@ -26687,12 +26086,8 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
       sources."sntp-2.1.0"
       sources."assert-plus-1.0.0"
       sources."jsprim-1.4.1"
@@ -26718,6 +26113,183 @@ in
     };
     production = true;
   };
+  elm-test = nodeEnv.buildNodePackage {
+    name = "elm-test";
+    packageName = "elm-test";
+    version = "0.18.9";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/elm-test/-/elm-test-0.18.9.tgz";
+      sha512 = "0lkwqwzgjfg8d0cm1mz3l0s5hy81y19j8lmwkkcrkz5injj4n3zj3f4bwdpspspwpjv6wb8skgn7i3c7dn0hl8xwh168kjqys2ris3w";
+    };
+    dependencies = [
+      (sources."binstall-1.2.0" // {
+        dependencies = [
+          sources."chalk-1.1.3"
+          sources."supports-color-2.0.0"
+          sources."minimist-0.0.8"
+        ];
+      })
+      sources."chalk-2.1.0"
+      sources."chokidar-1.6.0"
+      sources."cross-spawn-4.0.0"
+      sources."find-parent-dir-0.3.0"
+      sources."firstline-1.2.1"
+      sources."fs-extra-0.30.0"
+      sources."fsevents-1.1.2"
+      sources."glob-7.1.2"
+      sources."lodash-4.13.1"
+      sources."minimist-1.2.0"
+      sources."murmur-hash-js-1.0.0"
+      (sources."node-elm-compiler-4.3.3" // {
+        dependencies = [
+          sources."lodash-4.14.2"
+          sources."firstline-1.2.0"
+        ];
+      })
+      sources."supports-color-4.2.0"
+      sources."xmlbuilder-8.2.2"
+      sources."request-2.79.0"
+      sources."tar-2.2.1"
+      sources."aws-sign2-0.6.0"
+      sources."aws4-1.6.0"
+      sources."caseless-0.11.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-2.0.6"
+      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."mime-types-2.1.17"
+      sources."oauth-sign-0.8.2"
+      sources."qs-6.3.2"
+      sources."stringstream-0.0.5"
+      sources."tough-cookie-2.3.3"
+      sources."tunnel-agent-0.4.3"
+      sources."uuid-3.1.0"
+      sources."delayed-stream-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."commander-2.11.0"
+      sources."is-my-json-valid-2.16.1"
+      sources."pinkie-promise-2.0.1"
+      sources."ansi-styles-3.2.0"
+      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."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."pinkie-2.0.4"
+      sources."hoek-2.16.3"
+      sources."boom-2.10.1"
+      sources."cryptiles-2.0.5"
+      sources."sntp-1.0.9"
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
+      sources."extsprintf-1.3.0"
+      sources."json-schema-0.2.3"
+      sources."verror-1.10.0"
+      sources."core-util-is-1.0.2"
+      sources."asn1-0.2.3"
+      sources."dashdash-1.14.1"
+      sources."getpass-0.1.7"
+      sources."jsbn-0.1.1"
+      sources."tweetnacl-0.14.5"
+      sources."ecc-jsbn-0.1.1"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."mime-db-1.30.0"
+      sources."punycode-1.4.1"
+      sources."block-stream-0.0.9"
+      sources."fstream-1.0.11"
+      sources."inherits-2.0.3"
+      sources."graceful-fs-4.1.11"
+      sources."mkdirp-0.5.1"
+      sources."rimraf-2.2.8"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."anymatch-1.3.2"
+      sources."async-each-1.0.1"
+      sources."glob-parent-2.0.0"
+      sources."is-binary-path-1.0.1"
+      sources."is-glob-2.0.1"
+      sources."path-is-absolute-1.0.1"
+      sources."readdirp-2.1.0"
+      sources."micromatch-2.3.11"
+      sources."normalize-path-2.1.1"
+      sources."arr-diff-2.0.0"
+      sources."array-unique-0.2.1"
+      sources."braces-1.8.5"
+      sources."expand-brackets-0.1.5"
+      sources."extglob-0.3.2"
+      sources."filename-regex-2.0.1"
+      sources."is-extglob-1.0.0"
+      sources."kind-of-3.2.2"
+      sources."object.omit-2.0.1"
+      sources."parse-glob-3.0.4"
+      sources."regex-cache-0.4.4"
+      sources."arr-flatten-1.1.0"
+      sources."expand-range-1.8.2"
+      sources."preserve-0.2.0"
+      sources."repeat-element-1.1.2"
+      sources."fill-range-2.2.3"
+      sources."is-number-3.0.0"
+      sources."isobject-2.1.0"
+      sources."randomatic-1.1.7"
+      sources."repeat-string-1.6.1"
+      sources."isarray-1.0.0"
+      sources."is-buffer-1.1.6"
+      sources."is-posix-bracket-0.1.1"
+      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.3"
+      sources."is-equal-shallow-0.1.3"
+      sources."is-primitive-2.0.0"
+      sources."remove-trailing-separator-1.1.0"
+      sources."binary-extensions-1.10.0"
+      sources."minimatch-3.0.4"
+      sources."readable-stream-2.3.3"
+      sources."set-immediate-shim-1.0.1"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
+      sources."concat-map-0.0.1"
+      sources."process-nextick-args-1.0.7"
+      sources."safe-buffer-5.1.1"
+      sources."string_decoder-1.0.3"
+      sources."util-deprecate-1.0.2"
+      sources."lru-cache-4.1.1"
+      sources."which-1.3.0"
+      sources."pseudomap-1.0.2"
+      sources."yallist-2.1.2"
+      sources."isexe-2.0.0"
+      sources."jsonfile-2.4.0"
+      sources."klaw-1.3.1"
+      sources."nan-2.7.0"
+      sources."fs.realpath-1.0.0"
+      sources."inflight-1.0.6"
+      sources."once-1.4.0"
+      sources."wrappy-1.0.2"
+      sources."find-elm-dependencies-1.0.2"
+      sources."temp-0.8.3"
+      sources."os-tmpdir-1.0.2"
+      sources."has-flag-2.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Run elm-test suites.";
+      homepage = "https://github.com/rtfeldman/node-test-runner#readme";
+      license = "BSD-3-Clause";
+    };
+    production = true;
+  };
   emoj = nodeEnv.buildNodePackage {
     name = "emoj";
     packageName = "emoj";
@@ -26728,28 +26300,22 @@ in
     };
     dependencies = [
       sources."auto-bind-1.1.0"
-      sources."clipboardy-1.1.4"
+      sources."clipboardy-1.2.1"
       sources."conf-1.3.1"
       sources."got-7.1.0"
       sources."has-ansi-3.0.0"
-      sources."import-jsx-1.3.0"
-      (sources."ink-0.3.1" // {
+      (sources."import-jsx-1.3.0" // {
         dependencies = [
-          sources."chalk-2.3.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
+          sources."has-ansi-2.0.0"
         ];
       })
+      sources."ink-0.3.1"
       sources."ink-text-input-1.1.1"
       sources."lodash.debounce-4.0.8"
       sources."mem-1.1.0"
-      (sources."meow-3.7.0" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."meow-3.7.0"
       sources."skin-tone-1.0.0"
-      sources."execa-0.6.3"
+      sources."execa-0.8.0"
       sources."cross-spawn-5.1.0"
       sources."get-stream-3.0.0"
       sources."is-stream-1.1.0"
@@ -26771,11 +26337,11 @@ in
       sources."pkg-up-2.0.0"
       sources."write-file-atomic-2.3.0"
       sources."is-obj-1.0.1"
-      sources."pify-3.0.0"
-      sources."find-up-2.1.0"
+      sources."pify-2.3.0"
+      sources."find-up-1.1.2"
       sources."locate-path-2.0.0"
       sources."p-locate-2.0.0"
-      sources."path-exists-3.0.0"
+      sources."path-exists-2.1.0"
       sources."p-limit-1.1.0"
       sources."graceful-fs-4.1.11"
       sources."imurmurhash-0.1.4"
@@ -26823,35 +26389,26 @@ in
       sources."private-0.1.8"
       sources."slash-1.0.0"
       sources."source-map-0.5.7"
-      (sources."chalk-1.1.3" // {
-        dependencies = [
-          sources."has-ansi-2.0.0"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
+      sources."chalk-2.3.0"
       sources."esutils-2.0.2"
       sources."js-tokens-3.0.2"
-      sources."ansi-styles-2.2.1"
+      sources."ansi-styles-3.2.0"
       sources."escape-string-regexp-1.0.5"
-      (sources."strip-ansi-3.0.1" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."supports-color-2.0.0"
+      sources."strip-ansi-4.0.0"
+      sources."supports-color-4.5.0"
       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.5.1"
+      sources."core-js-1.2.7"
       sources."home-or-tmp-2.0.0"
       sources."mkdirp-0.5.1"
       sources."source-map-support-0.4.18"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
-      sources."minimist-0.0.8"
+      sources."minimist-1.2.0"
       sources."regenerator-runtime-0.11.0"
       sources."globals-9.18.0"
       sources."invariant-2.2.2"
@@ -26867,35 +26424,23 @@ in
       sources."caller-callsite-2.0.0"
       sources."callsites-2.0.0"
       sources."arrify-1.0.1"
-      sources."indent-string-3.2.0"
+      sources."indent-string-2.1.0"
       sources."lodash.flattendeep-4.4.0"
       sources."lodash.isequal-4.5.0"
-      sources."log-update-2.2.0"
+      sources."log-update-2.3.0"
       sources."prop-types-15.6.0"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
       sources."ansi-escapes-3.0.0"
       sources."cli-cursor-2.1.0"
-      (sources."wrap-ansi-3.0.1" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-        ];
-      })
+      sources."wrap-ansi-3.0.1"
       sources."restore-cursor-2.0.0"
       sources."onetime-2.0.1"
       sources."mimic-fn-1.1.0"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-        ];
-      })
+      sources."string-width-2.1.1"
       sources."is-fullwidth-code-point-2.0.0"
-      (sources."fbjs-0.8.16" // {
-        dependencies = [
-          sources."core-js-1.2.7"
-        ];
-      })
+      sources."fbjs-0.8.16"
       sources."object-assign-4.1.1"
       sources."isomorphic-fetch-2.2.1"
       sources."promise-7.3.1"
@@ -26911,17 +26456,8 @@ in
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."normalize-package-data-2.4.0"
-      (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" // {
-        dependencies = [
-          sources."indent-string-2.1.0"
-        ];
-      })
+      sources."read-pkg-up-1.0.1"
+      sources."redent-1.0.0"
       sources."trim-newlines-1.0.0"
       sources."camelcase-2.1.1"
       sources."currently-unhandled-0.4.1"
@@ -26937,16 +26473,8 @@ in
       sources."read-pkg-1.1.0"
       sources."pinkie-promise-2.0.1"
       sources."pinkie-2.0.4"
-      (sources."load-json-file-1.1.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      (sources."path-type-1.1.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
+      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"
@@ -26967,10 +26495,10 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "4.10.0";
+    version = "4.11.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-4.10.0.tgz";
-      sha512 = "284ihlnpkrds6jd5rwdbmknxhci60p5sv24p9aad5ra2rjwb1pcakk3p630bggahmq6jjsxngj9rfmpv31jy9gs29cl2qfxzzq6bi9h";
+      url = "https://registry.npmjs.org/eslint/-/eslint-4.11.0.tgz";
+      sha512 = "3p35ybksp5c5qbdwb9fpd0dhspjbpnlqhfh3jj7zl6zfcpvljm3fnhfzwx35h8rqb7wi3y3r9w22nabnh4jzm8zwwhnz5lajr1f2rji";
     };
     dependencies = [
       sources."ajv-5.3.0"
@@ -26980,18 +26508,13 @@ in
           sources."strip-ansi-3.0.1"
         ];
       })
-      (sources."chalk-2.3.0" // {
-        dependencies = [
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
-        ];
-      })
+      sources."chalk-2.3.0"
       sources."concat-stream-1.6.0"
       sources."cross-spawn-5.1.0"
       sources."debug-3.1.0"
       sources."doctrine-2.0.0"
       sources."eslint-scope-3.7.1"
-      sources."espree-3.5.1"
+      sources."espree-3.5.2"
       sources."esquery-1.0.0"
       sources."estraverse-4.2.0"
       sources."esutils-2.0.2"
@@ -27004,7 +26527,7 @@ in
       sources."inquirer-3.3.0"
       sources."is-resolvable-1.0.0"
       sources."js-yaml-3.10.0"
-      sources."json-stable-stringify-1.0.1"
+      sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.3.0"
       sources."lodash-4.17.4"
       sources."minimatch-3.0.4"
@@ -27016,11 +26539,7 @@ in
       sources."progress-2.0.0"
       sources."require-uncached-1.0.3"
       sources."semver-5.4.1"
-      (sources."strip-ansi-4.0.0" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."strip-ansi-4.0.0"
       sources."strip-json-comments-2.0.1"
       sources."table-4.0.2"
       sources."text-table-0.2.0"
@@ -27029,12 +26548,12 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."js-tokens-3.0.2"
-      sources."ansi-styles-2.2.1"
+      sources."ansi-styles-3.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."has-ansi-2.0.0"
-      sources."supports-color-2.0.0"
-      sources."ansi-regex-2.1.1"
-      sources."color-convert-1.9.0"
+      sources."supports-color-4.5.0"
+      sources."ansi-regex-3.0.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
       sources."inherits-2.0.3"
@@ -27056,12 +26575,8 @@ in
       sources."ms-2.0.0"
       sources."esrecurse-4.2.0"
       sources."object-assign-4.1.1"
-      sources."acorn-5.2.1"
-      (sources."acorn-jsx-3.0.1" // {
-        dependencies = [
-          sources."acorn-3.3.0"
-        ];
-      })
+      sources."acorn-3.3.0"
+      sources."acorn-jsx-3.0.1"
       sources."flat-cache-1.3.0"
       sources."circular-json-0.3.3"
       sources."del-2.2.2"
@@ -27108,7 +26623,6 @@ in
       sources."argparse-1.0.9"
       sources."esprima-4.0.0"
       sources."sprintf-js-1.0.3"
-      sources."jsonify-0.0.0"
       sources."prelude-ls-1.1.2"
       sources."type-check-0.3.2"
       sources."brace-expansion-1.1.8"
@@ -27146,35 +26660,32 @@ in
           sources."supports-color-2.0.0"
         ];
       })
-      (sources."eslint-4.10.0" // {
+      (sources."eslint-4.11.0" // {
         dependencies = [
           sources."chalk-2.3.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-styles-3.2.0"
           sources."supports-color-4.5.0"
-          sources."ansi-regex-3.0.0"
         ];
       })
       sources."optionator-0.8.2"
       sources."resolve-1.5.0"
-      (sources."supports-color-3.2.3" // {
-        dependencies = [
-          sources."has-flag-1.0.0"
-        ];
-      })
-      sources."ansi-styles-2.2.1"
+      sources."supports-color-3.2.3"
+      sources."ansi-styles-3.2.0"
       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."strip-ansi-4.0.0"
+      sources."ansi-regex-3.0.0"
       sources."ajv-5.3.0"
-      sources."babel-code-frame-6.26.0"
+      (sources."babel-code-frame-6.26.0" // {
+        dependencies = [
+          sources."chalk-1.1.3"
+        ];
+      })
       sources."concat-stream-1.6.0"
       sources."cross-spawn-5.1.0"
       sources."debug-3.1.0"
       sources."doctrine-2.0.0"
       sources."eslint-scope-3.7.1"
-      sources."espree-3.5.1"
+      sources."espree-3.5.2"
       sources."esquery-1.0.0"
       sources."estraverse-4.2.0"
       sources."esutils-2.0.2"
@@ -27184,18 +26695,10 @@ in
       sources."globals-9.18.0"
       sources."ignore-3.3.7"
       sources."imurmurhash-0.1.4"
-      (sources."inquirer-3.3.0" // {
-        dependencies = [
-          sources."chalk-2.3.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."inquirer-3.3.0"
       sources."is-resolvable-1.0.0"
       sources."js-yaml-3.10.0"
-      sources."json-stable-stringify-1.0.1"
+      sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.3.0"
       sources."lodash-4.17.4"
       sources."minimatch-3.0.4"
@@ -27207,22 +26710,16 @@ in
       sources."require-uncached-1.0.3"
       sources."semver-5.4.1"
       sources."strip-json-comments-2.0.1"
-      (sources."table-4.0.2" // {
-        dependencies = [
-          sources."chalk-2.3.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
-        ];
-      })
+      sources."table-4.0.2"
       sources."text-table-0.2.0"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."js-tokens-3.0.2"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
-      sources."has-flag-2.0.0"
+      sources."has-flag-1.0.0"
       sources."inherits-2.0.3"
       sources."typedarray-0.0.6"
       sources."readable-stream-2.3.3"
@@ -27242,12 +26739,8 @@ in
       sources."ms-2.0.0"
       sources."esrecurse-4.2.0"
       sources."object-assign-4.1.1"
-      sources."acorn-5.2.1"
-      (sources."acorn-jsx-3.0.1" // {
-        dependencies = [
-          sources."acorn-3.3.0"
-        ];
-      })
+      sources."acorn-3.3.0"
+      sources."acorn-jsx-3.0.1"
       sources."flat-cache-1.3.0"
       sources."circular-json-0.3.3"
       sources."del-2.2.2"
@@ -27278,12 +26771,7 @@ in
       sources."run-async-2.3.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."string-width-2.1.1"
       sources."through-2.3.8"
       sources."restore-cursor-2.0.0"
       sources."onetime-2.0.1"
@@ -27299,7 +26787,6 @@ in
       sources."argparse-1.0.9"
       sources."esprima-4.0.0"
       sources."sprintf-js-1.0.3"
-      sources."jsonify-0.0.0"
       sources."prelude-ls-1.1.2"
       sources."type-check-0.3.2"
       sources."brace-expansion-1.1.8"
@@ -27339,51 +26826,38 @@ in
     };
     production = true;
   };
-  fast-cli = nodeEnv.buildNodePackage {
+  "fast-cli-1.x" = nodeEnv.buildNodePackage {
     name = "fast-cli";
     packageName = "fast-cli";
-    version = "2.0.0";
+    version = "1.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/fast-cli/-/fast-cli-2.0.0.tgz";
-      sha512 = "261zykpcgv0r96yd3qck2g2a990psma49p37kdk1xgic657pv1jnp9n9js90hqv58spgmww85kig9bd7b05lyxagz4d8nm5algyc00x";
+      url = "https://registry.npmjs.org/fast-cli/-/fast-cli-1.0.0.tgz";
+      sha1 = "81f5f98043cc2517053f96ba5d61ef5db430c010";
     };
     dependencies = [
-      sources."chalk-2.3.0"
-      sources."log-update-2.2.0"
+      sources."chalk-1.1.3"
+      sources."log-update-1.0.2"
       sources."meow-3.7.0"
-      (sources."ora-1.3.0" // {
-        dependencies = [
-          sources."chalk-1.1.3"
-          sources."ansi-styles-2.2.1"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."puppeteer-0.11.0"
+      sources."ora-1.3.0"
+      sources."phantomjs-prebuilt-2.1.16"
+      sources."promise-phantom-3.1.6"
       sources."zen-observable-0.5.2"
-      sources."ansi-styles-3.2.0"
+      sources."ansi-styles-2.2.1"
       sources."escape-string-regexp-1.0.5"
-      sources."supports-color-4.5.0"
-      sources."color-convert-1.9.0"
-      sources."color-name-1.1.3"
-      sources."has-flag-2.0.0"
-      sources."ansi-escapes-3.0.0"
+      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."ansi-escapes-1.4.0"
       sources."cli-cursor-2.1.0"
-      sources."wrap-ansi-3.0.1"
       sources."restore-cursor-2.0.0"
+      sources."exit-hook-1.1.1"
       sources."onetime-2.0.1"
-      sources."signal-exit-3.0.2"
-      sources."mimic-fn-1.1.0"
-      sources."string-width-2.1.1"
-      sources."strip-ansi-4.0.0"
-      sources."is-fullwidth-code-point-2.0.0"
-      sources."ansi-regex-3.0.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."minimist-0.0.8"
       sources."normalize-package-data-2.4.0"
       sources."object-assign-4.1.1"
       sources."read-pkg-up-1.0.1"
@@ -27391,6 +26865,7 @@ in
       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.5.0"
       sources."is-builtin-module-1.0.0"
@@ -27421,35 +26896,20 @@ in
       sources."number-is-nan-1.0.1"
       sources."get-stdin-4.0.1"
       sources."cli-spinners-1.1.0"
-      (sources."log-symbols-1.0.2" // {
-        dependencies = [
-          sources."chalk-1.1.3"
-          sources."ansi-styles-2.2.1"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      (sources."has-ansi-2.0.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."debug-2.6.9"
+      sources."log-symbols-1.0.2"
+      sources."mimic-fn-1.1.0"
+      sources."es6-promise-4.1.1"
       sources."extract-zip-1.6.6"
-      sources."https-proxy-agent-2.1.0"
-      sources."mime-1.4.1"
-      sources."progress-2.0.0"
-      sources."proxy-from-env-1.0.0"
-      sources."rimraf-2.6.2"
-      sources."ws-3.2.0"
-      sources."ms-2.0.0"
+      sources."fs-extra-1.0.0"
+      sources."hasha-2.2.0"
+      sources."kew-0.7.0"
+      sources."progress-1.1.8"
+      sources."request-2.83.0"
+      sources."request-progress-2.0.1"
+      sources."which-1.3.0"
       sources."concat-stream-1.6.0"
-      (sources."mkdirp-0.5.0" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."debug-2.6.9"
+      sources."mkdirp-0.5.0"
       sources."yauzl-2.4.1"
       sources."inherits-2.0.3"
       sources."typedarray-0.0.6"
@@ -27460,23 +26920,66 @@ in
       sources."safe-buffer-5.1.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
+      sources."ms-2.0.0"
       sources."fd-slicer-1.0.1"
       sources."pend-1.2.0"
-      sources."agent-base-4.1.1"
-      sources."es6-promisify-5.0.0"
-      sources."es6-promise-4.1.1"
-      sources."glob-7.1.2"
-      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."async-limiter-1.0.0"
-      sources."ultron-1.1.0"
+      sources."jsonfile-2.4.0"
+      sources."klaw-1.3.1"
+      sources."is-stream-1.1.0"
+      sources."aws-sign2-0.7.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.3.1"
+      sources."har-validator-5.0.3"
+      sources."hawk-6.0.2"
+      sources."http-signature-1.2.0"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."json-stringify-safe-5.0.1"
+      sources."mime-types-2.1.17"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-2.1.0"
+      sources."qs-6.5.1"
+      sources."stringstream-0.0.5"
+      sources."tough-cookie-2.3.3"
+      sources."tunnel-agent-0.6.0"
+      sources."uuid-3.1.0"
+      sources."delayed-stream-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."ajv-5.3.0"
+      sources."har-schema-2.0.0"
+      sources."co-4.6.0"
+      sources."fast-deep-equal-1.0.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."json-schema-traverse-0.3.1"
+      sources."hoek-4.2.0"
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
+      sources."sntp-2.1.0"
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
+      sources."extsprintf-1.3.0"
+      sources."json-schema-0.2.3"
+      sources."verror-1.10.0"
+      sources."asn1-0.2.3"
+      sources."dashdash-1.14.1"
+      sources."getpass-0.1.7"
+      sources."jsbn-0.1.1"
+      sources."tweetnacl-0.14.5"
+      sources."ecc-jsbn-0.1.1"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."mime-db-1.30.0"
+      sources."punycode-1.4.1"
+      sources."throttleit-1.0.0"
+      sources."isexe-2.0.0"
+      sources."mkpath-1.0.0"
+      sources."node-phantom-simple-2.2.4"
+      sources."tmp-0.0.31"
+      sources."os-tmpdir-1.0.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -27525,17 +27028,22 @@ in
           sources."colors-1.0.3"
         ];
       })
-      sources."clone-1.0.2"
+      sources."clone-1.0.3"
       sources."colors-0.6.2"
       (sources."flatiron-0.4.3" // {
         dependencies = [
           sources."optimist-0.6.0"
+          sources."cliff-0.1.9"
+          sources."winston-0.8.0"
+        ];
+      })
+      (sources."forever-monitor-1.7.1" // {
+        dependencies = [
+          sources."optimist-0.2.8"
         ];
       })
-      sources."forever-monitor-1.7.1"
       (sources."nconf-0.6.9" // {
         dependencies = [
-          sources."async-0.2.9"
           sources."optimist-0.6.0"
         ];
       })
@@ -27546,33 +27054,23 @@ in
       (sources."prettyjson-1.2.1" // {
         dependencies = [
           sources."colors-1.1.2"
-          sources."minimist-1.2.0"
-        ];
-      })
-      (sources."shush-1.0.0" // {
-        dependencies = [
-          sources."strip-json-comments-0.1.3"
         ];
       })
+      sources."shush-1.0.0"
       sources."timespan-2.3.0"
       sources."utile-0.2.1"
       sources."winston-0.8.3"
       sources."eyes-0.1.8"
-      (sources."broadway-0.3.6" // {
-        dependencies = [
-          sources."cliff-0.1.9"
-          sources."winston-0.8.0"
-        ];
-      })
+      sources."broadway-0.3.6"
       sources."prompt-0.2.14"
       sources."director-1.2.7"
       sources."eventemitter2-0.4.14"
-      sources."async-0.2.10"
+      sources."async-0.2.9"
       sources."cycle-1.0.3"
       sources."pkginfo-0.3.1"
       sources."stack-trace-0.0.10"
       sources."wordwrap-0.0.3"
-      sources."minimist-0.0.10"
+      sources."minimist-0.0.8"
       sources."read-1.0.7"
       sources."revalidator-0.1.8"
       sources."mute-stream-0.0.7"
@@ -27586,7 +27084,7 @@ in
       sources."is-binary-path-1.0.1"
       sources."is-glob-2.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.2"
+      sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
       sources."normalize-path-2.1.1"
       sources."arr-diff-2.0.0"
@@ -27605,18 +27103,9 @@ in
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
       sources."repeat-string-1.6.1"
       sources."isarray-1.0.0"
       sources."is-buffer-1.1.6"
@@ -27639,145 +27128,30 @@ in
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
       sources."nan-2.7.0"
-      sources."node-pre-gyp-0.6.38"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
-      sources."nopt-4.0.1"
-      sources."npmlog-4.1.2"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
-      sources."request-2.81.0"
-      sources."hawk-3.1.3"
-      sources."rimraf-2.6.2"
-      sources."semver-5.4.1"
-      sources."tar-2.2.1"
-      sources."tar-pack-3.4.1"
-      sources."abbrev-1.1.1"
-      sources."osenv-0.1.4"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      sources."are-we-there-yet-1.1.4"
-      sources."console-control-strings-1.1.0"
-      (sources."gauge-2.7.4" // {
-        dependencies = [
-          sources."object-assign-4.1.1"
-        ];
-      })
-      sources."set-blocking-2.0.0"
-      sources."delegates-1.0.0"
-      sources."aproba-1.2.0"
-      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.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.2"
-      sources."ini-1.3.4"
-      sources."strip-json-comments-2.0.1"
-      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."http-signature-1.1.1"
-      sources."is-typedarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."json-stringify-safe-5.0.1"
-      sources."mime-types-2.1.17"
-      sources."oauth-sign-0.8.2"
-      sources."performance-now-0.2.0"
-      sources."qs-6.4.0"
-      sources."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.0"
-      sources."uuid-3.1.0"
-      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."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      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."mime-db-1.30.0"
-      sources."punycode-1.4.1"
-      sources."hoek-2.16.3"
-      sources."boom-2.10.1"
-      sources."cryptiles-2.0.5"
-      sources."sntp-1.0.9"
-      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.9"
-      sources."fstream-ignore-1.0.5"
-      sources."uid-number-0.0.6"
-      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 = [
-          sources."optimist-0.2.8"
-        ];
-      })
+      sources."event-stream-0.5.3"
+      sources."ini-1.3.4"
       sources."lazy-1.0.11"
+      sources."strip-json-comments-0.1.3"
       sources."caller-0.0.1"
       sources."tape-2.3.3"
+      sources."jsonify-0.0.0"
       sources."deep-equal-0.1.2"
       sources."defined-0.0.0"
       sources."through-2.3.8"
       sources."resumer-0.0.0"
       sources."i-0.3.6"
+      sources."mkdirp-0.5.1"
       sources."ncp-0.4.2"
+      sources."rimraf-2.6.2"
+      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."isstream-0.1.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -27796,14 +27170,14 @@ in
       sha512 = "0j00v2mkrqla05ynq3cziyh4vslsshbkxdyqbzzg2vkg3if0ln0klsf5hck457pxksqky9gcsybc73c2sf6hgf910wzz5yljlxc5b7g";
     };
     dependencies = [
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."lodash.groupby-4.6.0"
       sources."minilog-3.1.0"
-      sources."simple-git-1.80.1"
+      sources."simple-git-1.82.0"
       sources."tabtab-git+https://github.com/mixu/node-tabtab.git"
       sources."lodash-4.17.4"
       sources."microee-0.0.6"
-      sources."debug-2.6.9"
+      sources."debug-3.1.0"
       sources."ms-2.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -27875,63 +27249,36 @@ in
     dependencies = [
       sources."coffee-script-1.12.7"
       sources."jade-1.11.0"
-      (sources."q-2.0.3" // {
-        dependencies = [
-          sources."asap-2.0.6"
-        ];
-      })
+      sources."q-2.0.3"
       sources."xml2js-0.4.19"
       sources."msgpack-1.0.2"
       sources."character-parser-1.2.1"
-      (sources."clean-css-3.4.28" // {
-        dependencies = [
-          sources."commander-2.8.1"
-        ];
-      })
-      sources."commander-2.6.0"
+      sources."clean-css-3.4.28"
+      sources."commander-2.8.1"
       sources."constantinople-3.0.2"
       sources."jstransformer-0.0.2"
       sources."mkdirp-0.5.1"
-      (sources."transformers-2.1.0" // {
-        dependencies = [
-          sources."promise-2.0.0"
-          sources."uglify-js-2.2.5"
-          sources."is-promise-1.0.1"
-          sources."source-map-0.1.43"
-        ];
-      })
-      (sources."uglify-js-2.8.29" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
+      sources."transformers-2.1.0"
+      sources."uglify-js-2.2.5"
       sources."void-elements-2.0.1"
-      (sources."with-4.0.3" // {
-        dependencies = [
-          sources."acorn-1.2.2"
-        ];
-      })
-      sources."source-map-0.4.4"
+      sources."with-4.0.3"
+      sources."source-map-0.5.7"
       sources."graceful-readlink-1.0.1"
       sources."amdefine-1.0.1"
       sources."acorn-2.7.0"
-      sources."is-promise-2.1.0"
-      sources."promise-6.1.0"
-      sources."asap-1.0.0"
+      sources."is-promise-1.0.1"
+      sources."promise-2.0.0"
+      sources."asap-2.0.6"
       sources."minimist-0.0.8"
       sources."css-1.0.8"
       sources."css-parse-1.0.4"
       sources."css-stringify-1.0.5"
       sources."optimist-0.3.7"
-      sources."wordwrap-0.0.3"
+      sources."wordwrap-0.0.2"
       sources."yargs-3.10.0"
       sources."uglify-to-browserify-1.0.2"
       sources."camelcase-1.2.1"
-      (sources."cliui-2.1.0" // {
-        dependencies = [
-          sources."wordwrap-0.0.2"
-        ];
-      })
+      sources."cliui-2.1.0"
       sources."decamelize-1.2.0"
       sources."window-size-0.1.0"
       sources."center-align-0.1.3"
@@ -27979,10 +27326,7 @@ in
       sources."v8flags-2.1.1"
       (sources."vinyl-fs-0.3.14" // {
         dependencies = [
-          sources."through2-0.6.5"
-          sources."vinyl-0.4.6"
-          sources."readable-stream-1.0.34"
-          sources."clone-0.2.0"
+          sources."minimist-0.0.8"
         ];
       })
       sources."ansi-styles-2.2.1"
@@ -28005,14 +27349,8 @@ in
       sources."multipipe-0.1.2"
       sources."object-assign-3.0.0"
       sources."replace-ext-0.0.1"
-      (sources."through2-2.0.3" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      sources."vinyl-0.5.3"
+      sources."through2-0.6.5"
+      sources."vinyl-0.4.6"
       sources."time-stamp-1.1.0"
       sources."glogg-1.0.0"
       sources."sparkles-1.0.0"
@@ -28029,7 +27367,7 @@ in
       sources."lodash.isarguments-3.1.0"
       sources."lodash.isarray-3.0.4"
       sources."duplexer2-0.0.2"
-      sources."readable-stream-1.1.14"
+      sources."readable-stream-1.0.34"
       sources."core-util-is-1.0.2"
       sources."isarray-0.0.1"
       sources."string_decoder-0.10.31"
@@ -28038,15 +27376,11 @@ in
       sources."process-nextick-args-1.0.7"
       sources."safe-buffer-5.1.1"
       sources."util-deprecate-1.0.2"
-      sources."clone-1.0.2"
+      sources."clone-0.2.0"
       sources."clone-stats-0.0.1"
       sources."extend-3.0.1"
       sources."findup-sync-0.4.3"
-      (sources."fined-1.1.0" // {
-        dependencies = [
-          sources."expand-tilde-2.0.2"
-        ];
-      })
+      sources."fined-1.1.0"
       sources."flagged-respawn-0.3.2"
       sources."lodash.isplainobject-4.0.6"
       sources."lodash.isstring-4.0.1"
@@ -28075,27 +27409,14 @@ in
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
-      (sources."isobject-2.1.0" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-        ];
-      })
-      (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-number-3.0.0"
+      sources."isobject-3.0.1"
+      sources."randomatic-1.1.7"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.6"
       sources."is-posix-bracket-0.1.1"
       sources."remove-trailing-separator-1.1.0"
-      sources."for-own-0.1.5"
+      sources."for-own-1.0.0"
       sources."is-extendable-0.1.1"
       sources."for-in-1.0.2"
       sources."glob-base-0.3.0"
@@ -28103,7 +27424,7 @@ in
       sources."glob-parent-2.0.0"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
-      sources."expand-tilde-1.2.2"
+      sources."expand-tilde-2.0.2"
       sources."global-modules-0.2.3"
       sources."os-homedir-1.0.2"
       sources."global-prefix-0.1.5"
@@ -28113,22 +27434,9 @@ in
       sources."which-1.3.0"
       sources."parse-passwd-1.0.0"
       sources."isexe-2.0.0"
-      (sources."is-plain-object-2.0.4" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
-      (sources."object.defaults-1.1.0" // {
-        dependencies = [
-          sources."for-own-1.0.0"
-          sources."isobject-3.0.1"
-        ];
-      })
-      (sources."object.pick-1.3.0" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
+      sources."is-plain-object-2.0.4"
+      sources."object.defaults-1.1.0"
+      sources."object.pick-1.3.0"
       sources."parse-filepath-1.0.1"
       sources."array-each-1.0.1"
       sources."array-slice-1.0.0"
@@ -28147,22 +27455,13 @@ in
       sources."wrappy-1.0.2"
       sources."user-home-1.1.1"
       sources."defaults-1.0.3"
-      (sources."glob-stream-3.1.18" // {
-        dependencies = [
-          sources."through2-0.6.5"
-          sources."readable-stream-1.0.34"
-        ];
-      })
+      sources."glob-stream-3.1.18"
       sources."glob-watcher-0.0.6"
-      sources."graceful-fs-3.0.11"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."graceful-fs-1.2.3"
+      sources."mkdirp-0.5.1"
       sources."strip-bom-1.0.0"
-      sources."glob-4.5.3"
-      sources."minimatch-2.0.10"
+      sources."glob-3.1.21"
+      sources."minimatch-0.2.14"
       sources."ordered-read-streams-0.1.0"
       sources."glob2base-0.0.12"
       sources."unique-stream-1.0.0"
@@ -28172,14 +27471,7 @@ in
       sources."concat-map-0.0.1"
       sources."find-index-0.1.1"
       sources."gaze-0.5.2"
-      (sources."globule-0.1.0" // {
-        dependencies = [
-          sources."glob-3.1.21"
-          sources."minimatch-0.2.14"
-          sources."graceful-fs-1.2.3"
-          sources."inherits-1.0.2"
-        ];
-      })
+      sources."globule-0.1.0"
       sources."lodash-1.0.2"
       sources."lru-cache-2.7.3"
       sources."sigmund-1.0.1"
@@ -28234,7 +27526,7 @@ in
       sources."glob-5.0.15"
       (sources."jshint-2.8.0" // {
         dependencies = [
-          sources."minimatch-2.0.10"
+          sources."glob-3.2.11"
         ];
       })
       sources."parse-glob-3.0.4"
@@ -28243,19 +27535,14 @@ in
       sources."parserlib-0.2.5"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
-      sources."minimatch-3.0.4"
+      sources."minimatch-0.3.0"
       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."cli-0.6.6" // {
-        dependencies = [
-          sources."glob-3.2.11"
-          sources."minimatch-0.3.0"
-        ];
-      })
+      sources."cli-0.6.6"
       sources."console-browserify-1.1.0"
       sources."exit-0.1.2"
       sources."htmlparser2-3.8.3"
@@ -28266,15 +27553,10 @@ in
       sources."date-now-0.1.4"
       sources."domhandler-2.3.0"
       sources."domutils-1.5.1"
-      sources."domelementtype-1.3.0"
+      sources."domelementtype-1.1.3"
       sources."readable-stream-1.1.14"
-      sources."entities-1.0.0"
-      (sources."dom-serializer-0.1.0" // {
-        dependencies = [
-          sources."domelementtype-1.1.3"
-          sources."entities-1.1.1"
-        ];
-      })
+      sources."entities-1.1.1"
+      sources."dom-serializer-0.1.0"
       sources."core-util-is-1.0.2"
       sources."isarray-0.0.1"
       sources."string_decoder-0.10.31"
@@ -28295,27 +27577,38 @@ in
   ionic = nodeEnv.buildNodePackage {
     name = "ionic";
     packageName = "ionic";
-    version = "3.15.2";
+    version = "3.18.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ionic/-/ionic-3.15.2.tgz";
-      sha512 = "0sdvn9yk297mzlaw81phrpki1xcg06jyyg8kc5wkwkyxbki8vszans6ynzlicpfyq4nqj2a31h4nwh9qyb0pxm7p838a2kxl33016a6";
+      url = "https://registry.npmjs.org/ionic/-/ionic-3.18.0.tgz";
+      sha512 = "26m3rzj32n72b812d8v0wjxw9dkmhi6qanjv85k0w847nrb9fqh12j2mgspadgnrv80j3whj7mbblc1q6kdf68mm8zsdhgzq6d5xbkx";
     };
     dependencies = [
-      sources."@ionic/cli-framework-0.0.2"
-      sources."@ionic/cli-utils-1.15.2"
+      sources."@ionic/cli-framework-0.1.1"
+      sources."@ionic/cli-utils-1.18.0"
       sources."chalk-2.3.0"
       sources."opn-5.1.0"
       sources."os-name-2.0.1"
-      sources."rimraf-2.6.2"
       sources."semver-5.4.1"
       sources."tslib-1.8.0"
       sources."ncp-2.0.0"
+      sources."rimraf-2.6.2"
       sources."strip-ansi-4.0.0"
-      sources."superagent-3.8.0"
+      sources."superagent-3.8.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.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-regex-3.0.0"
       sources."component-emitter-1.2.1"
       sources."cookiejar-2.1.1"
-      sources."debug-3.1.0"
+      sources."debug-2.6.9"
       sources."extend-3.0.1"
       sources."form-data-2.3.1"
       sources."formidable-1.1.1"
@@ -28330,98 +27623,61 @@ in
       sources."delayed-stream-1.0.0"
       sources."mime-db-1.30.0"
       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."safe-buffer-5.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-0.10.31"
       sources."util-deprecate-1.0.2"
-      sources."@ionic/discover-0.3.3"
+      sources."@ionic/discover-0.4.0"
       sources."archiver-2.1.0"
       sources."basic-auth-1.1.0"
-      (sources."body-parser-1.18.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
+      sources."body-parser-1.18.2"
       sources."chokidar-1.7.0"
       sources."ci-info-1.1.1"
       sources."cross-spawn-5.1.0"
       sources."dargs-5.1.0"
       sources."diff-3.4.0"
       sources."elementtree-0.1.7"
-      (sources."express-4.16.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."express-4.16.2"
       sources."inquirer-3.3.0"
-      (sources."leek-0.0.24" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
+      sources."leek-0.0.24"
       sources."lodash-4.17.4"
-      sources."minimist-1.2.0"
+      sources."minimist-0.0.8"
       sources."proxy-middleware-0.15.0"
-      (sources."slice-ansi-1.0.0" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
+      sources."slice-ansi-1.0.0"
       sources."ssh-config-1.1.3"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
-      sources."tar-2.2.1"
-      (sources."tiny-lr-1.0.5" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
+      sources."string-width-2.1.1"
+      sources."tar-4.0.2"
+      sources."tiny-lr-1.0.5"
       sources."uuid-3.1.0"
       sources."wrap-ansi-3.0.1"
-      sources."ws-3.2.0"
+      sources."ws-3.3.1"
       sources."netmask-1.0.6"
       sources."archiver-utils-1.3.0"
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."buffer-crc32-0.2.13"
-      sources."glob-7.1.2"
-      sources."tar-stream-1.5.4"
+      sources."tar-stream-1.5.5"
       sources."zip-stream-1.2.0"
       sources."graceful-fs-4.1.11"
       sources."lazystream-1.0.0"
       sources."normalize-path-2.1.1"
       sources."remove-trailing-separator-1.1.0"
-      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."bl-1.2.1"
       sources."end-of-stream-1.4.0"
       sources."xtend-4.0.1"
       sources."compress-commons-1.2.2"
       sources."crc32-stream-2.0.0"
       sources."crc-3.5.0"
-      sources."bytes-3.0.0"
+      sources."bytes-1.0.0"
       sources."content-type-1.0.4"
       sources."depd-1.1.1"
       sources."http-errors-1.6.2"
       sources."iconv-lite-0.4.19"
       sources."on-finished-2.3.0"
-      sources."raw-body-2.3.2"
+      sources."raw-body-1.1.7"
       sources."type-is-1.6.15"
-      sources."setprototypeof-1.0.3"
-      sources."statuses-1.4.0"
+      sources."setprototypeof-1.1.0"
+      sources."statuses-1.3.1"
       sources."ee-first-1.1.1"
       sources."unpipe-1.0.0"
       sources."media-typer-0.3.0"
@@ -28431,7 +27687,7 @@ in
       sources."is-binary-path-1.0.1"
       sources."is-glob-2.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.2"
+      sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
       sources."arr-diff-2.0.0"
       sources."array-unique-0.2.1"
@@ -28449,18 +27705,9 @@ in
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.6"
       sources."is-posix-bracket-0.1.1"
@@ -28474,124 +27721,11 @@ in
       sources."binary-extensions-1.10.0"
       sources."set-immediate-shim-1.0.1"
       sources."nan-2.7.0"
-      sources."node-pre-gyp-0.6.38"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
-      sources."nopt-4.0.1"
-      sources."npmlog-4.1.2"
-      sources."rc-1.2.2"
-      (sources."request-2.81.0" // {
-        dependencies = [
-          sources."form-data-2.1.4"
-          sources."qs-6.4.0"
-        ];
-      })
-      sources."hawk-3.1.3"
-      (sources."tar-pack-3.4.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-        ];
-      })
-      sources."abbrev-1.1.1"
-      sources."osenv-0.1.4"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      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."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."set-blocking-2.0.0"
-      sources."delegates-1.0.0"
-      sources."aproba-1.2.0"
-      sources."has-unicode-2.0.1"
-      sources."object-assign-4.1.1"
-      sources."signal-exit-3.0.2"
-      (sources."wide-align-1.1.2" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      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.2"
-      sources."ini-1.3.4"
-      sources."strip-json-comments-2.0.1"
-      sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
-      sources."caseless-0.12.0"
-      sources."forever-agent-0.6.1"
-      sources."har-validator-4.2.1"
-      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."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.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."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      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."hoek-2.16.3"
-      sources."boom-2.10.1"
-      sources."cryptiles-2.0.5"
-      sources."sntp-1.0.9"
-      sources."fstream-1.0.11"
-      sources."fstream-ignore-1.0.5"
-      sources."uid-number-0.0.6"
       sources."lru-cache-4.1.1"
       sources."shebang-command-1.2.0"
       sources."which-1.3.0"
       sources."pseudomap-1.0.2"
-      sources."yallist-2.1.2"
+      sources."yallist-3.0.2"
       sources."shebang-regex-1.0.0"
       sources."isexe-2.0.0"
       sources."sax-1.1.4"
@@ -28603,24 +27737,14 @@ in
       sources."encodeurl-1.0.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."finalhandler-1.1.0" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."finalhandler-1.1.0"
       sources."fresh-0.5.2"
       sources."merge-descriptors-1.0.1"
       sources."parseurl-1.3.2"
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-2.0.2"
       sources."range-parser-1.2.0"
-      (sources."send-0.16.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."send-0.16.1"
       sources."serve-static-1.13.1"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
@@ -28640,9 +27764,11 @@ in
       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."jschardet-1.6.0"
       sources."tmp-0.0.33"
+      sources."os-tmpdir-1.0.2"
       sources."escape-string-regexp-1.0.5"
       sources."is-promise-2.1.0"
       sources."lodash.assign-3.2.0"
@@ -28657,28 +27783,27 @@ in
       sources."lodash._getnative-3.9.1"
       sources."lodash.isarguments-3.1.0"
       sources."lodash.isarray-3.0.4"
-      sources."block-stream-0.0.9"
-      (sources."body-5.1.0" // {
-        dependencies = [
-          sources."raw-body-1.1.7"
-          sources."bytes-1.0.0"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."chownr-1.0.1"
+      sources."minipass-2.2.1"
+      sources."minizlib-1.0.4"
+      sources."mkdirp-0.5.1"
+      sources."body-5.1.0"
       sources."faye-websocket-0.10.0"
       sources."livereload-js-2.2.2"
+      sources."object-assign-4.1.1"
       sources."continuable-cache-0.3.1"
       sources."error-7.0.2"
       sources."safe-json-parse-1.0.1"
       sources."string-template-0.2.1"
       sources."websocket-driver-0.7.0"
       sources."http-parser-js-0.4.9"
-      sources."websocket-extensions-0.1.2"
+      sources."websocket-extensions-0.1.3"
       sources."async-limiter-1.0.0"
       sources."ultron-1.1.0"
       sources."ansi-styles-3.2.0"
       sources."supports-color-4.5.0"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
       sources."is-wsl-1.1.0"
@@ -28725,7 +27850,7 @@ in
       sources."glob-5.0.15"
       (sources."handlebars-4.0.11" // {
         dependencies = [
-          sources."source-map-0.4.4"
+          sources."wordwrap-0.0.2"
         ];
       })
       (sources."js-yaml-3.10.0" // {
@@ -28733,11 +27858,7 @@ in
           sources."esprima-4.0.0"
         ];
       })
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."mkdirp-0.5.1"
       sources."nopt-3.0.6"
       sources."once-1.4.0"
       sources."resolve-1.1.7"
@@ -28747,7 +27868,7 @@ in
       sources."estraverse-1.9.3"
       sources."esutils-2.0.2"
       sources."optionator-0.8.2"
-      sources."source-map-0.2.0"
+      sources."source-map-0.5.7"
       sources."prelude-ls-1.1.2"
       sources."deep-is-0.1.3"
       sources."type-check-0.3.2"
@@ -28762,25 +27883,13 @@ in
       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.29" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."minimist-0.0.10"
+      sources."optimist-0.6.1"
+      sources."uglify-js-2.8.29"
+      sources."minimist-0.0.8"
       sources."yargs-3.10.0"
       sources."uglify-to-browserify-1.0.2"
       sources."camelcase-1.2.1"
-      (sources."cliui-2.1.0" // {
-        dependencies = [
-          sources."wordwrap-0.0.2"
-        ];
-      })
+      sources."cliui-2.1.0"
       sources."decamelize-1.2.0"
       sources."window-size-0.1.0"
       sources."center-align-0.1.3"
@@ -28820,7 +27929,7 @@ in
       sources."fast-json-patch-2.0.6"
       sources."glob-7.1.2"
       sources."iterare-0.0.8"
-      (sources."jaeger-client-3.5.3" // {
+      (sources."jaeger-client-3.6.0" // {
         dependencies = [
           sources."opentracing-0.13.0"
         ];
@@ -28833,19 +27942,19 @@ in
       sources."semaphore-async-await-1.5.1"
       sources."string-similarity-1.2.0"
       sources."typescript-2.4.2"
-      sources."vscode-jsonrpc-3.4.1"
-      sources."vscode-languageserver-3.4.3"
-      sources."vscode-languageserver-types-3.4.0"
+      sources."vscode-jsonrpc-3.5.0"
+      sources."vscode-languageserver-3.5.0"
+      sources."vscode-languageserver-types-3.5.0"
       sources."assertion-error-1.0.2"
       sources."check-error-1.0.2"
       sources."deep-eql-3.0.1"
       sources."get-func-name-2.0.0"
       sources."pathval-1.1.0"
-      sources."type-detect-4.0.3"
+      sources."type-detect-4.0.5"
       sources."ansi-styles-3.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."supports-color-4.5.0"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
       sources."deep-equal-1.0.1"
@@ -28874,7 +27983,7 @@ in
       sources."thenify-3.3.0"
       sources."symbol-observable-1.0.4"
       sources."vscode-uri-1.0.1"
-      sources."vscode-languageserver-protocol-3.4.4"
+      sources."vscode-languageserver-protocol-3.5.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -28930,15 +28039,10 @@ in
       sources."date-now-0.1.4"
       sources."domhandler-2.3.0"
       sources."domutils-1.5.1"
-      sources."domelementtype-1.3.0"
+      sources."domelementtype-1.1.3"
       sources."readable-stream-1.1.14"
-      sources."entities-1.0.0"
-      (sources."dom-serializer-0.1.0" // {
-        dependencies = [
-          sources."domelementtype-1.1.3"
-          sources."entities-1.1.1"
-        ];
-      })
+      sources."entities-1.1.1"
+      sources."dom-serializer-0.1.0"
       sources."core-util-is-1.0.2"
       sources."isarray-0.0.1"
       sources."string_decoder-0.10.31"
@@ -29060,7 +28164,7 @@ in
       sources."argparse-1.0.9"
       sources."esprima-4.0.0"
       sources."sprintf-js-1.0.3"
-      sources."superagent-3.8.0"
+      sources."superagent-3.8.1"
       sources."component-emitter-1.2.1"
       sources."cookiejar-2.1.1"
       sources."debug-3.1.0"
@@ -29097,47 +28201,34 @@ in
   json-server = nodeEnv.buildNodePackage {
     name = "json-server";
     packageName = "json-server";
-    version = "0.12.0";
+    version = "0.12.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/json-server/-/json-server-0.12.0.tgz";
-      sha512 = "2iqk65hy94j010zlqsl4rzfkz4f9ic1pqbvsf5w1lrgmda9wmhxl5kmvnmwikjilmn6kz9kniqzl7rpq3xv3cmpx8rppb7ipk5ddhzj";
+      url = "https://registry.npmjs.org/json-server/-/json-server-0.12.1.tgz";
+      sha512 = "3isg3ph43vqfq6m6pg0d1iy7gj2gc6jgym0gp3ng7p9fv7bf1q43isf3wbc7bc9w5swsxqjc3v304ic8iinilwrkwxgks1alaxjs3si";
     };
     dependencies = [
       sources."body-parser-1.18.2"
-      sources."chalk-1.1.3"
+      sources."chalk-2.3.0"
       sources."compression-1.7.1"
       sources."connect-pause-0.1.1"
       sources."cors-2.8.4"
       sources."errorhandler-1.5.0"
-      (sources."express-4.16.2" // {
-        dependencies = [
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
-        ];
-      })
-      (sources."express-urlrewrite-1.2.0" // {
-        dependencies = [
-          sources."path-to-regexp-1.7.0"
-        ];
-      })
+      sources."express-4.16.2"
+      sources."express-urlrewrite-1.2.0"
       sources."json-parse-helpfulerror-1.0.3"
       sources."lodash-4.17.4"
-      sources."lodash-id-0.13.0"
+      sources."lodash-id-0.14.0"
       sources."lowdb-0.15.5"
       sources."method-override-2.3.10"
       sources."morgan-1.9.0"
+      sources."nanoid-1.0.1"
       sources."object-assign-4.1.1"
       sources."please-upgrade-node-3.0.1"
-      sources."pluralize-3.1.0"
+      sources."pluralize-7.0.0"
       sources."request-2.83.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."update-notifier-2.3.0"
+      sources."yargs-10.0.3"
       sources."bytes-3.0.0"
       sources."content-type-1.0.4"
       sources."debug-2.6.9"
@@ -29150,19 +28241,19 @@ in
       sources."type-is-1.6.15"
       sources."ms-2.0.0"
       sources."inherits-2.0.3"
-      sources."setprototypeof-1.0.3"
-      sources."statuses-1.4.0"
+      sources."setprototypeof-1.1.0"
+      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.17"
       sources."mime-db-1.30.0"
-      sources."ansi-styles-2.2.1"
+      sources."ansi-styles-3.2.0"
       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."supports-color-4.5.0"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."has-flag-2.0.0"
       sources."accepts-1.3.4"
       sources."compressible-2.0.12"
       sources."on-headers-1.0.1"
@@ -29176,23 +28267,15 @@ in
       sources."cookie-signature-1.0.6"
       sources."encodeurl-1.0.1"
       sources."etag-1.8.1"
-      (sources."finalhandler-1.1.0" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."finalhandler-1.1.0"
       sources."fresh-0.5.2"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
       sources."parseurl-1.3.2"
-      sources."path-to-regexp-0.1.7"
+      sources."path-to-regexp-1.7.0"
       sources."proxy-addr-2.0.2"
       sources."range-parser-1.2.0"
-      (sources."send-0.16.1" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."send-0.16.1"
       sources."serve-static-1.13.1"
       sources."utils-merge-1.0.1"
       sources."forwarded-0.1.2"
@@ -29233,12 +28316,8 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
       sources."sntp-2.1.0"
       sources."assert-plus-1.0.0"
       sources."jsprim-1.4.1"
@@ -29255,111 +28334,92 @@ in
       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."boxen-1.2.2"
+      sources."configstore-3.1.1"
+      sources."import-lazy-2.1.0"
+      sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
-      sources."latest-version-2.0.0"
-      sources."lazy-req-1.1.0"
+      sources."latest-version-3.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."xdg-basedir-3.0.0"
+      sources."ansi-align-2.0.0"
+      sources."camelcase-4.1.0"
       sources."cli-boxes-1.0.0"
-      sources."filled-array-1.1.0"
-      sources."repeating-2.0.1"
       sources."string-width-1.0.2"
+      sources."term-size-1.2.0"
       sources."widest-line-1.0.0"
-      sources."is-finite-1.0.2"
-      sources."number-is-nan-1.0.1"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."strip-ansi-4.0.0"
+      sources."ansi-regex-3.0.0"
+      sources."execa-0.7.0"
+      sources."cross-spawn-5.1.0"
+      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."lru-cache-4.1.1"
+      sources."shebang-command-1.2.0"
+      sources."which-1.3.0"
+      sources."pseudomap-1.0.2"
+      sources."yallist-2.1.2"
+      sources."shebang-regex-1.0.0"
+      sources."isexe-2.0.0"
+      sources."path-key-2.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."number-is-nan-1.0.1"
+      sources."dot-prop-4.2.0"
+      sources."make-dir-1.1.0"
+      sources."unique-string-1.0.0"
+      sources."write-file-atomic-2.3.0"
       sources."is-obj-1.0.1"
-      sources."minimist-0.0.8"
-      sources."os-homedir-1.0.2"
+      sources."pify-3.0.0"
+      sources."crypto-random-string-1.0.0"
       sources."imurmurhash-0.1.4"
-      sources."slide-1.1.6"
-      sources."package-json-2.4.0"
-      sources."got-5.7.1"
+      sources."global-dirs-0.1.0"
+      sources."is-path-inside-1.0.0"
+      sources."ini-1.3.4"
+      sources."path-is-inside-1.0.2"
+      sources."package-json-4.0.1"
+      sources."got-6.7.1"
       sources."registry-auth-token-3.3.1"
       sources."registry-url-3.1.0"
       sources."semver-5.4.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."pinkie-promise-2.0.1"
-      sources."read-all-stream-3.1.0"
-      (sources."readable-stream-2.3.3" // {
-        dependencies = [
-          sources."isarray-1.0.0"
-        ];
-      })
-      sources."timed-out-3.1.3"
-      sources."unzip-response-1.0.2"
+      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."pinkie-2.0.4"
-      sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.3"
-      sources."util-deprecate-1.0.2"
       sources."prepend-http-1.0.4"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."rc-1.2.2"
       sources."deep-extend-0.4.2"
-      sources."ini-1.3.4"
+      sources."minimist-1.2.0"
       sources."strip-json-comments-2.0.1"
       sources."cliui-3.2.0"
       sources."decamelize-1.2.0"
+      sources."find-up-2.1.0"
       sources."get-caller-file-1.0.2"
-      sources."os-locale-1.4.0"
-      sources."read-pkg-up-1.0.1"
+      sources."os-locale-2.1.0"
       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."which-module-2.0.0"
       sources."y18n-3.2.1"
-      (sources."yargs-parser-4.2.1" // {
-        dependencies = [
-          sources."camelcase-3.0.0"
-        ];
-      })
+      sources."yargs-parser-8.0.0"
       sources."wrap-ansi-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."lcid-1.0.0"
+      sources."mem-1.1.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.4.0"
-      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.5.0"
-      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"
+      sources."mimic-fn-1.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -29412,27 +28472,13 @@ in
       sources."core-js-2.5.1"
       sources."di-0.0.1"
       sources."dom-serialize-2.2.1"
-      (sources."expand-braces-0.1.2" // {
-        dependencies = [
-          sources."braces-0.1.5"
-          sources."expand-range-0.1.1"
-          sources."is-number-0.1.1"
-          sources."repeat-string-0.2.2"
-        ];
-      })
+      sources."expand-braces-0.1.2"
       sources."glob-7.1.2"
       sources."graceful-fs-4.1.11"
       sources."http-proxy-1.16.2"
       sources."isbinaryfile-3.0.2"
       sources."lodash-3.10.1"
-      (sources."log4js-0.6.38" // {
-        dependencies = [
-          sources."readable-stream-1.0.34"
-          sources."semver-4.3.6"
-          sources."isarray-0.0.1"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."log4js-0.6.38"
       sources."mime-1.4.1"
       sources."minimatch-3.0.4"
       sources."optimist-0.6.1"
@@ -29440,19 +28486,13 @@ in
       sources."range-parser-1.2.0"
       sources."rimraf-2.6.2"
       sources."safe-buffer-5.1.1"
-      (sources."socket.io-1.7.3" // {
-        dependencies = [
-          sources."debug-2.3.3"
-          sources."object-assign-4.1.0"
-          sources."ms-0.7.2"
-        ];
-      })
+      sources."socket.io-1.7.3"
       sources."source-map-0.5.7"
       sources."tmp-0.0.31"
       sources."useragent-2.2.1"
       sources."bytes-3.0.0"
       sources."content-type-1.0.4"
-      sources."debug-2.6.9"
+      sources."debug-2.2.0"
       sources."depd-1.1.1"
       sources."http-errors-1.6.2"
       sources."iconv-lite-0.4.19"
@@ -29460,10 +28500,10 @@ in
       sources."qs-6.5.1"
       sources."raw-body-2.3.2"
       sources."type-is-1.6.15"
-      sources."ms-2.0.0"
+      sources."ms-0.7.1"
       sources."inherits-2.0.3"
       sources."setprototypeof-1.0.3"
-      sources."statuses-1.4.0"
+      sources."statuses-1.3.1"
       sources."ee-first-1.1.1"
       sources."unpipe-1.0.0"
       sources."media-typer-0.3.0"
@@ -29476,12 +28516,12 @@ in
       sources."is-glob-2.0.1"
       sources."path-is-absolute-1.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.2"
+      sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
       sources."normalize-path-2.1.1"
       sources."arr-diff-2.0.0"
       sources."array-unique-0.2.1"
-      sources."braces-1.8.5"
+      sources."braces-0.1.5"
       sources."expand-brackets-0.1.5"
       sources."extglob-0.3.2"
       sources."filename-regex-2.0.1"
@@ -29491,24 +28531,15 @@ in
       sources."parse-glob-3.0.4"
       sources."regex-cache-0.4.4"
       sources."arr-flatten-1.1.0"
-      sources."expand-range-1.8.2"
+      sources."expand-range-0.1.1"
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-0.1.1"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
+      sources."repeat-string-0.2.2"
+      sources."isarray-0.0.1"
       sources."is-buffer-1.1.6"
       sources."is-posix-bracket-0.1.1"
       sources."for-own-0.1.5"
@@ -29520,176 +28551,41 @@ in
       sources."is-primitive-2.0.0"
       sources."remove-trailing-separator-1.1.0"
       sources."binary-extensions-1.10.0"
-      sources."readable-stream-2.3.3"
+      sources."readable-stream-1.0.34"
       sources."set-immediate-shim-1.0.1"
       sources."core-util-is-1.0.2"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-0.10.31"
       sources."util-deprecate-1.0.2"
       sources."nan-2.7.0"
-      sources."node-pre-gyp-0.6.38"
-      sources."mkdirp-0.5.1"
-      sources."nopt-4.0.1"
-      sources."npmlog-4.1.2"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
-      (sources."request-2.81.0" // {
-        dependencies = [
-          sources."qs-6.4.0"
-        ];
-      })
-      sources."hawk-3.1.3"
-      sources."semver-5.4.1"
-      sources."tar-2.2.1"
-      sources."tar-pack-3.4.1"
-      sources."minimist-0.0.8"
-      sources."abbrev-1.1.1"
-      sources."osenv-0.1.4"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      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."aproba-1.2.0"
-      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.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.2"
-      sources."ini-1.3.4"
-      sources."strip-json-comments-2.0.1"
-      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."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."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.0"
-      sources."uuid-3.1.0"
-      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."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      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."hoek-2.16.3"
-      sources."boom-2.10.1"
-      sources."cryptiles-2.0.5"
-      sources."sntp-1.0.9"
-      sources."block-stream-0.0.9"
-      sources."fstream-1.0.11"
-      sources."fstream-ignore-1.0.5"
-      sources."once-1.4.0"
-      sources."uid-number-0.0.6"
-      sources."wrappy-1.0.2"
-      (sources."finalhandler-1.0.6" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."finalhandler-1.0.6"
       sources."parseurl-1.3.2"
       sources."utils-merge-1.0.1"
       sources."encodeurl-1.0.1"
       sources."escape-html-1.0.3"
       sources."custom-event-1.0.1"
       sources."ent-2.2.0"
+      sources."extend-3.0.1"
       sources."void-elements-2.0.1"
       sources."array-slice-0.2.3"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
+      sources."once-1.4.0"
+      sources."wrappy-1.0.2"
       sources."eventemitter3-1.2.0"
       sources."requires-port-1.0.0"
+      sources."semver-4.3.6"
       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" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-        ];
-      })
-      (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" // {
-        dependencies = [
-          sources."debug-2.2.0"
-          sources."component-emitter-1.1.2"
-          sources."isarray-0.0.1"
-          sources."ms-0.7.1"
-        ];
-      })
+      sources."minimist-0.0.10"
+      sources."engine.io-1.8.3"
+      sources."has-binary-0.1.7"
+      sources."object-assign-4.1.0"
+      sources."socket.io-adapter-0.5.0"
+      sources."socket.io-client-1.7.3"
+      sources."socket.io-parser-2.3.1"
       sources."accepts-1.3.3"
       sources."base64id-1.0.0"
       sources."engine.io-parser-1.3.2"
@@ -29705,13 +28601,8 @@ in
       sources."ultron-1.0.2"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
-      sources."component-emitter-1.2.1"
-      (sources."engine.io-client-1.8.3" // {
-        dependencies = [
-          sources."debug-2.3.3"
-          sources."ms-0.7.2"
-        ];
-      })
+      sources."component-emitter-1.1.2"
+      sources."engine.io-client-1.8.3"
       sources."indexof-0.0.1"
       sources."object-component-0.0.3"
       sources."parseuri-0.0.5"
@@ -29725,6 +28616,7 @@ in
       sources."better-assert-1.0.2"
       sources."callsite-1.0.0"
       sources."json3-3.3.2"
+      sources."os-tmpdir-1.0.2"
       sources."lru-cache-2.2.4"
     ];
     buildInputs = globalBuildInputs;
@@ -29746,11 +28638,7 @@ in
     };
     dependencies = [
       sources."express-3.21.2"
-      (sources."passport-0.4.0" // {
-        dependencies = [
-          sources."pause-0.0.1"
-        ];
-      })
+      sources."passport-0.4.0"
       sources."passport-google-oauth-1.0.0"
       sources."connect-restreamer-1.0.3"
       sources."xml2js-0.4.19"
@@ -29772,14 +28660,9 @@ in
       sources."parseurl-1.3.2"
       sources."proxy-addr-1.0.10"
       sources."range-parser-1.0.3"
-      (sources."send-0.13.0" // {
-        dependencies = [
-          sources."destroy-1.0.3"
-          sources."statuses-1.2.1"
-        ];
-      })
+      sources."send-0.13.2"
       sources."utils-merge-1.0.0"
-      sources."vary-1.0.1"
+      sources."vary-1.1.2"
       sources."basic-auth-connect-1.0.0"
       sources."body-parser-1.13.3"
       sources."bytes-2.1.0"
@@ -29787,65 +28670,25 @@ in
       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.4"
-          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."errorhandler-1.4.3"
+      sources."express-session-1.11.3"
       sources."finalhandler-0.4.0"
       sources."http-errors-1.3.1"
-      (sources."method-override-2.3.10" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."vary-1.1.2"
-          sources."ms-2.0.0"
-        ];
-      })
+      sources."method-override-2.3.10"
       sources."morgan-1.6.1"
       sources."multiparty-3.3.2"
       sources."on-headers-1.0.1"
-      sources."pause-0.1.0"
+      sources."pause-0.0.1"
       sources."qs-4.0.0"
-      (sources."response-time-2.3.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
-      (sources."serve-favicon-2.3.2" // {
-        dependencies = [
-          sources."ms-0.7.2"
-        ];
-      })
-      (sources."serve-index-1.7.3" // {
-        dependencies = [
-          sources."escape-html-1.0.3"
-        ];
-      })
-      (sources."serve-static-1.10.3" // {
-        dependencies = [
-          sources."escape-html-1.0.3"
-          sources."send-0.13.2"
-          sources."depd-1.1.1"
-          sources."statuses-1.2.1"
-        ];
-      })
+      sources."response-time-2.3.2"
+      sources."serve-favicon-2.3.2"
+      sources."serve-index-1.7.3"
+      sources."serve-static-1.10.3"
       sources."type-is-1.6.15"
       sources."vhost-3.0.2"
-      sources."iconv-lite-0.4.11"
+      sources."iconv-lite-0.4.13"
       sources."on-finished-2.3.0"
-      (sources."raw-body-2.1.7" // {
-        dependencies = [
-          sources."bytes-2.4.0"
-          sources."iconv-lite-0.4.13"
-        ];
-      })
+      sources."raw-body-2.1.7"
       sources."ee-first-1.1.1"
       sources."unpipe-1.0.0"
       sources."accepts-1.2.13"
@@ -29857,19 +28700,19 @@ in
       sources."csrf-3.0.6"
       sources."rndm-1.2.0"
       sources."tsscmp-1.0.5"
-      sources."uid-safe-2.1.4"
+      sources."uid-safe-2.0.0"
       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.4.0"
+      sources."statuses-1.2.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."destroy-1.0.3"
       sources."mime-1.3.4"
       sources."media-typer-0.3.0"
       sources."minimist-0.0.8"
@@ -29895,10 +28738,10 @@ in
   lerna = nodeEnv.buildNodePackage {
     name = "lerna";
     packageName = "lerna";
-    version = "2.4.0";
+    version = "2.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/lerna/-/lerna-2.4.0.tgz";
-      sha512 = "0w40hmc0gkfhxzk4pfzd3wdiqb36jwr6g0ppmlp8zll9fj55sc63lm0yp3y3192gpwv5izwh4rd8qk97z2f41akp8lqb17f8d5hi6l6";
+      url = "https://registry.npmjs.org/lerna/-/lerna-2.5.1.tgz";
+      sha512 = "0bh7a9asvl8vb6szbr8h4h55xzyqmqap0yjqbvyqc9n8yygv5p1s81i1kqgxcbq41p37gf63gyjbws76sa44l11w5gxcgl279m9yga3";
     };
     dependencies = [
       sources."async-1.5.2"
@@ -29906,8 +28749,16 @@ in
       sources."cmd-shim-2.0.2"
       sources."columnify-1.5.4"
       sources."command-join-2.0.0"
-      sources."conventional-changelog-cli-1.3.4"
-      sources."conventional-recommended-bump-1.0.2"
+      (sources."conventional-changelog-cli-1.3.5" // {
+        dependencies = [
+          sources."read-pkg-1.1.0"
+          sources."yargs-3.10.0"
+          sources."load-json-file-1.1.0"
+          sources."find-up-1.1.2"
+          sources."path-exists-2.1.0"
+        ];
+      })
+      sources."conventional-recommended-bump-1.0.3"
       sources."dedent-0.7.0"
       sources."execa-0.8.0"
       sources."find-up-2.1.0"
@@ -29918,146 +28769,91 @@ in
       sources."globby-6.1.0"
       sources."graceful-fs-4.1.11"
       sources."hosted-git-info-2.5.0"
-      (sources."inquirer-3.3.0" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."inquirer-3.3.0"
       sources."is-ci-1.0.10"
-      (sources."load-json-file-3.0.0" // {
-        dependencies = [
-          sources."parse-json-3.0.0"
-          sources."strip-bom-3.0.0"
-        ];
-      })
+      sources."load-json-file-3.0.0"
       sources."lodash-4.17.4"
       sources."minimatch-3.0.4"
       sources."npmlog-4.1.2"
       sources."p-finally-1.0.0"
+      sources."package-json-4.0.1"
       sources."path-exists-3.0.0"
       sources."read-cmd-shim-1.0.1"
       (sources."read-pkg-2.0.0" // {
         dependencies = [
           sources."load-json-file-2.0.0"
-          sources."path-type-2.0.0"
-          sources."strip-bom-3.0.0"
         ];
       })
       sources."rimraf-2.6.2"
       sources."safe-buffer-5.1.1"
       sources."semver-5.4.1"
       sources."signal-exit-3.0.2"
-      (sources."strong-log-transformer-1.0.6" // {
-        dependencies = [
-          sources."minimist-0.1.0"
-        ];
-      })
-      (sources."temp-write-3.3.0" // {
-        dependencies = [
-          sources."uuid-3.1.0"
-        ];
-      })
+      sources."strong-log-transformer-1.0.6"
+      sources."temp-write-3.3.0"
       sources."write-file-atomic-2.3.0"
-      (sources."write-json-file-2.3.0" // {
-        dependencies = [
-          sources."pify-3.0.0"
-        ];
-      })
+      sources."write-json-file-2.3.0"
       sources."write-pkg-3.1.0"
       (sources."yargs-8.0.2" // {
         dependencies = [
-          sources."camelcase-4.1.0"
-          (sources."cliui-3.2.0" // {
-            dependencies = [
-              sources."string-width-1.0.2"
-            ];
-          })
-          sources."read-pkg-up-2.0.0"
-          sources."is-fullwidth-code-point-1.0.0"
+          sources."execa-0.7.0"
         ];
       })
       sources."ansi-styles-3.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."supports-color-4.5.0"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
       sources."mkdirp-0.5.1"
-      sources."minimist-0.0.8"
-      sources."strip-ansi-3.0.1"
+      sources."minimist-0.1.0"
+      sources."strip-ansi-4.0.0"
       sources."wcwidth-1.0.1"
-      sources."ansi-regex-2.1.1"
+      sources."ansi-regex-3.0.0"
       sources."defaults-1.0.3"
-      sources."clone-1.0.2"
+      sources."clone-1.0.3"
       sources."add-stream-1.0.0"
-      sources."conventional-changelog-1.1.6"
-      (sources."meow-3.7.0" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."conventional-changelog-1.1.7"
+      sources."meow-3.7.0"
       sources."tempfile-1.1.1"
-      sources."conventional-changelog-angular-1.5.1"
-      sources."conventional-changelog-atom-0.1.1"
-      sources."conventional-changelog-codemirror-0.2.0"
-      (sources."conventional-changelog-core-1.9.2" // {
-        dependencies = [
-          sources."read-pkg-1.1.0"
-          sources."load-json-file-1.1.0"
-        ];
-      })
-      sources."conventional-changelog-ember-0.2.8"
-      sources."conventional-changelog-eslint-0.2.0"
-      sources."conventional-changelog-express-0.2.0"
+      sources."conventional-changelog-angular-1.5.2"
+      sources."conventional-changelog-atom-0.1.2"
+      sources."conventional-changelog-codemirror-0.2.1"
+      sources."conventional-changelog-core-1.9.3"
+      sources."conventional-changelog-ember-0.2.9"
+      sources."conventional-changelog-eslint-0.2.1"
+      sources."conventional-changelog-express-0.2.1"
       sources."conventional-changelog-jquery-0.1.0"
       sources."conventional-changelog-jscs-0.1.0"
-      sources."conventional-changelog-jshint-0.2.0"
+      sources."conventional-changelog-jshint-0.2.1"
       sources."compare-func-1.3.2"
       sources."q-1.5.1"
       sources."array-ify-1.0.0"
       sources."dot-prop-3.0.0"
       sources."is-obj-1.0.1"
-      sources."conventional-changelog-writer-2.0.1"
-      sources."conventional-commits-parser-2.0.0"
+      sources."conventional-changelog-writer-2.0.2"
+      sources."conventional-commits-parser-2.0.1"
       sources."dateformat-1.0.12"
       sources."get-pkg-repo-1.4.0"
-      sources."git-raw-commits-1.2.0"
+      sources."git-raw-commits-1.3.0"
       sources."git-remote-origin-url-2.0.0"
-      sources."git-semver-tags-1.2.2"
+      sources."git-semver-tags-1.2.3"
       sources."normalize-package-data-2.4.0"
-      (sources."read-pkg-up-1.0.1" // {
-        dependencies = [
-          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."read-pkg-up-2.0.0"
       sources."through2-2.0.3"
-      sources."conventional-commits-filter-1.0.0"
+      sources."conventional-commits-filter-1.1.0"
       sources."handlebars-4.0.11"
       sources."json-stringify-safe-5.0.1"
       sources."split-1.0.1"
       sources."is-subset-0.1.1"
       sources."modify-values-1.0.0"
       sources."optimist-0.6.1"
-      sources."source-map-0.4.4"
-      (sources."uglify-js-2.8.29" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-          sources."yargs-3.10.0"
-        ];
-      })
-      sources."wordwrap-0.0.3"
+      sources."source-map-0.5.7"
+      sources."uglify-js-2.8.29"
+      sources."wordwrap-0.0.2"
       sources."amdefine-1.0.1"
       sources."uglify-to-browserify-1.0.2"
-      sources."camelcase-1.2.1"
-      (sources."cliui-2.1.0" // {
-        dependencies = [
-          sources."wordwrap-0.0.2"
-        ];
-      })
+      sources."camelcase-4.1.0"
+      sources."cliui-3.2.0"
       sources."decamelize-1.2.0"
       sources."window-size-0.1.0"
       sources."center-align-0.1.3"
@@ -30083,7 +28879,7 @@ in
       sources."lodash._reinterpolate-3.0.0"
       sources."lodash.templatesettings-4.1.0"
       sources."gitconfiglocal-1.0.0"
-      sources."pify-2.3.0"
+      sources."pify-3.0.0"
       sources."ini-1.3.4"
       sources."is-builtin-module-1.0.0"
       sources."validate-npm-package-license-3.0.1"
@@ -30091,10 +28887,10 @@ in
       sources."spdx-correct-1.0.2"
       sources."spdx-expression-parse-1.0.4"
       sources."spdx-license-ids-1.2.2"
-      sources."path-type-1.1.0"
+      sources."path-type-2.0.0"
       sources."parse-json-2.2.0"
       sources."pinkie-promise-2.0.1"
-      sources."strip-bom-2.0.0"
+      sources."strip-bom-3.0.0"
       sources."error-ex-1.3.1"
       sources."is-arrayish-0.2.1"
       sources."pinkie-2.0.4"
@@ -30107,11 +28903,7 @@ in
       sources."process-nextick-args-1.0.7"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
-      (sources."camelcase-keys-2.1.0" // {
-        dependencies = [
-          sources."camelcase-2.1.1"
-        ];
-      })
+      sources."camelcase-keys-2.1.0"
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."object-assign-4.1.1"
@@ -30124,7 +28916,7 @@ in
       sources."repeating-2.0.1"
       sources."is-finite-1.0.2"
       sources."os-tmpdir-1.0.2"
-      sources."uuid-2.0.3"
+      sources."uuid-3.1.0"
       sources."concat-stream-1.6.0"
       sources."typedarray-0.0.6"
       sources."cross-spawn-5.1.0"
@@ -30164,12 +28956,7 @@ in
       sources."run-async-2.3.0"
       sources."rx-lite-4.0.8"
       sources."rx-lite-aggregates-4.0.8"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."string-width-1.0.2"
       sources."restore-cursor-2.0.0"
       sources."onetime-2.0.1"
       sources."mimic-fn-1.1.0"
@@ -30184,57 +28971,46 @@ in
       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" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."is-fullwidth-code-point-1.0.0"
-        ];
-      })
+      sources."gauge-2.7.4"
       sources."set-blocking-2.0.0"
       sources."delegates-1.0.0"
       sources."aproba-1.2.0"
       sources."has-unicode-2.0.1"
-      (sources."wide-align-1.1.2" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."is-fullwidth-code-point-1.0.0"
-        ];
-      })
+      sources."wide-align-1.1.2"
       sources."code-point-at-1.1.0"
+      sources."got-6.7.1"
+      sources."registry-auth-token-3.3.1"
+      sources."registry-url-3.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."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."prepend-http-1.0.4"
+      sources."rc-1.2.2"
+      sources."deep-extend-0.4.2"
+      sources."strip-json-comments-2.0.1"
       sources."byline-5.0.0"
       sources."duplexer-0.1.1"
-      sources."moment-2.19.1"
-      (sources."make-dir-1.1.0" // {
-        dependencies = [
-          sources."pify-3.0.0"
-        ];
-      })
+      sources."moment-2.19.2"
+      sources."make-dir-1.1.0"
       sources."temp-dir-1.0.0"
       sources."imurmurhash-0.1.4"
       sources."detect-indent-5.0.0"
       sources."sort-keys-2.0.0"
       sources."is-plain-obj-1.1.0"
       sources."get-caller-file-1.0.2"
-      (sources."os-locale-2.1.0" // {
-        dependencies = [
-          sources."execa-0.7.0"
-        ];
-      })
+      sources."os-locale-2.1.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
       sources."which-module-2.0.0"
       sources."y18n-3.2.1"
-      (sources."yargs-parser-7.0.0" // {
-        dependencies = [
-          sources."camelcase-4.1.0"
-        ];
-      })
-      (sources."wrap-ansi-2.1.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."is-fullwidth-code-point-1.0.0"
-        ];
-      })
+      sources."yargs-parser-7.0.0"
+      sources."wrap-ansi-2.1.0"
       sources."lcid-1.0.0"
       sources."mem-1.1.0"
       sources."invert-kv-1.0.0"
@@ -30258,7 +29034,11 @@ in
     dependencies = [
       sources."through2-2.0.3"
       sources."vinyl-1.2.0"
-      sources."vinyl-fs-2.4.4"
+      (sources."vinyl-fs-2.4.4" // {
+        dependencies = [
+          sources."through2-0.6.5"
+        ];
+      })
       sources."readable-stream-2.3.3"
       sources."xtend-4.0.1"
       sources."core-util-is-1.0.2"
@@ -30268,20 +29048,17 @@ in
       sources."safe-buffer-5.1.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
-      sources."clone-1.0.2"
+      sources."clone-1.0.3"
       sources."clone-stats-0.0.1"
       sources."replace-ext-0.0.1"
       sources."duplexify-3.5.1"
-      (sources."glob-stream-5.3.5" // {
+      sources."glob-stream-5.3.5"
+      sources."graceful-fs-4.1.11"
+      (sources."gulp-sourcemaps-1.6.0" // {
         dependencies = [
-          sources."through2-0.6.5"
-          sources."readable-stream-1.0.34"
-          sources."isarray-0.0.1"
-          sources."string_decoder-0.10.31"
+          sources."through2-2.0.3"
         ];
       })
-      sources."graceful-fs-4.1.11"
-      sources."gulp-sourcemaps-1.6.0"
       sources."is-valid-glob-0.3.0"
       sources."lazystream-1.0.0"
       sources."lodash.isequal-4.5.0"
@@ -30290,7 +29067,11 @@ in
       sources."object-assign-4.1.1"
       sources."strip-bom-2.0.0"
       sources."strip-bom-stream-1.0.0"
-      sources."through2-filter-2.0.0"
+      (sources."through2-filter-2.0.0" // {
+        dependencies = [
+          sources."through2-2.0.3"
+        ];
+      })
       sources."vali-date-1.0.0"
       sources."end-of-stream-1.4.0"
       sources."stream-shift-1.0.0"
@@ -30298,13 +29079,8 @@ in
       sources."wrappy-1.0.2"
       sources."extend-3.0.1"
       sources."glob-5.0.15"
-      sources."glob-parent-3.1.0"
-      (sources."micromatch-2.3.11" // {
-        dependencies = [
-          sources."is-extglob-1.0.0"
-          sources."is-glob-2.0.1"
-        ];
-      })
+      sources."glob-parent-2.0.0"
+      sources."micromatch-2.3.11"
       sources."ordered-read-streams-0.3.0"
       sources."to-absolute-glob-0.1.1"
       sources."unique-stream-2.2.1"
@@ -30314,46 +29090,28 @@ in
       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."is-glob-2.0.1"
       sources."path-dirname-1.0.2"
-      sources."is-extglob-2.1.1"
+      sources."is-extglob-1.0.0"
       sources."arr-diff-2.0.0"
       sources."array-unique-0.2.1"
       sources."braces-1.8.5"
       sources."expand-brackets-0.1.5"
-      (sources."extglob-0.3.2" // {
-        dependencies = [
-          sources."is-extglob-1.0.0"
-        ];
-      })
+      sources."extglob-0.3.2"
       sources."filename-regex-2.0.1"
       sources."kind-of-3.2.2"
       sources."normalize-path-2.1.1"
       sources."object.omit-2.0.1"
-      (sources."parse-glob-3.0.4" // {
-        dependencies = [
-          sources."is-extglob-1.0.0"
-          sources."is-glob-2.0.1"
-        ];
-      })
+      sources."parse-glob-3.0.4"
       sources."regex-cache-0.4.4"
       sources."arr-flatten-1.1.0"
       sources."expand-range-1.8.2"
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.6"
       sources."is-posix-bracket-0.1.1"
@@ -30361,13 +29119,7 @@ in
       sources."for-own-0.1.5"
       sources."is-extendable-0.1.1"
       sources."for-in-1.0.2"
-      (sources."glob-base-0.3.0" // {
-        dependencies = [
-          sources."glob-parent-2.0.0"
-          sources."is-glob-2.0.1"
-          sources."is-extglob-1.0.0"
-        ];
-      })
+      sources."glob-base-0.3.0"
       sources."is-dotfile-1.0.3"
       sources."is-equal-shallow-0.1.3"
       sources."is-primitive-2.0.0"
@@ -30399,39 +29151,14 @@ in
     dependencies = [
       sources."body-parser-1.18.2"
       sources."chokidar-1.7.0"
-      (sources."express-4.16.2" // {
-        dependencies = [
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."express-4.16.2"
       sources."markdown-it-8.4.0"
       sources."markdown-it-emoji-1.4.0"
       sources."markdown-it-github-headings-1.0.1"
       sources."markdown-it-task-checkbox-1.0.4"
       sources."minimist-1.2.0"
       sources."opn-5.1.0"
-      (sources."request-2.83.0" // {
-        dependencies = [
-          sources."aws-sign2-0.7.0"
-          sources."form-data-2.3.1"
-          sources."har-validator-5.0.3"
-          sources."hawk-6.0.2"
-          sources."http-signature-1.2.0"
-          sources."performance-now-2.1.0"
-          sources."ajv-5.3.0"
-          sources."har-schema-2.0.0"
-          sources."hoek-4.2.0"
-          sources."boom-4.3.1"
-          (sources."cryptiles-3.1.2" // {
-            dependencies = [
-              sources."boom-5.2.0"
-            ];
-          })
-          sources."sntp-2.1.0"
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."request-2.83.0"
       sources."socket.io-2.0.4"
       sources."bytes-3.0.0"
       sources."content-type-1.0.4"
@@ -30445,8 +29172,8 @@ in
       sources."type-is-1.6.15"
       sources."ms-2.0.0"
       sources."inherits-2.0.3"
-      sources."setprototypeof-1.0.3"
-      sources."statuses-1.4.0"
+      sources."setprototypeof-1.1.0"
+      sources."statuses-1.3.1"
       sources."ee-first-1.1.1"
       sources."unpipe-1.0.0"
       sources."media-typer-0.3.0"
@@ -30459,7 +29186,7 @@ in
       sources."is-glob-2.0.1"
       sources."path-is-absolute-1.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.2"
+      sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
       sources."normalize-path-2.1.1"
       sources."arr-diff-2.0.0"
@@ -30478,20 +29205,11 @@ in
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
       sources."repeat-string-1.6.1"
-      sources."isarray-1.0.0"
+      sources."isarray-2.0.1"
       sources."is-buffer-1.1.6"
       sources."is-posix-bracket-0.1.1"
       sources."for-own-0.1.5"
@@ -30516,121 +29234,7 @@ in
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
       sources."nan-2.7.0"
-      (sources."node-pre-gyp-0.6.38" // {
-        dependencies = [
-          sources."request-2.81.0"
-          sources."qs-6.4.0"
-        ];
-      })
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
-      sources."nopt-4.0.1"
-      sources."npmlog-4.1.2"
-      sources."rc-1.2.2"
-      sources."hawk-3.1.3"
-      sources."rimraf-2.6.2"
-      sources."semver-5.4.1"
-      sources."tar-2.2.1"
-      sources."tar-pack-3.4.1"
-      sources."abbrev-1.1.1"
-      sources."osenv-0.1.4"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      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."aproba-1.2.0"
-      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.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.2"
-      sources."ini-1.3.4"
-      sources."strip-json-comments-2.0.1"
-      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."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."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.0"
-      sources."uuid-3.1.0"
-      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."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      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."hoek-2.16.3"
-      sources."boom-2.10.1"
-      sources."cryptiles-2.0.5"
-      sources."sntp-1.0.9"
-      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."fstream-ignore-1.0.5"
-      sources."uid-number-0.0.6"
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.3"
       sources."array-flatten-1.1.1"
       sources."content-disposition-0.5.2"
       sources."cookie-0.3.1"
@@ -30638,11 +29242,7 @@ in
       sources."encodeurl-1.0.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."finalhandler-1.1.0" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."finalhandler-1.1.0"
       sources."fresh-0.5.2"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
@@ -30650,11 +29250,7 @@ in
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-2.0.2"
       sources."range-parser-1.2.0"
-      (sources."send-0.16.1" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."send-0.16.1"
       sources."serve-static-1.13.1"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
@@ -30674,43 +29270,70 @@ in
       sources."emoji-regex-6.1.1"
       sources."html-entities-1.2.1"
       sources."is-wsl-1.1.0"
+      sources."aws-sign2-0.7.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.3.1"
+      sources."har-validator-5.0.3"
+      sources."hawk-6.0.2"
+      sources."http-signature-1.2.0"
+      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-2.1.0"
+      sources."stringstream-0.0.5"
+      sources."tough-cookie-2.3.3"
+      sources."tunnel-agent-0.6.0"
+      sources."uuid-3.1.0"
+      sources."delayed-stream-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."ajv-5.3.0"
+      sources."har-schema-2.0.0"
+      sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
-      (sources."engine.io-3.1.3" // {
-        dependencies = [
-          sources."accepts-1.3.3"
-        ];
-      })
+      sources."hoek-4.2.0"
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
+      sources."sntp-2.1.0"
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
+      sources."extsprintf-1.3.0"
+      sources."json-schema-0.2.3"
+      sources."verror-1.10.0"
+      sources."asn1-0.2.3"
+      sources."dashdash-1.14.1"
+      sources."getpass-0.1.7"
+      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."engine.io-3.1.4"
       sources."socket.io-adapter-1.1.1"
       sources."socket.io-client-2.0.4"
-      (sources."socket.io-parser-3.1.2" // {
-        dependencies = [
-          sources."isarray-2.0.1"
-        ];
-      })
+      sources."socket.io-parser-3.1.2"
       sources."base64id-1.0.0"
       sources."engine.io-parser-2.1.1"
-      (sources."ws-2.3.1" // {
-        dependencies = [
-          sources."safe-buffer-5.0.1"
-        ];
-      })
+      sources."ws-3.3.1"
       sources."uws-0.14.5"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.6"
       sources."base64-arraybuffer-0.1.5"
       sources."blob-0.0.4"
-      (sources."has-binary2-1.0.2" // {
-        dependencies = [
-          sources."isarray-2.0.1"
-        ];
-      })
+      sources."has-binary2-1.0.2"
+      sources."async-limiter-1.0.0"
       sources."ultron-1.1.0"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
-      sources."engine.io-client-3.1.3"
+      sources."engine.io-client-3.1.4"
       sources."has-cors-1.1.0"
       sources."indexof-0.0.1"
       sources."object-component-0.0.3"
@@ -30742,12 +29365,7 @@ in
     dependencies = [
       sources."chokidar-1.7.0"
       sources."colors-1.1.2"
-      (sources."connect-3.5.1" // {
-        dependencies = [
-          sources."debug-2.2.0"
-          sources."ms-0.7.1"
-        ];
-      })
+      sources."connect-3.5.1"
       sources."cors-2.8.4"
       sources."event-stream-3.3.4"
       sources."faye-websocket-0.11.1"
@@ -30766,7 +29384,7 @@ in
       sources."is-glob-2.0.1"
       sources."path-is-absolute-1.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.2"
+      sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
       sources."normalize-path-2.1.1"
       sources."arr-diff-2.0.0"
@@ -30785,18 +29403,9 @@ in
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
       sources."repeat-string-1.6.1"
       sources."isarray-1.0.0"
       sources."is-buffer-1.1.6"
@@ -30823,129 +29432,11 @@ in
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
       sources."nan-2.7.0"
-      sources."node-pre-gyp-0.6.38"
-      sources."mkdirp-0.5.1"
-      sources."nopt-4.0.1"
-      sources."npmlog-4.1.2"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
-      sources."request-2.81.0"
-      sources."hawk-3.1.3"
-      sources."rimraf-2.6.2"
-      sources."semver-5.4.1"
-      sources."tar-2.2.1"
-      sources."tar-pack-3.4.1"
-      sources."minimist-0.0.8"
-      sources."abbrev-1.1.1"
-      sources."osenv-0.1.4"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      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."aproba-1.2.0"
-      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.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.2"
-      sources."ini-1.3.4"
-      sources."strip-json-comments-2.0.1"
-      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."http-signature-1.1.1"
-      sources."is-typedarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."json-stringify-safe-5.0.1"
-      sources."mime-types-2.1.17"
-      sources."oauth-sign-0.8.2"
-      sources."performance-now-0.2.0"
-      sources."qs-6.4.0"
-      sources."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.0"
-      sources."uuid-3.1.0"
-      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."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      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."mime-db-1.30.0"
-      sources."punycode-1.4.1"
-      sources."hoek-2.16.3"
-      sources."boom-2.10.1"
-      sources."cryptiles-2.0.5"
-      sources."sntp-1.0.9"
-      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.9"
-      sources."fstream-ignore-1.0.5"
-      sources."uid-number-0.0.6"
-      sources."ms-2.0.0"
-      (sources."finalhandler-0.5.1" // {
-        dependencies = [
-          sources."debug-2.2.0"
-          sources."ms-0.7.1"
-        ];
-      })
+      sources."finalhandler-0.5.1"
       sources."parseurl-1.3.2"
       sources."utils-merge-1.0.0"
+      sources."ms-2.0.0"
       sources."escape-html-1.0.3"
       sources."on-finished-2.3.0"
       sources."statuses-1.3.1"
@@ -30961,10 +29452,11 @@ in
       sources."stream-combiner-0.0.4"
       sources."websocket-driver-0.7.0"
       sources."http-parser-js-0.4.9"
-      sources."websocket-extensions-0.1.2"
+      sources."websocket-extensions-0.1.3"
       sources."apache-crypt-1.2.1"
       sources."apache-md5-1.1.2"
       sources."bcryptjs-2.4.3"
+      sources."uuid-3.1.0"
       sources."unix-crypt-td-js-1.0.0"
       sources."basic-auth-2.0.0"
       sources."depd-1.1.1"
@@ -30980,7 +29472,9 @@ in
       sources."setprototypeof-1.0.3"
       sources."accepts-1.3.4"
       sources."batch-0.6.1"
+      sources."mime-types-2.1.17"
       sources."negotiator-0.6.1"
+      sources."mime-db-1.30.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -31087,7 +29581,7 @@ in
       sources."slash-1.0.0"
       sources."uri-js-3.0.2"
       sources."lodash-4.17.4"
-      sources."superagent-3.8.0"
+      sources."superagent-3.8.1"
       sources."component-emitter-1.2.1"
       sources."cookiejar-2.1.1"
       sources."debug-3.1.0"
@@ -31143,10 +29637,10 @@ in
   node2nix = nodeEnv.buildNodePackage {
     name = "node2nix";
     packageName = "node2nix";
-    version = "1.3.0";
+    version = "1.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node2nix/-/node2nix-1.3.0.tgz";
-      sha1 = "e830a3bc5880dd22ae47be71a147f776542850cc";
+      url = "https://registry.npmjs.org/node2nix/-/node2nix-1.4.0.tgz";
+      sha1 = "f5fc42590aedb8934e8e7fb6641a91c05fcd9337";
     };
     dependencies = [
       sources."optparse-1.0.5"
@@ -31154,26 +29648,21 @@ in
       sources."npm-registry-client-8.4.0"
       (sources."npmconf-2.1.2" // {
         dependencies = [
-          sources."once-1.3.3"
           sources."semver-4.3.6"
         ];
       })
       sources."tar-3.1.15"
       sources."temp-0.8.3"
-      (sources."fs.extra-1.3.2" // {
-        dependencies = [
-          sources."mkdirp-0.3.5"
-        ];
-      })
+      sources."fs.extra-1.3.2"
       sources."findit-2.0.0"
       sources."base64-js-1.2.1"
       sources."slasp-0.0.4"
-      sources."nijs-0.0.23"
+      sources."nijs-0.0.25"
       sources."concat-stream-1.6.0"
       sources."graceful-fs-4.1.11"
       sources."normalize-package-data-2.4.0"
       sources."npm-package-arg-5.1.2"
-      sources."once-1.4.0"
+      sources."once-1.3.3"
       sources."request-2.83.0"
       sources."retry-0.10.1"
       sources."slide-1.1.6"
@@ -31231,12 +29720,8 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
       sources."sntp-2.1.0"
       sources."assert-plus-1.0.0"
       sources."jsprim-1.4.1"
@@ -31271,7 +29756,7 @@ in
       sources."ansi-regex-2.1.1"
       sources."config-chain-1.1.11"
       sources."ini-1.3.4"
-      sources."mkdirp-0.5.1"
+      sources."mkdirp-0.3.5"
       sources."nopt-3.0.6"
       sources."uid-number-0.0.5"
       sources."proto-list-1.2.4"
@@ -31281,11 +29766,7 @@ in
       sources."minizlib-1.0.4"
       sources."yallist-3.0.2"
       sources."rimraf-2.2.8"
-      (sources."fs-extra-0.6.4" // {
-        dependencies = [
-          sources."mkdirp-0.3.5"
-        ];
-      })
+      sources."fs-extra-0.6.4"
       sources."walk-2.3.9"
       sources."ncp-0.4.2"
       sources."jsonfile-1.0.1"
@@ -31387,12 +29868,8 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
       sources."sntp-2.1.0"
       sources."assert-plus-1.0.0"
       sources."jsprim-1.4.1"
@@ -31430,7 +29907,11 @@ in
     };
     dependencies = [
       sources."async-0.9.2"
-      sources."biased-opener-0.2.8"
+      (sources."biased-opener-0.2.8" // {
+        dependencies = [
+          sources."yargs-1.3.3"
+        ];
+      })
       sources."debug-2.6.9"
       sources."express-4.16.2"
       sources."glob-5.0.15"
@@ -31439,38 +29920,31 @@ in
       sources."semver-4.3.6"
       sources."serve-favicon-2.4.5"
       sources."strong-data-uri-1.0.4"
-      sources."v8-debug-1.0.1"
+      (sources."v8-debug-1.0.1" // {
+        dependencies = [
+          sources."semver-5.4.1"
+          sources."glob-7.1.2"
+        ];
+      })
       sources."v8-profiler-5.7.0"
       sources."which-1.3.0"
-      sources."ws-1.1.4"
+      sources."ws-1.1.5"
       sources."yargs-3.32.0"
       sources."browser-launcher2-0.4.6"
       sources."minimist-1.2.0"
       sources."x-default-browser-0.3.1"
       sources."headless-0.1.7"
-      sources."lodash-2.4.2"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."lodash-3.10.1"
+      sources."mkdirp-0.5.1"
       sources."osenv-0.1.4"
       sources."plist-1.2.0"
-      (sources."win-detect-browsers-1.0.2" // {
-        dependencies = [
-          sources."yargs-1.3.3"
-        ];
-      })
+      sources."win-detect-browsers-1.0.2"
       sources."uid-0.0.2"
-      sources."rimraf-2.2.8"
+      sources."rimraf-2.6.2"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."base64-js-0.0.8"
-      (sources."xmlbuilder-4.0.0" // {
-        dependencies = [
-          sources."lodash-3.10.1"
-        ];
-      })
+      sources."xmlbuilder-4.0.0"
       sources."xmldom-0.1.27"
       sources."util-deprecate-1.0.2"
       sources."after-0.8.2"
@@ -31540,12 +30014,12 @@ in
       sources."parseurl-1.3.2"
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-2.0.2"
-      sources."qs-6.5.1"
+      sources."qs-6.4.0"
       sources."range-parser-1.2.0"
       sources."safe-buffer-5.1.1"
       sources."send-0.16.1"
       sources."serve-static-1.13.1"
-      sources."setprototypeof-1.1.0"
+      sources."setprototypeof-1.0.3"
       sources."statuses-1.3.1"
       sources."type-is-1.6.15"
       sources."utils-merge-1.0.1"
@@ -31554,11 +30028,7 @@ in
       sources."negotiator-0.6.1"
       sources."mime-db-1.30.0"
       sources."bytes-3.0.0"
-      (sources."http-errors-1.6.2" // {
-        dependencies = [
-          sources."setprototypeof-1.0.3"
-        ];
-      })
+      sources."http-errors-1.6.2"
       sources."iconv-lite-0.4.19"
       sources."raw-body-2.3.2"
       sources."inherits-2.0.3"
@@ -31581,28 +30051,14 @@ in
       sources."strip-json-comments-2.0.1"
       sources."truncate-1.0.5"
       sources."nan-2.7.0"
-      (sources."node-pre-gyp-0.6.38" // {
-        dependencies = [
-          sources."rimraf-2.6.2"
-          sources."semver-5.4.1"
-          sources."glob-7.1.2"
-        ];
-      })
+      sources."node-pre-gyp-0.6.39"
       sources."nopt-4.0.1"
       sources."npmlog-4.1.2"
-      (sources."request-2.81.0" // {
-        dependencies = [
-          sources."qs-6.4.0"
-        ];
-      })
+      sources."request-2.81.0"
       sources."hawk-3.1.3"
+      sources."detect-libc-1.0.2"
       sources."tar-2.2.1"
-      (sources."tar-pack-3.4.1" // {
-        dependencies = [
-          sources."rimraf-2.6.2"
-          sources."glob-7.1.2"
-        ];
-      })
+      sources."tar-pack-3.4.1"
       sources."abbrev-1.1.1"
       sources."are-we-there-yet-1.1.4"
       sources."console-control-strings-1.1.0"
@@ -31647,35 +30103,15 @@ in
       sources."co-4.6.0"
       sources."json-stable-stringify-1.0.1"
       sources."jsonify-0.0.0"
-      sources."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
       sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.10.0"
       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."dashdash-1.14.1"
+      sources."getpass-0.1.7"
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
       sources."ecc-jsbn-0.1.1"
@@ -31711,27 +30147,24 @@ in
   node-pre-gyp = nodeEnv.buildNodePackage {
     name = "node-pre-gyp";
     packageName = "node-pre-gyp";
-    version = "0.6.38";
+    version = "0.6.39";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.38.tgz";
-      sha1 = "e92a20f83416415bb4086f6d1fb78b3da73d113d";
+      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.39.tgz";
+      sha512 = "2cwrivwc0ha272cly9r61bbb14kkl1s1hsmn53yr88b6pfjqj512nac6c5rphc6ak88v8gpl1f879qdd3v7386103zzr7miibpmbhis";
     };
     dependencies = [
       sources."mkdirp-0.5.1"
       sources."nopt-4.0.1"
       sources."npmlog-4.1.2"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."rc-1.2.2"
       sources."request-2.81.0"
       sources."hawk-3.1.3"
       sources."rimraf-2.6.2"
       sources."semver-5.4.1"
+      sources."detect-libc-1.0.2"
       sources."tar-2.2.1"
       sources."tar-pack-3.4.1"
-      sources."minimist-0.0.8"
+      sources."minimist-1.2.0"
       sources."abbrev-1.1.1"
       sources."osenv-0.1.4"
       sources."os-homedir-1.0.2"
@@ -31790,35 +30223,15 @@ in
       sources."co-4.6.0"
       sources."json-stable-stringify-1.0.1"
       sources."jsonify-0.0.0"
-      sources."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
       sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.10.0"
       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."dashdash-1.14.1"
+      sources."getpass-0.1.7"
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
       sources."ecc-jsbn-0.1.1"
@@ -31871,11 +30284,7 @@ in
       sources."lodash.defaults-3.1.2"
       sources."minimatch-3.0.4"
       sources."ps-tree-1.1.0"
-      (sources."touch-3.1.0" // {
-        dependencies = [
-          sources."nopt-1.0.10"
-        ];
-      })
+      sources."touch-3.1.0"
       sources."undefsafe-0.0.3"
       sources."update-notifier-2.3.0"
       sources."anymatch-1.3.2"
@@ -31886,7 +30295,7 @@ in
       sources."is-glob-2.0.1"
       sources."path-is-absolute-1.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.2"
+      sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
       sources."normalize-path-2.1.1"
       sources."arr-diff-2.0.0"
@@ -31905,18 +30314,9 @@ in
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
       sources."repeat-string-1.6.1"
       sources."isarray-1.0.0"
       sources."is-buffer-1.1.6"
@@ -31939,120 +30339,6 @@ in
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
       sources."nan-2.7.0"
-      sources."node-pre-gyp-0.6.38"
-      sources."mkdirp-0.5.1"
-      sources."nopt-4.0.1"
-      sources."npmlog-4.1.2"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
-      sources."request-2.81.0"
-      sources."hawk-3.1.3"
-      sources."rimraf-2.6.2"
-      sources."semver-5.4.1"
-      sources."tar-2.2.1"
-      sources."tar-pack-3.4.1"
-      sources."minimist-0.0.8"
-      sources."abbrev-1.1.1"
-      sources."osenv-0.1.4"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      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."aproba-1.2.0"
-      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.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.2"
-      sources."ini-1.3.4"
-      sources."strip-json-comments-2.0.1"
-      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."http-signature-1.1.1"
-      sources."is-typedarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."json-stringify-safe-5.0.1"
-      sources."mime-types-2.1.17"
-      sources."oauth-sign-0.8.2"
-      sources."performance-now-0.2.0"
-      sources."qs-6.4.0"
-      sources."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.0"
-      sources."uuid-3.1.0"
-      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."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      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."mime-db-1.30.0"
-      sources."punycode-1.4.1"
-      sources."hoek-2.16.3"
-      sources."boom-2.10.1"
-      sources."cryptiles-2.0.5"
-      sources."sntp-1.0.9"
-      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."fstream-ignore-1.0.5"
-      sources."uid-number-0.0.6"
       sources."ms-2.0.0"
       sources."lodash.assign-3.2.0"
       sources."lodash.restparam-3.6.1"
@@ -32076,14 +30362,9 @@ in
       sources."pause-stream-0.0.11"
       sources."split-0.3.3"
       sources."stream-combiner-0.0.4"
-      (sources."boxen-1.2.2" // {
-        dependencies = [
-          sources."string-width-2.1.1"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."nopt-1.0.10"
+      sources."abbrev-1.1.1"
+      sources."boxen-1.2.2"
       sources."chalk-2.3.0"
       sources."configstore-3.1.1"
       sources."import-lazy-2.1.0"
@@ -32092,24 +30373,22 @@ in
       sources."latest-version-3.1.0"
       sources."semver-diff-2.1.0"
       sources."xdg-basedir-3.0.0"
-      (sources."ansi-align-2.0.0" // {
-        dependencies = [
-          sources."string-width-2.1.1"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."ansi-align-2.0.0"
       sources."camelcase-4.1.0"
       sources."cli-boxes-1.0.0"
+      sources."string-width-1.0.2"
       sources."term-size-1.2.0"
       sources."widest-line-1.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."strip-ansi-3.0.1"
+      sources."ansi-regex-2.1.1"
       sources."execa-0.7.0"
       sources."cross-spawn-5.1.0"
       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."lru-cache-4.1.1"
       sources."shebang-command-1.2.0"
@@ -32119,10 +30398,12 @@ in
       sources."shebang-regex-1.0.0"
       sources."isexe-2.0.0"
       sources."path-key-2.0.1"
+      sources."code-point-at-1.1.0"
+      sources."number-is-nan-1.0.1"
       sources."ansi-styles-3.2.0"
       sources."escape-string-regexp-1.0.5"
       sources."supports-color-4.5.0"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
       sources."dot-prop-4.2.0"
@@ -32135,11 +30416,13 @@ in
       sources."imurmurhash-0.1.4"
       sources."global-dirs-0.1.0"
       sources."is-path-inside-1.0.0"
+      sources."ini-1.3.4"
       sources."path-is-inside-1.0.2"
       sources."package-json-4.0.1"
       sources."got-6.7.1"
       sources."registry-auth-token-3.3.1"
       sources."registry-url-3.1.0"
+      sources."semver-5.4.1"
       sources."create-error-class-3.0.2"
       sources."duplexer3-0.1.4"
       sources."is-redirect-1.0.0"
@@ -32150,6 +30433,10 @@ in
       sources."url-parse-lax-1.0.0"
       sources."capture-stack-trace-1.0.0"
       sources."prepend-http-1.0.4"
+      sources."rc-1.2.2"
+      sources."deep-extend-0.4.2"
+      sources."minimist-1.2.0"
+      sources."strip-json-comments-2.0.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -32177,17 +30464,8 @@ in
       sources."cookie-parser-1.4.3"
       sources."cors-2.8.3"
       sources."cron-1.2.1"
-      (sources."express-4.15.3" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
-      (sources."express-session-1.15.2" // {
-        dependencies = [
-          sources."debug-2.6.3"
-          sources."ms-0.7.2"
-        ];
-      })
+      sources."express-4.15.3"
+      sources."express-session-1.15.2"
       sources."follow-redirects-1.2.4"
       sources."fs-extra-1.0.0"
       sources."fs.notify-0.0.4"
@@ -32198,12 +30476,12 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonata-1.2.6"
       sources."media-typer-0.3.0"
-      sources."mqtt-2.9.0"
-      (sources."multer-1.3.0" // {
+      (sources."mqtt-2.9.0" // {
         dependencies = [
-          sources."object-assign-3.0.0"
+          sources."ws-3.3.1"
         ];
       })
+      sources."multer-1.3.0"
       sources."mustache-2.3.0"
       sources."nopt-3.0.6"
       sources."oauth2orize-1.8.0"
@@ -32216,60 +30494,39 @@ in
       sources."sentiment-2.1.0"
       sources."uglify-js-3.0.20"
       sources."when-3.7.8"
-      (sources."ws-1.1.1" // {
-        dependencies = [
-          sources."ultron-1.0.2"
-        ];
-      })
+      sources."ws-1.1.1"
       sources."xml2js-0.4.17"
       sources."node-red-node-feedparser-0.1.8"
-      sources."node-red-node-email-0.1.24"
-      (sources."node-red-node-twitter-0.1.11" // {
+      (sources."node-red-node-email-0.1.24" // {
         dependencies = [
-          sources."request-2.83.0"
-          sources."aws-sign2-0.7.0"
-          sources."caseless-0.12.0"
-          sources."form-data-2.3.1"
-          sources."har-validator-5.0.3"
-          sources."hawk-6.0.2"
-          sources."http-signature-1.2.0"
-          sources."qs-6.5.1"
-          sources."tunnel-agent-0.6.0"
-          sources."hoek-4.2.0"
-          sources."boom-4.3.1"
-          (sources."cryptiles-3.1.2" // {
-            dependencies = [
-              sources."boom-5.2.0"
-            ];
-          })
-          sources."sntp-2.1.0"
-          sources."assert-plus-1.0.0"
+          sources."clone-1.0.3"
         ];
       })
+      sources."node-red-node-twitter-0.1.12"
       sources."node-red-node-rbe-0.1.13"
-      sources."bcrypt-1.0.3"
+      (sources."bcrypt-1.0.3" // {
+        dependencies = [
+          sources."nopt-4.0.1"
+        ];
+      })
       sources."bytes-2.4.0"
       sources."content-type-1.0.4"
-      sources."debug-2.6.7"
+      sources."debug-2.6.3"
       sources."depd-1.1.1"
       sources."http-errors-1.6.2"
       sources."iconv-lite-0.4.15"
       sources."on-finished-2.3.0"
-      sources."qs-6.4.0"
+      sources."qs-6.5.1"
       sources."type-is-1.6.15"
-      sources."ms-2.0.0"
+      sources."ms-0.7.2"
       sources."inherits-2.0.3"
       sources."setprototypeof-1.0.3"
-      sources."statuses-1.4.0"
+      sources."statuses-1.3.1"
       sources."ee-first-1.1.1"
       sources."mime-types-2.1.17"
       sources."mime-db-1.30.0"
       sources."css-select-1.2.0"
-      (sources."dom-serializer-0.1.0" // {
-        dependencies = [
-          sources."domelementtype-1.1.3"
-        ];
-      })
+      sources."dom-serializer-0.1.0"
       sources."entities-1.1.1"
       sources."htmlparser2-3.9.2"
       sources."lodash.assignin-4.2.0"
@@ -32301,19 +30558,14 @@ in
       sources."object-assign-4.1.1"
       sources."vary-1.1.2"
       sources."moment-timezone-0.5.14"
-      sources."moment-2.19.1"
+      sources."moment-2.19.2"
       sources."accepts-1.3.4"
       sources."array-flatten-1.1.1"
       sources."content-disposition-0.5.2"
       sources."encodeurl-1.0.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."finalhandler-1.0.6" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."finalhandler-1.0.6"
       sources."fresh-0.5.0"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
@@ -32321,11 +30573,7 @@ in
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-1.1.5"
       sources."range-parser-1.2.0"
-      (sources."send-0.15.3" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."send-0.15.3"
       sources."serve-static-1.12.3"
       sources."utils-merge-1.0.0"
       sources."negotiator-0.6.1"
@@ -32340,7 +30588,7 @@ in
       sources."graceful-fs-4.1.11"
       sources."jsonfile-2.4.0"
       sources."klaw-1.3.1"
-      sources."async-0.1.22"
+      sources."async-2.6.0"
       sources."retry-0.6.1"
       sources."cookies-0.7.1"
       sources."i18next-client-1.10.3"
@@ -32358,11 +30606,7 @@ in
       sources."pump-1.0.2"
       sources."reinterval-1.1.0"
       sources."split2-2.2.0"
-      (sources."websocket-stream-5.1.1" // {
-        dependencies = [
-          sources."ws-3.2.0"
-        ];
-      })
+      sources."websocket-stream-5.1.1"
       sources."xtend-4.0.1"
       sources."leven-1.0.2"
       sources."typedarray-0.0.6"
@@ -32402,29 +30646,13 @@ in
       sources."json-stable-stringify-1.0.1"
       sources."through2-filter-2.0.0"
       sources."jsonify-0.0.0"
-      sources."bl-1.2.1"
+      sources."bl-1.1.2"
       sources."async-limiter-1.0.0"
-      sources."ultron-1.1.0"
+      sources."ultron-1.0.2"
       sources."append-field-0.1.0"
-      (sources."busboy-0.2.14" // {
-        dependencies = [
-          sources."readable-stream-1.1.14"
-          sources."isarray-0.0.1"
-          sources."string_decoder-0.10.31"
-        ];
-      })
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
-      (sources."dicer-0.2.5" // {
-        dependencies = [
-          sources."readable-stream-1.1.14"
-          sources."isarray-0.0.1"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."busboy-0.2.14"
+      sources."mkdirp-0.5.1"
+      sources."dicer-0.2.5"
       sources."streamsearch-0.1.2"
       sources."abbrev-1.1.1"
       sources."uid2-0.0.3"
@@ -32434,47 +30662,29 @@ in
       sources."source-map-0.5.7"
       sources."graceful-readlink-1.0.1"
       sources."options-0.0.6"
-      sources."sax-1.2.4"
+      sources."sax-0.6.1"
       sources."xmlbuilder-4.2.1"
       sources."lodash-4.17.4"
-      (sources."feedparser-1.1.3" // {
-        dependencies = [
-          sources."sax-0.6.1"
-          sources."readable-stream-1.0.34"
-          sources."isarray-0.0.1"
-          sources."string_decoder-0.10.31"
-        ];
-      })
-      (sources."request-2.74.0" // {
-        dependencies = [
-          sources."bl-1.1.2"
-          sources."qs-6.2.3"
-          sources."readable-stream-2.0.6"
-          sources."string_decoder-0.10.31"
-        ];
-      })
-      sources."addressparser-0.1.3"
+      sources."feedparser-1.1.3"
+      sources."request-2.83.0"
+      sources."addressparser-1.0.1"
       sources."array-indexofobject-0.0.1"
-      sources."aws-sign2-0.6.0"
+      sources."aws-sign2-0.7.0"
       sources."aws4-1.6.0"
-      sources."caseless-0.11.0"
+      sources."caseless-0.12.0"
       sources."combined-stream-1.0.5"
       sources."forever-agent-0.6.1"
-      (sources."form-data-1.0.1" // {
-        dependencies = [
-          sources."async-2.5.0"
-        ];
-      })
-      sources."har-validator-2.0.6"
-      sources."hawk-3.1.3"
-      sources."http-signature-1.1.1"
+      sources."form-data-2.3.1"
+      sources."har-validator-5.0.3"
+      sources."hawk-6.0.2"
+      sources."http-signature-1.2.0"
       sources."is-typedarray-1.0.0"
       sources."isstream-0.1.2"
       sources."node-uuid-1.4.8"
       sources."oauth-sign-0.8.2"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.4.3"
+      sources."tunnel-agent-0.6.0"
       sources."delayed-stream-1.0.0"
       sources."chalk-1.1.3"
       sources."is-my-json-valid-2.16.1"
@@ -32490,39 +30700,19 @@ in
       sources."jsonpointer-4.0.1"
       sources."is-property-1.0.2"
       sources."pinkie-2.0.4"
-      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.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."hoek-4.2.0"
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
+      sources."sntp-2.1.0"
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
       sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.10.0"
       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."dashdash-1.14.1"
+      sources."getpass-0.1.7"
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
       sources."ecc-jsbn-0.1.1"
@@ -32531,43 +30721,20 @@ in
       sources."nodemailer-1.11.0"
       sources."poplib-0.1.7"
       sources."mailparser-0.6.2"
-      (sources."imap-0.8.19" // {
-        dependencies = [
-          sources."readable-stream-1.1.14"
-          sources."isarray-0.0.1"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."imap-0.8.19"
       sources."libmime-1.2.0"
       sources."mailcomposer-2.1.0"
-      sources."needle-0.11.0"
+      sources."needle-0.10.0"
       sources."nodemailer-direct-transport-1.1.0"
-      (sources."nodemailer-smtp-transport-1.1.0" // {
-        dependencies = [
-          sources."clone-1.0.2"
-        ];
-      })
+      sources."nodemailer-smtp-transport-1.1.0"
       sources."libbase64-0.1.0"
       sources."libqp-1.1.0"
-      (sources."buildmail-2.0.0" // {
-        dependencies = [
-          sources."addressparser-0.3.2"
-          sources."needle-0.10.0"
-        ];
-      })
+      sources."buildmail-2.0.0"
       sources."smtp-connection-1.3.8"
       sources."nodemailer-wellknown-0.1.10"
-      (sources."optimist-0.6.1" // {
-        dependencies = [
-          sources."minimist-0.0.10"
-        ];
-      })
+      sources."optimist-0.6.1"
       sources."wordwrap-0.0.3"
-      (sources."mimelib-0.3.1" // {
-        dependencies = [
-          sources."addressparser-1.0.1"
-        ];
-      })
+      sources."mimelib-0.3.1"
       sources."encoding-0.1.12"
       sources."uue-3.1.0"
       sources."utf7-1.0.2"
@@ -32583,29 +30750,7 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."nan-2.6.2"
-      (sources."node-pre-gyp-0.6.36" // {
-        dependencies = [
-          sources."nopt-4.0.1"
-          sources."request-2.83.0"
-          sources."aws-sign2-0.7.0"
-          sources."caseless-0.12.0"
-          sources."form-data-2.3.1"
-          sources."har-validator-5.0.3"
-          sources."hawk-6.0.2"
-          sources."http-signature-1.2.0"
-          sources."qs-6.5.1"
-          sources."tunnel-agent-0.6.0"
-          sources."hoek-4.2.0"
-          sources."boom-4.3.1"
-          (sources."cryptiles-3.1.2" // {
-            dependencies = [
-              sources."boom-5.2.0"
-            ];
-          })
-          sources."sntp-2.1.0"
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."node-pre-gyp-0.6.36"
       sources."npmlog-4.1.2"
       sources."rc-1.2.2"
       sources."rimraf-2.6.2"
@@ -32673,35 +30818,23 @@ in
       sources."js-yaml-2.1.0"
       sources."hooks-0.2.1"
       sources."mongodb-1.2.14"
-      sources."ms-0.1.0"
-      sources."sliced-0.0.3"
+      sources."ms-2.0.0"
+      sources."sliced-0.0.4"
       sources."muri-0.3.1"
-      (sources."mpromise-0.2.1" // {
-        dependencies = [
-          sources."sliced-0.0.4"
-        ];
-      })
+      sources."mpromise-0.2.1"
       sources."mpath-0.1.1"
       sources."bson-0.1.8"
-      (sources."connect-2.7.6" // {
-        dependencies = [
-          sources."buffer-crc32-0.1.1"
-        ];
-      })
-      sources."commander-0.6.1"
+      sources."connect-2.7.6"
+      sources."commander-2.1.0"
       sources."range-parser-0.0.4"
       sources."mkdirp-0.3.5"
       sources."cookie-0.0.5"
-      sources."buffer-crc32-0.2.13"
+      sources."buffer-crc32-0.1.1"
       sources."fresh-0.1.0"
       sources."methods-0.0.1"
       sources."send-0.1.0"
       sources."cookie-signature-1.0.1"
-      (sources."debug-3.1.0" // {
-        dependencies = [
-          sources."ms-2.0.0"
-        ];
-      })
+      sources."debug-3.1.0"
       sources."qs-0.5.1"
       sources."formidable-1.0.11"
       sources."bytes-0.2.0"
@@ -32725,14 +30858,10 @@ in
       sources."base64id-0.1.0"
       sources."redis-0.7.3"
       sources."uglify-js-1.2.5"
-      (sources."ws-0.4.32" // {
-        dependencies = [
-          sources."commander-2.1.0"
-        ];
-      })
+      sources."ws-0.4.32"
       sources."xmlhttprequest-1.4.2"
       sources."active-x-obfuscator-0.0.1"
-      sources."nan-1.0.0"
+      sources."nan-2.3.5"
       sources."tinycolor-0.0.1"
       sources."options-0.0.6"
       sources."zeparser-0.0.5"
@@ -32752,11 +30881,7 @@ in
       sources."xoauth2-0.1.8"
       sources."wordwrap-0.0.3"
       sources."minimist-0.0.10"
-      (sources."raw-socket-1.5.1" // {
-        dependencies = [
-          sources."nan-2.3.5"
-        ];
-      })
+      sources."raw-socket-1.5.1"
       sources."argparse-0.1.16"
       sources."esprima-1.0.4"
       sources."underscore-1.7.0"
@@ -32777,429 +30902,6 @@ in
       url = "https://registry.npmjs.org/npm/-/npm-5.5.1.tgz";
       sha512 = "3chqlcr8vp121jxny46vi43cm5r0p31l7a24jbbq5jz4zzi0bvp0isk0i8xqylllcas38b75a9nl9p9pj0azbmbqf1bcyf793q8wxik";
     };
-    dependencies = [
-      sources."JSONStream-1.3.1"
-      sources."abbrev-1.1.1"
-      sources."ansi-regex-3.0.0"
-      sources."ansicolors-0.3.2"
-      sources."ansistyles-0.1.3"
-      sources."aproba-1.2.0"
-      sources."archy-1.0.0"
-      sources."bluebird-3.5.1"
-      sources."cacache-9.2.9"
-      sources."call-limit-1.1.0"
-      sources."chownr-1.0.1"
-      sources."cli-table2-0.2.0"
-      sources."cmd-shim-2.0.2"
-      (sources."columnify-1.5.4" // {
-        dependencies = [
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      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."glob-7.1.2"
-      sources."graceful-fs-4.1.11"
-      sources."has-unicode-2.0.1"
-      sources."hosted-git-info-2.5.0"
-      sources."iferr-0.1.5"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
-      sources."ini-1.3.4"
-      sources."init-package-json-1.10.1"
-      sources."is-cidr-1.0.0"
-      sources."lazy-property-1.0.0"
-      sources."libnpx-9.6.0"
-      sources."lockfile-1.0.3"
-      sources."lodash._baseuniq-4.6.0"
-      sources."lodash.clonedeep-4.5.0"
-      sources."lodash.union-4.6.0"
-      sources."lodash.uniq-4.5.0"
-      sources."lodash.without-4.4.0"
-      sources."lru-cache-4.1.1"
-      sources."meant-1.0.1"
-      sources."mississippi-1.3.0"
-      sources."mkdirp-0.5.1"
-      sources."move-concurrently-1.0.1"
-      (sources."node-gyp-3.6.2" // {
-        dependencies = [
-          sources."nopt-3.0.6"
-          sources."semver-5.3.0"
-          sources."tar-2.2.1"
-        ];
-      })
-      sources."nopt-4.0.1"
-      sources."normalize-package-data-2.4.0"
-      sources."npm-cache-filename-1.0.2"
-      sources."npm-install-checks-3.0.0"
-      sources."npm-lifecycle-1.0.3"
-      sources."npm-package-arg-5.1.2"
-      sources."npm-packlist-1.1.10"
-      sources."npm-profile-2.0.5"
-      sources."npm-registry-client-8.5.0"
-      sources."npm-user-validate-1.0.0"
-      sources."npmlog-4.1.2"
-      sources."once-1.4.0"
-      sources."opener-1.4.3"
-      sources."osenv-0.1.4"
-      sources."pacote-6.0.4"
-      sources."path-is-inside-1.0.2"
-      sources."promise-inflight-1.0.1"
-      sources."qrcode-terminal-0.11.0"
-      sources."query-string-5.0.1"
-      sources."qw-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.12"
-      sources."read-package-tree-5.1.6"
-      sources."readable-stream-2.3.3"
-      sources."request-2.83.0"
-      sources."retry-0.10.1"
-      sources."rimraf-2.6.2"
-      sources."safe-buffer-5.1.1"
-      sources."semver-5.4.1"
-      sources."sha-2.0.1"
-      sources."slide-1.1.6"
-      sources."sorted-object-2.0.1"
-      (sources."sorted-union-stream-2.1.3" // {
-        dependencies = [
-          sources."from2-1.3.0"
-          sources."readable-stream-1.1.14"
-          sources."isarray-0.0.1"
-          sources."string_decoder-0.10.31"
-        ];
-      })
-      sources."ssri-4.1.6"
-      sources."strip-ansi-4.0.0"
-      (sources."tar-4.0.2" // {
-        dependencies = [
-          sources."yallist-3.0.2"
-        ];
-      })
-      sources."text-table-0.2.0"
-      sources."uid-number-0.0.6"
-      sources."umask-1.1.0"
-      sources."unique-filename-1.1.0"
-      sources."unpipe-1.0.0"
-      sources."update-notifier-2.2.0"
-      sources."uuid-3.1.0"
-      sources."validate-npm-package-name-3.0.0"
-      sources."which-1.3.0"
-      sources."worker-farm-1.5.1"
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-2.1.0"
-      sources."debuglog-1.0.1"
-      sources."imurmurhash-0.1.4"
-      sources."lodash._baseindexof-3.1.0"
-      sources."lodash._bindcallback-3.0.1"
-      sources."lodash._cacheindexof-3.0.2"
-      sources."lodash._createcache-3.1.2"
-      sources."lodash._getnative-3.9.1"
-      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.1"
-      sources."through-2.3.8"
-      sources."y18n-3.2.1"
-      sources."lodash-3.10.1"
-      (sources."string-width-1.0.2" // {
-        dependencies = [
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."colors-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."wcwidth-1.0.1"
-      sources."defaults-1.0.3"
-      sources."clone-1.0.2"
-      sources."proto-list-1.2.4"
-      sources."asap-2.0.6"
-      sources."fs.realpath-1.0.0"
-      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."promzard-0.3.0"
-      sources."cidr-regex-1.0.6"
-      sources."dotenv-4.0.0"
-      (sources."yargs-8.0.2" // {
-        dependencies = [
-          sources."string-width-2.1.1"
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
-      sources."camelcase-4.1.0"
-      (sources."cliui-3.2.0" // {
-        dependencies = [
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."decamelize-1.2.0"
-      sources."get-caller-file-1.0.2"
-      sources."os-locale-2.1.0"
-      sources."read-pkg-up-2.0.0"
-      sources."require-directory-2.1.1"
-      sources."require-main-filename-1.0.1"
-      sources."set-blocking-2.0.0"
-      sources."which-module-2.0.0"
-      sources."yargs-parser-7.0.0"
-      (sources."wrap-ansi-2.1.0" // {
-        dependencies = [
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."execa-0.7.0"
-      sources."lcid-1.0.0"
-      sources."mem-1.1.0"
-      sources."cross-spawn-5.1.0"
-      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."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
-      sources."path-key-2.0.1"
-      sources."invert-kv-1.0.0"
-      sources."mimic-fn-1.1.0"
-      sources."find-up-2.1.0"
-      sources."read-pkg-2.0.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."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"
-      sources."is-arrayish-0.2.1"
-      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.1"
-      sources."end-of-stream-1.4.0"
-      sources."flush-write-stream-1.0.2"
-      sources."from2-2.3.0"
-      sources."parallel-transform-1.1.0"
-      sources."pump-1.0.2"
-      sources."pumpify-1.3.5"
-      sources."stream-each-1.2.2"
-      sources."through2-2.0.3"
-      sources."typedarray-0.0.6"
-      sources."stream-shift-1.0.0"
-      sources."cyclist-0.2.2"
-      sources."xtend-4.0.1"
-      sources."minimist-0.0.8"
-      sources."copy-concurrently-1.0.5"
-      sources."run-queue-1.0.3"
-      sources."fstream-1.0.11"
-      sources."block-stream-0.0.9"
-      sources."is-builtin-module-1.0.0"
-      sources."builtin-modules-1.1.1"
-      sources."ignore-walk-3.0.1"
-      sources."npm-bundled-1.0.3"
-      sources."make-fetch-happen-2.5.0"
-      sources."agentkeepalive-3.3.0"
-      sources."http-cache-semantics-3.8.0"
-      sources."http-proxy-agent-2.0.0"
-      sources."https-proxy-agent-2.1.0"
-      sources."node-fetch-npm-2.0.2"
-      sources."promise-retry-1.1.1"
-      sources."socks-proxy-agent-3.0.1"
-      sources."humanize-ms-1.2.1"
-      sources."ms-2.0.0"
-      sources."agent-base-4.1.1"
-      sources."debug-2.6.9"
-      sources."es6-promisify-5.0.0"
-      sources."es6-promise-4.1.1"
-      sources."encoding-0.1.12"
-      sources."json-parse-better-errors-1.0.1"
-      sources."iconv-lite-0.4.19"
-      sources."err-code-1.1.2"
-      sources."socks-1.1.10"
-      sources."ip-1.1.5"
-      sources."smart-buffer-1.1.15"
-      sources."are-we-there-yet-1.1.4"
-      sources."console-control-strings-1.1.0"
-      (sources."gauge-2.7.4" // {
-        dependencies = [
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."delegates-1.0.0"
-      sources."object-assign-4.1.1"
-      sources."wide-align-1.1.2"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      sources."npm-pick-manifest-1.0.4"
-      sources."protoduck-4.0.0"
-      sources."genfun-4.0.1"
-      sources."decode-uri-component-0.2.0"
-      sources."strict-uri-encode-1.1.0"
-      sources."mute-stream-0.0.7"
-      sources."util-extend-1.0.3"
-      sources."slash-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.3"
-      sources."util-deprecate-1.0.2"
-      sources."aws-sign2-0.7.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.3.1"
-      sources."har-validator-5.0.3"
-      sources."hawk-6.0.2"
-      sources."http-signature-1.2.0"
-      sources."is-typedarray-1.0.0"
-      sources."isstream-0.1.2"
-      sources."json-stringify-safe-5.0.1"
-      sources."mime-types-2.1.17"
-      sources."oauth-sign-0.8.2"
-      sources."performance-now-2.1.0"
-      sources."qs-6.5.1"
-      sources."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.0"
-      sources."delayed-stream-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."ajv-5.3.0"
-      sources."har-schema-2.0.0"
-      sources."co-4.6.0"
-      sources."fast-deep-equal-1.0.0"
-      sources."fast-json-stable-stringify-2.0.0"
-      sources."json-schema-traverse-0.3.1"
-      sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
-      sources."sntp-2.1.0"
-      sources."assert-plus-1.0.0"
-      sources."jsprim-1.4.1"
-      sources."sshpk-1.13.1"
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      sources."verror-1.10.0"
-      sources."asn1-0.2.3"
-      sources."dashdash-1.14.1"
-      sources."getpass-0.1.7"
-      sources."jsbn-0.1.1"
-      sources."tweetnacl-0.14.5"
-      sources."ecc-jsbn-0.1.1"
-      sources."bcrypt-pbkdf-1.0.1"
-      sources."mime-db-1.30.0"
-      sources."punycode-1.4.1"
-      sources."stream-iterate-1.2.0"
-      (sources."minipass-2.2.1" // {
-        dependencies = [
-          sources."yallist-3.0.2"
-        ];
-      })
-      sources."minizlib-1.0.4"
-      sources."unique-slug-2.0.0"
-      (sources."boxen-1.2.2" // {
-        dependencies = [
-          sources."chalk-2.3.0"
-          sources."string-width-2.1.1"
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
-      (sources."chalk-1.1.3" // {
-        dependencies = [
-          sources."ansi-styles-2.2.1"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."configstore-3.1.1"
-      sources."import-lazy-2.1.0"
-      sources."is-npm-1.0.0"
-      sources."latest-version-3.1.0"
-      sources."semver-diff-2.1.0"
-      sources."xdg-basedir-3.0.0"
-      (sources."ansi-align-2.0.0" // {
-        dependencies = [
-          sources."string-width-2.1.1"
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
-      sources."cli-boxes-1.0.0"
-      sources."term-size-1.2.0"
-      sources."widest-line-1.0.0"
-      sources."ansi-styles-3.2.0"
-      sources."escape-string-regexp-1.0.5"
-      sources."supports-color-4.5.0"
-      sources."color-convert-1.9.0"
-      sources."color-name-1.1.3"
-      sources."has-flag-2.0.0"
-      (sources."has-ansi-2.0.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."dot-prop-4.2.0"
-      (sources."make-dir-1.1.0" // {
-        dependencies = [
-          sources."pify-3.0.0"
-        ];
-      })
-      sources."unique-string-1.0.0"
-      sources."is-obj-1.0.1"
-      sources."crypto-random-string-1.0.0"
-      sources."package-json-4.0.1"
-      sources."got-6.7.1"
-      sources."registry-auth-token-3.3.1"
-      sources."registry-url-3.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."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."prepend-http-1.0.4"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
-      sources."deep-extend-0.4.2"
-      sources."strip-json-comments-2.0.1"
-      sources."builtins-1.0.3"
-      sources."isexe-2.0.0"
-      sources."errno-0.1.4"
-      sources."prr-0.0.0"
-      sources."spdx-correct-1.0.2"
-      sources."spdx-expression-parse-1.0.4"
-      sources."spdx-license-ids-1.2.2"
-    ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "a package manager for JavaScript";
@@ -33227,33 +30929,22 @@ in
       })
       (sources."npmconf-0.1.1" // {
         dependencies = [
-          sources."inherits-1.0.2"
-          sources."once-1.1.1"
           sources."semver-2.3.2"
         ];
       })
-      (sources."tar-0.1.17" // {
-        dependencies = [
-          sources."inherits-1.0.2"
-        ];
-      })
-      (sources."temp-0.6.0" // {
-        dependencies = [
-          sources."rimraf-2.1.4"
-          sources."graceful-fs-1.2.3"
-        ];
-      })
+      sources."tar-0.1.17"
+      sources."temp-0.6.0"
       sources."fs.extra-1.3.2"
       sources."findit-1.2.0"
       sources."coffee-script-1.12.7"
       sources."underscore-1.4.4"
       sources."underscore.string-2.3.3"
       sources."request-2.83.0"
-      sources."graceful-fs-2.0.3"
+      sources."graceful-fs-1.2.3"
       sources."slide-1.1.6"
       sources."chownr-0.0.2"
       sources."mkdirp-0.3.5"
-      sources."rimraf-2.6.2"
+      sources."rimraf-2.2.8"
       sources."retry-0.6.0"
       sources."couch-login-0.1.20"
       sources."npmlog-4.1.2"
@@ -33288,12 +30979,8 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
       sources."sntp-2.1.0"
       sources."assert-plus-1.0.0"
       sources."jsprim-1.4.1"
@@ -33316,7 +31003,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."minimatch-3.0.4"
-      sources."once-1.4.0"
+      sources."once-1.1.1"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
       sources."brace-expansion-1.1.8"
@@ -33343,30 +31030,17 @@ in
       sources."is-fullwidth-code-point-1.0.0"
       sources."number-is-nan-1.0.1"
       sources."ansi-regex-2.1.1"
-      (sources."config-chain-1.1.11" // {
-        dependencies = [
-          sources."ini-1.3.4"
-        ];
-      })
+      sources."config-chain-1.1.11"
       sources."osenv-0.0.3"
       sources."nopt-2.2.1"
-      sources."ini-1.1.0"
+      sources."ini-1.3.4"
       sources."proto-list-1.2.4"
       sources."abbrev-1.1.1"
       sources."block-stream-0.0.9"
-      (sources."fstream-0.1.31" // {
-        dependencies = [
-          sources."graceful-fs-3.0.11"
-          sources."mkdirp-0.5.1"
-        ];
-      })
+      sources."fstream-0.1.31"
       sources."natives-1.1.0"
       sources."minimist-0.0.8"
-      (sources."fs-extra-0.6.4" // {
-        dependencies = [
-          sources."rimraf-2.2.8"
-        ];
-      })
+      sources."fs-extra-0.6.4"
       sources."walk-2.3.9"
       sources."ncp-0.4.2"
       sources."jsonfile-1.0.1"
@@ -33399,11 +31073,7 @@ in
       sources."json-parse-helpfulerror-1.0.3"
       sources."lodash-4.17.4"
       sources."node-alias-1.0.4"
-      (sources."npm-3.10.10" // {
-        dependencies = [
-          sources."semver-5.3.0"
-        ];
-      })
+      sources."npm-3.10.10"
       (sources."npmi-2.0.1" // {
         dependencies = [
           sources."semver-4.3.6"
@@ -33411,304 +31081,35 @@ in
       })
       sources."semver-5.4.1"
       sources."semver-utils-1.1.1"
-      (sources."snyk-1.47.0" // {
+      (sources."snyk-1.49.2" // {
         dependencies = [
           sources."update-notifier-0.5.0"
-          sources."latest-version-1.0.1"
-          sources."repeating-1.1.3"
-          sources."package-json-1.2.0"
-          sources."got-3.3.1"
-          sources."object-assign-3.0.0"
-          sources."timed-out-2.0.0"
         ];
       })
       sources."spawn-please-0.3.0"
       (sources."update-notifier-2.3.0" // {
         dependencies = [
-          sources."boxen-1.2.2"
           sources."chalk-2.3.0"
-          sources."configstore-3.1.1"
-          sources."latest-version-3.1.0"
-          sources."xdg-basedir-3.0.0"
-          sources."camelcase-4.1.0"
-          sources."string-width-2.1.1"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
-          sources."dot-prop-4.2.0"
-          sources."write-file-atomic-2.3.0"
-          sources."package-json-4.0.1"
-          sources."got-6.7.1"
-          sources."timed-out-4.0.1"
-          sources."unzip-response-2.0.1"
         ];
       })
-      sources."ansi-styles-2.2.1"
+      sources."ansi-styles-3.2.0"
       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."strip-ansi-4.0.0"
+      sources."supports-color-4.5.0"
+      sources."ansi-regex-3.0.0"
       sources."colors-1.0.3"
       sources."path-exists-2.1.0"
       sources."pinkie-promise-2.0.1"
       sources."pinkie-2.0.4"
       sources."jju-1.3.0"
-      sources."abbrev-1.0.9"
-      sources."ansicolors-0.3.2"
-      sources."ansistyles-0.1.3"
-      sources."aproba-1.0.4"
-      sources."archy-1.0.0"
-      sources."asap-2.0.6"
-      sources."chownr-1.0.1"
-      sources."cmd-shim-2.0.2"
-      sources."columnify-1.5.4"
-      sources."config-chain-1.1.11"
-      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.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"
-      sources."iferr-0.1.5"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
-      sources."ini-1.3.4"
-      (sources."init-package-json-1.9.6" // {
-        dependencies = [
-          sources."validate-npm-package-name-3.0.0"
-        ];
-      })
-      sources."lockfile-1.0.3"
-      sources."lodash._baseuniq-4.6.0"
-      sources."lodash.clonedeep-4.5.0"
-      sources."lodash.union-4.6.0"
-      sources."lodash.uniq-4.5.0"
-      sources."lodash.without-4.4.0"
-      sources."mkdirp-0.5.1"
-      (sources."node-gyp-3.4.0" // {
-        dependencies = [
-          sources."npmlog-3.1.2"
-        ];
-      })
-      sources."nopt-3.0.6"
-      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-7.2.1" // {
-        dependencies = [
-          sources."npmlog-3.1.2"
-        ];
-      })
-      sources."npm-user-validate-0.1.5"
-      (sources."npmlog-4.0.2" // {
-        dependencies = [
-          sources."gauge-2.7.4"
-        ];
-      })
-      sources."once-1.4.0"
-      sources."opener-1.4.3"
-      sources."osenv-0.1.4"
-      sources."path-is-inside-1.0.2"
-      sources."read-1.0.7"
-      sources."read-cmd-shim-1.0.1"
-      sources."read-installed-4.0.3"
-      sources."read-package-json-2.0.12"
-      sources."read-package-tree-5.1.6"
-      (sources."readable-stream-2.1.5" // {
-        dependencies = [
-          sources."string_decoder-0.10.31"
-        ];
-      })
-      sources."realize-package-specifier-3.0.3"
-      sources."request-2.75.0"
-      sources."retry-0.10.1"
-      sources."rimraf-2.5.4"
-      sources."sha-2.0.1"
-      sources."slide-1.1.6"
-      sources."sorted-object-2.0.1"
-      sources."tar-2.2.1"
-      sources."text-table-0.2.0"
-      sources."uid-number-0.0.6"
-      sources."umask-1.1.0"
-      sources."unique-filename-1.1.0"
-      sources."unpipe-1.0.0"
-      (sources."validate-npm-package-name-2.2.2" // {
-        dependencies = [
-          sources."builtins-0.0.7"
-        ];
-      })
-      sources."which-1.2.14"
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-1.2.0"
-      sources."debuglog-1.0.1"
-      sources."imurmurhash-0.1.4"
-      sources."lodash._baseindexof-3.1.0"
-      sources."lodash._bindcallback-3.0.1"
-      sources."lodash._cacheindexof-3.0.2"
-      sources."lodash._createcache-3.1.2"
-      sources."lodash._getnative-3.9.1"
-      sources."lodash.restparam-3.6.1"
-      sources."readdir-scoped-modules-1.0.2"
-      sources."validate-npm-package-license-3.0.1"
-      sources."wcwidth-1.0.1"
-      sources."defaults-1.0.3"
-      sources."clone-1.0.2"
-      sources."proto-list-1.2.4"
-      sources."fstream-ignore-1.0.5"
-      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."builtins-1.0.3"
-      sources."lodash._createset-4.0.3"
-      sources."lodash._root-3.0.1"
-      sources."minimist-0.0.8"
-      sources."path-array-1.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."has-color-0.1.7"
-      sources."object-assign-4.1.1"
-      sources."signal-exit-3.0.2"
-      sources."string-width-1.0.2"
-      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.9"
-      sources."es6-symbol-3.1.1"
-      sources."ms-2.0.0"
-      sources."d-1.0.0"
-      sources."es5-ext-0.10.35"
-      sources."es6-iterator-2.0.3"
-      sources."is-builtin-module-1.0.0"
-      sources."builtin-modules-1.1.1"
-      (sources."concat-stream-1.6.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-        ];
-      })
-      sources."typedarray-0.0.6"
-      sources."core-util-is-1.0.2"
-      sources."isarray-1.0.0"
-      sources."process-nextick-args-1.0.7"
-      sources."safe-buffer-5.1.1"
-      sources."string_decoder-1.0.3"
-      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."json-parse-better-errors-1.0.1"
-      sources."slash-1.0.0"
-      sources."buffer-shims-1.0.0"
-      sources."aws-sign2-0.6.0"
-      sources."aws4-1.6.0"
-      (sources."bl-1.1.2" // {
-        dependencies = [
-          sources."readable-stream-2.0.6"
-          sources."string_decoder-0.10.31"
-        ];
-      })
-      sources."caseless-0.11.0"
-      sources."combined-stream-1.0.5"
-      sources."extend-3.0.1"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.0.0"
-      sources."har-validator-2.0.6"
-      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."mime-types-2.1.17"
-      sources."node-uuid-1.4.8"
-      sources."oauth-sign-0.8.2"
-      sources."qs-6.2.3"
-      sources."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.4.3"
-      sources."delayed-stream-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."is-my-json-valid-2.16.1"
-      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."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.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      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."mime-db-1.30.0"
-      sources."punycode-1.4.1"
-      sources."block-stream-0.0.9"
-      sources."unique-slug-2.0.0"
-      sources."isexe-2.0.0"
-      sources."spdx-correct-1.0.2"
-      sources."spdx-expression-parse-1.0.4"
-      sources."spdx-license-ids-1.2.2"
+      sources."abbrev-1.1.1"
       sources."ansi-escapes-1.4.0"
-      (sources."configstore-1.4.0" // {
-        dependencies = [
-          sources."uuid-2.0.3"
-        ];
-      })
+      sources."configstore-3.1.1"
+      sources."debug-2.6.9"
       sources."es6-promise-3.3.1"
       sources."hasbin-1.2.3"
-      (sources."inquirer-1.0.3" // {
-        dependencies = [
-          sources."mute-stream-0.0.6"
-        ];
-      })
+      sources."inquirer-1.0.3"
       sources."needle-2.0.1"
       sources."open-0.0.5"
       sources."os-name-1.0.3"
@@ -33717,75 +31118,69 @@ in
       sources."snyk-gradle-plugin-1.2.0"
       sources."snyk-module-1.8.1"
       sources."snyk-mvn-plugin-1.1.0"
-      (sources."snyk-nuget-plugin-1.0.0" // {
-        dependencies = [
-          sources."es6-promise-4.1.1"
-        ];
-      })
+      sources."snyk-nuget-plugin-1.2.0"
       sources."snyk-policy-1.7.1"
       sources."snyk-python-plugin-1.4.0"
-      (sources."snyk-recursive-readdir-2.0.0" // {
-        dependencies = [
-          sources."minimatch-3.0.2"
-        ];
-      })
+      sources."snyk-recursive-readdir-2.0.0"
       sources."snyk-resolve-1.0.0"
       (sources."snyk-resolve-deps-1.7.0" // {
         dependencies = [
-          sources."minimist-1.2.0"
+          sources."update-notifier-0.6.3"
         ];
       })
       sources."snyk-sbt-plugin-1.2.0"
       sources."snyk-tree-1.0.0"
       sources."snyk-try-require-1.2.0"
-      (sources."tempfile-1.1.1" // {
-        dependencies = [
-          sources."uuid-2.0.3"
-        ];
-      })
+      sources."tempfile-1.1.1"
       sources."then-fs-2.0.0"
       sources."undefsafe-0.0.3"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
-      sources."uuid-3.1.0"
-      sources."xdg-basedir-2.0.0"
-      sources."async-1.5.2"
+      sources."url-0.11.0"
+      sources."uuid-2.0.3"
+      sources."graceful-fs-4.1.11"
+      sources."mkdirp-0.5.1"
+      sources."object-assign-3.0.0"
+      sources."os-tmpdir-1.0.2"
+      sources."osenv-0.1.4"
+      sources."write-file-atomic-2.3.0"
+      sources."xdg-basedir-3.0.0"
+      sources."minimist-1.2.0"
+      sources."os-homedir-1.0.2"
+      sources."imurmurhash-0.1.4"
+      sources."slide-1.1.6"
+      sources."ms-2.0.0"
+      sources."async-0.9.2"
       sources."cli-cursor-1.0.2"
       sources."cli-width-2.2.0"
       sources."figures-1.7.0"
+      sources."mute-stream-0.0.6"
       sources."run-async-2.3.0"
       sources."rx-4.1.0"
+      sources."string-width-2.1.1"
       sources."through-2.3.8"
       sources."restore-cursor-1.0.1"
       sources."exit-hook-1.1.1"
       sources."onetime-1.1.0"
       sources."is-promise-2.1.0"
+      sources."code-point-at-1.1.0"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."number-is-nan-1.0.1"
       sources."iconv-lite-0.4.19"
-      (sources."osx-release-1.1.0" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."osx-release-1.1.0"
       sources."win-release-1.1.1"
-      (sources."nconf-0.7.2" // {
-        dependencies = [
-          sources."async-0.9.2"
-        ];
-      })
-      sources."yargs-3.15.0"
-      sources."camelcase-1.2.1"
-      sources."cliui-2.1.0"
+      sources."nconf-0.7.2"
+      sources."path-is-absolute-1.0.1"
+      sources."ini-1.3.4"
+      sources."yargs-4.8.1"
+      sources."camelcase-4.1.0"
+      sources."cliui-3.2.0"
       sources."decamelize-1.2.0"
-      sources."window-size-0.1.4"
+      sources."window-size-0.2.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.2"
+      sources."lazy-cache-0.2.7"
+      sources."kind-of-2.0.1"
       sources."longest-1.0.1"
       sources."repeat-string-1.6.1"
       sources."is-buffer-1.1.6"
@@ -33794,20 +31189,12 @@ in
       sources."clone-deep-0.3.0"
       sources."for-own-1.0.0"
       sources."is-plain-object-2.0.4"
-      (sources."shallow-clone-0.1.2" // {
-        dependencies = [
-          sources."kind-of-2.0.1"
-          sources."lazy-cache-0.2.7"
-        ];
-      })
-      sources."for-in-1.0.2"
+      sources."shallow-clone-0.1.2"
+      sources."for-in-0.1.8"
       sources."isobject-3.0.1"
       sources."is-extendable-0.1.1"
-      (sources."mixin-object-2.0.1" // {
-        dependencies = [
-          sources."for-in-0.1.8"
-        ];
-      })
+      sources."mixin-object-2.0.1"
+      sources."hosted-git-info-2.5.0"
       sources."xml2js-0.4.19"
       sources."zip-1.2.0"
       sources."sax-1.2.4"
@@ -33816,35 +31203,32 @@ in
       sources."base64-js-0.0.2"
       sources."to-utf8-0.0.1"
       sources."js-yaml-3.10.0"
+      sources."lodash.clonedeep-4.5.0"
       sources."argparse-1.0.9"
       sources."esprima-4.0.0"
       sources."sprintf-js-1.0.3"
-      (sources."clite-0.3.0" // {
-        dependencies = [
-          sources."update-notifier-0.6.3"
-          sources."yargs-4.8.1"
-          sources."configstore-2.1.0"
-          sources."uuid-2.0.3"
-          sources."cliui-3.2.0"
-          sources."window-size-0.2.0"
-        ];
-      })
+      sources."minimatch-3.0.2"
+      sources."brace-expansion-1.1.8"
+      sources."balanced-match-1.0.0"
+      sources."concat-map-0.0.1"
+      sources."ansicolors-0.3.2"
+      sources."clite-0.3.0"
       sources."lru-cache-4.1.1"
       sources."lodash.defaults-4.2.0"
       sources."lodash.defaultsdeep-4.6.0"
       sources."lodash.mergewith-4.6.0"
-      sources."boxen-0.3.1"
+      sources."boxen-1.2.2"
       sources."is-npm-1.0.0"
-      sources."latest-version-2.0.0"
+      sources."latest-version-3.1.0"
       sources."semver-diff-2.1.0"
       sources."filled-array-1.1.0"
-      sources."repeating-2.0.1"
+      sources."repeating-1.1.3"
       sources."widest-line-1.0.0"
       sources."is-finite-1.0.2"
-      sources."dot-prop-3.0.0"
+      sources."dot-prop-4.2.0"
       sources."is-obj-1.0.1"
-      sources."package-json-2.4.0"
-      sources."got-5.7.1"
+      sources."package-json-4.0.1"
+      sources."got-6.7.1"
       sources."registry-auth-token-3.3.1"
       sources."registry-url-3.1.0"
       sources."create-error-class-3.0.2"
@@ -33856,18 +31240,22 @@ in
       sources."node-status-codes-1.0.0"
       sources."parse-json-2.2.0"
       sources."read-all-stream-3.1.0"
-      sources."timed-out-3.1.3"
-      sources."unzip-response-1.0.2"
+      sources."readable-stream-2.3.3"
+      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."core-util-is-1.0.2"
+      sources."inherits-2.0.3"
+      sources."isarray-1.0.0"
+      sources."process-nextick-args-1.0.7"
+      sources."safe-buffer-5.1.1"
+      sources."string_decoder-1.0.3"
+      sources."util-deprecate-1.0.2"
       sources."prepend-http-1.0.4"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."rc-1.2.2"
       sources."deep-extend-0.4.2"
       sources."strip-json-comments-2.0.1"
       sources."get-caller-file-1.0.2"
@@ -33876,42 +31264,44 @@ in
       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-2.4.1" // {
-        dependencies = [
-          sources."camelcase-3.0.0"
-        ];
-      })
+      sources."yargs-parser-2.4.1"
       sources."wrap-ansi-2.1.0"
       sources."lcid-1.0.0"
       sources."invert-kv-1.0.0"
       sources."read-pkg-1.1.0"
       sources."load-json-file-1.1.0"
+      sources."normalize-package-data-2.4.0"
       sources."path-type-1.1.0"
-      sources."pify-2.3.0"
+      sources."pify-3.0.0"
       sources."strip-bom-2.0.0"
       sources."is-utf8-0.2.1"
+      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"
       sources."pseudomap-1.0.2"
       sources."yallist-2.1.2"
+      sources."archy-1.0.0"
       sources."promise-7.3.1"
+      sources."asap-2.0.6"
       sources."string-length-1.0.1"
       sources."duplexify-3.5.1"
       sources."infinity-agent-2.0.3"
       sources."nested-error-stacks-1.0.2"
       sources."end-of-stream-1.4.0"
       sources."stream-shift-1.0.0"
+      sources."once-1.4.0"
+      sources."wrappy-1.0.2"
+      sources."punycode-1.3.2"
       sources."querystring-0.2.0"
       sources."import-lazy-2.1.0"
       sources."is-installed-globally-0.1.0"
-      (sources."ansi-align-2.0.0" // {
-        dependencies = [
-          sources."string-width-2.1.1"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."ansi-align-2.0.0"
       sources."cli-boxes-1.0.0"
       sources."term-size-1.2.0"
       sources."execa-0.7.0"
@@ -33919,22 +31309,22 @@ in
       sources."get-stream-3.0.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."shebang-command-1.2.0"
+      sources."which-1.3.0"
       sources."shebang-regex-1.0.0"
+      sources."isexe-2.0.0"
       sources."path-key-2.0.1"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
-      (sources."make-dir-1.1.0" // {
-        dependencies = [
-          sources."pify-3.0.0"
-        ];
-      })
+      sources."make-dir-1.1.0"
       sources."unique-string-1.0.0"
       sources."crypto-random-string-1.0.0"
       sources."global-dirs-0.1.0"
       sources."is-path-inside-1.0.0"
+      sources."path-is-inside-1.0.2"
       sources."duplexer3-0.1.4"
     ];
     buildInputs = globalBuildInputs;
@@ -33948,21 +31338,21 @@ in
   ocaml-language-server = nodeEnv.buildNodePackage {
     name = "ocaml-language-server";
     packageName = "ocaml-language-server";
-    version = "1.0.1";
+    version = "1.0.13";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ocaml-language-server/-/ocaml-language-server-1.0.1.tgz";
-      sha512 = "05wpkgddw5r99fm8082l7sm48yd4xi2892w95fbsqhvy81xas0v2z8k9c7s09m7bvw3hn8rhl7c7cdwf4xafzphwax8zx5w22prpp15";
+      url = "https://registry.npmjs.org/ocaml-language-server/-/ocaml-language-server-1.0.13.tgz";
+      sha512 = "3bda8wvq4084v0ascps3604yz7p798gfps452i2gc05ghwpmn8xf1j5sqhvcjyb281hwsmwq39l97g839w8l6rrnz91s8n47i34sxvc";
     };
     dependencies = [
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."glob-7.1.2"
       sources."lodash-4.17.4"
-      sources."lokijs-1.5.0"
+      sources."lokijs-1.5.1"
       sources."pegjs-0.10.0"
-      sources."vscode-jsonrpc-3.4.1"
-      sources."vscode-languageclient-3.4.5"
-      sources."vscode-languageserver-3.4.3"
-      sources."vscode-languageserver-types-3.4.0"
+      sources."vscode-jsonrpc-3.5.0"
+      sources."vscode-languageclient-3.5.0"
+      sources."vscode-languageserver-3.5.0"
+      sources."vscode-languageserver-types-3.5.0"
       sources."vscode-uri-1.0.1"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
@@ -33974,7 +31364,7 @@ in
       sources."brace-expansion-1.1.8"
       sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
-      sources."vscode-languageserver-protocol-3.4.4"
+      sources."vscode-languageserver-protocol-3.5.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -34010,33 +31400,27 @@ in
       (sources."express-4.16.2" // {
         dependencies = [
           sources."content-type-1.0.4"
-          sources."setprototypeof-1.1.0"
-          sources."statuses-1.3.1"
         ];
       })
-      sources."express-handlebars-3.0.0"
-      (sources."finalhandler-1.1.0" // {
+      (sources."express-handlebars-3.0.0" // {
         dependencies = [
-          sources."statuses-1.3.1"
+          sources."async-1.5.2"
+          sources."yargs-3.10.0"
         ];
       })
+      sources."finalhandler-1.1.0"
       sources."js-yaml-3.10.0"
-      sources."mediawiki-title-0.6.4"
+      sources."mediawiki-title-0.6.5"
       sources."negotiator-git+https://github.com/arlolra/negotiator.git#full-parse-access"
       sources."pegjs-git+https://github.com/tstarling/pegjs.git#fork"
       sources."prfun-2.1.4"
       sources."request-2.83.0"
       sources."semver-5.4.1"
       sources."serve-favicon-2.4.5"
-      sources."service-runner-2.3.0"
+      sources."service-runner-2.4.2"
       sources."simplediff-0.1.1"
       sources."uuid-3.1.0"
-      (sources."yargs-7.1.0" // {
-        dependencies = [
-          sources."camelcase-3.0.0"
-          sources."cliui-3.2.0"
-        ];
-      })
+      sources."yargs-7.1.0"
       sources."asap-2.0.6"
       sources."is-arguments-1.0.2"
       sources."bytes-3.0.0"
@@ -34048,10 +31432,10 @@ in
       sources."qs-6.5.1"
       sources."raw-body-2.3.2"
       sources."type-is-1.6.15"
-      sources."ms-2.0.0"
+      sources."ms-0.7.3"
       sources."inherits-2.0.3"
-      sources."setprototypeof-1.0.3"
-      sources."statuses-1.4.0"
+      sources."setprototypeof-1.1.0"
+      sources."statuses-1.3.1"
       sources."ee-first-1.1.1"
       sources."unpipe-1.0.0"
       sources."media-typer-0.3.0"
@@ -34064,11 +31448,11 @@ in
       sources."vary-1.1.2"
       sources."busboy-0.2.14"
       sources."dicer-0.2.5"
-      sources."readable-stream-1.1.14"
+      sources."readable-stream-2.3.3"
       sources."streamsearch-0.1.2"
       sources."core-util-is-1.0.2"
-      sources."isarray-0.0.1"
-      sources."string_decoder-0.10.31"
+      sources."isarray-1.0.0"
+      sources."string_decoder-1.0.3"
       sources."array-flatten-1.1.1"
       sources."content-disposition-0.5.2"
       sources."cookie-0.3.1"
@@ -34083,11 +31467,7 @@ in
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-2.0.2"
       sources."range-parser-1.2.0"
-      (sources."send-0.16.1" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."send-0.16.1"
       sources."serve-static-1.13.1"
       sources."utils-merge-1.0.1"
       sources."forwarded-0.1.2"
@@ -34096,11 +31476,7 @@ in
       sources."mime-1.4.1"
       sources."glob-6.0.4"
       sources."graceful-fs-4.1.11"
-      (sources."handlebars-4.0.11" // {
-        dependencies = [
-          sources."async-1.5.2"
-        ];
-      })
+      sources."handlebars-4.0.11"
       sources."object.assign-4.0.4"
       sources."promise-7.3.1"
       sources."inflight-1.0.6"
@@ -34112,23 +31488,14 @@ in
       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.29" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-          sources."yargs-3.10.0"
-        ];
-      })
-      sources."wordwrap-0.0.3"
-      sources."minimist-0.0.10"
+      sources."source-map-0.5.7"
+      sources."uglify-js-2.8.29"
+      sources."wordwrap-0.0.2"
+      sources."minimist-0.0.8"
       sources."amdefine-1.0.1"
       sources."uglify-to-browserify-1.0.2"
-      sources."camelcase-1.2.1"
-      (sources."cliui-2.1.0" // {
-        dependencies = [
-          sources."wordwrap-0.0.2"
-        ];
-      })
+      sources."camelcase-3.0.0"
+      sources."cliui-3.2.0"
       sources."decamelize-1.2.0"
       sources."window-size-0.1.0"
       sources."center-align-0.1.3"
@@ -34173,12 +31540,8 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
       sources."sntp-2.1.0"
       sources."assert-plus-1.0.0"
       sources."jsprim-1.4.1"
@@ -34198,70 +31561,32 @@ in
       sources."bunyan-1.8.12"
       sources."bunyan-syslog-udp-0.1.0"
       sources."gelf-stream-1.1.1"
-      sources."hot-shots-4.7.1"
-      (sources."limitation-0.2.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."hot-shots-4.8.0"
+      sources."limitation-0.2.0"
       sources."dnscache-1.0.1"
       sources."dtrace-provider-0.8.5"
       sources."mv-2.1.1"
       sources."safe-json-stringify-1.0.4"
-      sources."moment-2.19.1"
+      sources."moment-2.19.2"
       sources."nan-2.7.0"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."mkdirp-0.5.1"
       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" // {
-        dependencies = [
-          sources."ms-0.7.3"
-        ];
-      })
+      sources."kad-git+https://github.com/gwicke/kad.git#master"
       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.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."kad-fs-0.0.4"
       sources."kad-localstorage-0.0.7"
-      (sources."kad-memstore-0.0.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."kad-memstore-0.0.1"
       sources."lodash-3.10.1"
       sources."merge-1.2.0"
-      (sources."msgpack5-3.6.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."msgpack5-3.6.0"
+      sources."dom-storage-2.0.2"
+      sources."bl-1.2.1"
       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.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
       sources."lodash.clone-4.3.2"
       sources."lodash._baseclone-4.5.7"
       sources."get-caller-file-1.0.2"
@@ -34273,11 +31598,7 @@ in
       sources."string-width-1.0.2"
       sources."which-module-1.0.0"
       sources."y18n-3.2.1"
-      (sources."yargs-parser-5.0.0" // {
-        dependencies = [
-          sources."camelcase-3.0.0"
-        ];
-      })
+      sources."yargs-parser-5.0.0"
       sources."strip-ansi-3.0.1"
       sources."wrap-ansi-2.1.0"
       sources."ansi-regex-2.1.1"
@@ -34327,38 +31648,20 @@ in
     dependencies = [
       sources."airplayer-2.0.0"
       sources."clivas-0.2.0"
-      (sources."inquirer-1.2.3" // {
-        dependencies = [
-          sources."lodash-4.17.4"
-        ];
-      })
+      sources."inquirer-1.2.3"
       sources."keypress-0.2.1"
       sources."mime-1.4.1"
       sources."network-address-1.1.2"
       sources."numeral-1.5.6"
       sources."open-0.0.5"
-      (sources."optimist-0.6.1" // {
-        dependencies = [
-          sources."minimist-0.0.10"
-        ];
-      })
-      (sources."parse-torrent-5.8.3" // {
-        dependencies = [
-          sources."get-stdin-5.0.1"
-        ];
-      })
+      sources."optimist-0.6.1"
+      sources."parse-torrent-5.8.3"
       sources."pump-1.0.2"
       sources."range-parser-1.2.0"
       sources."rc-1.2.2"
       (sources."torrent-stream-1.0.3" // {
         dependencies = [
-          sources."end-of-stream-0.1.5"
           sources."parse-torrent-4.1.0"
-          sources."once-1.3.3"
-          sources."magnet-uri-4.2.3"
-          sources."parse-torrent-file-2.1.4"
-          sources."thirty-two-0.0.2"
-          sources."bencode-0.7.0"
         ];
       })
       sources."winreg-1.2.3"
@@ -34382,15 +31685,15 @@ in
       sources."core-util-is-1.0.2"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
-      sources."safe-buffer-5.1.1"
+      sources."safe-buffer-5.0.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
       sources."base64-js-0.0.8"
       sources."xmlbuilder-4.0.0"
       sources."xmldom-0.1.27"
-      sources."lodash-3.10.1"
+      sources."lodash-4.17.4"
       sources."consume-http-header-1.0.0"
-      sources."once-1.4.0"
+      sources."once-1.3.3"
       sources."consume-until-1.0.0"
       sources."http-headers-3.0.1"
       sources."buffer-indexof-1.1.1"
@@ -34415,7 +31718,7 @@ in
       sources."multicast-dns-6.1.1"
       sources."multicast-dns-service-types-1.1.0"
       sources."dns-packet-1.2.2"
-      sources."thunky-0.1.0"
+      sources."thunky-1.0.2"
       sources."ip-1.1.5"
       sources."meow-3.7.0"
       sources."camelcase-keys-2.1.0"
@@ -34457,7 +31760,7 @@ in
       sources."strip-indent-1.0.1"
       sources."repeating-2.0.1"
       sources."is-finite-1.0.2"
-      sources."get-stdin-4.0.1"
+      sources."get-stdin-5.0.1"
       sources."ansi-escapes-1.4.0"
       sources."cli-cursor-1.0.2"
       sources."cli-width-2.2.0"
@@ -34478,45 +31781,33 @@ in
       sources."is-promise-2.1.0"
       sources."wordwrap-0.0.3"
       sources."blob-to-buffer-1.2.6"
-      sources."magnet-uri-5.1.7"
-      sources."parse-torrent-file-4.0.3"
+      sources."magnet-uri-4.2.3"
+      sources."parse-torrent-file-2.1.4"
       sources."simple-get-2.7.0"
-      sources."thirty-two-1.0.2"
+      sources."thirty-two-0.0.2"
       sources."uniq-1.0.1"
-      sources."bencode-1.0.0"
+      sources."bencode-0.8.0"
       sources."simple-sha1-2.1.0"
-      sources."rusha-0.8.6"
+      sources."rusha-0.8.7"
       sources."decompress-response-3.3.0"
       sources."simple-concat-1.0.0"
       sources."mimic-response-1.0.0"
-      sources."end-of-stream-1.4.0"
+      sources."end-of-stream-0.1.5"
       sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
       sources."bitfield-0.1.0"
-      sources."bncode-0.5.3"
-      (sources."fs-chunk-store-1.6.5" // {
-        dependencies = [
-          sources."mkdirp-0.5.1"
-          sources."thunky-1.0.2"
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."bncode-0.2.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."mkdirp-0.3.5"
+      sources."mkdirp-0.5.1"
       sources."peer-wire-swarm-0.12.1"
       sources."rimraf-2.6.2"
       sources."torrent-discovery-5.4.0"
       sources."torrent-piece-1.1.1"
-      (sources."random-access-file-1.8.1" // {
-        dependencies = [
-          sources."mkdirp-0.5.1"
-          sources."thunky-1.0.2"
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."random-access-file-1.8.1"
       sources."randombytes-2.0.5"
       sources."run-parallel-1.1.6"
       sources."buffer-alloc-unsafe-1.0.0"
@@ -34524,14 +31815,7 @@ in
       sources."ms-2.0.0"
       sources."flatten-0.0.1"
       sources."fifo-0.1.4"
-      (sources."peer-wire-protocol-0.7.0" // {
-        dependencies = [
-          sources."readable-stream-1.1.14"
-          sources."bncode-0.2.3"
-          sources."isarray-0.0.1"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."peer-wire-protocol-0.7.0"
       sources."speedometer-0.1.4"
       sources."utp-0.0.7"
       sources."cyclist-0.1.1"
@@ -34543,24 +31827,12 @@ in
       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 = [
-          sources."bencode-0.7.0"
-        ];
-      })
-      (sources."bittorrent-tracker-7.7.0" // {
-        dependencies = [
-          sources."bencode-0.8.0"
-        ];
-      })
+      sources."bittorrent-dht-6.4.2"
+      sources."bittorrent-tracker-7.7.0"
       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."k-bucket-2.0.1"
+      sources."k-rpc-3.7.0"
       sources."lru-2.0.1"
       sources."buffer-equal-0.0.1"
       sources."k-rpc-socket-1.7.1"
@@ -34569,21 +31841,12 @@ in
       sources."random-iterate-1.0.1"
       sources."run-series-1.1.4"
       sources."simple-peer-6.4.4"
-      (sources."simple-websocket-4.3.1" // {
-        dependencies = [
-          sources."ws-2.3.1"
-          sources."safe-buffer-5.0.1"
-        ];
-      })
+      sources."simple-websocket-4.3.1"
       sources."string2compact-1.2.2"
-      (sources."ws-1.1.4" // {
-        dependencies = [
-          sources."ultron-1.0.2"
-        ];
-      })
+      sources."ws-2.3.1"
       sources."ipaddr.js-1.5.4"
       sources."get-browser-rtc-1.0.2"
-      sources."ultron-1.1.0"
+      sources."ultron-1.0.2"
       sources."addr-to-ip-port-1.4.2"
       sources."options-0.0.6"
     ];
@@ -34615,23 +31878,16 @@ in
       sources."pump-1.0.2"
       sources."range-parser-1.2.0"
       sources."read-torrent-1.3.0"
-      (sources."socket.io-1.7.4" // {
-        dependencies = [
-          sources."debug-2.3.3"
-          sources."ms-0.7.2"
-        ];
-      })
+      sources."socket.io-1.7.4"
       (sources."torrent-stream-1.0.3" // {
         dependencies = [
-          sources."end-of-stream-0.1.5"
           sources."mkdirp-0.3.5"
-          sources."once-1.3.3"
         ];
       })
       sources."fluent-ffmpeg-2.1.2"
-      sources."multiparty-4.1.3"
+      sources."multiparty-3.3.2"
       sources."on-finished-2.3.0"
-      sources."qs-6.5.1"
+      sources."qs-0.5.6"
       sources."type-is-1.6.15"
       sources."fd-slicer-1.0.1"
       sources."pend-1.2.0"
@@ -34640,18 +31896,13 @@ in
       sources."mime-types-2.1.17"
       sources."mime-db-1.30.0"
       sources."basic-auth-1.0.4"
-      (sources."connect-2.30.2" // {
-        dependencies = [
-          sources."multiparty-3.3.2"
-          sources."qs-4.0.0"
-        ];
-      })
+      sources."connect-2.30.2"
       sources."content-disposition-0.5.0"
       sources."content-type-1.0.4"
       sources."commander-2.6.0"
-      sources."cookie-0.1.3"
+      sources."cookie-0.3.1"
       sources."cookie-signature-1.0.6"
-      sources."debug-2.2.0"
+      sources."debug-2.6.9"
       sources."depd-1.0.1"
       sources."escape-html-1.0.2"
       sources."etag-1.7.0"
@@ -34660,134 +31911,70 @@ in
       sources."methods-1.1.2"
       sources."parseurl-1.3.2"
       sources."proxy-addr-1.0.10"
-      (sources."send-0.13.0" // {
-        dependencies = [
-          sources."destroy-1.0.3"
-          sources."range-parser-1.0.3"
-          sources."statuses-1.2.1"
-        ];
-      })
+      sources."send-0.13.2"
       sources."utils-merge-1.0.0"
-      sources."vary-1.0.1"
+      sources."vary-1.1.2"
       sources."basic-auth-connect-1.0.0"
-      (sources."body-parser-1.13.3" // {
-        dependencies = [
-          sources."qs-4.0.0"
-        ];
-      })
+      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.4"
-          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."errorhandler-1.4.3"
+      sources."express-session-1.11.3"
       sources."finalhandler-0.4.0"
       sources."http-errors-1.3.1"
-      (sources."method-override-2.3.10" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."vary-1.1.2"
-          sources."ms-2.0.0"
-        ];
-      })
+      sources."method-override-2.3.10"
       sources."morgan-1.6.1"
       sources."on-headers-1.0.1"
       sources."pause-0.1.0"
-      (sources."response-time-2.3.2" // {
-        dependencies = [
-          sources."depd-1.1.1"
-        ];
-      })
-      (sources."serve-favicon-2.3.2" // {
-        dependencies = [
-          sources."ms-0.7.2"
-        ];
-      })
-      (sources."serve-index-1.7.3" // {
-        dependencies = [
-          sources."escape-html-1.0.3"
-        ];
-      })
-      (sources."serve-static-1.10.3" // {
-        dependencies = [
-          sources."escape-html-1.0.3"
-          sources."send-0.13.2"
-          sources."depd-1.1.1"
-          sources."range-parser-1.0.3"
-          sources."statuses-1.2.1"
-        ];
-      })
+      sources."response-time-2.3.2"
+      sources."serve-favicon-2.3.2"
+      sources."serve-index-1.7.3"
+      sources."serve-static-1.10.3"
       sources."vhost-3.0.2"
-      sources."iconv-lite-0.4.11"
-      (sources."raw-body-2.1.7" // {
-        dependencies = [
-          sources."bytes-2.4.0"
-          sources."iconv-lite-0.4.13"
-        ];
-      })
+      sources."iconv-lite-0.4.13"
+      sources."raw-body-2.1.7"
       sources."unpipe-1.0.0"
-      sources."accepts-1.2.13"
+      sources."accepts-1.3.3"
       sources."compressible-2.0.12"
-      sources."negotiator-0.5.3"
-      sources."ms-0.7.1"
+      sources."negotiator-0.6.1"
+      sources."ms-2.0.0"
       sources."csrf-3.0.6"
       sources."rndm-1.2.0"
       sources."tsscmp-1.0.5"
-      sources."uid-safe-2.1.4"
+      sources."uid-safe-2.0.0"
       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.4.0"
-      sources."readable-stream-1.1.14"
+      sources."statuses-1.2.1"
+      sources."readable-stream-2.3.3"
       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."isarray-1.0.0"
+      sources."string_decoder-1.0.3"
       sources."batch-0.5.3"
-      sources."destroy-1.0.4"
-      sources."mime-1.3.4"
+      sources."destroy-1.0.3"
+      sources."mime-1.2.11"
       sources."forwarded-0.1.2"
       sources."ipaddr.js-1.0.5"
-      sources."minimist-0.0.8"
-      sources."end-of-stream-1.4.0"
-      sources."once-1.4.0"
+      sources."minimist-1.2.0"
+      sources."end-of-stream-0.1.5"
+      sources."once-1.3.3"
       sources."wrappy-1.0.2"
-      sources."magnet-uri-2.0.1"
-      (sources."parse-torrent-4.1.0" // {
-        dependencies = [
-          sources."magnet-uri-4.2.3"
-        ];
-      })
-      (sources."request-2.16.6" // {
-        dependencies = [
-          sources."mime-1.2.11"
-          sources."qs-0.5.6"
-        ];
-      })
+      sources."magnet-uri-4.2.3"
+      sources."parse-torrent-4.1.0"
+      sources."request-2.16.6"
       sources."xtend-4.0.1"
       sources."thirty-two-0.0.2"
       sources."parse-torrent-file-2.1.4"
       sources."flatten-0.0.1"
-      sources."bencode-0.7.0"
+      sources."bencode-0.8.0"
       sources."simple-sha1-2.1.0"
-      sources."rusha-0.8.6"
-      (sources."form-data-0.0.10" // {
-        dependencies = [
-          sources."mime-1.2.11"
-        ];
-      })
+      sources."rusha-0.8.7"
+      sources."form-data-0.0.10"
       sources."hawk-0.10.2"
       sources."node-uuid-1.4.8"
       sources."cookie-jar-0.2.0"
@@ -34803,54 +31990,26 @@ in
       sources."boom-0.3.8"
       sources."cryptiles-0.1.3"
       sources."sntp-0.1.4"
-      (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."engine.io-1.8.4"
       sources."has-binary-0.1.7"
       sources."object-assign-4.1.0"
-      (sources."socket.io-adapter-0.5.0" // {
-        dependencies = [
-          sources."debug-2.3.3"
-          sources."ms-0.7.2"
-        ];
-      })
-      (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."component-emitter-1.1.2"
-        ];
-      })
+      sources."socket.io-adapter-0.5.0"
+      sources."socket.io-client-1.7.4"
+      sources."socket.io-parser-2.3.1"
       sources."base64id-1.0.0"
       sources."engine.io-parser-1.3.2"
-      sources."ws-1.1.4"
+      sources."ws-2.3.1"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.6"
       sources."base64-arraybuffer-0.1.5"
       sources."blob-0.0.4"
       sources."wtf-8-1.0.0"
       sources."options-0.0.6"
-      sources."ultron-1.0.2"
+      sources."ultron-1.1.0"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
-      sources."component-emitter-1.2.1"
-      (sources."engine.io-client-1.8.4" // {
-        dependencies = [
-          sources."debug-2.3.3"
-          sources."ws-1.1.2"
-          sources."ms-0.7.2"
-        ];
-      })
+      sources."component-emitter-1.1.2"
+      sources."engine.io-client-1.8.4"
       sources."indexof-0.0.1"
       sources."object-component-0.0.3"
       sources."parseuri-0.0.5"
@@ -34865,8 +32024,12 @@ in
       sources."callsite-1.0.0"
       sources."json3-3.3.2"
       sources."bitfield-0.1.0"
-      sources."bncode-0.5.3"
-      sources."fs-chunk-store-1.6.5"
+      sources."bncode-0.2.3"
+      (sources."fs-chunk-store-1.6.5" // {
+        dependencies = [
+          sources."mkdirp-0.5.1"
+        ];
+      })
       sources."hat-0.0.3"
       sources."immediate-chunk-store-1.0.8"
       sources."ip-set-1.0.1"
@@ -34874,24 +32037,15 @@ in
       sources."rimraf-2.6.2"
       sources."torrent-discovery-5.4.0"
       sources."torrent-piece-1.1.1"
-      (sources."random-access-file-1.8.1" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."ms-2.0.0"
-        ];
-      })
+      sources."random-access-file-1.8.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.1"
+      sources."safe-buffer-5.0.1"
       sources."ip-1.1.5"
       sources."fifo-0.1.4"
-      (sources."peer-wire-protocol-0.7.0" // {
-        dependencies = [
-          sources."bncode-0.2.3"
-        ];
-      })
+      sources."peer-wire-protocol-0.7.0"
       sources."speedometer-0.1.4"
       sources."utp-0.0.7"
       sources."cyclist-0.1.1"
@@ -34904,49 +32058,21 @@ in
       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."bencode-0.8.0"
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."bittorrent-tracker-7.7.0"
       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."k-bucket-2.0.1"
+      sources."k-rpc-3.7.0"
       sources."lru-2.0.1"
       sources."buffer-equal-0.0.1"
-      (sources."k-rpc-socket-1.7.1" // {
-        dependencies = [
-          sources."bencode-1.0.0"
-        ];
-      })
+      sources."k-rpc-socket-1.7.1"
       sources."bn.js-4.11.8"
       sources."compact2string-1.4.0"
       sources."random-iterate-1.0.1"
       sources."run-series-1.1.4"
       sources."simple-get-2.7.0"
-      (sources."simple-peer-6.4.4" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      (sources."simple-websocket-4.3.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."ws-2.3.1"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-          sources."safe-buffer-5.0.1"
-          sources."ultron-1.1.0"
-        ];
-      })
+      sources."simple-peer-6.4.4"
+      sources."simple-websocket-4.3.1"
       sources."string2compact-1.2.2"
       sources."uniq-1.0.1"
       sources."decompress-response-3.3.0"
@@ -35036,38 +32162,18 @@ in
       sources."isstream-0.1.2"
       sources."is-typedarray-1.0.0"
       sources."har-validator-2.0.6"
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."lodash-4.17.4"
       sources."mime-db-1.30.0"
-      sources."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
       sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.10.0"
       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."dashdash-1.14.1"
+      sources."getpass-0.1.7"
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
       sources."ecc-jsbn-0.1.1"
@@ -35105,10 +32211,10 @@ in
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
-    version = "1.7.4";
+    version = "1.8.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prettier/-/prettier-1.7.4.tgz";
-      sha1 = "5e8624ae9363c80f95ec644584ecdf55d74f93fa";
+      url = "https://registry.npmjs.org/prettier/-/prettier-1.8.2.tgz";
+      sha512 = "1kfhb09w2kr32afpzpvvjk005z04jf41d7gghcvfddsryvvis2gvvj4ig55yjs1876c3mj7pjmygv58hsrkzjxvsv7hhrhi185s6xbw";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -35129,49 +32235,36 @@ in
     dependencies = [
       (sources."browserify-13.3.0" // {
         dependencies = [
-          (sources."concat-stream-1.5.2" // {
-            dependencies = [
-              sources."readable-stream-2.0.6"
-            ];
-          })
-        ];
-      })
-      (sources."browserify-incremental-3.1.1" // {
-        dependencies = [
-          sources."JSONStream-0.10.0"
-          sources."jsonparse-0.0.5"
+          sources."concat-stream-1.5.2"
         ];
       })
+      sources."browserify-incremental-3.1.1"
       sources."concat-stream-1.6.0"
       sources."glob-7.1.2"
       sources."minimatch-3.0.4"
-      sources."node-static-0.7.10"
+      (sources."node-static-0.7.10" // {
+        dependencies = [
+          sources."wordwrap-0.0.3"
+        ];
+      })
       sources."read-1.0.7"
       sources."string-stream-0.0.7"
       sources."temp-0.8.3"
       sources."through-2.3.8"
       sources."tree-kill-1.2.0"
-      (sources."watchpack-1.4.0" // {
-        dependencies = [
-          sources."async-2.5.0"
-        ];
-      })
+      sources."watchpack-1.4.0"
       sources."which-1.3.0"
       sources."wordwrap-1.0.0"
-      sources."JSONStream-1.3.1"
+      sources."JSONStream-0.10.0"
       sources."assert-1.4.1"
       sources."browser-pack-6.0.2"
-      (sources."browser-resolve-1.11.2" // {
-        dependencies = [
-          sources."resolve-1.1.7"
-        ];
-      })
+      sources."browser-resolve-1.11.2"
       sources."browserify-zlib-0.1.4"
       sources."buffer-4.9.1"
       sources."cached-path-relative-1.0.1"
       sources."console-browserify-1.1.0"
       sources."constants-browserify-1.0.0"
-      sources."crypto-browserify-3.11.1"
+      sources."crypto-browserify-3.12.0"
       sources."defined-1.0.0"
       sources."deps-sort-2.0.0"
       sources."domain-browser-1.1.7"
@@ -35181,62 +32274,33 @@ in
       sources."htmlescape-1.1.1"
       sources."https-browserify-0.0.1"
       sources."inherits-2.0.3"
-      (sources."insert-module-globals-7.0.1" // {
-        dependencies = [
-          sources."concat-stream-1.5.2"
-          sources."readable-stream-2.0.6"
-        ];
-      })
-      (sources."labeled-stream-splicer-2.0.0" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-        ];
-      })
-      (sources."module-deps-4.1.1" // {
-        dependencies = [
-          (sources."concat-stream-1.5.2" // {
-            dependencies = [
-              sources."readable-stream-2.0.6"
-            ];
-          })
-        ];
-      })
+      sources."insert-module-globals-7.0.1"
+      sources."labeled-stream-splicer-2.0.0"
+      sources."module-deps-4.1.1"
       sources."os-browserify-0.1.2"
       sources."parents-1.0.1"
       sources."path-browserify-0.0.0"
       sources."process-0.11.10"
-      sources."punycode-1.4.1"
+      sources."punycode-1.3.2"
       sources."querystring-es3-0.2.1"
       sources."read-only-stream-2.0.0"
-      (sources."readable-stream-2.3.3" // {
-        dependencies = [
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      sources."resolve-1.5.0"
+      sources."readable-stream-2.3.3"
+      sources."resolve-1.1.7"
       sources."shasum-1.0.2"
       sources."shell-quote-1.6.1"
       sources."stream-browserify-2.0.1"
       sources."stream-http-2.7.2"
-      sources."string_decoder-0.10.31"
+      sources."string_decoder-1.0.3"
       sources."subarg-1.0.0"
       sources."syntax-error-1.3.0"
       sources."through2-2.0.3"
       sources."timers-browserify-1.4.2"
       sources."tty-browserify-0.0.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
-      (sources."util-0.10.3" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-        ];
-      })
+      sources."url-0.11.0"
+      sources."util-0.10.3"
       sources."vm-browserify-0.0.4"
       sources."xtend-4.0.1"
-      sources."jsonparse-1.3.1"
+      sources."jsonparse-0.0.5"
       sources."combine-source-map-0.7.2"
       sources."umd-3.0.1"
       sources."convert-source-map-1.1.3"
@@ -35261,6 +32325,7 @@ in
       sources."pbkdf2-3.0.14"
       sources."public-encrypt-4.0.0"
       sources."randombytes-2.0.5"
+      sources."randomfill-1.0.3"
       sources."browserify-aes-1.1.1"
       sources."browserify-des-1.0.0"
       sources."evp_bytestokey-1.0.3"
@@ -35270,7 +32335,7 @@ in
       sources."des.js-1.0.0"
       sources."minimalistic-assert-1.0.0"
       sources."md5.js-1.3.4"
-      sources."hash-base-3.0.4"
+      sources."hash-base-2.0.2"
       sources."bn.js-4.11.8"
       sources."browserify-rsa-4.0.1"
       sources."elliptic-6.4.0"
@@ -35280,11 +32345,7 @@ in
       sources."hmac-drbg-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."asn1.js-4.9.2"
-      (sources."ripemd160-2.0.1" // {
-        dependencies = [
-          sources."hash-base-2.0.2"
-        ];
-      })
+      sources."ripemd160-2.0.1"
       sources."sha.js-2.4.9"
       sources."miller-rabin-4.0.1"
       sources."function-bind-1.1.1"
@@ -35304,11 +32365,11 @@ in
       sources."array-map-0.0.0"
       sources."builtin-status-codes-3.0.0"
       sources."to-arraybuffer-1.0.1"
-      sources."minimist-1.2.0"
+      sources."minimist-0.0.10"
       sources."querystring-0.2.0"
       sources."indexof-0.0.1"
       sources."browserify-cache-api-3.0.1"
-      sources."async-1.5.2"
+      sources."async-2.6.0"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."once-1.4.0"
@@ -35317,12 +32378,7 @@ in
       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."minimist-0.0.10"
-        ];
-      })
+      sources."optimist-0.6.1"
       sources."colors-1.1.2"
       sources."mime-1.4.1"
       sources."mute-stream-0.0.7"
@@ -35337,7 +32393,7 @@ in
       sources."is-binary-path-1.0.1"
       sources."is-glob-2.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.2"
+      sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
       sources."normalize-path-2.1.1"
       sources."arr-diff-2.0.0"
@@ -35356,18 +32412,9 @@ in
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
       sources."repeat-string-1.6.1"
       sources."is-posix-bracket-0.1.1"
       sources."for-own-0.1.5"
@@ -35381,50 +32428,96 @@ in
       sources."binary-extensions-1.10.0"
       sources."set-immediate-shim-1.0.1"
       sources."nan-2.7.0"
-      (sources."node-pre-gyp-0.6.38" // {
-        dependencies = [
-          sources."rimraf-2.6.2"
-        ];
-      })
-      (sources."mkdirp-0.5.1" // {
+      sources."isexe-2.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A build system for PureScript projects";
+      homepage = https://github.com/bodil/pulp;
+      license = "LGPL-3.0+";
+    };
+    production = true;
+  };
+  quassel-webserver = nodeEnv.buildNodePackage {
+    name = "quassel-webserver";
+    packageName = "quassel-webserver";
+    version = "2.2.8";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/quassel-webserver/-/quassel-webserver-2.2.8.tgz";
+      sha1 = "195a2a5b6dd76e4a244a807002678b037d70eeaa";
+    };
+    dependencies = [
+      sources."body-parser-1.18.2"
+      sources."commander-2.11.0"
+      sources."cookie-parser-1.4.3"
+      sources."express-4.16.2"
+      sources."less-2.7.3"
+      sources."less-middleware-2.2.1"
+      sources."libquassel-2.1.9"
+      sources."morgan-1.9.0"
+      sources."net-browserify-alt-1.1.0"
+      (sources."pug-2.0.0-rc.4" // {
         dependencies = [
-          sources."minimist-0.0.8"
+          sources."commander-2.8.1"
         ];
       })
-      sources."nopt-4.0.1"
-      sources."npmlog-4.1.2"
-      sources."rc-1.2.2"
+      sources."serve-favicon-2.3.2"
+      sources."httpolyglot-0.1.2"
+      sources."bytes-3.0.0"
+      sources."content-type-1.0.4"
+      sources."debug-2.6.9"
+      sources."depd-1.1.1"
+      sources."http-errors-1.6.2"
+      sources."iconv-lite-0.4.19"
+      sources."on-finished-2.3.0"
+      sources."qs-6.4.0"
+      sources."raw-body-2.3.2"
+      sources."type-is-1.6.15"
+      sources."ms-0.7.2"
+      sources."inherits-2.0.3"
+      sources."setprototypeof-1.1.0"
+      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.17"
+      sources."mime-db-1.30.0"
+      sources."cookie-0.3.1"
+      sources."cookie-signature-1.0.6"
+      sources."accepts-1.3.4"
+      sources."array-flatten-1.1.1"
+      sources."content-disposition-0.5.2"
+      sources."encodeurl-1.0.1"
+      sources."escape-html-1.0.3"
+      sources."etag-1.7.0"
+      sources."finalhandler-1.1.0"
+      sources."fresh-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."parseurl-1.3.2"
+      sources."path-to-regexp-0.1.7"
+      sources."proxy-addr-2.0.2"
+      sources."range-parser-1.2.0"
+      sources."safe-buffer-5.0.1"
+      sources."send-0.16.1"
+      sources."serve-static-1.13.1"
+      sources."utils-merge-1.0.1"
+      sources."vary-1.1.2"
+      sources."negotiator-0.6.1"
+      sources."forwarded-0.1.2"
+      sources."ipaddr.js-1.5.2"
+      sources."destroy-1.0.4"
+      sources."mime-1.4.1"
+      sources."errno-0.1.4"
+      sources."graceful-fs-4.1.11"
+      sources."image-size-0.5.5"
+      sources."mkdirp-0.5.1"
+      sources."promise-7.3.1"
+      sources."source-map-0.5.7"
       sources."request-2.81.0"
-      sources."hawk-3.1.3"
-      sources."semver-5.4.1"
-      sources."tar-2.2.1"
-      (sources."tar-pack-3.4.1" // {
-        dependencies = [
-          sources."rimraf-2.6.2"
-        ];
-      })
-      sources."abbrev-1.1.1"
-      sources."osenv-0.1.4"
-      sources."os-homedir-1.0.2"
-      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."aproba-1.2.0"
-      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.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.2"
-      sources."ini-1.3.4"
-      sources."strip-json-comments-2.0.1"
+      sources."prr-0.0.0"
+      sources."minimist-1.2.0"
+      sources."asap-2.0.6"
       sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
       sources."caseless-0.12.0"
@@ -35433,78 +32526,152 @@ in
       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."mime-types-2.1.17"
       sources."oauth-sign-0.8.2"
       sources."performance-now-0.2.0"
-      sources."qs-6.4.0"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.0"
+      sources."tunnel-agent-0.4.3"
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
-      (sources."ajv-4.11.8" // {
-        dependencies = [
-          sources."json-stable-stringify-1.0.1"
-        ];
-      })
+      sources."ajv-4.11.8"
       sources."har-schema-1.0.5"
       sources."co-4.6.0"
-      sources."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.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-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
       sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.10.0"
+      sources."core-util-is-1.0.2"
       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."dashdash-1.14.1"
+      sources."getpass-0.1.7"
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
-      sources."mime-db-1.30.0"
-      sources."hoek-2.16.3"
-      sources."boom-2.10.1"
-      sources."cryptiles-2.0.5"
-      sources."sntp-1.0.9"
-      sources."block-stream-0.0.9"
-      sources."fstream-1.0.11"
-      sources."debug-2.6.9"
-      sources."fstream-ignore-1.0.5"
-      sources."uid-number-0.0.6"
-      sources."ms-2.0.0"
-      sources."isexe-2.0.0"
+      sources."punycode-1.4.1"
+      sources."node.extend-2.0.0"
+      sources."is-3.2.1"
+      sources."eventemitter2-3.0.2"
+      sources."qtdatastream-0.7.1"
+      sources."int64-buffer-0.1.9"
+      sources."basic-auth-2.0.0"
+      sources."on-headers-1.0.1"
+      sources."bufferutil-2.0.1"
+      sources."ws-2.3.1"
+      sources."bindings-1.2.1"
+      sources."nan-2.5.1"
+      sources."prebuild-install-2.1.2"
+      sources."expand-template-1.1.0"
+      sources."github-from-package-0.0.0"
+      sources."node-abi-2.1.2"
+      sources."noop-logger-0.1.1"
+      sources."npmlog-4.1.2"
+      sources."os-homedir-1.0.2"
+      sources."pump-1.0.2"
+      sources."rc-1.2.2"
+      sources."simple-get-1.4.3"
+      sources."tar-fs-1.16.0"
+      sources."xtend-4.0.1"
+      sources."semver-5.4.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.3.3"
+      sources."isarray-1.0.0"
+      sources."process-nextick-args-1.0.7"
+      sources."string_decoder-1.0.3"
+      sources."util-deprecate-1.0.2"
+      sources."aproba-1.2.0"
+      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.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."end-of-stream-1.4.0"
+      sources."once-1.4.0"
+      sources."wrappy-1.0.2"
+      sources."deep-extend-0.4.2"
+      sources."ini-1.3.4"
+      sources."strip-json-comments-2.0.1"
+      sources."unzip-response-1.0.2"
+      sources."chownr-1.0.1"
+      sources."tar-stream-1.5.5"
+      sources."bl-1.2.1"
+      sources."ultron-1.1.0"
+      sources."pug-code-gen-2.0.0"
+      sources."pug-filters-2.1.5"
+      sources."pug-lexer-3.1.0"
+      sources."pug-linker-3.0.3"
+      sources."pug-load-2.0.9"
+      sources."pug-parser-4.0.0"
+      sources."pug-runtime-2.0.3"
+      sources."pug-strip-comments-1.0.2"
+      sources."constantinople-3.1.0"
+      sources."doctypes-1.1.0"
+      sources."js-stringify-1.0.2"
+      sources."pug-attrs-2.0.2"
+      sources."pug-error-1.3.2"
+      sources."void-elements-2.0.1"
+      sources."with-5.1.1"
+      sources."acorn-4.0.13"
+      sources."is-expression-3.0.0"
+      sources."acorn-globals-3.1.0"
+      sources."clean-css-3.4.28"
+      sources."pug-walk-1.1.5"
+      sources."jstransformer-1.0.0"
+      sources."resolve-1.5.0"
+      sources."uglify-js-2.8.29"
+      sources."graceful-readlink-1.0.1"
+      sources."amdefine-1.0.1"
+      sources."is-promise-2.1.0"
+      sources."path-parse-1.0.5"
+      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.2"
+      sources."longest-1.0.1"
+      sources."repeat-string-1.6.1"
+      sources."is-buffer-1.1.6"
+      sources."character-parser-2.2.0"
+      sources."is-regex-1.0.4"
+      sources."has-1.0.1"
+      sources."function-bind-1.1.1"
+      sources."token-stream-0.0.1"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "A build system for PureScript projects";
-      homepage = https://github.com/bodil/pulp;
-      license = "LGPL-3.0+";
+      description = "Quassel web interface";
+      homepage = https://github.com/magne4000/quassel-webserver;
+      license = "MIT";
     };
     production = true;
   };
@@ -35518,11 +32685,7 @@ in
     };
     dependencies = [
       sources."commoner-0.10.8"
-      (sources."jstransform-10.1.0" // {
-        dependencies = [
-          sources."source-map-0.1.31"
-        ];
-      })
+      sources."jstransform-10.1.0"
       sources."commander-2.11.0"
       sources."detective-4.5.0"
       sources."glob-5.0.15"
@@ -35546,7 +32709,7 @@ in
       sources."minimist-0.0.8"
       sources."ast-types-0.9.6"
       sources."esprima-3.1.3"
-      sources."source-map-0.5.7"
+      sources."source-map-0.1.31"
       sources."base62-0.1.1"
       sources."esprima-fb-13001.1001.0-dev-harmony-fb"
       sources."amdefine-1.0.1"
@@ -35576,18 +32739,7 @@ in
           sources."commander-1.3.2"
         ];
       })
-      (sources."everyauth-0.4.5" // {
-        dependencies = [
-          sources."connect-2.3.9"
-          sources."debug-0.5.0"
-          sources."qs-0.4.2"
-          sources."cookie-0.0.4"
-          sources."bytes-0.1.0"
-          sources."send-0.0.3"
-          sources."fresh-0.1.0"
-          sources."mime-1.2.6"
-        ];
-      })
+      sources."everyauth-0.4.5"
       sources."string-1.6.1"
       sources."util-0.4.9"
       sources."crypto-0.0.3"
@@ -35596,22 +32748,18 @@ in
       sources."sax-1.2.4"
       sources."coffee-script-1.6.3"
       sources."node-uuid-1.4.1"
-      (sources."connect-2.11.0" // {
-        dependencies = [
-          sources."methods-0.0.1"
-        ];
-      })
+      sources."connect-2.3.9"
       sources."range-parser-0.0.4"
       sources."mkdirp-0.3.5"
-      sources."cookie-0.1.0"
+      sources."cookie-0.0.4"
       sources."buffer-crc32-0.2.1"
-      sources."fresh-0.2.0"
-      sources."methods-0.1.0"
-      sources."send-0.1.4"
+      sources."fresh-0.1.0"
+      sources."methods-0.0.1"
+      sources."send-0.0.3"
       sources."cookie-signature-1.0.1"
-      sources."debug-3.1.0"
-      sources."qs-0.6.5"
-      sources."bytes-0.2.1"
+      sources."debug-0.5.0"
+      sources."qs-6.5.1"
+      sources."bytes-0.1.0"
       sources."pause-0.0.1"
       sources."uid2-0.0.3"
       sources."raw-body-0.0.3"
@@ -35624,16 +32772,11 @@ in
       sources."string_decoder-0.10.31"
       sources."inherits-2.0.3"
       sources."keypress-0.1.0"
-      sources."mime-1.2.11"
+      sources."mime-1.2.6"
       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" // {
-        dependencies = [
-          sources."request-2.83.0"
-          sources."qs-6.5.1"
-        ];
-      })
+      sources."oauth-https://github.com/ciaranj/node-oauth/tarball/master"
+      sources."request-2.83.0"
+      sources."openid-2.0.6"
       sources."node-swt-0.1.1"
       sources."node-wsfederation-0.1.1"
       sources."formidable-1.0.11"
@@ -35668,12 +32811,8 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
       sources."sntp-2.1.0"
       sources."assert-plus-1.0.0"
       sources."jsprim-1.4.1"
@@ -35716,67 +32855,58 @@ in
   serve = nodeEnv.buildNodePackage {
     name = "serve";
     packageName = "serve";
-    version = "6.4.0";
+    version = "6.4.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serve/-/serve-6.4.0.tgz";
-      sha512 = "0kb65fj5n5z4j11c8247zvabb0qp4w5w9ls29bypm11ay9g2a1riv5wl72ya44b4arwxhyawxxijb5r5zjlwfs9zsbklcp6vbc8mphs";
+      url = "https://registry.npmjs.org/serve/-/serve-6.4.1.tgz";
+      sha512 = "385jwid220bqcnr46ck6vz22ic9kxmxghcpy4m15lvzcl7r3g8f6jyigwmjvdfypf8jaiv1shrfwj2fsgq7wsg6mh7q9hc3pkfk99x0";
     };
     dependencies = [
-      sources."args-3.0.7"
-      sources."basic-auth-2.0.0"
-      sources."bluebird-3.5.1"
-      sources."boxen-1.2.1"
-      sources."chalk-2.1.0"
-      (sources."clipboardy-1.1.4" // {
+      (sources."args-3.0.7" // {
         dependencies = [
-          sources."execa-0.6.3"
+          sources."chalk-2.1.0"
         ];
       })
+      sources."basic-auth-2.0.0"
+      sources."bluebird-3.5.1"
+      sources."boxen-1.2.2"
+      sources."chalk-2.3.0"
+      sources."clipboardy-1.1.4"
       sources."dargs-5.1.0"
       sources."detect-port-1.2.1"
-      sources."filesize-3.5.10"
+      sources."filesize-3.5.11"
       sources."fs-extra-4.0.2"
-      sources."handlebars-4.0.10"
+      sources."handlebars-4.0.11"
       sources."ip-1.1.5"
       sources."micro-9.0.0"
       sources."micro-compress-1.0.0"
-      (sources."mime-types-2.1.17" // {
-        dependencies = [
-          sources."mime-db-1.30.0"
-        ];
-      })
+      sources."mime-types-2.1.17"
       sources."node-version-1.1.0"
       sources."openssl-self-signed-certificate-1.1.6"
       sources."opn-5.1.0"
       sources."path-type-3.0.0"
-      (sources."send-0.16.1" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."send-0.16.1"
       sources."update-notifier-2.3.0"
-      sources."camelcase-4.1.0"
+      sources."camelcase-1.2.1"
       sources."mri-1.1.0"
       sources."pkginfo-0.4.1"
       sources."string-similarity-1.2.0"
+      sources."ansi-styles-3.2.0"
+      sources."escape-string-regexp-1.0.5"
+      sources."supports-color-4.5.0"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."has-flag-2.0.0"
       sources."lodash-4.17.4"
       sources."safe-buffer-5.1.1"
       sources."ansi-align-2.0.0"
       sources."cli-boxes-1.0.0"
-      sources."string-width-2.1.1"
+      sources."string-width-1.0.2"
       sources."term-size-1.2.0"
-      (sources."widest-line-1.0.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."is-fullwidth-code-point-2.0.0"
-      sources."strip-ansi-4.0.0"
-      sources."ansi-regex-3.0.0"
-      sources."execa-0.7.0"
+      sources."widest-line-1.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."strip-ansi-3.0.1"
+      sources."ansi-regex-2.1.1"
+      sources."execa-0.6.3"
       sources."cross-spawn-5.1.0"
       sources."get-stream-3.0.0"
       sources."is-stream-1.1.0"
@@ -35794,12 +32924,6 @@ in
       sources."path-key-2.0.1"
       sources."code-point-at-1.1.0"
       sources."number-is-nan-1.0.1"
-      sources."ansi-styles-3.2.0"
-      sources."escape-string-regexp-1.0.5"
-      sources."supports-color-4.5.0"
-      sources."color-convert-1.9.0"
-      sources."color-name-1.1.3"
-      sources."has-flag-2.0.0"
       sources."address-1.0.3"
       sources."debug-2.6.9"
       sources."ms-2.0.0"
@@ -35808,26 +32932,14 @@ in
       sources."universalify-0.1.1"
       sources."async-1.5.2"
       sources."optimist-0.6.1"
-      sources."source-map-0.4.4"
-      (sources."uglify-js-2.8.29" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      sources."wordwrap-0.0.3"
-      sources."minimist-0.0.10"
+      sources."source-map-0.5.7"
+      sources."uglify-js-2.8.29"
+      sources."wordwrap-0.0.2"
+      sources."minimist-1.2.0"
       sources."amdefine-1.0.1"
-      (sources."yargs-3.10.0" // {
-        dependencies = [
-          sources."camelcase-1.2.1"
-        ];
-      })
+      sources."yargs-3.10.0"
       sources."uglify-to-browserify-1.0.2"
-      (sources."cliui-2.1.0" // {
-        dependencies = [
-          sources."wordwrap-0.0.2"
-        ];
-      })
+      sources."cliui-2.1.0"
       sources."decamelize-1.2.0"
       sources."window-size-0.1.0"
       sources."center-align-0.1.3"
@@ -35847,14 +32959,14 @@ in
       sources."depd-1.1.1"
       sources."inherits-2.0.3"
       sources."setprototypeof-1.0.3"
-      sources."statuses-1.4.0"
+      sources."statuses-1.3.1"
       sources."compression-1.7.1"
       sources."accepts-1.3.4"
       sources."compressible-2.0.12"
       sources."on-headers-1.0.1"
       sources."vary-1.1.2"
       sources."negotiator-0.6.1"
-      sources."mime-db-1.31.0"
+      sources."mime-db-1.30.0"
       sources."is-wsl-1.1.0"
       sources."pify-3.0.0"
       sources."destroy-1.0.4"
@@ -35899,11 +33011,7 @@ in
       sources."url-parse-lax-1.0.0"
       sources."capture-stack-trace-1.0.0"
       sources."prepend-http-1.0.4"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."rc-1.2.2"
       sources."deep-extend-0.4.2"
       sources."strip-json-comments-2.0.1"
     ];
@@ -35915,6 +33023,188 @@ in
     };
     production = true;
   };
+  shout = nodeEnv.buildNodePackage {
+    name = "shout";
+    packageName = "shout";
+    version = "0.53.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/shout/-/shout-0.53.0.tgz";
+      sha1 = "13ebfcb3b741759d2475db96107776c81d308ae8";
+    };
+    dependencies = [
+      sources."bcrypt-nodejs-0.0.3"
+      sources."cheerio-0.17.0"
+      sources."commander-2.11.0"
+      sources."event-stream-3.3.4"
+      sources."express-4.16.2"
+      sources."lodash-2.4.2"
+      sources."mkdirp-0.5.1"
+      sources."moment-2.7.0"
+      sources."read-1.0.7"
+      sources."request-2.83.0"
+      sources."slate-irc-0.7.3"
+      (sources."socket.io-1.0.6" // {
+        dependencies = [
+          sources."commander-0.6.1"
+        ];
+      })
+      sources."CSSselect-0.4.1"
+      sources."entities-1.1.1"
+      sources."htmlparser2-3.7.3"
+      sources."dom-serializer-0.0.1"
+      sources."CSSwhat-0.4.7"
+      sources."domutils-1.5.1"
+      sources."domelementtype-1.1.3"
+      sources."domhandler-2.2.1"
+      sources."readable-stream-1.1.14"
+      sources."core-util-is-1.0.2"
+      sources."isarray-0.0.1"
+      sources."string_decoder-0.10.31"
+      sources."inherits-2.0.3"
+      sources."through-2.3.8"
+      sources."duplexer-0.1.1"
+      sources."from-0.1.7"
+      sources."map-stream-0.1.0"
+      sources."pause-stream-0.0.11"
+      sources."split-0.3.3"
+      sources."stream-combiner-0.0.4"
+      sources."accepts-1.3.4"
+      sources."array-flatten-1.1.1"
+      sources."body-parser-1.18.2"
+      sources."content-disposition-0.5.2"
+      sources."content-type-1.0.4"
+      sources."cookie-0.3.1"
+      sources."cookie-signature-1.0.6"
+      sources."debug-0.7.4"
+      sources."depd-1.1.1"
+      sources."encodeurl-1.0.1"
+      sources."escape-html-1.0.3"
+      sources."etag-1.8.1"
+      sources."finalhandler-1.1.0"
+      sources."fresh-0.5.2"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."on-finished-2.3.0"
+      sources."parseurl-1.3.2"
+      sources."path-to-regexp-0.1.7"
+      sources."proxy-addr-2.0.2"
+      sources."qs-6.5.1"
+      sources."range-parser-1.2.0"
+      sources."safe-buffer-5.1.1"
+      sources."send-0.16.1"
+      sources."serve-static-1.13.1"
+      sources."setprototypeof-1.0.3"
+      sources."statuses-1.3.1"
+      sources."type-is-1.6.15"
+      sources."utils-merge-1.0.1"
+      sources."vary-1.1.2"
+      sources."mime-types-2.1.17"
+      sources."negotiator-0.6.1"
+      sources."mime-db-1.30.0"
+      sources."bytes-3.0.0"
+      sources."http-errors-1.6.2"
+      sources."iconv-lite-0.4.19"
+      sources."raw-body-2.3.2"
+      sources."unpipe-1.0.0"
+      sources."ms-2.0.0"
+      sources."ee-first-1.1.1"
+      sources."forwarded-0.1.2"
+      sources."ipaddr.js-1.5.2"
+      sources."destroy-1.0.4"
+      sources."mime-1.4.1"
+      sources."media-typer-0.3.0"
+      sources."minimist-0.0.8"
+      sources."mute-stream-0.0.7"
+      sources."aws-sign2-0.7.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.3.1"
+      sources."har-validator-5.0.3"
+      sources."hawk-6.0.2"
+      sources."http-signature-1.2.0"
+      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-2.1.0"
+      sources."stringstream-0.0.5"
+      sources."tough-cookie-2.3.3"
+      sources."tunnel-agent-0.6.0"
+      sources."uuid-3.1.0"
+      sources."delayed-stream-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."ajv-5.3.0"
+      sources."har-schema-2.0.0"
+      sources."co-4.6.0"
+      sources."fast-deep-equal-1.0.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."json-schema-traverse-0.3.1"
+      sources."hoek-4.2.0"
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
+      sources."sntp-2.1.0"
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
+      sources."extsprintf-1.3.0"
+      sources."json-schema-0.2.3"
+      sources."verror-1.10.0"
+      sources."asn1-0.2.3"
+      sources."dashdash-1.14.1"
+      sources."getpass-0.1.7"
+      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."irc-replies-2.0.1"
+      sources."slate-irc-parser-0.0.2"
+      sources."linewise-0.0.3"
+      sources."engine.io-1.3.1"
+      sources."socket.io-parser-2.1.2"
+      sources."socket.io-client-1.0.6"
+      sources."socket.io-adapter-0.2.0"
+      sources."has-binary-data-0.1.1"
+      sources."ws-0.4.31"
+      sources."engine.io-parser-1.0.6"
+      sources."base64id-0.1.0"
+      sources."nan-0.3.2"
+      sources."tinycolor-0.0.1"
+      sources."options-0.0.6"
+      sources."base64-arraybuffer-0.1.2"
+      sources."after-0.8.1"
+      sources."arraybuffer.slice-0.0.6"
+      sources."blob-0.0.2"
+      sources."utf8-2.0.0"
+      sources."json3-3.2.6"
+      sources."emitter-http://github.com/component/emitter/archive/1.0.1.tar.gz"
+      sources."indexof-0.0.1"
+      sources."engine.io-client-1.3.1"
+      sources."component-bind-1.0.0"
+      sources."component-emitter-1.1.2"
+      sources."object-component-0.0.3"
+      sources."parseuri-0.0.2"
+      sources."to-array-0.1.3"
+      sources."has-cors-1.0.3"
+      sources."xmlhttprequest-https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz"
+      sources."parsejson-0.0.1"
+      sources."parseqs-0.0.2"
+      sources."component-inherit-0.0.3"
+      sources."global-https://github.com/component/global/archive/v2.0.1.tar.gz"
+      sources."better-assert-1.0.2"
+      sources."callsite-1.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "The self-hosted Web IRC client";
+      homepage = "https://github.com/erming/shout#readme";
+      license = "MIT";
+    };
+    production = true;
+  };
   sinopia = nodeEnv.buildNodePackage {
     name = "sinopia";
     packageName = "sinopia";
@@ -35926,47 +33216,39 @@ in
     dependencies = [
       sources."express-5.0.0-alpha.6"
       sources."express-json5-0.1.0"
-      (sources."body-parser-1.18.2" // {
-        dependencies = [
-          sources."bytes-3.0.0"
-          sources."iconv-lite-0.4.19"
-          sources."qs-6.5.1"
-          sources."raw-body-2.3.2"
-        ];
-      })
-      (sources."compression-1.7.1" // {
-        dependencies = [
-          sources."bytes-3.0.0"
-        ];
-      })
+      sources."body-parser-1.18.2"
+      sources."compression-1.7.1"
       sources."commander-2.11.0"
       sources."js-yaml-3.10.0"
       sources."cookies-0.7.1"
-      (sources."request-2.83.0" // {
-        dependencies = [
-          sources."qs-6.5.1"
-        ];
-      })
+      sources."request-2.83.0"
       sources."async-0.9.2"
       sources."es6-shim-0.21.1"
       sources."semver-4.3.6"
       sources."minimatch-1.0.0"
-      sources."bunyan-1.8.12"
-      sources."handlebars-2.0.0"
+      (sources."bunyan-1.8.12" // {
+        dependencies = [
+          sources."minimatch-3.0.4"
+        ];
+      })
+      (sources."handlebars-2.0.0" // {
+        dependencies = [
+          sources."async-0.2.10"
+        ];
+      })
       sources."highlight.js-8.9.1"
       sources."lunr-0.7.2"
-      sources."render-readme-1.3.1"
+      (sources."render-readme-1.3.1" // {
+        dependencies = [
+          sources."readable-stream-2.3.3"
+        ];
+      })
       sources."jju-1.3.0"
       sources."JSONStream-1.3.1"
       sources."mkdirp-0.5.1"
       sources."sinopia-htpasswd-0.4.5"
       sources."http-errors-1.6.2"
-      (sources."readable-stream-1.1.14" // {
-        dependencies = [
-          sources."isarray-0.0.1"
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."readable-stream-1.1.14"
       sources."fs-ext-0.6.0"
       sources."crypt3-0.2.0"
       sources."accepts-1.3.4"
@@ -35989,20 +33271,15 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-1.1.5"
-      sources."qs-6.5.0"
+      sources."qs-6.5.1"
       sources."range-parser-1.2.0"
-      (sources."router-1.3.2" // {
-        dependencies = [
-          sources."setprototypeof-1.1.0"
-          sources."utils-merge-1.0.1"
-        ];
-      })
+      sources."router-1.3.2"
       sources."send-0.15.6"
       sources."serve-static-1.12.6"
       sources."setprototypeof-1.0.3"
       sources."statuses-1.3.1"
       sources."type-is-1.6.15"
-      sources."utils-merge-1.0.0"
+      sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
       sources."mime-types-2.1.17"
       sources."negotiator-0.6.1"
@@ -36015,9 +33292,9 @@ in
       sources."destroy-1.0.4"
       sources."mime-1.3.4"
       sources."media-typer-0.3.0"
-      sources."raw-body-1.3.4"
-      sources."bytes-1.0.0"
-      sources."iconv-lite-0.4.8"
+      sources."raw-body-2.3.2"
+      sources."bytes-3.0.0"
+      sources."iconv-lite-0.4.19"
       sources."compressible-2.0.12"
       sources."on-headers-1.0.1"
       sources."safe-buffer-5.1.1"
@@ -36053,12 +33330,8 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
       sources."sntp-2.1.0"
       sources."assert-plus-1.0.0"
       sources."jsprim-1.4.1"
@@ -36080,15 +33353,11 @@ in
       sources."dtrace-provider-0.8.5"
       sources."mv-2.1.1"
       sources."safe-json-stringify-1.0.4"
-      sources."moment-2.19.1"
+      sources."moment-2.19.2"
       sources."nan-2.7.0"
       sources."ncp-2.0.0"
       sources."rimraf-2.4.5"
-      (sources."glob-6.0.4" // {
-        dependencies = [
-          sources."minimatch-3.0.4"
-        ];
-      })
+      sources."glob-6.0.4"
       sources."inflight-1.0.6"
       sources."inherits-2.0.3"
       sources."once-1.4.0"
@@ -36097,11 +33366,7 @@ in
       sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."optimist-0.3.7"
-      (sources."uglify-js-2.3.6" // {
-        dependencies = [
-          sources."async-0.2.10"
-        ];
-      })
+      sources."uglify-js-2.3.6"
       sources."wordwrap-0.0.3"
       sources."source-map-0.1.43"
       sources."amdefine-1.0.1"
@@ -36111,25 +33376,17 @@ in
       sources."linkify-it-1.2.4"
       sources."mdurl-1.0.1"
       sources."uc.micro-1.0.3"
-      (sources."htmlparser2-3.9.2" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-        ];
-      })
+      sources."htmlparser2-3.9.2"
       sources."lodash.escaperegexp-4.1.2"
       sources."srcset-1.0.0"
       sources."xtend-4.0.1"
-      sources."domelementtype-1.3.0"
+      sources."domelementtype-1.1.3"
       sources."domhandler-2.4.1"
       sources."domutils-1.6.2"
-      (sources."dom-serializer-0.1.0" // {
-        dependencies = [
-          sources."domelementtype-1.1.3"
-        ];
-      })
-      sources."isarray-1.0.0"
+      sources."dom-serializer-0.1.0"
+      sources."isarray-0.0.1"
       sources."process-nextick-args-1.0.7"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-0.10.31"
       sources."util-deprecate-1.0.2"
       sources."array-uniq-1.0.3"
       sources."number-is-nan-1.0.1"
@@ -36202,11 +33459,8 @@ in
       (sources."restify-4.0.3" // {
         dependencies = [
           sources."lru-cache-2.7.3"
-          (sources."vasync-1.6.3" // {
-            dependencies = [
-              sources."verror-1.6.0"
-            ];
-          })
+          sources."vasync-1.6.3"
+          sources."assert-plus-1.0.0"
         ];
       })
       sources."bunyan-1.5.1"
@@ -36216,64 +33470,46 @@ in
           sources."assert-plus-0.1.2"
           sources."clone-0.1.5"
           sources."dashdash-1.10.1"
-          (sources."http-signature-1.2.0" // {
-            dependencies = [
-              sources."assert-plus-1.0.0"
-            ];
-          })
-          sources."once-1.3.0"
-          (sources."vasync-1.4.3" // {
-            dependencies = [
-              (sources."jsprim-0.3.0" // {
-                dependencies = [
-                  sources."verror-1.3.3"
-                ];
-              })
-            ];
-          })
-          sources."verror-1.1.0"
-          sources."extsprintf-1.0.0"
-          sources."json-schema-0.2.2"
+          sources."vasync-1.4.3"
         ];
       })
-      sources."cmdln-3.2.1"
-      sources."dashdash-1.7.3"
-      (sources."vasync-1.6.2" // {
+      (sources."cmdln-3.2.1" // {
         dependencies = [
-          sources."verror-1.1.0"
-          sources."extsprintf-1.0.0"
+          sources."assert-plus-1.0.0"
         ];
       })
+      sources."dashdash-1.7.3"
+      sources."vasync-1.6.2"
       sources."abbrev-1.1.1"
       sources."backoff-2.5.0"
       sources."csv-0.4.6"
       sources."escape-regexp-component-1.0.2"
       sources."formidable-1.1.1"
-      sources."http-signature-0.11.0"
+      (sources."http-signature-1.2.0" // {
+        dependencies = [
+          sources."assert-plus-1.0.0"
+        ];
+      })
       sources."keep-alive-agent-0.0.1"
       sources."mime-1.4.1"
       sources."negotiator-0.5.3"
       sources."node-uuid-1.4.8"
-      sources."once-1.4.0"
+      sources."once-1.3.0"
       sources."qs-3.1.0"
       sources."semver-4.3.6"
       sources."spdy-1.32.5"
       sources."tunnel-agent-0.4.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.1.0"
       sources."dtrace-provider-0.6.0"
       sources."precond-0.2.3"
       sources."csv-generate-0.0.6"
       sources."csv-parse-1.3.3"
       sources."stream-transform-0.1.2"
       sources."csv-stringify-0.0.8"
-      sources."asn1-0.1.11"
+      sources."asn1-0.2.3"
       sources."ctype-0.5.3"
       sources."wrappy-1.0.2"
-      sources."extsprintf-1.2.0"
+      sources."extsprintf-1.0.0"
       sources."core-util-is-1.0.2"
       sources."nan-2.7.0"
       sources."mv-2.1.1"
@@ -36290,25 +33526,18 @@ in
       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" // {
+      (sources."sshpk-agent-1.2.1" // {
         dependencies = [
-          sources."asn1-0.2.3"
-          sources."assert-plus-0.2.0"
-          (sources."dashdash-1.14.1" // {
-            dependencies = [
-              sources."assert-plus-1.0.0"
-            ];
-          })
+          sources."assert-plus-0.1.5"
         ];
       })
-      (sources."jsprim-1.4.1" // {
+      (sources."sshpk-1.7.1" // {
         dependencies = [
-          sources."assert-plus-1.0.0"
-          sources."extsprintf-1.3.0"
+          sources."assert-plus-0.2.0"
         ];
       })
-      sources."json-schema-0.2.3"
+      sources."jsprim-0.3.0"
+      sources."json-schema-0.2.2"
       sources."readable-stream-2.3.3"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
@@ -36337,7 +33566,7 @@ in
     };
     dependencies = [
       sources."debug-2.6.9"
-      sources."engine.io-3.1.3"
+      sources."engine.io-3.1.4"
       sources."socket.io-adapter-1.1.1"
       sources."socket.io-client-2.0.4"
       sources."socket.io-parser-3.1.2"
@@ -36345,7 +33574,7 @@ in
       sources."accepts-1.3.3"
       sources."base64id-1.0.0"
       sources."engine.io-parser-2.1.1"
-      sources."ws-2.3.1"
+      sources."ws-3.3.1"
       sources."cookie-0.3.1"
       sources."uws-0.14.5"
       sources."mime-types-2.1.17"
@@ -36357,12 +33586,13 @@ in
       sources."blob-0.0.4"
       sources."has-binary2-1.0.2"
       sources."isarray-2.0.1"
-      sources."safe-buffer-5.0.1"
+      sources."async-limiter-1.0.0"
+      sources."safe-buffer-5.1.1"
       sources."ultron-1.1.0"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
       sources."component-emitter-1.2.1"
-      sources."engine.io-client-3.1.3"
+      sources."engine.io-client-3.1.4"
       sources."has-cors-1.1.0"
       sources."indexof-0.0.1"
       sources."object-component-0.0.3"
@@ -36383,6 +33613,34 @@ in
     };
     production = true;
   };
+  statsd = nodeEnv.buildNodePackage {
+    name = "statsd";
+    packageName = "statsd";
+    version = "0.8.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/statsd/-/statsd-0.8.0.tgz";
+      sha1 = "92041479e174a214df7147f2fab1348af0839052";
+    };
+    dependencies = [
+      sources."generic-pool-2.2.0"
+      sources."modern-syslog-1.1.2"
+      sources."hashring-3.2.0"
+      sources."winser-0.1.6"
+      sources."nan-2.7.0"
+      sources."connection-parse-0.0.7"
+      sources."simple-lru-cache-0.0.2"
+      sources."sequence-2.2.1"
+      sources."commander-1.3.1"
+      sources."keypress-0.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Network daemon for the collection and aggregation of realtime application metrics";
+      homepage = https://github.com/etsy/statsd;
+      license = "MIT";
+    };
+    production = true;
+  };
   stylus = nodeEnv.buildNodePackage {
     name = "stylus";
     packageName = "stylus";
@@ -36423,10 +33681,10 @@ in
   svgo = nodeEnv.buildNodePackage {
     name = "svgo";
     packageName = "svgo";
-    version = "1.0.1";
+    version = "1.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svgo/-/svgo-1.0.1.tgz";
-      sha512 = "2higmngdwd7fgjzcgy9drv5wgm201dza97l73s7arcwjvc725vkvwfqrzcs96agl989ya0mmi1k96d5k3hy6b9cb12jj5qz0dyy4h2q";
+      url = "https://registry.npmjs.org/svgo/-/svgo-1.0.3.tgz";
+      sha512 = "1f9s0zk5rrb842w5gibjarlc9qw8bmjcxnbxc8jjn8is4d6c9l66ajwvifw87yx3pis6dcinyjwvvkxvzpyp326nl72vjv9rw5ndxnp";
     };
     dependencies = [
       sources."coa-2.0.0"
@@ -36437,7 +33695,7 @@ in
       sources."css-select-1.3.0-rc0"
       sources."css-select-base-adapter-0.1.0"
       sources."css-tree-1.0.0-alpha25"
-      sources."csso-3.3.1"
+      sources."csso-3.4.0"
       sources."js-yaml-3.10.0"
       sources."object.values-1.0.4"
       sources."sax-1.2.4"
@@ -36449,12 +33707,8 @@ in
       sources."css-what-2.1.0"
       sources."domutils-1.5.1"
       sources."nth-check-1.0.1"
-      (sources."dom-serializer-0.1.0" // {
-        dependencies = [
-          sources."domelementtype-1.1.3"
-        ];
-      })
-      sources."domelementtype-1.3.0"
+      sources."dom-serializer-0.1.0"
+      sources."domelementtype-1.1.3"
       sources."entities-1.1.1"
       sources."mdn-data-1.0.0"
       sources."source-map-0.5.7"
@@ -36563,33 +33817,30 @@ in
       sources."log-update-1.0.2"
       sources."minimist-1.2.0"
       sources."promise-finally-3.0.0"
-      sources."typings-core-2.3.3"
+      (sources."typings-core-2.3.3" // {
+        dependencies = [
+          sources."minimist-1.2.0"
+        ];
+      })
       (sources."update-notifier-2.3.0" // {
         dependencies = [
           sources."chalk-2.3.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
         ];
       })
       sources."wordwrap-1.0.0"
       sources."xtend-4.0.1"
-      sources."ansi-styles-2.2.1"
+      sources."ansi-styles-3.2.0"
       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."supports-color-4.5.0"
       sources."ansi-regex-2.1.1"
       sources."slice-ansi-1.0.0"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
-      sources."is-fullwidth-code-point-2.0.0"
+      sources."string-width-1.0.2"
+      sources."is-fullwidth-code-point-1.0.0"
       sources."wcwidth-1.0.1"
       sources."defaults-1.0.3"
-      sources."clone-1.0.2"
+      sources."clone-1.0.3"
       sources."ansi-escapes-1.4.0"
       sources."cli-cursor-1.0.2"
       sources."restore-cursor-1.0.1"
@@ -36606,11 +33857,7 @@ in
       sources."jspm-config-0.3.4"
       sources."lockfile-1.0.3"
       sources."make-error-cause-1.2.2"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."mkdirp-0.5.1"
       sources."object.pick-1.3.0"
       sources."parse-json-2.2.0"
       sources."popsicle-9.1.0"
@@ -36673,7 +33920,7 @@ in
       sources."https-proxy-agent-1.0.0"
       sources."agent-base-2.1.1"
       sources."extend-3.0.1"
-      sources."semver-5.0.3"
+      sources."semver-5.4.1"
       sources."deep-extend-0.4.2"
       sources."ini-1.3.4"
       sources."strip-json-comments-2.0.1"
@@ -36690,13 +33937,7 @@ in
       sources."is-plain-obj-1.1.0"
       sources."nopt-1.0.10"
       sources."abbrev-1.1.1"
-      (sources."boxen-1.2.2" // {
-        dependencies = [
-          sources."chalk-2.3.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
-        ];
-      })
+      sources."boxen-1.2.2"
       sources."import-lazy-2.1.0"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
@@ -36706,15 +33947,7 @@ in
       sources."camelcase-4.1.0"
       sources."cli-boxes-1.0.0"
       sources."term-size-1.2.0"
-      (sources."widest-line-1.0.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."is-fullwidth-code-point-1.0.0"
-        ];
-      })
-      sources."color-convert-1.9.0"
-      sources."color-name-1.1.3"
-      sources."has-flag-2.0.0"
+      sources."widest-line-1.0.0"
       sources."execa-0.7.0"
       sources."cross-spawn-5.1.0"
       sources."get-stream-3.0.0"
@@ -36732,14 +33965,13 @@ in
       sources."path-key-2.0.1"
       sources."code-point-at-1.1.0"
       sources."number-is-nan-1.0.1"
+      sources."color-convert-1.9.1"
+      sources."color-name-1.1.3"
+      sources."has-flag-2.0.0"
       sources."global-dirs-0.1.0"
       sources."is-path-inside-1.0.0"
       sources."path-is-inside-1.0.2"
-      (sources."package-json-4.0.1" // {
-        dependencies = [
-          sources."semver-5.4.1"
-        ];
-      })
+      sources."package-json-4.0.1"
       sources."got-6.7.1"
       sources."registry-auth-token-3.3.1"
       sources."registry-url-3.1.0"
@@ -36765,10 +33997,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.1.6";
+    version = "3.1.9";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.6.tgz";
-      sha512 = "1hffvxym85dy9nzmjriwyazvy7k6x3iwp0j0dway300hawcdbmfirbglvshxjflzci25z725zl07650m5dgdfydlc0m648a275ixfzy";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.1.9.tgz";
+      sha512 = "1jl5p0wkh6wq7s4k5awqzm289znmxrqdfkib99xarg6z73b8c20i7rbg6wggb70r9g8r0m1qc2qjp8pc1ryydf5gkzbf3svrw9vdf3a";
     };
     dependencies = [
       sources."commander-2.11.0"
@@ -36785,31 +34017,26 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.2.0";
+    version = "1.2.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.2.0.tgz";
-      sha512 = "3qbjszm2whg22ljrg0knwzn1d2ry9mxkpqsbh7pmnjgfzyalqjc8h8s7v8iyb71gavj78d6gmlk0dkhdlsr2hgcai9ndjs6vad8p6gg";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.2.3.tgz";
+      sha512 = "1yzmrpf0x0hz7kval4k8j6mrbg360mbakl7m9x3x9x1yyqpvk5s0icd8c3npblm7jfhsk1qbhbik3d5324hzawcxvb34cbzrfhzcf1i";
     };
     dependencies = [
       sources."async-2.5.0"
       sources."bluebird-3.5.1"
       sources."blueimp-md5-2.10.0"
       sources."body-parser-1.18.2"
-      sources."color-2.0.0"
+      sources."color-2.0.1"
       sources."cookie-parser-1.4.3"
       sources."crossroads-0.12.2"
-      sources."diff2html-2.3.2"
-      (sources."express-4.15.5" // {
+      (sources."diff2html-2.3.2" // {
         dependencies = [
-          sources."qs-6.5.0"
-          sources."statuses-1.3.1"
-        ];
-      })
-      (sources."express-session-1.15.6" // {
-        dependencies = [
-          sources."utils-merge-1.0.1"
+          sources."mkdirp-0.3.0"
         ];
       })
+      sources."express-4.15.5"
+      sources."express-session-1.15.6"
       sources."getmac-1.2.1"
       sources."hasher-1.2.0"
       sources."ignore-3.3.7"
@@ -36817,65 +34044,31 @@ in
       (sources."keen.io-0.1.3" // {
         dependencies = [
           sources."superagent-0.21.0"
-          sources."qs-1.2.0"
-          sources."mime-1.2.11"
-          sources."methods-1.0.1"
+          sources."async-0.9.2"
         ];
       })
       sources."knockout-3.4.2"
       sources."lodash-4.17.4"
-      (sources."memorystore-1.6.0" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
+      sources."memorystore-1.6.0"
       sources."mkdirp-0.5.1"
       sources."moment-2.18.1"
       sources."node-cache-4.1.1"
-      (sources."npm-5.4.2" // {
-        dependencies = [
-          sources."nopt-4.0.1"
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."npm-5.4.2"
       sources."npm-registry-client-8.4.0"
       sources."octicons-3.5.0"
       sources."open-0.0.5"
       sources."os-homedir-1.0.2"
       sources."passport-0.4.0"
       sources."passport-local-1.0.0"
-      (sources."raven-2.1.2" // {
-        dependencies = [
-          sources."uuid-3.0.0"
-        ];
-      })
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
+      sources."raven-2.1.2"
+      sources."rc-1.2.2"
       sources."rimraf-2.6.2"
       sources."semver-5.4.1"
       sources."serve-static-1.12.6"
       sources."signals-1.0.0"
       sources."snapsvg-0.5.1"
       sources."socket.io-2.0.4"
-      (sources."superagent-3.5.2" // {
-        dependencies = [
-          sources."component-emitter-1.2.1"
-          sources."cookiejar-2.1.1"
-          sources."extend-3.0.1"
-          sources."form-data-2.3.1"
-          sources."formidable-1.1.1"
-          sources."readable-stream-2.3.3"
-          sources."combined-stream-1.0.5"
-          sources."delayed-stream-1.0.0"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
+      sources."superagent-3.5.2"
       (sources."temp-0.8.3" // {
         dependencies = [
           sources."rimraf-2.2.8"
@@ -36900,39 +34093,31 @@ in
       sources."ms-2.0.0"
       sources."inherits-2.0.3"
       sources."setprototypeof-1.0.3"
-      sources."statuses-1.4.0"
+      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.17"
       sources."mime-db-1.30.0"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-string-1.5.2"
       sources."color-name-1.1.3"
       sources."simple-swizzle-0.2.2"
-      sources."is-arrayish-0.3.1"
+      sources."is-arrayish-0.2.1"
       sources."cookie-0.3.1"
       sources."cookie-signature-1.0.6"
       sources."diff-3.4.0"
-      (sources."hogan.js-3.0.2" // {
-        dependencies = [
-          sources."mkdirp-0.3.0"
-        ];
-      })
+      sources."hogan.js-3.0.2"
       sources."whatwg-fetch-2.0.3"
       sources."nopt-1.0.10"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.4"
+      sources."accepts-1.3.3"
       sources."array-flatten-1.1.1"
       sources."content-disposition-0.5.2"
       sources."encodeurl-1.0.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."finalhandler-1.0.6" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
+      sources."finalhandler-1.0.6"
       sources."fresh-0.5.2"
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
@@ -36940,18 +34125,14 @@ in
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-1.1.5"
       sources."range-parser-1.2.0"
-      (sources."send-0.15.6" // {
-        dependencies = [
-          sources."statuses-1.3.1"
-        ];
-      })
-      sources."utils-merge-1.0.0"
+      sources."send-0.15.6"
+      sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
       sources."negotiator-0.6.1"
       sources."forwarded-0.1.2"
       sources."ipaddr.js-1.4.0"
       sources."destroy-1.0.4"
-      sources."mime-1.3.4"
+      sources."mime-1.4.1"
       sources."crc-3.4.4"
       sources."on-headers-1.0.1"
       sources."uid-safe-2.1.5"
@@ -36961,542 +34142,141 @@ in
       sources."editions-1.3.3"
       sources."typechecker-4.4.1"
       sources."underscore-1.5.2"
-      sources."formidable-1.0.14"
-      sources."component-emitter-1.1.2"
-      sources."cookiejar-2.0.1"
+      sources."formidable-1.1.1"
+      sources."component-emitter-1.2.1"
+      sources."cookiejar-2.1.1"
       sources."reduce-component-1.0.1"
-      sources."extend-1.2.1"
-      (sources."form-data-0.1.3" // {
-        dependencies = [
-          sources."mime-1.2.11"
-          sources."async-0.9.2"
-        ];
-      })
-      sources."readable-stream-1.0.27-1"
-      sources."combined-stream-0.0.7"
-      sources."delayed-stream-0.0.5"
+      sources."extend-3.0.1"
+      sources."form-data-2.3.1"
+      sources."readable-stream-2.3.3"
+      sources."combined-stream-1.0.5"
+      sources."delayed-stream-1.0.0"
       sources."core-util-is-1.0.2"
-      sources."isarray-0.0.1"
-      sources."string_decoder-0.10.31"
+      sources."isarray-2.0.1"
+      sources."string_decoder-1.0.3"
       sources."lru-cache-4.1.1"
       sources."pseudomap-1.0.2"
       sources."yallist-2.1.2"
-      sources."minimist-0.0.8"
+      sources."minimist-1.2.0"
       sources."clone-2.1.1"
-      sources."JSONStream-1.3.1"
-      sources."ansi-regex-3.0.0"
-      sources."ansicolors-0.3.2"
-      sources."ansistyles-0.1.3"
-      sources."aproba-1.1.2"
-      sources."archy-1.0.0"
-      sources."cacache-9.2.9"
-      sources."call-limit-1.1.0"
-      sources."chownr-1.0.1"
-      sources."cmd-shim-2.0.2"
-      (sources."columnify-1.5.4" // {
-        dependencies = [
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      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" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      sources."glob-7.1.2"
+      sources."concat-stream-1.6.0"
       sources."graceful-fs-4.1.11"
-      sources."has-unicode-2.0.1"
-      sources."hosted-git-info-2.5.0"
-      sources."iferr-0.1.5"
-      sources."inflight-1.0.6"
-      sources."ini-1.3.4"
-      sources."init-package-json-1.10.1"
-      sources."lazy-property-1.0.0"
-      (sources."libnpx-9.6.0" // {
-        dependencies = [
-          sources."yargs-8.0.2"
-        ];
-      })
-      sources."lockfile-1.0.3"
-      sources."lodash._baseuniq-4.6.0"
-      sources."lodash.clonedeep-4.5.0"
-      sources."lodash.union-4.6.0"
-      sources."lodash.uniq-4.5.0"
-      sources."lodash.without-4.4.0"
-      sources."meant-1.0.1"
-      sources."mississippi-1.3.0"
-      sources."move-concurrently-1.0.1"
-      (sources."node-gyp-3.6.2" // {
-        dependencies = [
-          sources."nopt-3.0.6"
-          sources."semver-5.3.0"
-          sources."tar-2.2.1"
-        ];
-      })
       sources."normalize-package-data-2.4.0"
-      sources."npm-cache-filename-1.0.2"
-      sources."npm-install-checks-3.0.0"
-      sources."npm-lifecycle-1.0.3"
       sources."npm-package-arg-5.1.2"
-      sources."npm-packlist-1.1.10"
-      sources."npm-user-validate-1.0.0"
-      sources."npmlog-4.1.2"
       sources."once-1.4.0"
-      sources."opener-1.4.3"
-      sources."osenv-0.1.4"
-      sources."pacote-6.0.4"
-      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.12"
-      sources."read-package-tree-5.1.6"
-      (sources."request-2.81.0" // {
-        dependencies = [
-          sources."combined-stream-1.0.5"
-          sources."extend-3.0.1"
-          sources."form-data-2.1.4"
-          sources."qs-6.4.0"
-          sources."delayed-stream-1.0.0"
-        ];
-      })
+      sources."request-2.83.0"
       sources."retry-0.10.1"
-      sources."safe-buffer-5.1.1"
-      (sources."sha-2.0.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
       sources."slide-1.1.6"
-      sources."sorted-object-2.0.1"
-      (sources."sorted-union-stream-2.1.3" // {
-        dependencies = [
-          sources."from2-1.3.0"
-          sources."readable-stream-1.1.14"
-        ];
-      })
       sources."ssri-4.1.6"
-      sources."strip-ansi-4.0.0"
-      (sources."tar-4.0.2" // {
-        dependencies = [
-          sources."yallist-3.0.2"
-        ];
-      })
-      sources."text-table-0.2.0"
-      sources."uid-number-0.0.6"
-      sources."umask-1.1.0"
-      sources."unique-filename-1.1.0"
-      sources."update-notifier-2.2.0"
-      sources."uuid-3.1.0"
-      sources."validate-npm-package-name-3.0.0"
-      sources."which-1.3.0"
-      sources."worker-farm-1.5.1"
-      sources."wrappy-1.0.2"
-      sources."write-file-atomic-2.1.0"
-      sources."debuglog-1.0.1"
-      sources."imurmurhash-0.1.4"
-      sources."lodash._baseindexof-3.1.0"
-      sources."lodash._bindcallback-3.0.1"
-      sources."lodash._cacheindexof-3.0.2"
-      sources."lodash._createcache-3.1.2"
-      sources."lodash._getnative-3.9.1"
-      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.1"
-      sources."through-2.3.8"
-      sources."y18n-3.2.1"
-      sources."wcwidth-1.0.1"
-      (sources."defaults-1.0.3" // {
-        dependencies = [
-          sources."clone-1.0.2"
-        ];
-      })
-      sources."proto-list-1.2.4"
-      sources."asap-2.0.6"
+      sources."npmlog-4.1.2"
+      sources."typedarray-0.0.6"
       sources."process-nextick-args-1.0.7"
+      sources."safe-buffer-5.1.1"
       sources."util-deprecate-1.0.2"
-      sources."fs.realpath-1.0.0"
-      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."promzard-0.3.0"
-      sources."dotenv-4.0.0"
-      sources."camelcase-4.1.0"
-      (sources."cliui-3.2.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."decamelize-1.2.0"
-      sources."get-caller-file-1.0.2"
-      sources."os-locale-2.1.0"
-      sources."read-pkg-up-2.0.0"
-      sources."require-directory-2.1.1"
-      sources."require-main-filename-1.0.1"
-      sources."set-blocking-2.0.0"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
-      sources."which-module-2.0.0"
-      sources."yargs-parser-7.0.0"
-      (sources."wrap-ansi-2.1.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."code-point-at-1.1.0"
-      sources."is-fullwidth-code-point-1.0.0"
-      sources."number-is-nan-1.0.1"
-      sources."execa-0.7.0"
-      sources."lcid-1.0.0"
-      sources."mem-1.1.0"
-      sources."cross-spawn-5.1.0"
-      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."shebang-command-1.2.0"
-      sources."shebang-regex-1.0.0"
-      sources."path-key-2.0.1"
-      sources."invert-kv-1.0.0"
-      sources."mimic-fn-1.1.0"
-      sources."find-up-2.1.0"
-      sources."read-pkg-2.0.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."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 = [
-          sources."is-arrayish-0.2.1"
-        ];
-      })
-      sources."lodash._createset-4.0.3"
-      sources."lodash._root-3.0.1"
-      (sources."concat-stream-1.6.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      (sources."duplexify-3.5.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      sources."end-of-stream-1.4.0"
-      (sources."flush-write-stream-1.0.2" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      (sources."from2-2.3.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      (sources."parallel-transform-1.1.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      sources."pump-1.0.2"
-      sources."pumpify-1.3.5"
-      sources."stream-each-1.2.2"
-      (sources."through2-2.0.3" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      sources."typedarray-0.0.6"
-      sources."stream-shift-1.0.0"
-      sources."cyclist-0.2.2"
-      sources."xtend-4.0.1"
-      sources."copy-concurrently-1.0.5"
-      sources."run-queue-1.0.3"
-      sources."fstream-1.0.11"
-      sources."block-stream-0.0.9"
+      sources."hosted-git-info-2.5.0"
       sources."is-builtin-module-1.0.0"
+      sources."validate-npm-package-license-3.0.1"
       sources."builtin-modules-1.1.1"
-      sources."ignore-walk-3.0.1"
-      sources."npm-bundled-1.0.3"
-      (sources."are-we-there-yet-1.1.4" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      sources."console-control-strings-1.1.0"
-      (sources."gauge-2.7.4" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."delegates-1.0.0"
-      sources."object-assign-4.1.1"
-      (sources."wide-align-1.1.2" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
+      sources."spdx-correct-1.0.2"
+      sources."spdx-expression-parse-1.0.4"
+      sources."spdx-license-ids-1.2.2"
+      sources."osenv-0.1.4"
+      sources."validate-npm-package-name-3.0.0"
       sources."os-tmpdir-1.0.2"
-      sources."make-fetch-happen-2.5.0"
-      sources."npm-pick-manifest-1.0.4"
-      sources."promise-retry-1.1.1"
-      sources."protoduck-4.0.0"
-      sources."agentkeepalive-3.3.0"
-      sources."http-cache-semantics-3.8.0"
-      sources."http-proxy-agent-2.0.0"
-      sources."https-proxy-agent-2.1.0"
-      sources."node-fetch-npm-2.0.2"
-      sources."socks-proxy-agent-3.0.1"
-      sources."humanize-ms-1.2.1"
-      sources."agent-base-4.1.1"
-      sources."es6-promisify-5.0.0"
-      sources."es6-promise-4.1.1"
-      sources."encoding-0.1.12"
-      sources."json-parse-better-errors-1.0.1"
-      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."mute-stream-0.0.7"
-      sources."util-extend-1.0.3"
-      sources."slash-1.0.0"
-      sources."aws-sign2-0.6.0"
+      sources."builtins-1.0.3"
+      sources."wrappy-1.0.2"
+      sources."aws-sign2-0.7.0"
       sources."aws4-1.6.0"
       sources."caseless-0.12.0"
       sources."forever-agent-0.6.1"
-      sources."har-validator-4.2.1"
-      sources."hawk-3.1.3"
-      sources."http-signature-1.1.1"
+      sources."har-validator-5.0.3"
+      sources."hawk-6.0.2"
+      sources."http-signature-1.2.0"
       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."performance-now-2.1.0"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.3"
       sources."tunnel-agent-0.6.0"
+      sources."uuid-3.0.0"
       sources."asynckit-0.4.0"
-      sources."ajv-4.11.8"
-      sources."har-schema-1.0.5"
+      sources."ajv-5.3.0"
+      sources."har-schema-2.0.0"
       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.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."fast-deep-equal-1.0.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."json-schema-traverse-0.3.1"
+      sources."hoek-4.2.0"
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
+      sources."sntp-2.1.0"
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
       sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.10.0"
       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."dashdash-1.14.1"
+      sources."getpass-0.1.7"
       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."stream-iterate-1.2.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.3"
-          sources."isarray-1.0.0"
-          sources."string_decoder-1.0.3"
-        ];
-      })
-      (sources."minipass-2.2.1" // {
-        dependencies = [
-          sources."yallist-3.0.2"
-        ];
-      })
-      sources."minizlib-1.0.4"
-      sources."unique-slug-2.0.0"
-      (sources."boxen-1.2.2" // {
-        dependencies = [
-          sources."chalk-2.3.0"
-        ];
-      })
-      (sources."chalk-1.1.3" // {
-        dependencies = [
-          sources."ansi-styles-2.2.1"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."configstore-3.1.1"
-      sources."import-lazy-2.1.0"
-      sources."is-npm-1.0.0"
-      sources."latest-version-3.1.0"
-      sources."semver-diff-2.1.0"
-      sources."xdg-basedir-3.0.0"
-      sources."ansi-align-2.0.0"
-      sources."cli-boxes-1.0.0"
-      sources."term-size-1.2.0"
-      (sources."widest-line-1.0.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."strip-ansi-3.0.1"
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."ansi-styles-3.2.0"
-      sources."escape-string-regexp-1.0.5"
-      sources."supports-color-4.5.0"
-      sources."has-flag-2.0.0"
-      (sources."has-ansi-2.0.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."dot-prop-4.2.0"
-      (sources."make-dir-1.1.0" // {
-        dependencies = [
-          sources."pify-3.0.0"
-        ];
-      })
-      sources."unique-string-1.0.0"
-      sources."is-obj-1.0.1"
-      sources."crypto-random-string-1.0.0"
-      sources."package-json-4.0.1"
-      sources."got-6.7.1"
-      sources."registry-auth-token-3.3.1"
-      sources."registry-url-3.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."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."prepend-http-1.0.4"
-      sources."builtins-1.0.3"
-      sources."isexe-2.0.0"
-      sources."errno-0.1.4"
-      sources."prr-0.0.0"
-      sources."spdx-correct-1.0.2"
-      sources."spdx-expression-parse-1.0.4"
-      sources."spdx-license-ids-1.2.2"
+      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."aproba-1.2.0"
+      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-4.0.0"
+      sources."wide-align-1.1.2"
+      sources."code-point-at-1.1.0"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."number-is-nan-1.0.1"
+      sources."ansi-regex-3.0.0"
       sources."passport-strategy-1.0.0"
       sources."pause-0.0.1"
       sources."lsmod-1.0.0"
       sources."stack-trace-0.0.9"
+      sources."timed-out-4.0.1"
       sources."deep-extend-0.4.2"
+      sources."ini-1.3.4"
       sources."strip-json-comments-2.0.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."eve-0.5.4"
-      (sources."engine.io-3.1.3" // {
-        dependencies = [
-          sources."accepts-1.3.3"
-        ];
-      })
+      sources."engine.io-3.1.4"
       sources."socket.io-adapter-1.1.1"
-      (sources."socket.io-client-2.0.4" // {
-        dependencies = [
-          sources."component-emitter-1.2.1"
-        ];
-      })
-      (sources."socket.io-parser-3.1.2" // {
-        dependencies = [
-          sources."component-emitter-1.2.1"
-          sources."isarray-2.0.1"
-        ];
-      })
+      sources."socket.io-client-2.0.4"
+      sources."socket.io-parser-3.1.2"
       sources."base64id-1.0.0"
       sources."engine.io-parser-2.1.1"
-      (sources."ws-2.3.1" // {
-        dependencies = [
-          sources."safe-buffer-5.0.1"
-        ];
-      })
+      sources."ws-3.3.1"
       sources."uws-0.14.5"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.6"
       sources."base64-arraybuffer-0.1.5"
       sources."blob-0.0.4"
-      (sources."has-binary2-1.0.2" // {
-        dependencies = [
-          sources."isarray-2.0.1"
-        ];
-      })
+      sources."has-binary2-1.0.2"
+      sources."async-limiter-1.0.0"
       sources."ultron-1.1.0"
       sources."backo2-1.0.2"
       sources."component-bind-1.0.0"
-      (sources."engine.io-client-3.1.3" // {
-        dependencies = [
-          sources."component-emitter-1.2.1"
-        ];
-      })
+      sources."engine.io-client-3.1.4"
       sources."has-cors-1.1.0"
       sources."indexof-0.0.1"
       sources."object-component-0.0.3"
@@ -37511,6 +34291,46 @@ in
       sources."colors-1.0.3"
       sources."cycle-1.0.3"
       sources."eyes-0.1.8"
+      sources."camelcase-4.1.0"
+      sources."cliui-3.2.0"
+      sources."decamelize-1.2.0"
+      sources."get-caller-file-1.0.2"
+      sources."os-locale-2.1.0"
+      sources."read-pkg-up-2.0.0"
+      sources."require-directory-2.1.1"
+      sources."require-main-filename-1.0.1"
+      sources."which-module-2.0.0"
+      sources."y18n-3.2.1"
+      sources."yargs-parser-7.0.0"
+      sources."wrap-ansi-2.1.0"
+      sources."execa-0.7.0"
+      sources."lcid-1.0.0"
+      sources."mem-1.1.0"
+      sources."cross-spawn-5.1.0"
+      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."strip-eof-1.0.0"
+      sources."shebang-command-1.2.0"
+      sources."which-1.3.0"
+      sources."shebang-regex-1.0.0"
+      sources."isexe-2.0.0"
+      sources."path-key-2.0.1"
+      sources."invert-kv-1.0.0"
+      sources."mimic-fn-1.1.0"
+      sources."find-up-2.1.0"
+      sources."read-pkg-2.0.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."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"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -37536,29 +34356,22 @@ in
       (sources."phantomjs-1.9.20" // {
         dependencies = [
           sources."kew-0.7.0"
+          sources."mkdirp-0.5.0"
         ];
       })
       sources."tmp-0.0.33"
       sources."follow-redirects-0.0.3"
-      (sources."config-chain-1.1.11" // {
-        dependencies = [
-          sources."ini-1.3.4"
-        ];
-      })
+      sources."config-chain-1.1.11"
       sources."inherits-2.0.3"
       sources."once-1.3.3"
       sources."osenv-0.0.3"
       sources."nopt-2.2.1"
       sources."semver-2.3.2"
-      sources."ini-1.1.0"
+      sources."ini-1.3.4"
       sources."proto-list-1.2.4"
       sources."wrappy-1.0.2"
       sources."abbrev-1.1.1"
-      (sources."extract-zip-1.5.0" // {
-        dependencies = [
-          sources."mkdirp-0.5.0"
-        ];
-      })
+      sources."extract-zip-1.5.0"
       sources."fs-extra-0.26.7"
       sources."hasha-2.2.0"
       sources."progress-1.1.8"
@@ -37613,38 +34426,18 @@ in
       sources."isstream-0.1.2"
       sources."is-typedarray-1.0.0"
       sources."har-validator-2.0.6"
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."lodash-4.17.4"
       sources."mime-db-1.30.0"
-      sources."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
       sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
+      sources."verror-1.10.0"
       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."dashdash-1.14.1"
+      sources."getpass-0.1.7"
       sources."jsbn-0.1.1"
       sources."tweetnacl-0.14.5"
       sources."ecc-jsbn-0.1.1"
@@ -37698,7 +34491,7 @@ in
       })
       sources."ajv-5.3.0"
       sources."ajv-keywords-2.1.1"
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."enhanced-resolve-3.4.1"
       sources."escope-3.6.0"
       sources."interpret-1.0.4"
@@ -37708,31 +34501,22 @@ in
       sources."loader-utils-1.1.0"
       sources."memory-fs-0.4.1"
       sources."mkdirp-0.5.1"
-      (sources."node-libs-browser-2.0.0" // {
-        dependencies = [
-          sources."string_decoder-0.10.31"
-        ];
-      })
+      sources."node-libs-browser-2.0.0"
       sources."source-map-0.5.7"
       sources."supports-color-4.5.0"
       sources."tapable-0.2.8"
-      sources."uglifyjs-webpack-plugin-0.4.6"
+      (sources."uglifyjs-webpack-plugin-0.4.6" // {
+        dependencies = [
+          sources."yargs-3.10.0"
+        ];
+      })
       sources."watchpack-1.4.0"
-      sources."webpack-sources-1.0.1"
-      (sources."yargs-8.0.2" // {
+      (sources."webpack-sources-1.0.2" // {
         dependencies = [
-          sources."camelcase-4.1.0"
-          (sources."cliui-3.2.0" // {
-            dependencies = [
-              sources."string-width-1.0.2"
-            ];
-          })
-          sources."string-width-2.1.1"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
+          sources."source-map-0.6.1"
         ];
       })
+      sources."yargs-8.0.2"
       sources."co-4.6.0"
       sources."fast-deep-equal-1.0.0"
       sources."fast-json-stable-stringify-2.0.0"
@@ -37756,11 +34540,11 @@ in
       sources."readable-stream-2.3.3"
       sources."prr-0.0.0"
       sources."core-util-is-1.0.2"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.1"
       sources."isarray-1.0.0"
       sources."process-nextick-args-1.0.7"
       sources."safe-buffer-5.1.1"
-      sources."string_decoder-1.0.3"
+      sources."string_decoder-0.10.31"
       sources."util-deprecate-1.0.2"
       sources."minimist-0.0.8"
       sources."assert-1.4.1"
@@ -37768,29 +34552,21 @@ in
       sources."buffer-4.9.1"
       sources."console-browserify-1.1.0"
       sources."constants-browserify-1.0.0"
-      sources."crypto-browserify-3.11.1"
+      sources."crypto-browserify-3.12.0"
       sources."domain-browser-1.1.7"
       sources."events-1.1.1"
       sources."https-browserify-0.0.1"
       sources."os-browserify-0.2.1"
       sources."path-browserify-0.0.0"
       sources."process-0.11.10"
-      sources."punycode-1.4.1"
+      sources."punycode-1.3.2"
       sources."querystring-es3-0.2.1"
       sources."stream-browserify-2.0.1"
       sources."stream-http-2.7.2"
       sources."timers-browserify-2.0.4"
       sources."tty-browserify-0.0.0"
-      (sources."url-0.11.0" // {
-        dependencies = [
-          sources."punycode-1.3.2"
-        ];
-      })
-      (sources."util-0.10.3" // {
-        dependencies = [
-          sources."inherits-2.0.1"
-        ];
-      })
+      sources."url-0.11.0"
+      sources."util-0.10.3"
       sources."vm-browserify-0.0.4"
       sources."pako-0.2.9"
       sources."base64-js-1.2.1"
@@ -37805,6 +34581,7 @@ in
       sources."pbkdf2-3.0.14"
       sources."public-encrypt-4.0.0"
       sources."randombytes-2.0.5"
+      sources."randomfill-1.0.3"
       sources."browserify-aes-1.1.1"
       sources."browserify-des-1.0.0"
       sources."evp_bytestokey-1.0.3"
@@ -37813,7 +34590,7 @@ in
       sources."des.js-1.0.0"
       sources."minimalistic-assert-1.0.0"
       sources."md5.js-1.3.4"
-      sources."hash-base-3.0.4"
+      sources."hash-base-2.0.2"
       sources."bn.js-4.11.8"
       sources."browserify-rsa-4.0.1"
       sources."elliptic-6.4.0"
@@ -37823,11 +34600,7 @@ in
       sources."hmac-drbg-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
       sources."asn1.js-4.9.2"
-      (sources."ripemd160-2.0.1" // {
-        dependencies = [
-          sources."hash-base-2.0.2"
-        ];
-      })
+      sources."ripemd160-2.0.1"
       sources."sha.js-2.4.9"
       sources."miller-rabin-4.0.1"
       sources."builtin-status-codes-3.0.0"
@@ -37837,14 +34610,10 @@ in
       sources."querystring-0.2.0"
       sources."indexof-0.0.1"
       sources."has-flag-2.0.0"
-      (sources."uglify-js-2.8.29" // {
-        dependencies = [
-          sources."yargs-3.10.0"
-        ];
-      })
+      sources."uglify-js-2.8.29"
       sources."uglify-to-browserify-1.0.2"
-      sources."camelcase-1.2.1"
-      sources."cliui-2.1.0"
+      sources."camelcase-4.1.0"
+      sources."cliui-3.2.0"
       sources."decamelize-1.2.0"
       sources."window-size-0.1.0"
       sources."center-align-0.1.3"
@@ -37864,7 +34633,7 @@ in
       sources."is-glob-2.0.1"
       sources."path-is-absolute-1.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.2"
+      sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
       sources."normalize-path-2.1.1"
       sources."arr-diff-2.0.0"
@@ -37882,18 +34651,9 @@ in
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
       sources."is-posix-bracket-0.1.1"
       sources."for-own-0.1.5"
       sources."is-extendable-0.1.1"
@@ -37910,134 +34670,23 @@ in
       sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."nan-2.7.0"
-      sources."node-pre-gyp-0.6.38"
-      sources."nopt-4.0.1"
-      sources."npmlog-4.1.2"
-      (sources."rc-1.2.2" // {
-        dependencies = [
-          sources."minimist-1.2.0"
-        ];
-      })
-      sources."request-2.81.0"
-      sources."hawk-3.1.3"
-      sources."rimraf-2.6.2"
-      sources."semver-5.4.1"
-      sources."tar-2.2.1"
-      sources."tar-pack-3.4.1"
-      sources."abbrev-1.1.1"
-      sources."osenv-0.1.4"
-      sources."os-homedir-1.0.2"
-      sources."os-tmpdir-1.0.2"
-      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."aproba-1.2.0"
-      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.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.2"
-      sources."ini-1.3.4"
-      sources."strip-json-comments-2.0.1"
-      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" // {
-        dependencies = [
-          sources."ajv-4.11.8"
-        ];
-      })
-      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."mime-types-2.1.17"
-      sources."oauth-sign-0.8.2"
-      sources."performance-now-0.2.0"
-      sources."qs-6.4.0"
-      sources."stringstream-0.0.5"
-      sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.0"
-      sources."uuid-3.1.0"
-      sources."delayed-stream-1.0.0"
-      sources."asynckit-0.4.0"
-      sources."har-schema-1.0.5"
-      sources."json-stable-stringify-1.0.1"
-      sources."jsonify-0.0.0"
-      sources."assert-plus-0.2.0"
-      (sources."jsprim-1.4.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      (sources."sshpk-1.13.1" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      sources."extsprintf-1.3.0"
-      sources."json-schema-0.2.3"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."assert-plus-1.0.0"
-        ];
-      })
-      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."mime-db-1.30.0"
-      sources."hoek-2.16.3"
-      sources."boom-2.10.1"
-      sources."cryptiles-2.0.5"
-      sources."sntp-1.0.9"
-      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.9"
-      sources."fstream-ignore-1.0.5"
-      sources."uid-number-0.0.6"
-      sources."ms-2.0.0"
       sources."source-list-map-2.0.0"
       sources."get-caller-file-1.0.2"
       sources."os-locale-2.1.0"
       sources."read-pkg-up-2.0.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-1.0.1"
+      sources."set-blocking-2.0.0"
+      sources."string-width-1.0.2"
       sources."which-module-2.0.0"
       sources."y18n-3.2.1"
-      (sources."yargs-parser-7.0.0" // {
-        dependencies = [
-          sources."camelcase-4.1.0"
-        ];
-      })
+      sources."yargs-parser-7.0.0"
+      sources."strip-ansi-4.0.0"
       sources."wrap-ansi-2.1.0"
+      sources."code-point-at-1.1.0"
+      sources."is-fullwidth-code-point-2.0.0"
+      sources."number-is-nan-1.0.1"
+      sources."ansi-regex-3.0.0"
       sources."execa-0.7.0"
       sources."lcid-1.0.0"
       sources."mem-1.1.0"
@@ -38046,6 +34695,7 @@ in
       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."lru-cache-4.1.1"
       sources."shebang-command-1.2.0"
@@ -38073,6 +34723,7 @@ in
       sources."is-arrayish-0.2.1"
       sources."hosted-git-info-2.5.0"
       sources."is-builtin-module-1.0.0"
+      sources."semver-5.4.1"
       sources."validate-npm-package-license-3.0.1"
       sources."builtin-modules-1.1.1"
       sources."spdx-correct-1.0.2"
@@ -38099,6 +34750,10 @@ in
       (sources."addons-linter-0.27.0" // {
         dependencies = [
           sources."yargs-8.0.2"
+          sources."babel-runtime-6.26.0"
+          sources."source-map-support-0.4.18"
+          sources."regenerator-runtime-0.11.0"
+          sources."tmp-0.0.33"
         ];
       })
       sources."babel-polyfill-6.20.0"
@@ -38110,36 +34765,13 @@ in
       sources."es6-error-4.0.2"
       sources."es6-promisify-5.0.0"
       sources."event-to-promise-0.8.0"
-      (sources."firefox-profile-0.5.0" // {
-        dependencies = [
-          sources."async-2.1.5"
-        ];
-      })
-      (sources."fx-runner-1.0.8" // {
-        dependencies = [
-          sources."commander-2.9.0"
-          sources."lodash-3.10.1"
-          sources."which-1.2.4"
-          sources."isexe-1.1.2"
-        ];
-      })
-      (sources."git-rev-sync-1.9.1" // {
-        dependencies = [
-          sources."shelljs-0.7.7"
-        ];
-      })
+      sources."firefox-profile-0.5.0"
+      sources."fx-runner-1.0.8"
+      sources."git-rev-sync-1.9.1"
       sources."minimatch-3.0.4"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."mkdirp-0.5.1"
       sources."mz-2.6.0"
-      (sources."node-firefox-connect-1.2.0" // {
-        dependencies = [
-          sources."es6-promise-2.3.0"
-        ];
-      })
+      sources."node-firefox-connect-1.2.0"
       sources."open-0.0.5"
       sources."node-notifier-5.1.2"
       sources."parse-json-2.2.0"
@@ -38150,78 +34782,24 @@ in
           sources."babel-polyfill-6.16.0"
           sources."es6-error-4.0.0"
           sources."mz-2.5.0"
-          sources."request-2.79.0"
           sources."source-map-support-0.4.6"
           sources."regenerator-runtime-0.9.6"
-          sources."aws-sign2-0.6.0"
-          sources."caseless-0.11.0"
-          sources."form-data-2.1.4"
-          sources."har-validator-2.0.6"
-          sources."hawk-3.1.3"
-          sources."http-signature-1.1.1"
-          sources."qs-6.3.2"
-          sources."tunnel-agent-0.4.3"
-          sources."chalk-1.1.3"
-          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."source-map-support-0.5.0" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
-      (sources."stream-to-promise-2.2.0" // {
-        dependencies = [
-          sources."end-of-stream-1.1.0"
-          sources."once-1.3.3"
         ];
       })
+      sources."source-map-support-0.5.0"
+      sources."stream-to-promise-2.2.0"
       sources."tmp-0.0.30"
       sources."watchpack-1.3.0"
-      (sources."update-notifier-2.2.0" // {
-        dependencies = [
-          sources."chalk-1.1.3"
-        ];
-      })
+      sources."update-notifier-2.2.0"
       (sources."yargs-6.6.0" // {
         dependencies = [
           sources."camelcase-3.0.0"
-          sources."os-locale-1.4.0"
-          sources."read-pkg-up-1.0.1"
-          sources."string-width-1.0.2"
-          sources."which-module-1.0.0"
-          sources."yargs-parser-4.2.1"
-          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."zip-dir-1.0.2" // {
-        dependencies = [
-          sources."async-1.5.2"
-        ];
-      })
-      sources."ajv-5.2.3"
-      (sources."babel-register-6.26.0" // {
-        dependencies = [
-          sources."babel-runtime-6.26.0"
-          sources."source-map-support-0.4.18"
-          sources."regenerator-runtime-0.11.0"
-        ];
-      })
-      (sources."chalk-2.1.0" // {
-        dependencies = [
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
         ];
       })
+      sources."zip-dir-1.0.2"
+      sources."ajv-4.11.8"
+      sources."babel-register-6.26.0"
+      sources."chalk-2.3.0"
       sources."cheerio-1.0.0-rc.2"
       sources."columnify-1.5.4"
       sources."common-tags-1.4.0"
@@ -38229,58 +34807,18 @@ in
       sources."doctoc-1.3.0"
       (sources."dispensary-0.10.19" // {
         dependencies = [
+          sources."source-map-support-0.5.0"
           sources."yargs-9.0.1"
         ];
       })
-      (sources."eslint-4.8.0" // {
-        dependencies = [
-          sources."debug-3.1.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
-      (sources."eslint-plugin-no-unsafe-innerhtml-1.0.16" // {
-        dependencies = [
-          sources."eslint-3.19.0"
-          sources."chalk-1.1.3"
-          sources."inquirer-0.12.0"
-          sources."pluralize-1.2.1"
-          sources."progress-1.1.8"
-          (sources."table-3.8.3" // {
-            dependencies = [
-              sources."string-width-2.1.1"
-            ];
-          })
-          sources."ansi-escapes-1.4.0"
-          sources."cli-cursor-1.0.2"
-          sources."figures-1.7.0"
-          sources."run-async-0.1.0"
-          sources."rx-lite-3.1.2"
-          sources."string-width-1.0.2"
-          sources."restore-cursor-1.0.1"
-          sources."onetime-1.1.0"
-          sources."ajv-4.11.8"
-          sources."ajv-keywords-1.5.1"
-          sources."slice-ansi-0.0.4"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
-      sources."esprima-3.1.3"
+      sources."eslint-3.19.0"
+      sources."eslint-plugin-no-unsafe-innerhtml-1.0.16"
+      sources."esprima-4.0.0"
       sources."first-chunk-stream-2.0.0"
       sources."jed-1.1.1"
-      sources."pino-4.8.2"
-      (sources."postcss-6.0.11" // {
-        dependencies = [
-          sources."supports-color-4.5.0"
-        ];
-      })
-      (sources."relaxed-json-1.0.1" // {
-        dependencies = [
-          sources."chalk-1.1.3"
-        ];
-      })
+      sources."pino-4.10.1"
+      sources."postcss-6.0.11"
+      sources."relaxed-json-1.0.1"
       sources."semver-5.4.1"
       sources."strip-bom-stream-3.0.0"
       sources."whatwg-url-6.3.0"
@@ -38291,46 +34829,17 @@ in
       sources."json-schema-traverse-0.3.1"
       sources."json-stable-stringify-1.0.1"
       sources."jsonify-0.0.0"
-      (sources."babel-core-6.26.0" // {
-        dependencies = [
-          sources."babel-runtime-6.26.0"
-          sources."regenerator-runtime-0.11.0"
-        ];
-      })
+      sources."babel-core-6.26.0"
       sources."core-js-2.5.1"
       sources."home-or-tmp-2.0.0"
-      sources."lodash-4.17.4"
-      (sources."babel-code-frame-6.26.0" // {
-        dependencies = [
-          sources."chalk-1.1.3"
-        ];
-      })
-      (sources."babel-generator-6.26.0" // {
-        dependencies = [
-          sources."babel-runtime-6.26.0"
-          sources."regenerator-runtime-0.11.0"
-        ];
-      })
+      sources."lodash-3.10.1"
+      sources."babel-code-frame-6.26.0"
+      sources."babel-generator-6.26.0"
       sources."babel-helpers-6.24.1"
       sources."babel-messages-6.23.0"
-      (sources."babel-template-6.26.0" // {
-        dependencies = [
-          sources."babel-runtime-6.26.0"
-          sources."regenerator-runtime-0.11.0"
-        ];
-      })
-      (sources."babel-traverse-6.26.0" // {
-        dependencies = [
-          sources."babel-runtime-6.26.0"
-          sources."regenerator-runtime-0.11.0"
-        ];
-      })
-      (sources."babel-types-6.26.0" // {
-        dependencies = [
-          sources."babel-runtime-6.26.0"
-          sources."regenerator-runtime-0.11.0"
-        ];
-      })
+      sources."babel-template-6.26.0"
+      sources."babel-traverse-6.26.0"
+      sources."babel-types-6.26.0"
       sources."babylon-6.18.0"
       sources."convert-source-map-1.5.0"
       sources."debug-2.6.9"
@@ -38338,14 +34847,14 @@ in
       sources."path-is-absolute-1.0.1"
       sources."private-0.1.8"
       sources."slash-1.0.0"
-      sources."source-map-0.5.7"
+      sources."source-map-0.6.1"
       sources."esutils-2.0.2"
       sources."js-tokens-3.0.2"
-      sources."ansi-styles-2.2.1"
+      sources."ansi-styles-3.2.0"
       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."supports-color-4.5.0"
       sources."ansi-regex-2.1.1"
       sources."detect-indent-4.0.0"
       sources."jsesc-1.3.0"
@@ -38357,21 +34866,17 @@ in
       sources."invariant-2.2.2"
       sources."loose-envify-1.3.1"
       sources."to-fast-properties-1.0.3"
-      sources."ms-2.0.0"
+      sources."ms-0.7.3"
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
       sources."css-select-1.2.0"
-      (sources."dom-serializer-0.1.0" // {
-        dependencies = [
-          sources."domelementtype-1.1.3"
-        ];
-      })
+      sources."dom-serializer-0.1.0"
       sources."entities-1.1.1"
       sources."htmlparser2-3.9.2"
-      sources."parse5-3.0.2"
+      sources."parse5-3.0.3"
       sources."css-what-2.1.0"
       sources."domutils-1.5.1"
       sources."boolbase-1.0.0"
@@ -38386,10 +34891,10 @@ in
       sources."safe-buffer-5.1.1"
       sources."string_decoder-1.0.3"
       sources."util-deprecate-1.0.2"
-      sources."@types/node-6.0.90"
+      sources."@types/node-8.0.51"
       sources."wcwidth-1.0.1"
       sources."defaults-1.0.3"
-      sources."clone-1.0.2"
+      sources."clone-1.0.3"
       sources."anchor-markdown-header-0.5.7"
       sources."markdown-to-ast-3.4.0"
       sources."minimist-1.2.0"
@@ -38398,7 +34903,7 @@ in
       sources."emoji-regex-6.1.3"
       sources."remark-5.1.0"
       sources."structured-source-3.0.2"
-      sources."traverse-0.6.6"
+      sources."traverse-0.4.6"
       sources."remark-parse-1.1.0"
       sources."remark-stringify-1.1.0"
       sources."unified-4.2.1"
@@ -38427,49 +34932,45 @@ in
       sources."character-entities-html4-1.1.1"
       sources."bail-1.0.2"
       sources."has-1.0.1"
-      sources."once-1.4.0"
+      sources."once-1.3.3"
       sources."trough-1.0.1"
       sources."vfile-1.4.0"
       sources."function-bind-1.1.1"
       sources."wrappy-1.0.2"
       sources."boundary-1.0.1"
       sources."array-from-2.1.1"
-      sources."async-2.5.0"
+      sources."async-1.5.2"
       sources."natural-compare-lite-1.4.0"
-      sources."request-2.83.0"
+      sources."request-2.79.0"
       sources."sha.js-2.4.9"
-      sources."aws-sign2-0.7.0"
+      sources."aws-sign2-0.6.0"
       sources."aws4-1.6.0"
-      sources."caseless-0.12.0"
+      sources."caseless-0.11.0"
       sources."combined-stream-1.0.5"
       sources."forever-agent-0.6.1"
-      sources."form-data-2.3.1"
-      sources."har-validator-5.0.3"
-      sources."hawk-6.0.2"
-      sources."http-signature-1.2.0"
+      sources."form-data-2.1.4"
+      sources."har-validator-2.0.6"
+      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."mime-types-2.1.17"
       sources."oauth-sign-0.8.2"
       sources."performance-now-2.1.0"
-      sources."qs-6.5.1"
+      sources."qs-6.3.2"
       sources."stringstream-0.0.5"
       sources."tough-cookie-2.3.3"
-      sources."tunnel-agent-0.6.0"
+      sources."tunnel-agent-0.4.3"
       sources."uuid-3.1.0"
       sources."delayed-stream-1.0.0"
       sources."asynckit-0.4.0"
       sources."har-schema-2.0.0"
-      sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
-      sources."sntp-2.1.0"
-      sources."assert-plus-1.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.1"
       sources."sshpk-1.13.1"
       sources."extsprintf-1.3.0"
@@ -38483,33 +34984,19 @@ in
       sources."ecc-jsbn-0.1.1"
       sources."bcrypt-pbkdf-1.0.1"
       sources."mime-db-1.30.0"
-      sources."punycode-1.4.1"
-      (sources."cliui-3.2.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-        ];
-      })
+      sources."punycode-2.1.0"
+      sources."cliui-3.2.0"
       sources."get-caller-file-1.0.2"
-      sources."os-locale-2.1.0"
-      sources."read-pkg-up-2.0.0"
+      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."string-width-2.1.1" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
-      sources."which-module-2.0.0"
+      sources."string-width-1.0.2"
+      sources."which-module-1.0.0"
       sources."y18n-3.2.1"
-      sources."yargs-parser-7.0.0"
-      (sources."wrap-ansi-2.1.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-        ];
-      })
+      sources."yargs-parser-4.2.1"
+      sources."wrap-ansi-2.1.0"
       sources."code-point-at-1.1.0"
       sources."is-fullwidth-code-point-1.0.0"
       sources."execa-0.7.0"
@@ -38532,18 +35019,18 @@ in
       sources."path-key-2.0.1"
       sources."invert-kv-1.0.0"
       sources."mimic-fn-1.1.0"
-      sources."find-up-2.1.0"
-      sources."read-pkg-2.0.0"
+      sources."find-up-1.1.2"
+      sources."read-pkg-1.1.0"
       sources."locate-path-2.0.0"
       sources."p-locate-2.0.0"
-      sources."path-exists-3.0.0"
+      sources."path-exists-2.1.0"
       sources."p-limit-1.1.0"
-      sources."load-json-file-2.0.0"
+      sources."load-json-file-1.1.0"
       sources."normalize-package-data-2.4.0"
-      sources."path-type-2.0.0"
+      sources."path-type-1.1.0"
       sources."graceful-fs-4.1.11"
       sources."pify-2.3.0"
-      sources."strip-bom-3.0.0"
+      sources."strip-bom-2.0.0"
       sources."hosted-git-info-2.5.0"
       sources."is-builtin-module-1.0.0"
       sources."validate-npm-package-license-3.0.1"
@@ -38554,7 +35041,7 @@ in
       sources."concat-stream-1.6.0"
       sources."doctrine-2.0.0"
       sources."eslint-scope-3.7.1"
-      sources."espree-3.5.1"
+      sources."espree-3.5.2"
       sources."esquery-1.0.0"
       sources."estraverse-4.2.0"
       sources."file-entry-cache-2.0.0"
@@ -38562,36 +35049,23 @@ in
       sources."glob-7.1.2"
       sources."ignore-3.3.7"
       sources."imurmurhash-0.1.4"
-      (sources."inquirer-3.3.0" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."inquirer-0.12.0"
       sources."is-resolvable-1.0.0"
-      (sources."js-yaml-3.10.0" // {
-        dependencies = [
-          sources."esprima-4.0.0"
-        ];
-      })
+      sources."js-yaml-3.10.0"
       sources."levn-0.3.0"
       sources."natural-compare-1.4.0"
       sources."optionator-0.8.2"
       sources."path-is-inside-1.0.2"
-      sources."pluralize-7.0.0"
-      sources."progress-2.0.0"
+      sources."pluralize-1.2.1"
+      sources."progress-1.1.8"
       sources."strip-json-comments-2.0.1"
-      sources."table-4.0.2"
+      sources."table-3.8.3"
       sources."text-table-0.2.0"
       sources."typedarray-0.0.6"
       sources."esrecurse-4.2.0"
       sources."object-assign-4.1.1"
-      sources."acorn-5.2.1"
-      (sources."acorn-jsx-3.0.1" // {
-        dependencies = [
-          sources."acorn-3.3.0"
-        ];
-      })
+      sources."acorn-3.3.0"
+      sources."acorn-jsx-3.0.1"
       sources."flat-cache-1.3.0"
       sources."circular-json-0.3.3"
       sources."del-2.2.2"
@@ -38600,7 +35074,7 @@ in
       sources."is-path-cwd-1.0.0"
       sources."is-path-in-cwd-1.0.0"
       sources."pinkie-promise-2.0.1"
-      sources."rimraf-2.6.2"
+      sources."rimraf-2.4.5"
       sources."array-union-1.0.2"
       sources."arrify-1.0.1"
       sources."array-uniq-1.0.3"
@@ -38608,22 +35082,18 @@ in
       sources."pinkie-2.0.4"
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
-      sources."ansi-escapes-3.0.0"
-      sources."cli-cursor-2.1.0"
+      sources."ansi-escapes-1.4.0"
+      sources."cli-cursor-1.0.2"
       sources."cli-width-2.2.0"
-      (sources."external-editor-2.0.5" // {
-        dependencies = [
-          sources."tmp-0.0.33"
-        ];
-      })
-      sources."figures-2.0.0"
-      sources."mute-stream-0.0.7"
-      sources."run-async-2.3.0"
-      sources."rx-lite-4.0.8"
+      sources."external-editor-2.0.5"
+      sources."figures-1.7.0"
+      sources."mute-stream-0.0.5"
+      sources."run-async-0.1.0"
+      sources."rx-lite-3.1.2"
       sources."rx-lite-aggregates-4.0.8"
       sources."through-2.3.8"
-      sources."restore-cursor-2.0.0"
-      sources."onetime-2.0.1"
+      sources."restore-cursor-1.0.1"
+      sources."onetime-1.1.0"
       sources."iconv-lite-0.4.19"
       sources."jschardet-1.6.0"
       sources."is-promise-2.1.0"
@@ -38635,15 +35105,11 @@ in
       sources."deep-is-0.1.3"
       sources."wordwrap-1.0.0"
       sources."fast-levenshtein-2.0.6"
-      sources."ajv-keywords-2.1.1"
-      (sources."slice-ansi-1.0.0" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-2.0.0"
-        ];
-      })
+      sources."ajv-keywords-1.5.1"
+      sources."slice-ansi-0.0.4"
       sources."escope-3.6.0"
       sources."is-my-json-valid-2.16.1"
-      sources."shelljs-0.7.8"
+      sources."shelljs-0.7.7"
       sources."user-home-2.0.0"
       sources."es6-map-0.1.5"
       sources."es6-weak-map-2.0.2"
@@ -38653,11 +35119,7 @@ in
       sources."es6-set-0.1.5"
       sources."es6-symbol-3.1.1"
       sources."event-emitter-0.3.5"
-      (sources."readline2-1.0.1" // {
-        dependencies = [
-          sources."mute-stream-0.0.5"
-        ];
-      })
+      sources."readline2-1.0.1"
       sources."exit-hook-1.1.1"
       sources."generate-function-2.0.0"
       sources."generate-object-property-1.2.0"
@@ -38668,38 +35130,29 @@ in
       sources."resolve-1.5.0"
       sources."path-parse-1.0.5"
       sources."fast-json-parse-1.0.3"
-      sources."fast-safe-stringify-1.2.0"
+      sources."fast-safe-stringify-1.2.1"
       sources."flatstr-1.0.5"
       sources."pump-1.0.2"
       sources."quick-format-unescaped-1.1.1"
       sources."split2-2.2.0"
-      sources."end-of-stream-1.4.0"
+      sources."end-of-stream-1.1.0"
       sources."through2-2.0.3"
-      sources."commander-2.11.0"
+      sources."commander-2.9.0"
       sources."strip-bom-buf-1.0.0"
       sources."is-utf8-0.2.1"
       sources."lodash.sortby-4.7.0"
-      (sources."tr46-1.0.1" // {
-        dependencies = [
-          sources."punycode-2.1.0"
-        ];
-      })
+      sources."tr46-1.0.1"
       sources."webidl-conversions-4.0.2"
       sources."fd-slicer-1.0.1"
       sources."buffer-crc32-0.2.13"
       sources."pend-1.2.0"
       sources."dtrace-provider-0.8.5"
-      (sources."mv-2.1.1" // {
-        dependencies = [
-          sources."rimraf-2.4.5"
-          sources."glob-6.0.4"
-        ];
-      })
+      sources."mv-2.1.1"
       sources."safe-json-stringify-1.0.4"
-      sources."moment-2.19.1"
+      sources."moment-2.19.2"
       sources."nan-2.7.0"
       sources."ncp-2.0.0"
-      sources."es6-promise-4.1.1"
+      sources."es6-promise-2.3.0"
       sources."adm-zip-0.4.7"
       sources."archiver-1.3.0"
       sources."fs-extra-2.1.2"
@@ -38708,7 +35161,7 @@ in
       sources."lazystream-1.0.0"
       sources."xml2js-0.4.19"
       sources."archiver-utils-1.3.0"
-      sources."tar-stream-1.5.4"
+      sources."tar-stream-1.5.5"
       sources."zip-stream-1.2.0"
       sources."walkdir-0.0.11"
       sources."normalize-path-2.1.1"
@@ -38739,11 +35192,7 @@ in
       sources."thenify-3.3.0"
       sources."firefox-client-0.3.0"
       sources."colors-0.5.1"
-      (sources."js-select-0.6.0" // {
-        dependencies = [
-          sources."traverse-0.4.6"
-        ];
-      })
+      sources."js-select-0.6.0"
       sources."JSONSelect-0.2.1"
       sources."growly-1.3.0"
       sources."shellwords-0.1.1"
@@ -38753,23 +35202,11 @@ in
       sources."resolve-from-1.0.1"
       sources."callsites-0.2.0"
       sources."deepcopy-0.6.3"
-      (sources."jsonwebtoken-7.1.9" // {
-        dependencies = [
-          sources."ms-0.7.3"
-        ];
-      })
-      (sources."joi-6.10.1" // {
-        dependencies = [
-          sources."hoek-2.16.3"
-        ];
-      })
+      sources."jsonwebtoken-7.1.9"
+      sources."joi-6.10.1"
       sources."jws-3.1.4"
       sources."lodash.once-4.1.1"
-      (sources."topo-1.1.0" // {
-        dependencies = [
-          sources."hoek-2.16.3"
-        ];
-      })
+      sources."topo-1.1.0"
       sources."isemail-1.2.0"
       sources."base64url-2.0.0"
       sources."jwa-1.1.5"
@@ -38783,7 +35220,7 @@ in
       sources."is-binary-path-1.0.1"
       sources."is-glob-2.0.1"
       sources."readdirp-2.1.0"
-      sources."fsevents-1.1.2"
+      sources."fsevents-1.1.3"
       sources."micromatch-2.3.11"
       sources."arr-diff-2.0.0"
       sources."array-unique-0.2.1"
@@ -38801,18 +35238,9 @@ in
       sources."preserve-0.2.0"
       sources."repeat-element-1.1.2"
       sources."fill-range-2.2.3"
-      sources."is-number-2.1.0"
+      sources."is-number-3.0.0"
       sources."isobject-2.1.0"
-      (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."randomatic-1.1.7"
       sources."is-buffer-1.1.6"
       sources."is-posix-bracket-0.1.1"
       sources."for-own-0.1.5"
@@ -38824,52 +35252,6 @@ in
       sources."is-primitive-2.0.0"
       sources."binary-extensions-1.10.0"
       sources."set-immediate-shim-1.0.1"
-      (sources."node-pre-gyp-0.6.38" // {
-        dependencies = [
-          sources."request-2.81.0"
-          sources."hawk-3.1.3"
-          sources."aws-sign2-0.6.0"
-          sources."form-data-2.1.4"
-          sources."har-validator-4.2.1"
-          sources."http-signature-1.1.1"
-          sources."performance-now-0.2.0"
-          sources."qs-6.4.0"
-          sources."ajv-4.11.8"
-          sources."har-schema-1.0.5"
-          sources."assert-plus-0.2.0"
-          sources."hoek-2.16.3"
-          sources."boom-2.10.1"
-          sources."cryptiles-2.0.5"
-          sources."sntp-1.0.9"
-        ];
-      })
-      sources."nopt-4.0.1"
-      sources."npmlog-4.1.2"
-      sources."rc-1.2.2"
-      sources."tar-2.2.1"
-      sources."tar-pack-3.4.1"
-      sources."abbrev-1.1.1"
-      sources."osenv-0.1.4"
-      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."delegates-1.0.0"
-      sources."aproba-1.2.0"
-      sources."has-unicode-2.0.1"
-      (sources."wide-align-1.1.2" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-        ];
-      })
-      sources."deep-extend-0.4.2"
-      sources."block-stream-0.0.9"
-      sources."fstream-1.0.11"
-      sources."fstream-ignore-1.0.5"
-      sources."uid-number-0.0.6"
       sources."boxen-1.2.2"
       sources."configstore-3.1.1"
       sources."import-lazy-2.1.0"
@@ -38880,17 +35262,9 @@ in
       sources."ansi-align-2.0.0"
       sources."cli-boxes-1.0.0"
       sources."term-size-1.2.0"
-      (sources."widest-line-1.0.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-        ];
-      })
+      sources."widest-line-1.0.0"
       sources."dot-prop-4.2.0"
-      (sources."make-dir-1.1.0" // {
-        dependencies = [
-          sources."pify-3.0.0"
-        ];
-      })
+      sources."make-dir-1.1.0"
       sources."unique-string-1.0.0"
       sources."write-file-atomic-2.3.0"
       sources."is-obj-1.0.1"
@@ -38909,6 +35283,8 @@ in
       sources."url-parse-lax-1.0.0"
       sources."capture-stack-trace-1.0.0"
       sources."prepend-http-1.0.4"
+      sources."rc-1.2.2"
+      sources."deep-extend-0.4.2"
       sources."jszip-2.6.1"
       sources."pako-1.0.6"
     ];
@@ -38939,10 +35315,10 @@ in
   yarn = nodeEnv.buildNodePackage {
     name = "yarn";
     packageName = "yarn";
-    version = "1.2.1";
+    version = "1.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yarn/-/yarn-1.2.1.tgz";
-      sha1 = "0d628dc01438881a1663a6f83cbf7ac5db7a75fc";
+      url = "https://registry.npmjs.org/yarn/-/yarn-1.3.2.tgz";
+      sha1 = "5939762581b5b4ddcd3418c0f6be42df3aee195f";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -38961,7 +35337,7 @@ in
       sha512 = "3maxk0a2p7xyz9bkfyx3jd0inm9y7a3wc8b7rqx8p5fsmx8qkqnbvhxwn4210l689vd5p3xphn147dyclqsqmmgp7cqyswyyfsmm1lr";
     };
     dependencies = [
-      sources."async-2.5.0"
+      sources."async-2.6.0"
       sources."chalk-1.1.3"
       sources."cli-list-0.2.0"
       sources."configstore-3.1.1"
@@ -38973,32 +35349,15 @@ in
       (sources."inquirer-3.3.0" // {
         dependencies = [
           sources."chalk-2.3.0"
-          sources."strip-ansi-4.0.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
-          sources."ansi-regex-3.0.0"
         ];
       })
       (sources."insight-0.8.4" // {
         dependencies = [
           sources."async-1.5.2"
-          (sources."configstore-1.4.0" // {
-            dependencies = [
-              sources."uuid-2.0.3"
-            ];
-          })
+          sources."configstore-1.4.0"
           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-4.17.4"
@@ -39010,91 +35369,55 @@ in
       (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."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-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."pify-2.3.0"
-          sources."strip-bom-3.0.0"
-        ];
-      })
+      sources."read-pkg-up-2.0.0"
       sources."root-check-1.0.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."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."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-2.3.0" // {
         dependencies = [
           sources."chalk-2.3.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
+          sources."package-json-4.0.1"
         ];
       })
       sources."user-home-2.0.0"
-      (sources."yeoman-character-1.1.0" // {
-        dependencies = [
-          sources."supports-color-3.2.3"
-          sources."has-flag-1.0.0"
-        ];
-      })
+      sources."yeoman-character-1.1.0"
       sources."yeoman-doctor-2.1.0"
       (sources."yeoman-environment-2.0.5" // {
         dependencies = [
           sources."chalk-2.3.0"
-          sources."debug-3.1.0"
-          sources."log-symbols-2.1.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
         ];
       })
-      (sources."yosay-2.0.1" // {
-        dependencies = [
-          sources."ansi-styles-3.2.0"
-        ];
-      })
-      sources."ansi-styles-2.2.1"
+      sources."yosay-2.0.1"
+      sources."ansi-styles-3.2.0"
       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."supports-color-4.5.0"
       sources."ansi-regex-2.1.1"
       sources."dot-prop-4.2.0"
       sources."graceful-fs-4.1.11"
       sources."make-dir-1.1.0"
       sources."unique-string-1.0.0"
-      sources."write-file-atomic-2.3.0"
+      sources."write-file-atomic-1.3.4"
       sources."xdg-basedir-3.0.0"
       sources."is-obj-1.0.1"
-      sources."pify-3.0.0"
+      sources."pify-2.3.0"
       sources."crypto-random-string-1.0.0"
       sources."imurmurhash-0.1.4"
       sources."signal-exit-3.0.2"
@@ -39105,19 +35428,12 @@ in
       sources."yallist-2.1.2"
       sources."shebang-regex-1.0.0"
       sources."isexe-2.0.0"
-      sources."execa-0.6.3"
+      sources."execa-0.7.0"
       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."pify-2.3.0"
-          sources."npm-run-path-1.0.0"
-          sources."path-key-1.0.0"
-        ];
-      })
+      sources."passwd-user-2.1.0"
       sources."rc-1.2.2"
       sources."get-stream-3.0.0"
       sources."is-stream-1.1.0"
@@ -39129,7 +35445,7 @@ in
       sources."p-some-2.0.0"
       sources."aggregate-error-1.0.0"
       sources."clean-stack-1.3.0"
-      sources."indent-string-3.2.0"
+      sources."indent-string-2.1.0"
       sources."cross-spawn-async-2.2.5"
       sources."object-assign-4.1.1"
       sources."deep-extend-0.4.2"
@@ -39142,57 +35458,43 @@ in
       sources."is-retry-allowed-1.1.0"
       sources."lowercase-keys-1.0.0"
       sources."safe-buffer-5.1.1"
-      sources."timed-out-4.0.1"
-      sources."unzip-response-2.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."prepend-http-1.0.4"
       sources."decamelize-1.2.0"
-      sources."ansi-escapes-3.0.0"
-      sources."cli-cursor-2.1.0"
+      sources."ansi-escapes-1.4.0"
+      sources."cli-cursor-1.0.2"
       sources."cli-width-2.2.0"
-      sources."external-editor-2.0.5"
-      sources."mute-stream-0.0.7"
+      sources."external-editor-1.1.1"
+      sources."mute-stream-0.0.6"
       sources."run-async-2.3.0"
-      sources."rx-lite-4.0.8"
+      sources."rx-lite-3.1.2"
       sources."rx-lite-aggregates-4.0.8"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-          sources."ansi-regex-3.0.0"
-        ];
-      })
+      sources."string-width-1.0.2"
       sources."through-2.3.8"
-      sources."color-convert-1.9.0"
+      sources."color-convert-1.9.1"
       sources."color-name-1.1.3"
       sources."has-flag-2.0.0"
-      sources."restore-cursor-2.0.0"
-      sources."onetime-2.0.1"
+      sources."restore-cursor-1.0.1"
+      sources."onetime-1.1.0"
       sources."iconv-lite-0.4.19"
       sources."jschardet-1.6.0"
-      sources."tmp-0.0.33"
+      sources."tmp-0.0.29"
       sources."os-tmpdir-1.0.2"
       sources."is-promise-2.1.0"
-      sources."is-fullwidth-code-point-2.0.0"
+      sources."is-fullwidth-code-point-1.0.0"
       sources."lodash.debounce-3.1.1"
       sources."os-name-1.0.3"
       sources."request-2.83.0"
       sources."tough-cookie-2.3.3"
       sources."uuid-3.1.0"
-      (sources."mkdirp-0.5.1" // {
-        dependencies = [
-          sources."minimist-0.0.8"
-        ];
-      })
+      sources."mkdirp-0.5.1"
       sources."osenv-0.1.4"
       sources."os-homedir-1.0.2"
       sources."slide-1.1.6"
-      (sources."readline2-1.0.1" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-1.0.0"
-          sources."mute-stream-0.0.5"
-        ];
-      })
+      sources."readline2-1.0.1"
       sources."exit-hook-1.1.1"
       sources."code-point-at-1.1.0"
       sources."number-is-nan-1.0.1"
@@ -39230,12 +35532,8 @@ in
       sources."fast-json-stable-stringify-2.0.0"
       sources."json-schema-traverse-0.3.1"
       sources."hoek-4.2.0"
-      sources."boom-4.3.1"
-      (sources."cryptiles-3.1.2" // {
-        dependencies = [
-          sources."boom-5.2.0"
-        ];
-      })
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
       sources."sntp-2.1.0"
       sources."assert-plus-1.0.0"
       sources."jsprim-1.4.1"
@@ -39257,13 +35555,9 @@ in
       sources."loud-rejection-1.6.0"
       sources."map-obj-1.0.1"
       sources."normalize-package-data-2.4.0"
-      (sources."redent-1.0.0" // {
-        dependencies = [
-          sources."indent-string-2.1.0"
-        ];
-      })
+      sources."redent-1.0.0"
       sources."trim-newlines-1.0.0"
-      sources."camelcase-2.1.1"
+      sources."camelcase-4.1.0"
       sources."currently-unhandled-0.4.1"
       sources."array-find-index-1.0.2"
       sources."hosted-git-info-2.5.0"
@@ -39273,21 +35567,13 @@ 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."find-up-2.1.0"
+      sources."read-pkg-2.0.0"
+      sources."path-exists-3.0.0"
       sources."pinkie-promise-2.0.1"
       sources."pinkie-2.0.4"
-      (sources."load-json-file-1.1.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      (sources."path-type-1.1.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
+      sources."load-json-file-2.0.0"
+      sources."path-type-2.0.0"
       sources."parse-json-2.2.0"
       sources."strip-bom-2.0.0"
       sources."error-ex-1.3.1"
@@ -39312,11 +35598,7 @@ in
       sources."clone-regexp-1.0.0"
       sources."is-regexp-1.0.0"
       sources."is-supported-regexp-flag-1.0.0"
-      (sources."locate-path-2.0.0" // {
-        dependencies = [
-          sources."path-exists-3.0.0"
-        ];
-      })
+      sources."locate-path-2.0.0"
       sources."p-locate-2.0.0"
       sources."p-limit-1.1.0"
       sources."downgrade-root-1.2.2"
@@ -39325,7 +35607,7 @@ in
       sources."is-root-1.0.0"
       sources."is-docker-1.1.0"
       sources."arrify-1.0.1"
-      sources."debug-2.6.9"
+      sources."debug-3.1.0"
       sources."npmlog-2.0.4"
       sources."ms-2.0.0"
       sources."rx-4.1.0"
@@ -39341,50 +35623,22 @@ in
       sources."lodash.pad-4.5.1"
       sources."lodash.padend-4.6.1"
       sources."lodash.padstart-4.6.1"
-      (sources."boxen-1.2.2" // {
-        dependencies = [
-          sources."camelcase-4.1.0"
-          sources."chalk-2.3.0"
-          sources."ansi-styles-3.2.0"
-          sources."supports-color-4.5.0"
-        ];
-      })
+      sources."boxen-1.2.2"
       sources."import-lazy-2.1.0"
       sources."is-installed-globally-0.1.0"
       sources."is-npm-1.0.0"
-      (sources."latest-version-3.1.0" // {
-        dependencies = [
-          sources."package-json-4.0.1"
-        ];
-      })
+      sources."latest-version-3.1.0"
       sources."semver-diff-2.1.0"
       sources."ansi-align-2.0.0"
       sources."cli-boxes-1.0.0"
-      (sources."term-size-1.2.0" // {
-        dependencies = [
-          sources."execa-0.7.0"
-        ];
-      })
-      (sources."widest-line-1.0.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."is-fullwidth-code-point-1.0.0"
-        ];
-      })
+      sources."term-size-1.2.0"
+      sources."widest-line-1.0.0"
       sources."global-dirs-0.1.0"
       sources."is-path-inside-1.0.0"
       sources."path-is-inside-1.0.2"
-      (sources."bin-version-check-2.1.0" // {
-        dependencies = [
-          sources."semver-4.3.6"
-        ];
-      })
-      (sources."each-async-1.1.1" // {
-        dependencies = [
-          sources."onetime-1.1.0"
-        ];
-      })
-      sources."log-symbols-1.0.2"
+      sources."bin-version-check-2.1.0"
+      sources."each-async-1.1.1"
+      sources."log-symbols-2.1.0"
       sources."object-values-1.0.0"
       sources."twig-0.8.9"
       sources."bin-version-1.0.4"
@@ -39400,11 +35654,7 @@ in
       sources."balanced-match-1.0.0"
       sources."concat-map-0.0.1"
       sources."diff-3.4.0"
-      (sources."globby-6.1.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
+      sources."globby-6.1.0"
       sources."grouped-queue-0.3.3"
       sources."is-scoped-1.0.0"
       sources."mem-fs-1.1.3"
@@ -39418,25 +35668,16 @@ in
       sources."scoped-regex-1.0.0"
       sources."through2-2.0.3"
       sources."vinyl-1.2.0"
-      (sources."vinyl-file-2.0.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
+      sources."vinyl-file-2.0.0"
       sources."xtend-4.0.1"
-      sources."clone-1.0.2"
+      sources."clone-1.0.3"
       sources."clone-stats-0.0.1"
       sources."replace-ext-0.0.1"
       sources."strip-bom-stream-2.0.0"
       sources."first-chunk-stream-2.0.0"
       sources."pad-component-0.0.1"
       sources."taketalk-1.0.0"
-      (sources."wrap-ansi-2.1.0" // {
-        dependencies = [
-          sources."string-width-1.0.2"
-          sources."is-fullwidth-code-point-1.0.0"
-        ];
-      })
+      sources."wrap-ansi-2.1.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
diff --git a/pkgs/development/ocaml-modules/angstrom/default.nix b/pkgs/development/ocaml-modules/angstrom/default.nix
index 4f968ce6c099..c4ed5acbe1b6 100644
--- a/pkgs/development/ocaml-modules/angstrom/default.nix
+++ b/pkgs/development/ocaml-modules/angstrom/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, ocaml, ocamlbuild, cstruct, result, findlib, ocaml_oasis }:
+{ stdenv, fetchFromGitHub, ocaml, ocamlbuild, cstruct, result, findlib }:
 
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.03"
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  buildInputs = [ ocaml ocaml_oasis findlib ocamlbuild ];
+  buildInputs = [ ocaml findlib ocamlbuild ];
   propagatedBuildInputs = [ result cstruct ];
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index 7c8dc08c4888..e71496e84f04 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -1,18 +1,21 @@
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, qtest }:
+{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, qtest, num }:
 
-let version = "2.7.0"; in
+let version = "2.8.0"; in
 
 stdenv.mkDerivation {
-  name = "ocaml-batteries-${version}";
+  name = "ocaml${ocaml.version}-batteries-${version}";
 
   src = fetchzip {
     url = "https://github.com/ocaml-batteries-team/batteries-included/archive/v${version}.tar.gz";
-    sha256 = "02rgfylz6x4y2030cclf9zwk2i8xqsydn1y9hjkja2qsk895bwfb";
+    sha256 = "1cvgljg8lxvfx0v3367z3p43dysg9m33v8gfy43bhw7fjr1bmyas";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild qtest ];
+  propagatedBuildInputs = [ num ];
 
-  configurePhase = "true"; 	# Skip configure
+  configurePhase = if num != null then ''
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH}''${CAML_LD_LIBRARY_PATH:+:}${num}/lib/ocaml/${ocaml.version}/site-lib/stublibs/"
+  '' else "true";      # Skip configure
 
   doCheck = true;
   checkTarget = "test test";
diff --git a/pkgs/development/ocaml-modules/bitstring/default.nix b/pkgs/development/ocaml-modules/bitstring/default.nix
index d6909efe4a6d..7e9ba518251c 100644
--- a/pkgs/development/ocaml-modules/bitstring/default.nix
+++ b/pkgs/development/ocaml-modules/bitstring/default.nix
@@ -20,7 +20,7 @@ buildOcaml rec {
 
   meta = with stdenv.lib; {
     description = "This library adds Erlang-style bitstrings and matching over bitstrings as a syntax extension and library for OCaml";
-    homepage = http://code.google.com/p/bitstring/;
+    homepage = https://github.com/xguerin/bitstring;
     license = licenses.lgpl21Plus;
     maintainers = [ maintainers.maurer ];
   };
diff --git a/pkgs/development/ocaml-modules/camomile/default.nix b/pkgs/development/ocaml-modules/camomile/default.nix
index 897a3ff6036d..fc0ecfc1502f 100644
--- a/pkgs/development/ocaml-modules/camomile/default.nix
+++ b/pkgs/development/ocaml-modules/camomile/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchFromGitHub, ocaml, findlib, jbuilder, cppo }:
 
 stdenv.mkDerivation rec {
-	version = "0.8.6";
+	version = "0.8.7";
 	name = "ocaml${ocaml.version}-camomile-${version}";
 
 	src = fetchFromGitHub {
 		owner = "yoriyuki";
 		repo = "camomile";
 		rev = "rel-${version}";
-		sha256 = "1jq1xhaikczk6lbvas7c35aa04q0kjaqd8m54c4jivpj80yvg4x9";
+		sha256 = "0rh58nl5jrnx01hf0yqbdcc2ncx107pq29zblchww82ci0x1xwsf";
 	};
 
 	buildInputs = [ ocaml findlib jbuilder cppo ];
diff --git a/pkgs/development/ocaml-modules/containers/default.nix b/pkgs/development/ocaml-modules/containers/default.nix
index 84ac3ae61339..ef930007aff4 100644
--- a/pkgs/development/ocaml-modules/containers/default.nix
+++ b/pkgs/development/ocaml-modules/containers/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, cppo, gen, sequence, qtest, ounit, ocaml_oasis, result
+{ stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, cppo, gen, sequence, qtest, ounit, result
 , qcheck }:
 
 let
@@ -20,7 +20,7 @@ stdenv.mkDerivation {
     sha256 = "1gjs9d6759zpgp68djv296zwmvhdc6dqfb27aip7dhj6ic2bwgil";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild cppo gen sequence qtest ounit ocaml_oasis qcheck ];
+  buildInputs = [ ocaml findlib ocamlbuild cppo gen sequence qtest ounit qcheck ];
 
   propagatedBuildInputs = [ result ];
 
diff --git a/pkgs/development/ocaml-modules/expat/0.9.nix b/pkgs/development/ocaml-modules/expat/0.9.nix
new file mode 100644
index 000000000000..5fcc317d9408
--- /dev/null
+++ b/pkgs/development/ocaml-modules/expat/0.9.nix
@@ -0,0 +1,51 @@
+{stdenv, fetchurl, ocaml, findlib, ounit, expat}:
+
+let
+  pname = "ocaml-expat";
+  testcase = fetchurl {
+    url = "http://www.w3.org/TR/1998/REC-xml-19980210.xml";
+    sha256 = "00a3gsfvlkdhmcbziqhvpvy1zmcgbcihfqwcvl6ay03zf7gvw0k1";
+  };
+
+in
+
+stdenv.mkDerivation rec {
+  name = "${pname}-${version}";
+  version = "0.9.1";
+
+  src = fetchurl {
+    url = "http://www.xs4all.nl/~mmzeeman/ocaml/${pname}-${version}.tar.gz";
+    sha256 = "16n2j3y0jc9xgqyshw9plrwqnjiz30vnpbhahmgxlidbycw8rgjz";
+  };
+
+  buildInputs = [ocaml findlib ounit expat];
+
+  createFindlibDestdir = true;
+
+  patches = [ ./unittest.patch ];
+
+  postPatch = ''
+    substituteInPlace "unittest.ml" \
+      --replace "/home/maas/xml-samples/REC-xml-19980210.xml.txt" "${testcase}"
+    substituteInPlace Makefile --replace "EXPAT_LIBDIR=/usr/local/lib" "EXPAT_LIBDIR=${expat.out}/lib" \
+      --replace "EXPAT_INCDIR=/usr/local/include" "EXPAT_INCDIR=${expat.dev}/include" \
+      --replace "gcc" "\$(CC)"
+  '';
+
+  configurePhase = "true";  	# Skip configure
+
+  buildPhase = ''
+    make all allopt
+  '';
+
+  doCheck = true;
+
+  checkTarget = "testall";
+
+  meta = {
+    homepage = http://www.xs4all.nl/~mmzeeman/ocaml/;
+    description = "An ocaml wrapper for the Expat XML parsing library";
+    license = stdenv.lib.licenses.mit;
+    maintainers = [ stdenv.lib.maintainers.roconnor ];
+  };
+}
diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix
index 5fcc317d9408..575ca45624f3 100644
--- a/pkgs/development/ocaml-modules/expat/default.nix
+++ b/pkgs/development/ocaml-modules/expat/default.nix
@@ -1,51 +1,32 @@
-{stdenv, fetchurl, ocaml, findlib, ounit, expat}:
-
-let
-  pname = "ocaml-expat";
-  testcase = fetchurl {
-    url = "http://www.w3.org/TR/1998/REC-xml-19980210.xml";
-    sha256 = "00a3gsfvlkdhmcbziqhvpvy1zmcgbcihfqwcvl6ay03zf7gvw0k1";
-  };
-
-in
+{ stdenv, fetchFromGitHub, expat, ocaml, findlib, ounit }:
 
 stdenv.mkDerivation rec {
-  name = "${pname}-${version}";
-  version = "0.9.1";
-
-  src = fetchurl {
-    url = "http://www.xs4all.nl/~mmzeeman/ocaml/${pname}-${version}.tar.gz";
-    sha256 = "16n2j3y0jc9xgqyshw9plrwqnjiz30vnpbhahmgxlidbycw8rgjz";
-  };
-
-  buildInputs = [ocaml findlib ounit expat];
-
-  createFindlibDestdir = true;
-
-  patches = [ ./unittest.patch ];
-
-  postPatch = ''
-    substituteInPlace "unittest.ml" \
-      --replace "/home/maas/xml-samples/REC-xml-19980210.xml.txt" "${testcase}"
-    substituteInPlace Makefile --replace "EXPAT_LIBDIR=/usr/local/lib" "EXPAT_LIBDIR=${expat.out}/lib" \
-      --replace "EXPAT_INCDIR=/usr/local/include" "EXPAT_INCDIR=${expat.dev}/include" \
-      --replace "gcc" "\$(CC)"
-  '';
-
-  configurePhase = "true";  	# Skip configure
-
-  buildPhase = ''
-    make all allopt
-  '';
-
-  doCheck = true;
-
-  checkTarget = "testall";
-
-  meta = {
-    homepage = http://www.xs4all.nl/~mmzeeman/ocaml/;
-    description = "An ocaml wrapper for the Expat XML parsing library";
-    license = stdenv.lib.licenses.mit;
-    maintainers = [ stdenv.lib.maintainers.roconnor ];
-  };
+	name = "ocaml${ocaml.version}-expat-${version}";
+	version = "1.0.0";
+
+	src = fetchFromGitHub {
+		owner = "whitequark";
+		repo = "ocaml-expat";
+		rev = "v${version}";
+		sha256 = "0rb47v08ra2hhh73p3d8sl4sizqwiwc37gnkl22b23sbwbjrpbz0";
+	};
+
+	prePatch = ''
+		substituteInPlace Makefile --replace "gcc" "\$(CC)"
+	'';
+
+	buildInputs = [ ocaml findlib expat ounit ];
+
+	doCheck = !stdenv.lib.versionAtLeast ocaml.version "4.06";
+	checkTarget = "testall";
+
+	createFindlibDestdir = true;
+
+	meta = {
+		description = "OCaml wrapper for the Expat XML parsing library";
+		license = stdenv.lib.licenses.mit;
+		maintainers = [ stdenv.lib.maintainers.vbgl ];
+		inherit (src.meta) homepage;
+		inherit (ocaml.meta) platforms;
+	};
 }
diff --git a/pkgs/development/ocaml-modules/fileutils/default.nix b/pkgs/development/ocaml-modules/fileutils/default.nix
index 159428127542..a7dc5ef0191e 100644
--- a/pkgs/development/ocaml-modules/fileutils/default.nix
+++ b/pkgs/development/ocaml-modules/fileutils/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, ocaml, findlib, ocamlbuild, ounit }:
 
 stdenv.mkDerivation {
-  name = "ocaml-fileutils-0.5.2";
+  name = "ocaml${ocaml.version}-fileutils-0.5.3";
 
   src = fetchurl {
-    url = https://forge.ocamlcore.org/frs/download.php/1695/ocaml-fileutils-0.5.2.tar.gz;
-    sha256 = "06l8hva3jmb2b7n4aa84dhhh1lr2mj8632gz4q83glc00khkn1vv";
+    url = https://forge.ocamlcore.org/frs/download.php/1728/ocaml-fileutils-0.5.3.tar.gz;
+    sha256 = "1rc4cqlvdhbs55i85zfbfhz938fsy4fj6kwlkfm3ra7bpwn8bmpd";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild ounit ];
diff --git a/pkgs/development/ocaml-modules/gen/default.nix b/pkgs/development/ocaml-modules/gen/default.nix
index d9a1fb4770f8..348f0cf2170b 100644
--- a/pkgs/development/ocaml-modules/gen/default.nix
+++ b/pkgs/development/ocaml-modules/gen/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, qtest, ounit }:
 
-let version = "0.4.0.1"; in
+let version = "0.5"; in
 
 stdenv.mkDerivation {
   name = "ocaml${ocaml.version}-gen-${version}";
@@ -9,11 +9,18 @@ stdenv.mkDerivation {
     owner = "c-cube";
     repo = "gen";
     rev = "${version}";
-    sha256 = "0gg94f5l899rni3r7s7wq8plgazmbsaw498xckp25kkgpmkk61ml";
+    sha256 = "14b8vg914nb0yp1hgxzm29bg692m0gqncjj43b599s98s1cwl92h";
   };
 
   buildInputs = [ ocaml findlib ocamlbuild qtest ounit ];
 
+  configureFlags = [
+    "--enable-tests"
+  ];
+
+  doCheck = true;
+  checkTarget = "test";
+
   createFindlibDestdir = true;
 
   meta = {
diff --git a/pkgs/development/ocaml-modules/janestreet/default.nix b/pkgs/development/ocaml-modules/janestreet/default.nix
index 4aabb976ee17..938a84454be1 100644
--- a/pkgs/development/ocaml-modules/janestreet/default.nix
+++ b/pkgs/development/ocaml-modules/janestreet/default.nix
@@ -1,22 +1,29 @@
 { stdenv, lib, janePackage, ocaml, ocamlbuild, cryptokit, ctypes, magic-mime,
-  ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith,
+  ocaml-migrate-parsetree, octavius, ounit, ppx_deriving, re, zarith, num,
   openssl }:
 
 rec {
 
   # Jane Street packages, up to ppx_core
 
-  sexplib = janePackage {
+  sexplib = janePackage ({
     name = "sexplib";
-    version = "0.9.2";
-    hash = "0szj7gi5ksy7kif5g71rkr6xhxc41xl8hq6s5zz610cjyngzyzjl";
     meta.description = "Automated S-expression conversion";
-  };
+  } // (if lib.versionAtLeast ocaml.version "4.05"
+    then {
+      version = "0.9.3";
+      hash = "0a2sqh235ja3qwy7b2k3qym2616dz7369a195qwi6ljy3cnh7s53";
+      buildInputs = [ num ];
+    } else {
+      version = "0.9.2";
+      hash = "0szj7gi5ksy7kif5g71rkr6xhxc41xl8hq6s5zz610cjyngzyzjl";
+    }
+  ));
 
   base = janePackage {
     name = "base";
-    version = "0.9.3";
-    hash = "14v3zsr7za9h1gkxdmkk1yagnrfjk3y9snraywv9hsqbhv39ajvv";
+    version = "0.9.4";
+    hash = "0x85xi66b4zwlbdwmyc99zcmawgpp75gxqbl55rr67awavw162rw";
     propagatedBuildInputs = [ sexplib ];
     meta.description = "Full standard library replacement for OCaml";
   };
@@ -49,7 +56,8 @@ rec {
 
   stdio = janePackage {
     name = "stdio";
-    hash = "1c08jg930j7yxn0sjvlm3fs2fvwaf15sn9513yf1rb7y1lxrgwc4";
+    version = "0.9.1";
+    hash = "13rj3ii0rvmklfim9ild0ib44ssdadig7a9ccjbz22m0pw84a1sx";
     propagatedBuildInputs = [ base ];
     meta.description = "Standard IO library for OCaml";
   };
diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix
index 91ab694eb6f2..c68584957c66 100644
--- a/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/pkgs/development/ocaml-modules/nocrypto/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, ocaml, findlib, ocamlbuild, opam, topkg
 , cpuid, ocb-stubblr
-, cstruct, zarith, ocaml_oasis, ppx_sexp_conv, sexplib
+, cstruct, zarith, ppx_sexp_conv, sexplib
 , lwt ? null
 }:
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     sha256 = "0nhnlpbqh3mf9y2cxivlvfb70yfbdpvg6jslzq64xblpgjyg443p";
   };
 
-  buildInputs = [ ocaml ocaml_oasis findlib ocamlbuild topkg opam cpuid ocb-stubblr
+  buildInputs = [ ocaml findlib ocamlbuild topkg opam cpuid ocb-stubblr
     ppx_sexp_conv ];
   propagatedBuildInputs = [ cstruct zarith sexplib ] ++ optional withLwt lwt;
 
diff --git a/pkgs/development/ocaml-modules/num/default.nix b/pkgs/development/ocaml-modules/num/default.nix
new file mode 100644
index 000000000000..d46bff5b3d59
--- /dev/null
+++ b/pkgs/development/ocaml-modules/num/default.nix
@@ -0,0 +1,29 @@
+{ stdenv, fetchFromGitHub, fetchpatch, ocaml, findlib }:
+
+stdenv.mkDerivation rec {
+	version = "1.1";
+	name = "ocaml${ocaml.version}-num-${version}";
+	src = fetchFromGitHub {
+		owner = "ocaml";
+		repo = "num";
+		rev = "v${version}";
+		sha256 = "0a4mhxgs5hi81d227aygjx35696314swas0vzy3ig809jb7zq4h0";
+	};
+
+	patches = [ (fetchpatch {
+			url = "https://github.com/ocaml/num/commit/6d4c6d476c061298e6385e8a0864f083194b9307.patch";
+			sha256 = "18zlvb5n327q8y3c52js5dvyy29ssld1l53jqng8m9w1k24ypi0b";
+		})
+	];
+
+	buildInputs = [ ocaml findlib ];
+
+	createFindlibDestdir = true;
+
+	meta = {
+		description = "Legacy Num library for arbitrary-precision integer and rational arithmetic";
+		license = stdenv.lib.licenses.lgpl21;
+		inherit (ocaml.meta) platforms;
+		inherit (src.meta) homepage;
+	};
+}
diff --git a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
index e1b66741215f..a2bbe6960cf7 100644
--- a/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-gettext/default.nix
@@ -1,12 +1,12 @@
 { stdenv, fetchurl, ocaml, findlib, camlp4, ounit, gettext, fileutils, camomile }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml-gettext-${version}";
-  version = "0.3.5";
+  name = "ocaml${ocaml.version}-gettext-${version}";
+  version = "0.3.7";
 
   src = fetchurl {
-    url = "https://forge.ocamlcore.org/frs/download.php/1433/ocaml-gettext-${version}.tar.gz";
-    sha256 = "0s625h7y9xxqvzk4bnw45k4wvl4fn8gblv56bp47il0lgsx8956i";
+    url = "https://forge.ocamlcore.org/frs/download.php/1678/ocaml-gettext-${version}.tar.gz";
+    sha256 = "1zhvzc9x3j57xf2mzg5rshgp14cb4dsqbnj52jjv1qnja97plyjp";
   };
 
   propagatedBuildInputs = [ gettext fileutils camomile ];
diff --git a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
index 108a2c30f2dd..b88000eeb32a 100644
--- a/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
+++ b/pkgs/development/ocaml-modules/ocaml-migrate-parsetree/default.nix
@@ -6,13 +6,13 @@ else
 
 stdenv.mkDerivation rec {
    name = "ocaml${ocaml.version}-ocaml-migrate-parsetree-${version}";
-   version = "1.0.5";
+   version = "1.0.7";
 
    src = fetchFromGitHub {
      owner = "let-def";
      repo = "ocaml-migrate-parsetree";
      rev = "v${version}";
-     sha256 = "1wj66nb16zijacpfrcm7yi0hlg315v71nxri3ia7r0sa3mlzxl34";
+     sha256 = "0v1h943xv5bd8qy5mr8pvyjbgamhs59nkgr94j3vznabrcfqzkh7";
    };
 
    buildInputs = [ ocaml findlib ocamlbuild jbuilder ];
diff --git a/pkgs/development/ocaml-modules/ocamlfuse/default.nix b/pkgs/development/ocaml-modules/ocamlfuse/default.nix
index e5a3c282e581..20b63e3a8eef 100644
--- a/pkgs/development/ocaml-modules/ocamlfuse/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlfuse/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   createFindlibDestdir = true;
 
   meta = {
-    homepage = http://sourceforge.net/projects/ocamlfuse;
+    homepage = https://sourceforge.net/projects/ocamlfuse;
     description = "OCaml bindings for FUSE";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/ocaml-modules/sqlexpr/default.nix b/pkgs/development/ocaml-modules/sqlexpr/default.nix
index d0363abbf2cf..363d5850ec60 100644
--- a/pkgs/development/ocaml-modules/sqlexpr/default.nix
+++ b/pkgs/development/ocaml-modules/sqlexpr/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildOcaml, fetchurl, ocaml_batteries, csv, ocaml_lwt, ocaml_sqlite3, estring }:
+{ stdenv, buildOcaml, fetchurl, batteries, csv, ocaml_lwt, ocaml_sqlite3, estring }:
 
 buildOcaml rec {
   name = "sqlexpr";
@@ -9,10 +9,10 @@ buildOcaml rec {
     sha256 = "02pi0xxr3xzalwpvcaq96k57wz2vxj20l2mga1a4d2ddvhran8kr";
   };
 
-  propagatedBuildInputs = [ ocaml_batteries csv ocaml_lwt ocaml_sqlite3 estring ];
+  propagatedBuildInputs = [ batteries csv ocaml_lwt ocaml_sqlite3 estring ];
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/mfp/ocaml-sqlexpr;
+    homepage = https://github.com/mfp/ocaml-sqlexpr;
     description = "Type-safe, convenient SQLite database access";
     license = licenses.lgpl21;
   };
diff --git a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
index 0a5c04ce7aa9..ef9c254aba14 100644
--- a/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
+++ b/pkgs/development/ocaml-modules/sqlite3EZ/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation {
   createFindlibDestdir = true;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/mlin/ocaml-sqlite3EZ;
+    homepage = https://github.com/mlin/ocaml-sqlite3EZ;
     description = "A thin wrapper for sqlite3-ocaml with a simplified interface";
     license = licenses.mit;
     maintainers = [ maintainers.vbgl ];
diff --git a/pkgs/development/ocaml-modules/zed/default.nix b/pkgs/development/ocaml-modules/zed/default.nix
index 85977792b4d3..1ddb6d180405 100644
--- a/pkgs/development/ocaml-modules/zed/default.nix
+++ b/pkgs/development/ocaml-modules/zed/default.nix
@@ -3,8 +3,8 @@
 let param =
   if stdenv.lib.versionAtLeast ocaml.version "4.02" then
   {
-    version = "1.5";
-    sha256 = "1nq884cxl1k4daa549bk7bxarwivbpp51k4blbiwyxwfhs29xgfr";
+    version = "1.6";
+    sha256 = "00hhxcjf3bj3w2qm8nzs9x6vrqkadf4i0277s5whzy2rmiknj63v";
     buildInputs = [ jbuilder ];
     extra = {
      buildPhase = "jbuilder build -p zed";
diff --git a/pkgs/development/pharo/vm/share.nix b/pkgs/development/pharo/vm/share.nix
index 54e686c82feb..1a24ecd274ee 100644
--- a/pkgs/development/pharo/vm/share.nix
+++ b/pkgs/development/pharo/vm/share.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   sources50Zip = fetchurl {
     url = http://files.pharo.org/sources/PharoV50.sources.zip;
-    sha256 = "0ykl1y0a4yy5qn8fwz0wkl8fcn4pqv9q0w0r2llhzdz3jdg1k69g";
+    sha256 = "1vmcah03zacvj1r2x27vdp63g6rcbz3prjd5sjy1z0a9xsjmqp25";
   };
 
   sources60Zip = fetchurl {
diff --git a/pkgs/development/python-modules/APScheduler/default.nix b/pkgs/development/python-modules/APScheduler/default.nix
index a9b5faf60064..5acb6cd5785d 100644
--- a/pkgs/development/python-modules/APScheduler/default.nix
+++ b/pkgs/development/python-modules/APScheduler/default.nix
@@ -59,7 +59,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A Python library that lets you schedule your Python code to be executed";
-    homepage = http://pypi.python.org/pypi/APScheduler/;
+    homepage = https://pypi.python.org/pypi/APScheduler/;
     license = licenses.mit;
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/python-modules/Cython/default.nix b/pkgs/development/python-modules/Cython/default.nix
index e507b89bbbb0..751e064ad706 100644
--- a/pkgs/development/python-modules/Cython/default.nix
+++ b/pkgs/development/python-modules/Cython/default.nix
@@ -14,11 +14,11 @@
 buildPythonPackage rec {
   pname = "Cython";
   name = "${pname}-${version}";
-  version = "0.27.2";
+  version = "0.27.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "265dacf64ed8c0819f4be9355c39beaa13dc2ad2f85237a2c4e478f5ce644b48";
+    sha256 = "6a00512de1f2e3ce66ba35c5420babaef1fe2d9c43a8faab4080b0dbcc26bc64";
   };
 
   # With Python 2.x on i686-linux or 32-bit ARM this test fails because the
diff --git a/pkgs/development/python-modules/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix
new file mode 100644
index 000000000000..3f37820fd35f
--- /dev/null
+++ b/pkgs/development/python-modules/absl-py/default.nix
@@ -0,0 +1,28 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+, six
+}:
+
+buildPythonPackage rec {
+  pname = "absl-py";
+  version = "0.1.3";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "017wc85i7l3vpjzw3shgb7k7n0jfid88g09dlf1kgdy4ll0sjfax";
+  };
+
+  propagatedBuildInputs = [ six ];
+
+  # checks use bazel; should be revisited
+  doCheck = false;
+
+  meta = {
+    description = "Abseil Python Common Libraries";
+    homepage = "https://github.com/abseil/abseil-py";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ danharaj ];
+  };
+}
diff --git a/pkgs/development/python-modules/affinity/default.nix b/pkgs/development/python-modules/affinity/default.nix
new file mode 100644
index 000000000000..f2cb2ef6445e
--- /dev/null
+++ b/pkgs/development/python-modules/affinity/default.nix
@@ -0,0 +1,16 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "affinity";
+  version = "0.1.0";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1i6j7kszvnzh5vh9k48cqwx2kzf73a6abgv9s6bf0j2zmfjl2wb6";
+  };
+  meta = {
+    description = "control processor affinity on windows and linux";
+    homepage    = http://cheeseshop.python.org/pypi/affinity;
+    license     = with lib.licenses; [ psfl ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiodns/default.nix b/pkgs/development/python-modules/aiodns/default.nix
index becb9ceae725..37d75fd45c0f 100644
--- a/pkgs/development/python-modules/aiodns/default.nix
+++ b/pkgs/development/python-modules/aiodns/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/saghul/aiodns;
+    homepage = https://github.com/saghul/aiodns;
     license = licenses.mit;
     description = "Simple DNS resolver for asyncio";
   };
diff --git a/pkgs/development/python-modules/aiohttp/default.nix b/pkgs/development/python-modules/aiohttp/default.nix
index 19e94471c862..5f87580643f6 100644
--- a/pkgs/development/python-modules/aiohttp/default.nix
+++ b/pkgs/development/python-modules/aiohttp/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "aiohttp";
-  version = "2.3.1";
+  version = "2.3.2";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04f58bbcc9ae6f9aec30b9219ae47fa3c31586c77679405720545738ea62236e";
+    sha256 = "42373fbdbe8f09233c17e74f53cee877bc7d5b495b4fc14c32a119255e85e736";
   };
 
   disabled = pythonOlder "3.4";
diff --git a/pkgs/development/python-modules/alembic/default.nix b/pkgs/development/python-modules/alembic/default.nix
index e40e30085632..364f4cf9a3ab 100644
--- a/pkgs/development/python-modules/alembic/default.nix
+++ b/pkgs/development/python-modules/alembic/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ Mako sqlalchemy python-editor dateutil ];
 
   meta = with stdenv.lib; {
-    homepage = http://bitbucket.org/zzzeek/alembic;
+    homepage = https://bitbucket.org/zzzeek/alembic;
     description = "A database migration tool for SQLAlchemy";
     license = licenses.mit;
   };
diff --git a/pkgs/development/python-modules/apipkg/default.nix b/pkgs/development/python-modules/apipkg/default.nix
index adefb06303ca..f2e07eba0c46 100644
--- a/pkgs/development/python-modules/apipkg/default.nix
+++ b/pkgs/development/python-modules/apipkg/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Namespace control and lazy-import mechanism";
-    homepage = http://bitbucket.org/hpk42/apipkg;
+    homepage = https://bitbucket.org/hpk42/apipkg;
     license = licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/appdirs/default.nix b/pkgs/development/python-modules/appdirs/default.nix
index 211d51c241d7..866c91f7c684 100644
--- a/pkgs/development/python-modules/appdirs/default.nix
+++ b/pkgs/development/python-modules/appdirs/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "A python module for determining appropriate platform-specific dirs";
-    homepage = http://github.com/ActiveState/appdirs;
+    homepage = https://github.com/ActiveState/appdirs;
     license = lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/asgi_ipc/default.nix b/pkgs/development/python-modules/asgi_ipc/default.nix
index 41de61dbccae..bdb12203de67 100644
--- a/pkgs/development/python-modules/asgi_ipc/default.nix
+++ b/pkgs/development/python-modules/asgi_ipc/default.nix
@@ -2,13 +2,13 @@
   asgiref, msgpack, posix_ipc
 }:
 buildPythonPackage rec {
-  version = "1.4.1";
+  version = "1.4.2";
   pname = "asgi_ipc";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/a/asgi_ipc/${name}.tar.gz";
-    sha256 = "87cc9dda476d28f335261b73f0f3070f28847718de2e64da9a80492638203e43";
+    sha256 = "2403f41184405791b05e7aee570bd6ccd47e2d91845d78fe17adcf58ef48c037";
   };
 
   propagatedBuildInputs = [ asgiref msgpack posix_ipc ];
@@ -16,6 +16,6 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Posix IPC-backed ASGI channel layer implementation";
     license = licenses.bsd3;
-    homepage = http://github.com/django/asgi_ipc/;
+    homepage = https://github.com/django/asgi_ipc/;
   };
 }
diff --git a/pkgs/development/python-modules/asgi_redis/default.nix b/pkgs/development/python-modules/asgi_redis/default.nix
index 77a9af8645e7..d4c9388f1a7d 100644
--- a/pkgs/development/python-modules/asgi_redis/default.nix
+++ b/pkgs/development/python-modules/asgi_redis/default.nix
@@ -19,6 +19,6 @@ buildPythonPackage rec {
   meta = with stdenv.lib; {
     description = "Redis-backed ASGI channel layer implementation";
     license = licenses.bsd3;
-    homepage = http://github.com/django/asgi_redis/;
+    homepage = https://github.com/django/asgi_redis/;
   };
 }
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index fd742031d5ad..86a0daa04560 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -31,7 +31,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A abstract syntax tree for Python with inference support";
-    homepage = http://bitbucket.org/logilab/astroid;
+    homepage = https://bitbucket.org/logilab/astroid;
     license = licenses.lgpl2;
     platforms = platforms.all;
     maintainers = with maintainers; [ nand0p ];
diff --git a/pkgs/development/python-modules/bcrypt.nix b/pkgs/development/python-modules/bcrypt/default.nix
index 72800d2f6c29..72800d2f6c29 100644
--- a/pkgs/development/python-modules/bcrypt.nix
+++ b/pkgs/development/python-modules/bcrypt/default.nix
diff --git a/pkgs/development/python-modules/betamax-matchers/default.nix b/pkgs/development/python-modules/betamax-matchers/default.nix
new file mode 100644
index 000000000000..762154ac45d2
--- /dev/null
+++ b/pkgs/development/python-modules/betamax-matchers/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, betamax, requests_toolbelt }:
+
+buildPythonPackage rec {
+  pname = "betamax-matchers";
+  version = "0.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "07qpwjyq2i2aqhz5iwghnj4pqr2ys5n45v1vmpcfx9r5mhwrsq43";
+  };
+
+  buildInputs = [ betamax requests_toolbelt ];
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/sigmavirus24/betamax_matchers;
+    description = "A group of experimental matchers for Betamax";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ pSub ];
+  };
+}
diff --git a/pkgs/development/python-modules/betamax-serializers/default.nix b/pkgs/development/python-modules/betamax-serializers/default.nix
new file mode 100644
index 000000000000..2ad23f1f9e65
--- /dev/null
+++ b/pkgs/development/python-modules/betamax-serializers/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, betamax, pyyaml }:
+
+buildPythonPackage rec {
+  pname = "betamax-serializers";
+  version = "0.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1yqzwx204m4lxlpg04cwv6iwzmcpdzr19wvj97vvxchp0g4qg83d";
+  };
+
+  buildInputs = [ betamax pyyaml ];
+
+  meta = with stdenv.lib; {
+    homepage = https://gitlab.com/betamax/serializers;
+    description = "A set of third-party serializers for Betamax";
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/bitcoin-price-api/default.nix b/pkgs/development/python-modules/bitcoin-price-api/default.nix
index 9ff3b2adfd92..9226fa1c5bf0 100644
--- a/pkgs/development/python-modules/bitcoin-price-api/default.nix
+++ b/pkgs/development/python-modules/bitcoin-price-api/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = {
-    homepage = http://github.com/dursk/bitcoin-price-api;
+    homepage = https://github.com/dursk/bitcoin-price-api;
     description = "Price APIs for bitcoin exchanges";
     license = with lib.licenses; [ mit ];
     maintainers = with lib.maintainers; [ bhipple ];
diff --git a/pkgs/development/python-modules/bkcharts/default.nix b/pkgs/development/python-modules/bkcharts/default.nix
index dee19b45f449..f09a271faad1 100644
--- a/pkgs/development/python-modules/bkcharts/default.nix
+++ b/pkgs/development/python-modules/bkcharts/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "High level chart types built on top of Bokeh";
-    homepage = http://github.com/bokeh/bkcharts;
+    homepage = https://github.com/bokeh/bkcharts;
     license = lib.licenses.bsd3;
   };
-}
\ No newline at end of file
+}
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
new file mode 100644
index 000000000000..a7fe8620a8a8
--- /dev/null
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -0,0 +1,44 @@
+{ buildPythonPackage
+, fetchPypi
+, dateutil
+, jmespath
+, docutils
+, ordereddict
+, simplejson
+, mock
+, nose
+}:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "botocore";
+  version = "1.7.43";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0wyyj7sk7dh9v7i1g5jc5maqdadvbs4khi7srz0095cywkjqpysc";
+  };
+
+  propagatedBuildInputs = [
+    dateutil
+    jmespath
+    docutils
+    ordereddict
+    simplejson
+  ];
+
+  checkInputs = [ mock nose ];
+
+  checkPhase = ''
+    nosetests -v
+  '';
+
+  # Network access
+  doCheck = false;
+
+  meta = {
+    homepage = https://github.com/boto/botocore;
+    license = "bsd";
+    description = "A low-level interface to a growing number of Amazon Web Services";
+  };
+}
diff --git a/pkgs/development/python-modules/configargparse/default.nix b/pkgs/development/python-modules/configargparse/default.nix
new file mode 100644
index 000000000000..9d84400667a9
--- /dev/null
+++ b/pkgs/development/python-modules/configargparse/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "ConfigArgParse";
+  version = "0.12.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0fgkiqh6r3rbkdq3k8c48m85g52k96686rw3a6jg4lcncrkpvk98";
+  };
+
+  # no tests in tarball
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A drop-in replacement for argparse";
+    homepage = https://github.com/zorro3/ConfigArgParse;
+    license = licenses.mit;
+    maintainer = [ maintainers.willibutz ];
+  };
+}
diff --git a/pkgs/development/python-modules/csscompressor.nix b/pkgs/development/python-modules/csscompressor/default.nix
index a9aad8d40e5f..a9aad8d40e5f 100644
--- a/pkgs/development/python-modules/csscompressor.nix
+++ b/pkgs/development/python-modules/csscompressor/default.nix
diff --git a/pkgs/development/python-modules/cycler/default.nix b/pkgs/development/python-modules/cycler/default.nix
index e182f55cdc00..7326f2cf3b4b 100644
--- a/pkgs/development/python-modules/cycler/default.nix
+++ b/pkgs/development/python-modules/cycler/default.nix
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Composable style cycles";
-    homepage = http://github.com/matplotlib/cycler;
+    homepage = https://github.com/matplotlib/cycler;
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ fridh ];
   };
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index c319e6535e92..70647b6377fc 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -32,7 +32,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Minimal task scheduling abstraction";
-    homepage = http://github.com/ContinuumIO/dask/;
+    homepage = https://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 b980381edbb1..32514f86226d 100644
--- a/pkgs/development/python-modules/dateutil/default.nix
+++ b/pkgs/development/python-modules/dateutil/default.nix
@@ -13,7 +13,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Powerful extensions to the standard datetime module";
-    homepage = http://pypi.python.org/pypi/python-dateutil;
+    homepage = https://pypi.python.org/pypi/python-dateutil;
     license = "BSD-style";
   };
 }
diff --git a/pkgs/development/python-modules/devpi-common/default.nix b/pkgs/development/python-modules/devpi-common/default.nix
index 082f2baeceb8..67f8debc43a0 100644
--- a/pkgs/development/python-modules/devpi-common/default.nix
+++ b/pkgs/development/python-modules/devpi-common/default.nix
@@ -14,6 +14,8 @@ with pythonPackages;buildPythonPackage rec {
   checkInputs = [ pytest ];
 
   checkPhase = ''
+    # Don't know why this test is failing!
+    substituteInPlace testing/test_request.py --replace "test_env" "noop_test_env"
     py.test
   '';
 
diff --git a/pkgs/development/python-modules/django/1_11.nix b/pkgs/development/python-modules/django/1_11.nix
index fb5a62296b92..2fe45b7a1f62 100644
--- a/pkgs/development/python-modules/django/1_11.nix
+++ b/pkgs/development/python-modules/django/1_11.nix
@@ -7,13 +7,13 @@
 buildPythonPackage rec {
   pname = "Django";
   name = "${pname}-${version}";
-  version = "1.11.6";
+  version = "1.11.7";
 
   disabled = pythonOlder "2.7";
 
   src = fetchurl {
     url = "http://www.djangoproject.com/m/releases/1.11/${name}.tar.gz";
-    sha256 = "0q0cmwifa6c0k6kh8fpa3mjmqw7yqd616qz8m4ls3h51xyhjrd63";
+    sha256 = "16ab3p6jj1da94wkz2b5fb128ycy4826bbsnbabcd3qdaf9f6649";
   };
 
   patches = stdenv.lib.optionals withGdal [
diff --git a/pkgs/development/python-modules/django_guardian.nix b/pkgs/development/python-modules/django_guardian/default.nix
index e83076674e8a..e83076674e8a 100644
--- a/pkgs/development/python-modules/django_guardian.nix
+++ b/pkgs/development/python-modules/django_guardian/default.nix
diff --git a/pkgs/development/python-modules/docker.nix b/pkgs/development/python-modules/docker/default.nix
index 88d85dad91aa..88d85dad91aa 100644
--- a/pkgs/development/python-modules/docker.nix
+++ b/pkgs/development/python-modules/docker/default.nix
diff --git a/pkgs/development/python-modules/docker_compose.nix b/pkgs/development/python-modules/docker_compose/default.nix
index 91a0c4183c9b..91a0c4183c9b 100644
--- a/pkgs/development/python-modules/docker_compose.nix
+++ b/pkgs/development/python-modules/docker_compose/default.nix
diff --git a/pkgs/development/python-modules/dogpile.cache/default.nix b/pkgs/development/python-modules/dogpile.cache/default.nix
index 424be07aa616..657a4db41159 100644
--- a/pkgs/development/python-modules/dogpile.cache/default.nix
+++ b/pkgs/development/python-modules/dogpile.cache/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A caching front-end based on the Dogpile lock";
-    homepage = http://bitbucket.org/zzzeek/dogpile.cache;
+    homepage = https://bitbucket.org/zzzeek/dogpile.cache;
     platforms = platforms.unix;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/python-modules/ds4drv.nix b/pkgs/development/python-modules/ds4drv/default.nix
index d2de9f9f15bc..d2de9f9f15bc 100644
--- a/pkgs/development/python-modules/ds4drv.nix
+++ b/pkgs/development/python-modules/ds4drv/default.nix
diff --git a/pkgs/development/python-modules/dulwich.nix b/pkgs/development/python-modules/dulwich/default.nix
index 778c8c984c86..422674152a68 100644
--- a/pkgs/development/python-modules/dulwich.nix
+++ b/pkgs/development/python-modules/dulwich/default.nix
@@ -3,13 +3,13 @@
 , git, glibcLocales }:
 
 buildPythonPackage rec {
-  version = "0.18.4";
+  version = "0.18.5";
   pname = "dulwich";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/d/dulwich/${name}.tar.gz";
-    sha256 = "b4baace48dde5e0a76f37b251c246c7e1829bda0617679f00cbade0e70a5ac5b";
+    sha256 = "838bac318fd0ed79e0eedb6cfd53b6424dc618fec6b99dc959881b12da7bd6e0";
   };
 
   LC_ALL = "en_US.UTF-8";
diff --git a/pkgs/development/python-modules/fastimport/default.nix b/pkgs/development/python-modules/fastimport/default.nix
new file mode 100644
index 000000000000..ee1048ec5fac
--- /dev/null
+++ b/pkgs/development/python-modules/fastimport/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, python, fetchurl }:
+
+buildPythonPackage rec {
+  name = "fastimport-${version}";
+  version = "0.9.6";
+
+  src = fetchurl {
+    url = "mirror://pypi/f/fastimport/${name}.tar.gz";
+    sha256 = "1aqjsin4rmqm7ln4j0p73fzxifws6c6ikgyhav7r137m2ixsxl43";
+  };
+
+  checkPhase = ''
+    ${python.interpreter} -m unittest discover
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://launchpad.net/python-fastimport;
+    description = "VCS fastimport/fastexport parser";
+    maintainers = with maintainers; [ koral ];
+    license = licenses.gpl2Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/faulthandler/default.nix b/pkgs/development/python-modules/faulthandler/default.nix
new file mode 100644
index 000000000000..f8d877f0655b
--- /dev/null
+++ b/pkgs/development/python-modules/faulthandler/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchPypi, buildPythonPackage }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "faulthandler";
+  version = "2.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0zywq3jaznddvqc3hnfrlv24wmpyq4xgajk9xhv6578qw1rpfj2r";
+  };
+
+  meta = {
+    description = "Dump the Python traceback";
+    license = stdenv.lib.licenses.bsd2;
+    maintainers = with stdenv.lib.maintainers; [ sauyon ];
+    homepage = http://faulthandler.readthedocs.io/;
+  };
+}
diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix
index d53a29d182f6..5c150844c845 100644
--- a/pkgs/development/python-modules/fiona/default.nix
+++ b/pkgs/development/python-modules/fiona/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "Fiona";
-  version = "1.7.9.post1";
+  version = "1.7.10.post1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "68e8a925b23e3987845c11b0fdd6378fdec4316fe8ba767a935151b6ee1fc607";
+    sha256 = "fc4c8996be3131f36c791d66273317d38b72b19dc24c2afc332fd734752eb7a8";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/flake8/default.nix b/pkgs/development/python-modules/flake8/default.nix
index 89b554f3e68b..0a006b77793b 100644
--- a/pkgs/development/python-modules/flake8/default.nix
+++ b/pkgs/development/python-modules/flake8/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Code checking using pep8 and pyflakes";
-    homepage = http://pypi.python.org/pypi/flake8;
+    homepage = https://pypi.python.org/pypi/flake8;
     license = licenses.mit;
     maintainers = with maintainers; [ garbas ];
   };
diff --git a/pkgs/development/python-modules/flask-elastic.nix b/pkgs/development/python-modules/flask-elastic/default.nix
index 4181d9647876..4181d9647876 100644
--- a/pkgs/development/python-modules/flask-elastic.nix
+++ b/pkgs/development/python-modules/flask-elastic/default.nix
diff --git a/pkgs/development/python-modules/flask-ldap-login.nix b/pkgs/development/python-modules/flask-ldap-login/default.nix
index cdc7cefff954..cdc7cefff954 100644
--- a/pkgs/development/python-modules/flask-ldap-login.nix
+++ b/pkgs/development/python-modules/flask-ldap-login/default.nix
diff --git a/pkgs/development/python-modules/flask-login.nix b/pkgs/development/python-modules/flask-login/default.nix
index 3c7731c30a8b..3c7731c30a8b 100644
--- a/pkgs/development/python-modules/flask-login.nix
+++ b/pkgs/development/python-modules/flask-login/default.nix
diff --git a/pkgs/development/python-modules/flask-oauthlib.nix b/pkgs/development/python-modules/flask-oauthlib/default.nix
index cacb16cb7bb7..cacb16cb7bb7 100644
--- a/pkgs/development/python-modules/flask-oauthlib.nix
+++ b/pkgs/development/python-modules/flask-oauthlib/default.nix
diff --git a/pkgs/development/python-modules/flask-testing.nix b/pkgs/development/python-modules/flask-testing/default.nix
index 178e000a32ed..178e000a32ed 100644
--- a/pkgs/development/python-modules/flask-testing.nix
+++ b/pkgs/development/python-modules/flask-testing/default.nix
diff --git a/pkgs/development/python-modules/flask-wtf.nix b/pkgs/development/python-modules/flask-wtf/default.nix
index a0b623c6b6ab..a0b623c6b6ab 100644
--- a/pkgs/development/python-modules/flask-wtf.nix
+++ b/pkgs/development/python-modules/flask-wtf/default.nix
diff --git a/pkgs/development/python-modules/folium/default.nix b/pkgs/development/python-modules/folium/default.nix
index 71aabd75d754..eeb787ea3c09 100644
--- a/pkgs/development/python-modules/folium/default.nix
+++ b/pkgs/development/python-modules/folium/default.nix
@@ -9,32 +9,27 @@
 , jinja2
 , branca
 , six
+, requests
 }:
 
 buildPythonPackage rec {
   pname = "folium";
   version = "0.5.0";
-  name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "748944521146d85c6cd6230acf234e885864cd0f42fea3758d655488517e5e6e";
   };
 
-  postPatch = ''
-    # Causes trouble because a certain file cannot be found
-    rm tests/notebooks/test_notebooks.py
-  '';
-
   checkInputs = [ pytest numpy nbconvert pandas mock ];
-  propagatedBuildInputs = [ jinja2 branca six ];
+  propagatedBuildInputs = [ jinja2 branca six requests ];
 
-  #
-#   doCheck = false;
+  # No tests in archive
+  doCheck = false;
 
-#   checkPhase = ''
-#     py.test -k 'not test_notebooks'
-#   '';
+  checkPhase = ''
+    py.test
+  '';
 
   meta = {
     description = "Make beautiful maps with Leaflet.js & Python";
diff --git a/pkgs/development/python-modules/gflags/default.nix b/pkgs/development/python-modules/gflags/default.nix
index 48fff7230569..f73ff2b4686d 100644
--- a/pkgs/development/python-modules/gflags/default.nix
+++ b/pkgs/development/python-modules/gflags/default.nix
@@ -1,13 +1,13 @@
 { lib, buildPythonPackage, fetchPypi, six, pytest }:
 
 buildPythonPackage rec {
-  version = "3.1.1";
+  version = "3.1.2";
   name = "gflags-${version}";
 
   src = fetchPypi {
     inherit version;
     pname = "python-gflags";
-    sha256 = "0qvcizlz6r4511kl4jlg6fr34y1ka956dr2jj1q0qcklr94n9zxa";
+    sha256 = "40ae131e899ef68e9e14aa53ca063839c34f6a168afe622217b5b875492a1ee2";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/ghdiff.nix b/pkgs/development/python-modules/ghdiff/default.nix
index 5dfd399ac7de..5dfd399ac7de 100644
--- a/pkgs/development/python-modules/ghdiff.nix
+++ b/pkgs/development/python-modules/ghdiff/default.nix
diff --git a/pkgs/development/python-modules/gst-python/default.nix b/pkgs/development/python-modules/gst-python/default.nix
index 1333c4b59a47..71d77c283b84 100644
--- a/pkgs/development/python-modules/gst-python/default.nix
+++ b/pkgs/development/python-modules/gst-python/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-python";
-  version = "1.10.4";
+  version = "1.12.2";
   name = "${pname}-${version}";
 
   src = fetchurl {
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
       "${meta.homepage}/src/gst-python/${name}.tar.xz"
       "mirror://gentoo/distfiles/${name}.tar.xz"
       ];
-    sha256 = "04l2hvvz9b0f3nyds1k3yfk5di8a91fpr6maj19c11mwp1s82l2r";
+    sha256 = "0iwy0v2k27wd3957ich6j5f0f04b0wb2mb175ypf2lx68snk5k7l";
   };
 
   patches = [ ./different-path-with-pygobject.patch ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   passthru.pythonPath = [];
 
   meta = {
-    homepage = http://gstreamer.freedesktop.org;
+    homepage = https://gstreamer.freedesktop.org;
 
     description = "Python bindings for GStreamer";
 
diff --git a/pkgs/development/python-modules/guessit/2.0.nix b/pkgs/development/python-modules/guessit/2.0.nix
index 960babd84e2b..59fb650c883d 100644
--- a/pkgs/development/python-modules/guessit/2.0.nix
+++ b/pkgs/development/python-modules/guessit/2.0.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   ];
 
   meta = {
-    homepage = http://pypi.python.org/pypi/guessit;
+    homepage = https://pypi.python.org/pypi/guessit;
     license = lib.licenses.lgpl3;
     description = "A library for guessing information from video files";
   };
diff --git a/pkgs/development/python-modules/guessit/default.nix b/pkgs/development/python-modules/guessit/default.nix
index b0c0bb9496f7..77c45d12335b 100644
--- a/pkgs/development/python-modules/guessit/default.nix
+++ b/pkgs/development/python-modules/guessit/default.nix
@@ -25,7 +25,7 @@ buildPythonPackage rec {
   ];
 
   meta = {
-    homepage = http://pypi.python.org/pypi/guessit;
+    homepage = https://pypi.python.org/pypi/guessit;
     license = lib.licenses.lgpl3;
     description = "A library for guessing information from video files";
   };
diff --git a/pkgs/development/python-modules/gunicorn.nix b/pkgs/development/python-modules/gunicorn/default.nix
index cc8017f0cd88..89af8596edbc 100644
--- a/pkgs/development/python-modules/gunicorn.nix
+++ b/pkgs/development/python-modules/gunicorn/default.nix
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://pypi.python.org/pypi/gunicorn;
+    homepage = https://pypi.python.org/pypi/gunicorn;
     description = "WSGI HTTP Server for UNIX";
     license = licenses.mit;
   };
diff --git a/pkgs/development/python-modules/h2/default.nix b/pkgs/development/python-modules/h2/default.nix
new file mode 100644
index 000000000000..08cd1943eff6
--- /dev/null
+++ b/pkgs/development/python-modules/h2/default.nix
@@ -0,0 +1,21 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, enum34, hpack, hyperframe }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "h2";
+  version = "3.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0r3f43r0v7sqgdjjg5ngw0dndk2v6cyd0jncpwya54m37y42z5mj";
+  };
+
+  propagatedBuildInputs = [ enum34 hpack hyperframe ];
+
+  meta = with stdenv.lib; {
+    description = "HTTP/2 State-Machine based protocol implementation";
+    homepage = "http://hyper.rtfd.org/";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/htmlmin.nix b/pkgs/development/python-modules/htmlmin/default.nix
index 2206b3559bae..2206b3559bae 100644
--- a/pkgs/development/python-modules/htmlmin.nix
+++ b/pkgs/development/python-modules/htmlmin/default.nix
diff --git a/pkgs/development/python-modules/hyperframe/default.nix b/pkgs/development/python-modules/hyperframe/default.nix
new file mode 100644
index 000000000000..91e00a7a1461
--- /dev/null
+++ b/pkgs/development/python-modules/hyperframe/default.nix
@@ -0,0 +1,17 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "hyperframe";
+  version = "5.1.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "017vjbb1xjak1pxcvihhilzjnmpfvhapk7k88wp6lvdkkm9l8nd2";
+  };
+
+  meta = with stdenv.lib; {
+    description = "HTTP/2 framing layer for Python";
+    homepage = "http://hyper.rtfd.org/";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/hypothesis.nix b/pkgs/development/python-modules/hypothesis/default.nix
index ab56cde9c131..ab56cde9c131 100644
--- a/pkgs/development/python-modules/hypothesis.nix
+++ b/pkgs/development/python-modules/hypothesis/default.nix
diff --git a/pkgs/development/python-modules/incremental/default.nix b/pkgs/development/python-modules/incremental/default.nix
index 0c54c3ab8aec..a5d7b2b711eb 100644
--- a/pkgs/development/python-modules/incremental/default.nix
+++ b/pkgs/development/python-modules/incremental/default.nix
@@ -11,7 +11,7 @@ buildPythonPackage rec {
   };
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/twisted/treq;
+    homepage = https://github.com/twisted/treq;
     description = "Incremental is a small library that versions your Python projects";
     license = licenses.mit;
     maintainers = with maintainers; [ nand0p ];
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index ac26573f4a75..64139f5d9050 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -17,6 +17,7 @@
 , prompt_toolkit
 , pexpect
 , appnope
+, typing
 }:
 
 buildPythonPackage rec {
@@ -45,7 +46,8 @@ buildPythonPackage rec {
     traitlets
     prompt_toolkit
     pexpect
-  ] ++ lib.optionals stdenv.isDarwin [appnope];
+  ] ++ lib.optionals stdenv.isDarwin [appnope]
+    ++ lib.optionals (pythonOlder "3.5") [ typing ];
 
   LC_ALL="en_US.UTF-8";
 
diff --git a/pkgs/development/python-modules/jabberbot.nix b/pkgs/development/python-modules/jabberbot/default.nix
index 9161f3f6f0b8..9161f3f6f0b8 100644
--- a/pkgs/development/python-modules/jabberbot.nix
+++ b/pkgs/development/python-modules/jabberbot/default.nix
diff --git a/pkgs/development/python-modules/jug/default.nix b/pkgs/development/python-modules/jug/default.nix
index ab94d7b40acb..b1053bbdaab1 100644
--- a/pkgs/development/python-modules/jug/default.nix
+++ b/pkgs/development/python-modules/jug/default.nix
@@ -6,7 +6,7 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Jug";
-  version = "1.6.3";
+  version = "1.6.4";
   buildInputs = [ nose numpy ];
   propagatedBuildInputs = [
     bottle
@@ -19,7 +19,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0dpcwjaf8zzqpdz8w8h0p7vmd6z6bzfz2805a6bdjqs9hhkhrg86";
+    sha256 = "e739b20e7fe53ac50f5954b9e32568bdd92012dd4bd199d13e2a675ccd69d97d";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/kaitaistruct/default.nix b/pkgs/development/python-modules/kaitaistruct/default.nix
new file mode 100644
index 000000000000..c99619566175
--- /dev/null
+++ b/pkgs/development/python-modules/kaitaistruct/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, kaitaistruct, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "kaitaistruct";
+  version = "0.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "19j3snmr0qbd48f7yd3cc21ffv13dahf8ys591dnalbhvnkar71i";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Kaitai Struct: runtime library for Python";
+    homepage = "https://github.com/kaitai-io/kaitai_struct_python_runtime";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/keepkey/default.nix b/pkgs/development/python-modules/keepkey/default.nix
index 8eba12dfcea2..9ea6840c4d2c 100644
--- a/pkgs/development/python-modules/keepkey/default.nix
+++ b/pkgs/development/python-modules/keepkey/default.nix
@@ -1,21 +1,25 @@
-{ stdenv, fetchPypi, buildPythonPackage, ecdsa
-, mnemonic, protobuf, hidapi }:
+{ stdenv, fetchFromGitHub, buildPythonPackage, pytest
+, ecdsa , mnemonic, protobuf, hidapi, trezor }:
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "keepkey";
   version = "4.0.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "95c8d5127919f9fc4bb0120b05f92efc8f526d4a68122ac18e63509571ac45a2";
+  src = fetchFromGitHub {
+    owner = "keepkey";
+    repo = "python-keepkey";
+    rev = "v${version}";
+    sha256 = "144awjkc169z2n1ffirs697y6m97izh3pbh3sjhy3nji7jszh592";
   };
 
-  propagatedBuildInputs = [ protobuf hidapi ];
+  propagatedBuildInputs = [ protobuf hidapi trezor ];
 
   buildInputs = [ ecdsa mnemonic ];
 
-  # There are no actual tests: "ImportError: No module named tests"
+  checkInputs = [ pytest ];
+
+  # tests requires hardware
   doCheck = false;
 
   # Remove impossible dependency constraint
diff --git a/pkgs/development/python-modules/keras/default.nix b/pkgs/development/python-modules/keras/default.nix
index 877fbe9470d1..c2d5362b134b 100644
--- a/pkgs/development/python-modules/keras/default.nix
+++ b/pkgs/development/python-modules/keras/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "Keras";
-  version = "2.0.8";
+  version = "2.0.9";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "899dc6aaed366f20100b9f80cf1093ea5b43eecc74afd1dc63a4e48dfa776ab9";
+    sha256 = "6b8572cf1b4a22fd0120b7c23382ba4fa04a6f0397e02af1249be9a7309d1767";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/ldap.nix b/pkgs/development/python-modules/ldap/default.nix
index 635308f37607..635308f37607 100644
--- a/pkgs/development/python-modules/ldap.nix
+++ b/pkgs/development/python-modules/ldap/default.nix
diff --git a/pkgs/development/python-modules/ldap3/default.nix b/pkgs/development/python-modules/ldap3/default.nix
new file mode 100644
index 000000000000..895272f351de
--- /dev/null
+++ b/pkgs/development/python-modules/ldap3/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, fetchPypi, buildPythonPackage, gssapi, pyasn1 }:
+
+buildPythonPackage rec {
+  version = "2.3";
+  pname = "ldap3";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1b36lwil4iflk2ay8gi663abpnfm8id7qg4n3jkmmqbnc1sv6mn0";
+  };
+
+  buildInputs = [ gssapi ];
+
+  propagatedBuildInputs = [ pyasn1 ];
+
+  doCheck = false; # requires network
+
+  meta = with stdenv.lib; {
+    homepage = https://pypi.python.org/pypi/ldap3;
+    description = "A strictly RFC 4510 conforming LDAP V3 pure Python client library";
+    license = licenses.lgpl3;
+  };
+}
diff --git a/pkgs/development/python-modules/libagent/default.nix b/pkgs/development/python-modules/libagent/default.nix
index cca10794258f..e8cecda75897 100644
--- a/pkgs/development/python-modules/libagent/default.nix
+++ b/pkgs/development/python-modules/libagent/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchPypi, buildPythonPackage, ed25519, ecdsa
-, semver, keepkey, trezor, mnemonic, ledgerblue
+, semver, keepkey, trezor, mnemonic, ledgerblue, unidecode, mock, pytest
 }:
 
 buildPythonPackage rec {
@@ -17,6 +17,14 @@ buildPythonPackage rec {
     trezor mnemonic ledgerblue
   ];
 
+  propagatedBuildInputs = [ unidecode ];
+
+  checkInputs = [ mock pytest ];
+
+  checkPhase = ''
+    py.test libagent/tests
+  '';
+
   meta = with stdenv.lib; {
     description = "Using hardware wallets as SSH/GPG agent";
     homepage = https://github.com/romanz/trezor-agent;
diff --git a/pkgs/development/python-modules/libnacl/default.nix b/pkgs/development/python-modules/libnacl/default.nix
index 3704045d79a3..06bc294a9d7e 100644
--- a/pkgs/development/python-modules/libnacl/default.nix
+++ b/pkgs/development/python-modules/libnacl/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonPackage rec {
   pname = "libnacl";
-  version = "1.6.0";
+  version = "1.6.1";
   name = "${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "saltstack";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0iaql3mrj3hf48km8177bi6nmjdar26kmqjc3jw8mrjc940v99fk";
+    sha256 = "05iamhbsqm8binqhc2zchfqdkajlx2icf8xl5vkd5fbrhw6yylad";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/markdown2.nix b/pkgs/development/python-modules/markdown2/default.nix
index f614eb0747bb..f614eb0747bb 100644
--- a/pkgs/development/python-modules/markdown2.nix
+++ b/pkgs/development/python-modules/markdown2/default.nix
diff --git a/pkgs/development/python-modules/meliae/default.nix b/pkgs/development/python-modules/meliae/default.nix
index 9fa46ce6863d..ec6c15b25012 100644
--- a/pkgs/development/python-modules/meliae/default.nix
+++ b/pkgs/development/python-modules/meliae/default.nix
@@ -8,11 +8,15 @@
 
 buildPythonPackage rec {
   pname = "meliae";
-  version = "0.4.0.final.0";
+  version = "0.4.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
-    inherit pname version;
+    inherit pname;
+    # FIXME when updating to the next version: The tarball on pypi is called
+    # "meliae-0.4.0.tar.gz" while the version within that tarball is
+    # "0.4.0.final.0".
+    version = "0.4.0";
     sha256 = "976519ab02aaa6a8fb5f596dc4dd9f64fc9510b00e054979566e51c9be7cec99";
   };
 
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
index 7e54240941d6..fcbca62ff9df 100644
--- a/pkgs/development/python-modules/mpi4py/default.nix
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -1,35 +1,19 @@
-{ stdenv, fetchPypi, python, buildPythonPackage, mpi, openssh, isPy3k, isPyPy }:
+{ stdenv, fetchPypi, python, buildPythonPackage, mpi }:
 
 buildPythonPackage rec {
   pname = "mpi4py";
-  version = "2.0.0";
+  version = "3.0.0";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "10fb01595rg17ycz08a23v24akm25d13srsy2rnixam7a5ca0hv5";
+    sha256 = "1mzgd26dfv4vwbci8gq77ss9f0x26i9aqzq9b9vs9ndxhlnv0mxl";
   };
 
   passthru = {
     inherit mpi;
   };
 
-  # Rename libm.so -> libm.so.6 in test
-  # See: https://bitbucket.org/mpi4py/mpi4py/issues/28/test_dltestdl-test-failure
-  patches = [
-    ./tests.patch
-  ];
-
-  # The tests in the `test_spawn` module fail in the chroot build environment.
-  # However, they do pass in a pure, or non-pure nix-shell. Hence, we
-  # deactivate these particular tests.
-  # Unfortunately, the command-line arguments to `./setup.py test` are not
-  # correctly passed to the test-runner. Hence, these arguments are patched
-  # directly into `setup.py`.
-  prePatch = ''
-    sed 's/err = main(cmd.args or \[\])/err = main(cmd.args or ["-v", "-e", "test_spawn"])/' -i setup.py
-  '';
-
   configurePhase = "";
 
   installPhase = ''
@@ -49,14 +33,6 @@ buildPythonPackage rec {
   setupPyBuildFlags = ["--mpicc=${mpi}/bin/mpicc"];
 
   buildInputs = [ mpi ];
-  # Requires openssh for tests. Tests of dependent packages will also fail,
-  # if openssh is not present. E.g. h5py with mpi support.
-  propagatedBuildInputs = [ openssh ];
-
-  disabled = isPy3k || isPyPy;
-
-  # Timing out communicating between processes when sandboxing enabled.
-  doCheck = false;
 
   meta = {
     description =
diff --git a/pkgs/development/python-modules/mplleaflet/default.nix b/pkgs/development/python-modules/mplleaflet/default.nix
index 29984eed9e90..85a5d1f36222 100644
--- a/pkgs/development/python-modules/mplleaflet/default.nix
+++ b/pkgs/development/python-modules/mplleaflet/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Convert Matplotlib plots into Leaflet web maps";
-    homepage = http://github.com/jwass/mplleaflet;
+    homepage = https://github.com/jwass/mplleaflet;
     license = with lib.licenses; [ bsd3 ];
   };
 }
diff --git a/pkgs/development/python-modules/mpyq/default.nix b/pkgs/development/python-modules/mpyq/default.nix
new file mode 100644
index 000000000000..2be1c34c01c8
--- /dev/null
+++ b/pkgs/development/python-modules/mpyq/default.nix
@@ -0,0 +1,22 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "mpyq";
+  version = "0.2.5";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "01q0xh2fy3zzsrfr45d2ypj4whs7s060cy1rnprg6sg55fbgbaih";
+  };
+
+  meta = {
+    description = "A Python library for extracting MPQ (MoPaQ) files.";
+    homepage = "https://github.com/eagleflo/mpyq";
+    license = lib.licenses.bsd2;
+    maintainers = with lib.maintainers; [ danharaj ];
+  };
+}
diff --git a/pkgs/development/python-modules/multidict/default.nix b/pkgs/development/python-modules/multidict/default.nix
index 8d9340625e1c..614157542b16 100644
--- a/pkgs/development/python-modules/multidict/default.nix
+++ b/pkgs/development/python-modules/multidict/default.nix
@@ -8,13 +8,13 @@
 
 let
   pname = "multidict";
-  version = "3.3.0";
+  version = "3.3.2";
 in buildPythonPackage rec {
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "mirror://pypi/${builtins.substring 0 1 pname}/${pname}/${name}.tar.gz";
-    sha256 = "e76909da2fad6966281d4e0e4ccfd3c3025699ebcc30806afa09fa1384c3532b";
+    sha256 = "f82e61c7408ed0dce1862100db55595481911f159d6ddec0b375d35b6449509b";
   };
 
   buildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/multipledispatch/default.nix b/pkgs/development/python-modules/multipledispatch/default.nix
index d1c392106077..73d0f5a2dbe3 100644
--- a/pkgs/development/python-modules/multipledispatch/default.nix
+++ b/pkgs/development/python-modules/multipledispatch/default.nix
@@ -17,7 +17,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = {
-    homepage = http://github.com/mrocklin/multipledispatch/;
+    homepage = https://github.com/mrocklin/multipledispatch/;
     description = "A relatively sane approach to multiple dispatch in Python";
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ fridh ];
diff --git a/pkgs/development/python-modules/natsort/default.nix b/pkgs/development/python-modules/natsort/default.nix
index bd48ad2559c1..7041768c2097 100644
--- a/pkgs/development/python-modules/natsort/default.nix
+++ b/pkgs/development/python-modules/natsort/default.nix
@@ -1,6 +1,8 @@
 { lib
 , buildPythonPackage
 , pythonOlder
+, isPy35
+, isPy36
 , fetchPypi
 , hypothesis
 , pytestcache
@@ -38,7 +40,8 @@ buildPythonPackage rec {
   };
 
   # do not run checks on nix_run_setup.py
-  patches = [ ./setup.patch ];
+  patches = lib.singleton ./setup.patch
+         ++ lib.optional (isPy35 || isPy36) ./python-3.6.3-test-failures.patch;
 
   # testing based on project's tox.ini
   checkPhase = ''
diff --git a/pkgs/development/python-modules/natsort/python-3.6.3-test-failures.patch b/pkgs/development/python-modules/natsort/python-3.6.3-test-failures.patch
new file mode 100644
index 000000000000..b304a1d11e52
--- /dev/null
+++ b/pkgs/development/python-modules/natsort/python-3.6.3-test-failures.patch
@@ -0,0 +1,37 @@
+diff --git a/test_natsort/test_string_component_transform_factory.py b/test_natsort/test_string_component_transform_factory.py
+index 6790e51..8db4efb 100644
+--- a/test_natsort/test_string_component_transform_factory.py
++++ b/test_natsort/test_string_component_transform_factory.py
+@@ -24,6 +24,8 @@ from hypothesis.strategies import (
+ )
+ from compat.locale import bad_uni_chars
+ 
++import pytest
++
+ 
+ # Each test has an "example" version for demonstrative purposes,
+ # and a test that uses the hypothesis module.
+@@ -77,6 +79,7 @@ def test_string_component_transform_factory_with_LOCALE_returns_fast_int_and_gro
+     assert _string_component_transform_factory(ns.LOCALE)(x) == fast_int(x, key=get_strxfrm())
+ 
+ 
++@pytest.mark.xfail
+ @given(text())
+ def test_string_component_transform_factory_with_LOCALE_returns_fast_int_and_groupletters(x):
+     assume(x)
+@@ -89,6 +92,7 @@ def test_string_component_transform_factory_with_LOCALE_and_GROUPLETTERS_returns
+     assert _string_component_transform_factory(ns.GROUPLETTERS | ns.LOCALE)(x) == fast_int(x, key=lambda x: get_strxfrm()(_groupletters(x)))
+ 
+ 
++@pytest.mark.xfail
+ @given(text())
+ def test_string_component_transform_factory_with_LOCALE_and_GROUPLETTERS_returns_fast_int_and_groupletters_and_locale_convert(x):
+     assume(x)
+@@ -104,6 +108,7 @@ def test_string_component_transform_factory_with_LOCALE_and_DUMB_returns_fast_in
+     assert _string_component_transform_factory(ns._DUMB | ns.LOCALE)(x) == fast_int(x, key=lambda x: get_strxfrm()(_groupletters(x)))
+ 
+ 
++@pytest.mark.xfail
+ @given(text())
+ def test_string_component_transform_factory_with_LOCALE_and_DUMB_returns_fast_int_and_groupletters_and_locale_convert(x):
+     assume(x)
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index d04e5c5eccbd..c0b8b90bd089 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -39,7 +39,7 @@ buildPythonPackage rec {
 
   checkPhase = ''
     mkdir tmp
-    LC_ALL=en_US.utf8 HOME=`realpath tmp` py.test -v
+    LC_ALL=en_US.UTF-8 HOME=`realpath tmp` py.test -v
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/netcdf4/default.nix b/pkgs/development/python-modules/netcdf4/default.nix
index 0ef864d33e26..67df4403f980 100644
--- a/pkgs/development/python-modules/netcdf4/default.nix
+++ b/pkgs/development/python-modules/netcdf4/default.nix
@@ -4,13 +4,13 @@
 buildPythonPackage rec {
   pname = "netCDF4";
   name = "${pname}-${version}";
-  version = "1.3.0";
+  version = "1.3.1";
 
   disabled = isPyPy;
 
   src = fetchurl {
     url = "mirror://pypi/n/netCDF4/${name}.tar.gz";
-    sha256 = "1982372aeacc6b36054d90d8cb54ee9506b66b6f44d5cff10e2ffb162aad5476";
+    sha256 = "570ea59992aa6d98a9b672c71161d11ba5683f787da53446086077470a869957";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/nltk.nix b/pkgs/development/python-modules/nltk/default.nix
index d30e030a0498..d30e030a0498 100644
--- a/pkgs/development/python-modules/nltk.nix
+++ b/pkgs/development/python-modules/nltk/default.nix
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index c30e6e5e77d6..2a23ff4de78c 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -22,12 +22,12 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "5.2.0";
+  version = "5.2.1";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1sh3jkkmjzv17c3r8ii3kfhpxi6dkjk846b2lfy71g9qwqdcvbvz";
+    sha256 = "4ae5b81dd39b37cdd99dcffe83a5182c849947b92d46ac4d2b5093af2bb9f224";
   };
 
   LC_ALL = "en_US.utf8";
diff --git a/pkgs/development/python-modules/path.py/default.nix b/pkgs/development/python-modules/path.py/default.nix
index cf5c5ee06cd4..3178b217a00a 100644
--- a/pkgs/development/python-modules/path.py/default.nix
+++ b/pkgs/development/python-modules/path.py/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "A module wrapper for os.path";
-    homepage = http://github.com/jaraco/path.py;
+    homepage = https://github.com/jaraco/path.py;
     license = lib.licenses.mit;
   };
 
diff --git a/pkgs/development/python-modules/pelican-fix-tests-with-pygments-2.1.patch b/pkgs/development/python-modules/pelican-fix-tests-with-pygments-2.1.patch
deleted file mode 100644
index 4568b8b94481..000000000000
--- a/pkgs/development/python-modules/pelican-fix-tests-with-pygments-2.1.patch
+++ /dev/null
@@ -1,318 +0,0 @@
-diff --git a/pelican/tests/output/basic/feeds/all-en.atom.xml b/pelican/tests/output/basic/feeds/all-en.atom.xml
-index 3ce41d7..3cf97a8 100644
---- a/pelican/tests/output/basic/feeds/all-en.atom.xml
-+++ b/pelican/tests/output/basic/feeds/all-en.atom.xml
-@@ -42,7 +42,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-@@ -58,4 +58,4 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- </summary></entry><entry><title>The baz tag</title><link href="/tag/baz.html" rel="alternate"></link><updated>2010-03-14T00:00:00+00:00</updated><author><name></name></author><id>tag:,2010-03-14:tag/baz.html</id><summary type="html">&lt;p&gt;This article overrides the listening of the articles under the &lt;em&gt;baz&lt;/em&gt; tag.&lt;/p&gt;
--</summary></entry></feed>
-+</summary></entry></feed>
-\ No newline at end of file
-diff --git a/pelican/tests/output/basic/feeds/all.atom.xml b/pelican/tests/output/basic/feeds/all.atom.xml
-index 3a9478a..24d31a9 100644
---- a/pelican/tests/output/basic/feeds/all.atom.xml
-+++ b/pelican/tests/output/basic/feeds/all.atom.xml
-@@ -43,7 +43,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-@@ -59,4 +59,4 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- </summary></entry><entry><title>The baz tag</title><link href="/tag/baz.html" rel="alternate"></link><updated>2010-03-14T00:00:00+00:00</updated><author><name></name></author><id>tag:,2010-03-14:tag/baz.html</id><summary type="html">&lt;p&gt;This article overrides the listening of the articles under the &lt;em&gt;baz&lt;/em&gt; tag.&lt;/p&gt;
--</summary></entry></feed>
-+</summary></entry></feed>
-\ No newline at end of file
-diff --git a/pelican/tests/output/basic/feeds/misc.atom.xml b/pelican/tests/output/basic/feeds/misc.atom.xml
-index a9b5977..4ad7008 100644
---- a/pelican/tests/output/basic/feeds/misc.atom.xml
-+++ b/pelican/tests/output/basic/feeds/misc.atom.xml
-@@ -19,7 +19,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-@@ -35,4 +35,4 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- </summary></entry><entry><title>The baz tag</title><link href="/tag/baz.html" rel="alternate"></link><updated>2010-03-14T00:00:00+00:00</updated><author><name></name></author><id>tag:,2010-03-14:tag/baz.html</id><summary type="html">&lt;p&gt;This article overrides the listening of the articles under the &lt;em&gt;baz&lt;/em&gt; tag.&lt;/p&gt;
--</summary></entry></feed>
-+</summary></entry></feed>
-\ No newline at end of file
-diff --git a/pelican/tests/output/basic/unbelievable.html b/pelican/tests/output/basic/unbelievable.html
-index dfb0c54..b7f8a7e 100644
---- a/pelican/tests/output/basic/unbelievable.html
-+++ b/pelican/tests/output/basic/unbelievable.html
-@@ -38,7 +38,7 @@
-                 Published: Fri 15 October 2010
-         </abbr>
- 
--<p>In <a href="/category/misc.html">misc</a>. </p>
-+<p>In <a href="/category/misc.html">misc</a>.</p>
- 
- </footer><!-- /.post-info -->      <p>Or completely awesome. Depends the needs.</p>
- <p><a class="reference external" href="/a-markdown-powered-article.html">a root-relative link to markdown-article</a>
-@@ -58,7 +58,7 @@ pelican.conf, it will have nothing in default.</p>
- </div>
- <div class="section" id="testing-more-sourcecode-directives">
- <h2>Testing more sourcecode directives</h2>
--<div class="highlight"><pre><span id="foo-8"><a name="foo-8"></a><span class="lineno special"> 8</span> <span class="testingk">def</span> <span class="testingnf">run</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingp">):</span><br></span><span id="foo-9"><a name="foo-9"></a><span class="lineno">  </span>     <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">assert_has_content</span><span class="testingp">()</span><br></span><span id="foo-10"><a name="foo-10"></a><span class="lineno special">10</span>     <span class="testingk">try</span><span class="testingp">:</span><br></span><span id="foo-11"><a name="foo-11"></a><span class="lineno">  </span>         <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">get_lexer_by_name</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">arguments</span><span class="testingp">[</span><span class="testingmi">0</span><span class="testingp">])</span><br></span><span id="foo-12"><a name="foo-12"></a><span class="lineno special">12</span>     <span class="testingk">except</span> <span class="testingne">ValueError</span><span class="testingp">:</span><br></span><span id="foo-13"><a name="foo-13"></a><span class="lineno">  </span>         <span class="testingc"># no lexer found - use the text one instead of an exception</span><br></span><span id="foo-14"><a name="foo-14"></a><span class="lineno special">14</span>         <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">TextLexer</span><span class="testingp">()</span><br></span><span id="foo-15"><a name="foo-15"></a><span class="lineno">  </span> <br></span><span id="foo-16"><a name="foo-16"></a><span class="lineno special">16</span>     <span class="testingk">if</span> <span class="testingp">(</span><span class="testings">&#39;linenos&#39;</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span> <span class="testingow">and</span><br></span><span id="foo-17"><a name="foo-17"></a><span class="lineno">  </span>             <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingow">not</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings">&#39;table&#39;</span><span class="testingp">,</span> <span class="testings">&#39;inline&#39;</span><span class="testingp">)):</span><br></span><span id="foo-18"><a name="foo-18"></a><span class="lineno special">18</span>         <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testings">&#39;table&#39;</span><br></span><span id="foo-19"><a name="foo-19"></a><span class="lineno">  </span> <br></span><span id="foo-20"><a name="foo-20"></a><span class="lineno special">20</span>     <span class="testingk">for</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings">&#39;nowrap&#39;</span><span class="testingp">,</span> <span class="testings">&#39;nobackground&#39;</span><span class="testingp">,</span> <span class="testings">&#39;anchorlinenos&#39;</span><span class="testingp">):</span><br></span><span id="foo-21"><a name="foo-21"></a><span class="lineno">  </span>         <span class="testingk">if</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">:</span><br></span><span id="foo-22"><a name="foo-22"></a><span class="lineno special">22</span>             <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testingn">flag</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testingbp">True</span><br></span><span id="foo-23"><a name="foo-23"></a><span class="lineno">  </span> <br></span><span id="foo-24"><a name="foo-24"></a><span class="lineno special">24</span>     <span class="testingc"># noclasses should already default to False, but just in case...</span><br></span><span id="foo-25"><a name="foo-25"></a><span class="lineno">  </span>     <span class="testingn">formatter</span> <span class="testingo">=</span> <span class="testingn">HtmlFormatter</span><span class="testingp">(</span><span class="testingn">noclasses</span><span class="testingo">=</span><span class="testingbp">False</span><span class="testingp">,</span> <span class="testingo">**</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">)</span><br></span><span id="foo-26"><a name="foo-26"></a><span class="lineno special">26</span>     <span class="testingn">parsed</span> <span class="testingo">=</span> <span class="testingn">highlight</span><span class="testingp">(</span><span class="testings">&#39;</span><span class="testingse">\n</span><span class="testings">&#39;</span><span class="testingo">.</span><span class="testingn">join</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">content</span><span class="testingp">),</span> <span class="testingn">lexer</span><span class="testingp">,</span> <span class="testingn">formatter</span><span class="testingp">)</span><br></span><span id="foo-27"><a name="foo-27"></a><span class="lineno">  </span>     <span class="testingk">return</span> <span class="testingp">[</span><span class="testingn">nodes</span><span class="testingo">.</span><span class="testingn">raw</span><span class="testingp">(</span><span class="testings">&#39;&#39;</span><span class="testingp">,</span> <span class="testingn">parsed</span><span class="testingp">,</span> <span class="testingn">format</span><span class="testingo">=</span><span class="testings">&#39;html&#39;</span><span class="testingp">)]</span><br></span></pre></div>
-+<div class="highlight"><pre><span id="foo-8"><a name="foo-8"></a><span class="lineno special"> 8 </span><span class="testingk">def</span> <span class="testingnf">run</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingp">):</span><br></span><span id="foo-9"><a name="foo-9"></a><span class="lineno">   </span>    <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">assert_has_content</span><span class="testingp">()</span><br></span><span id="foo-10"><a name="foo-10"></a><span class="lineno special">10 </span>    <span class="testingk">try</span><span class="testingp">:</span><br></span><span id="foo-11"><a name="foo-11"></a><span class="lineno">   </span>        <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">get_lexer_by_name</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">arguments</span><span class="testingp">[</span><span class="testingmi">0</span><span class="testingp">])</span><br></span><span id="foo-12"><a name="foo-12"></a><span class="lineno special">12 </span>    <span class="testingk">except</span> <span class="testingne">ValueError</span><span class="testingp">:</span><br></span><span id="foo-13"><a name="foo-13"></a><span class="lineno">   </span>        <span class="testingc1"># no lexer found - use the text one instead of an exception</span><br></span><span id="foo-14"><a name="foo-14"></a><span class="lineno special">14 </span>        <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">TextLexer</span><span class="testingp">()</span><br></span><span id="foo-15"><a name="foo-15"></a><span class="lineno">   </span><br></span><span id="foo-16"><a name="foo-16"></a><span class="lineno special">16 </span>    <span class="testingk">if</span> <span class="testingp">(</span><span class="testings1">&#39;linenos&#39;</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span> <span class="testingow">and</span><br></span><span id="foo-17"><a name="foo-17"></a><span class="lineno">   </span>            <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings1">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingow">not</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings1">&#39;table&#39;</span><span class="testingp">,</span> <span class="testings1">&#39;inline&#39;</span><span class="testingp">)):</span><br></span><span id="foo-18"><a name="foo-18"></a><span class="lineno special">18 </span>        <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings1">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testings1">&#39;table&#39;</span><br></span><span id="foo-19"><a name="foo-19"></a><span class="lineno">   </span><br></span><span id="foo-20"><a name="foo-20"></a><span class="lineno special">20 </span>    <span class="testingk">for</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings1">&#39;nowrap&#39;</span><span class="testingp">,</span> <span class="testings1">&#39;nobackground&#39;</span><span class="testingp">,</span> <span class="testings1">&#39;anchorlinenos&#39;</span><span class="testingp">):</span><br></span><span id="foo-21"><a name="foo-21"></a><span class="lineno">   </span>        <span class="testingk">if</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">:</span><br></span><span id="foo-22"><a name="foo-22"></a><span class="lineno special">22 </span>            <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testingn">flag</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testingbp">True</span><br></span><span id="foo-23"><a name="foo-23"></a><span class="lineno">   </span><br></span><span id="foo-24"><a name="foo-24"></a><span class="lineno special">24 </span>    <span class="testingc1"># noclasses should already default to False, but just in case...</span><br></span><span id="foo-25"><a name="foo-25"></a><span class="lineno">   </span>    <span class="testingn">formatter</span> <span class="testingo">=</span> <span class="testingn">HtmlFormatter</span><span class="testingp">(</span><span class="testingn">noclasses</span><span class="testingo">=</span><span class="testingbp">False</span><span class="testingp">,</span> <span class="testingo">**</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">)</span><br></span><span id="foo-26"><a name="foo-26"></a><span class="lineno special">26 </span>    <span class="testingn">parsed</span> <span class="testingo">=</span> <span class="testingn">highlight</span><span class="testingp">(</span><span class="testings1">&#39;</span><span class="testingse">\n</span><span class="testings1">&#39;</span><span class="testingo">.</span><span class="testingn">join</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">content</span><span class="testingp">),</span> <span class="testingn">lexer</span><span class="testingp">,</span> <span class="testingn">formatter</span><span class="testingp">)</span><br></span><span id="foo-27"><a name="foo-27"></a><span class="lineno">   </span>    <span class="testingk">return</span> <span class="testingp">[</span><span class="testingn">nodes</span><span class="testingo">.</span><span class="testingn">raw</span><span class="testingp">(</span><span class="testings1">&#39;&#39;</span><span class="testingp">,</span> <span class="testingn">parsed</span><span class="testingp">,</span> <span class="testingn">format</span><span class="testingo">=</span><span class="testings1">&#39;html&#39;</span><span class="testingp">)]</span><br></span></pre></div>
- <p>Lovely.</p>
- </div>
- <div class="section" id="testing-even-more-sourcecode-directives">
-@@ -97,4 +97,4 @@ pelican.conf, it will have nothing in default.</p>
-         </footer><!-- /#contentinfo -->
- 
- </body>
--</html>
-+</html>
-\ No newline at end of file
-diff --git a/pelican/tests/output/custom/feeds/alexis-metaireau.atom.xml b/pelican/tests/output/custom/feeds/alexis-metaireau.atom.xml
-index cb74637..987f987 100644
---- a/pelican/tests/output/custom/feeds/alexis-metaireau.atom.xml
-+++ b/pelican/tests/output/custom/feeds/alexis-metaireau.atom.xml
-@@ -42,7 +42,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom/feeds/alexis-metaireau.rss.xml b/pelican/tests/output/custom/feeds/alexis-metaireau.rss.xml
-index 2c4b116..89082ee 100644
---- a/pelican/tests/output/custom/feeds/alexis-metaireau.rss.xml
-+++ b/pelican/tests/output/custom/feeds/alexis-metaireau.rss.xml
-@@ -42,7 +42,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom/feeds/all-en.atom.xml b/pelican/tests/output/custom/feeds/all-en.atom.xml
-index 3574ab4..75b6333 100644
---- a/pelican/tests/output/custom/feeds/all-en.atom.xml
-+++ b/pelican/tests/output/custom/feeds/all-en.atom.xml
-@@ -42,7 +42,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom/feeds/all.atom.xml b/pelican/tests/output/custom/feeds/all.atom.xml
-index 391ab85..efb43cd 100644
---- a/pelican/tests/output/custom/feeds/all.atom.xml
-+++ b/pelican/tests/output/custom/feeds/all.atom.xml
-@@ -44,7 +44,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom/feeds/all.rss.xml b/pelican/tests/output/custom/feeds/all.rss.xml
-index a78d2de..548b16c 100644
---- a/pelican/tests/output/custom/feeds/all.rss.xml
-+++ b/pelican/tests/output/custom/feeds/all.rss.xml
-@@ -44,7 +44,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom/feeds/misc.atom.xml b/pelican/tests/output/custom/feeds/misc.atom.xml
-index 91d6b28..dbab63c 100644
---- a/pelican/tests/output/custom/feeds/misc.atom.xml
-+++ b/pelican/tests/output/custom/feeds/misc.atom.xml
-@@ -19,7 +19,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom/feeds/misc.rss.xml b/pelican/tests/output/custom/feeds/misc.rss.xml
-index 3493d2a..2d13bda 100644
---- a/pelican/tests/output/custom/feeds/misc.rss.xml
-+++ b/pelican/tests/output/custom/feeds/misc.rss.xml
-@@ -19,7 +19,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom/unbelievable.html b/pelican/tests/output/custom/unbelievable.html
-index 2e51cf0..b6d2136 100644
---- a/pelican/tests/output/custom/unbelievable.html
-+++ b/pelican/tests/output/custom/unbelievable.html
-@@ -43,9 +43,9 @@
-         </abbr>
- 
-         <address class="vcard author">
--                By <a class="url fn" href="./author/alexis-metaireau.html">Alexis Métaireau</a>
-+                By                         <a class="url fn" href="./author/alexis-metaireau.html">Alexis Métaireau</a>
-         </address>
--<p>In <a href="./category/misc.html">misc</a>. </p>
-+<p>In <a href="./category/misc.html">misc</a>.</p>
- 
- </footer><!-- /.post-info -->      <p>Or completely awesome. Depends the needs.</p>
- <p><a class="reference external" href="./a-markdown-powered-article.html">a root-relative link to markdown-article</a>
-@@ -65,7 +65,7 @@ pelican.conf, it will have nothing in default.</p>
- </div>
- <div class="section" id="testing-more-sourcecode-directives">
- <h2>Testing more sourcecode directives</h2>
--<div class="highlight"><pre><span id="foo-8"><a name="foo-8"></a><span class="lineno special"> 8</span> <span class="testingk">def</span> <span class="testingnf">run</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingp">):</span><br></span><span id="foo-9"><a name="foo-9"></a><span class="lineno">  </span>     <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">assert_has_content</span><span class="testingp">()</span><br></span><span id="foo-10"><a name="foo-10"></a><span class="lineno special">10</span>     <span class="testingk">try</span><span class="testingp">:</span><br></span><span id="foo-11"><a name="foo-11"></a><span class="lineno">  </span>         <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">get_lexer_by_name</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">arguments</span><span class="testingp">[</span><span class="testingmi">0</span><span class="testingp">])</span><br></span><span id="foo-12"><a name="foo-12"></a><span class="lineno special">12</span>     <span class="testingk">except</span> <span class="testingne">ValueError</span><span class="testingp">:</span><br></span><span id="foo-13"><a name="foo-13"></a><span class="lineno">  </span>         <span class="testingc"># no lexer found - use the text one instead of an exception</span><br></span><span id="foo-14"><a name="foo-14"></a><span class="lineno special">14</span>         <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">TextLexer</span><span class="testingp">()</span><br></span><span id="foo-15"><a name="foo-15"></a><span class="lineno">  </span> <br></span><span id="foo-16"><a name="foo-16"></a><span class="lineno special">16</span>     <span class="testingk">if</span> <span class="testingp">(</span><span class="testings">&#39;linenos&#39;</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span> <span class="testingow">and</span><br></span><span id="foo-17"><a name="foo-17"></a><span class="lineno">  </span>             <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingow">not</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings">&#39;table&#39;</span><span class="testingp">,</span> <span class="testings">&#39;inline&#39;</span><span class="testingp">)):</span><br></span><span id="foo-18"><a name="foo-18"></a><span class="lineno special">18</span>         <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testings">&#39;table&#39;</span><br></span><span id="foo-19"><a name="foo-19"></a><span class="lineno">  </span> <br></span><span id="foo-20"><a name="foo-20"></a><span class="lineno special">20</span>     <span class="testingk">for</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings">&#39;nowrap&#39;</span><span class="testingp">,</span> <span class="testings">&#39;nobackground&#39;</span><span class="testingp">,</span> <span class="testings">&#39;anchorlinenos&#39;</span><span class="testingp">):</span><br></span><span id="foo-21"><a name="foo-21"></a><span class="lineno">  </span>         <span class="testingk">if</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">:</span><br></span><span id="foo-22"><a name="foo-22"></a><span class="lineno special">22</span>             <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testingn">flag</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testingbp">True</span><br></span><span id="foo-23"><a name="foo-23"></a><span class="lineno">  </span> <br></span><span id="foo-24"><a name="foo-24"></a><span class="lineno special">24</span>     <span class="testingc"># noclasses should already default to False, but just in case...</span><br></span><span id="foo-25"><a name="foo-25"></a><span class="lineno">  </span>     <span class="testingn">formatter</span> <span class="testingo">=</span> <span class="testingn">HtmlFormatter</span><span class="testingp">(</span><span class="testingn">noclasses</span><span class="testingo">=</span><span class="testingbp">False</span><span class="testingp">,</span> <span class="testingo">**</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">)</span><br></span><span id="foo-26"><a name="foo-26"></a><span class="lineno special">26</span>     <span class="testingn">parsed</span> <span class="testingo">=</span> <span class="testingn">highlight</span><span class="testingp">(</span><span class="testings">&#39;</span><span class="testingse">\n</span><span class="testings">&#39;</span><span class="testingo">.</span><span class="testingn">join</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">content</span><span class="testingp">),</span> <span class="testingn">lexer</span><span class="testingp">,</span> <span class="testingn">formatter</span><span class="testingp">)</span><br></span><span id="foo-27"><a name="foo-27"></a><span class="lineno">  </span>     <span class="testingk">return</span> <span class="testingp">[</span><span class="testingn">nodes</span><span class="testingo">.</span><span class="testingn">raw</span><span class="testingp">(</span><span class="testings">&#39;&#39;</span><span class="testingp">,</span> <span class="testingn">parsed</span><span class="testingp">,</span> <span class="testingn">format</span><span class="testingo">=</span><span class="testings">&#39;html&#39;</span><span class="testingp">)]</span><br></span></pre></div>
-+<div class="highlight"><pre><span id="foo-8"><a name="foo-8"></a><span class="lineno special"> 8 </span><span class="testingk">def</span> <span class="testingnf">run</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingp">):</span><br></span><span id="foo-9"><a name="foo-9"></a><span class="lineno">   </span>    <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">assert_has_content</span><span class="testingp">()</span><br></span><span id="foo-10"><a name="foo-10"></a><span class="lineno special">10 </span>    <span class="testingk">try</span><span class="testingp">:</span><br></span><span id="foo-11"><a name="foo-11"></a><span class="lineno">   </span>        <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">get_lexer_by_name</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">arguments</span><span class="testingp">[</span><span class="testingmi">0</span><span class="testingp">])</span><br></span><span id="foo-12"><a name="foo-12"></a><span class="lineno special">12 </span>    <span class="testingk">except</span> <span class="testingne">ValueError</span><span class="testingp">:</span><br></span><span id="foo-13"><a name="foo-13"></a><span class="lineno">   </span>        <span class="testingc1"># no lexer found - use the text one instead of an exception</span><br></span><span id="foo-14"><a name="foo-14"></a><span class="lineno special">14 </span>        <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">TextLexer</span><span class="testingp">()</span><br></span><span id="foo-15"><a name="foo-15"></a><span class="lineno">   </span><br></span><span id="foo-16"><a name="foo-16"></a><span class="lineno special">16 </span>    <span class="testingk">if</span> <span class="testingp">(</span><span class="testings1">&#39;linenos&#39;</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span> <span class="testingow">and</span><br></span><span id="foo-17"><a name="foo-17"></a><span class="lineno">   </span>            <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings1">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingow">not</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings1">&#39;table&#39;</span><span class="testingp">,</span> <span class="testings1">&#39;inline&#39;</span><span class="testingp">)):</span><br></span><span id="foo-18"><a name="foo-18"></a><span class="lineno special">18 </span>        <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings1">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testings1">&#39;table&#39;</span><br></span><span id="foo-19"><a name="foo-19"></a><span class="lineno">   </span><br></span><span id="foo-20"><a name="foo-20"></a><span class="lineno special">20 </span>    <span class="testingk">for</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings1">&#39;nowrap&#39;</span><span class="testingp">,</span> <span class="testings1">&#39;nobackground&#39;</span><span class="testingp">,</span> <span class="testings1">&#39;anchorlinenos&#39;</span><span class="testingp">):</span><br></span><span id="foo-21"><a name="foo-21"></a><span class="lineno">   </span>        <span class="testingk">if</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">:</span><br></span><span id="foo-22"><a name="foo-22"></a><span class="lineno special">22 </span>            <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testingn">flag</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testingbp">True</span><br></span><span id="foo-23"><a name="foo-23"></a><span class="lineno">   </span><br></span><span id="foo-24"><a name="foo-24"></a><span class="lineno special">24 </span>    <span class="testingc1"># noclasses should already default to False, but just in case...</span><br></span><span id="foo-25"><a name="foo-25"></a><span class="lineno">   </span>    <span class="testingn">formatter</span> <span class="testingo">=</span> <span class="testingn">HtmlFormatter</span><span class="testingp">(</span><span class="testingn">noclasses</span><span class="testingo">=</span><span class="testingbp">False</span><span class="testingp">,</span> <span class="testingo">**</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">)</span><br></span><span id="foo-26"><a name="foo-26"></a><span class="lineno special">26 </span>    <span class="testingn">parsed</span> <span class="testingo">=</span> <span class="testingn">highlight</span><span class="testingp">(</span><span class="testings1">&#39;</span><span class="testingse">\n</span><span class="testings1">&#39;</span><span class="testingo">.</span><span class="testingn">join</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">content</span><span class="testingp">),</span> <span class="testingn">lexer</span><span class="testingp">,</span> <span class="testingn">formatter</span><span class="testingp">)</span><br></span><span id="foo-27"><a name="foo-27"></a><span class="lineno">   </span>    <span class="testingk">return</span> <span class="testingp">[</span><span class="testingn">nodes</span><span class="testingo">.</span><span class="testingn">raw</span><span class="testingp">(</span><span class="testings1">&#39;&#39;</span><span class="testingp">,</span> <span class="testingn">parsed</span><span class="testingp">,</span> <span class="testingn">format</span><span class="testingo">=</span><span class="testings1">&#39;html&#39;</span><span class="testingp">)]</span><br></span></pre></div>
- <p>Lovely.</p>
- </div>
- <div class="section" id="testing-even-more-sourcecode-directives">
-diff --git a/pelican/tests/output/custom_locale/feeds/alexis-metaireau.atom.xml b/pelican/tests/output/custom_locale/feeds/alexis-metaireau.atom.xml
-index 8fb3ef6..2090087 100644
---- a/pelican/tests/output/custom_locale/feeds/alexis-metaireau.atom.xml
-+++ b/pelican/tests/output/custom_locale/feeds/alexis-metaireau.atom.xml
-@@ -42,7 +42,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom_locale/feeds/alexis-metaireau.rss.xml b/pelican/tests/output/custom_locale/feeds/alexis-metaireau.rss.xml
-index 99255ee..00944ce 100644
---- a/pelican/tests/output/custom_locale/feeds/alexis-metaireau.rss.xml
-+++ b/pelican/tests/output/custom_locale/feeds/alexis-metaireau.rss.xml
-@@ -42,7 +42,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom_locale/feeds/all-en.atom.xml b/pelican/tests/output/custom_locale/feeds/all-en.atom.xml
-index 6b2f09b..297558d 100644
---- a/pelican/tests/output/custom_locale/feeds/all-en.atom.xml
-+++ b/pelican/tests/output/custom_locale/feeds/all-en.atom.xml
-@@ -42,7 +42,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom_locale/feeds/all.atom.xml b/pelican/tests/output/custom_locale/feeds/all.atom.xml
-index 5ef59e0..78da527 100644
---- a/pelican/tests/output/custom_locale/feeds/all.atom.xml
-+++ b/pelican/tests/output/custom_locale/feeds/all.atom.xml
-@@ -44,7 +44,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom_locale/feeds/all.rss.xml b/pelican/tests/output/custom_locale/feeds/all.rss.xml
-index 071e2f1..84fd5df 100644
---- a/pelican/tests/output/custom_locale/feeds/all.rss.xml
-+++ b/pelican/tests/output/custom_locale/feeds/all.rss.xml
-@@ -44,7 +44,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom_locale/feeds/misc.atom.xml b/pelican/tests/output/custom_locale/feeds/misc.atom.xml
-index c91d4d7..fde02e6 100644
---- a/pelican/tests/output/custom_locale/feeds/misc.atom.xml
-+++ b/pelican/tests/output/custom_locale/feeds/misc.atom.xml
-@@ -19,7 +19,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom_locale/feeds/misc.rss.xml b/pelican/tests/output/custom_locale/feeds/misc.rss.xml
-index 82b5898..bd727bb 100644
---- a/pelican/tests/output/custom_locale/feeds/misc.rss.xml
-+++ b/pelican/tests/output/custom_locale/feeds/misc.rss.xml
-@@ -19,7 +19,7 @@ pelican.conf, it will have nothing in default.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-more-sourcecode-directives"&gt;
- &lt;h2&gt;Testing more sourcecode directives&lt;/h2&gt;
--&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8&lt;/span&gt; &lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10&lt;/span&gt;     &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12&lt;/span&gt;     &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingc"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14&lt;/span&gt;         &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16&lt;/span&gt;     &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18&lt;/span&gt;         &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20&lt;/span&gt;     &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;         &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22&lt;/span&gt;             &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt; &lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24&lt;/span&gt;     &lt;span class="testingc"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26&lt;/span&gt;     &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;  &lt;/span&gt;     &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
-+&lt;div class="highlight"&gt;&lt;pre&gt;&lt;span id="foo-8"&gt;&lt;a name="foo-8"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt; 8 &lt;/span&gt;&lt;span class="testingk"&gt;def&lt;/span&gt; &lt;span class="testingnf"&gt;run&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-9"&gt;&lt;a name="foo-9"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;assert_has_content&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-10"&gt;&lt;a name="foo-10"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;10 &lt;/span&gt;    &lt;span class="testingk"&gt;try&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-11"&gt;&lt;a name="foo-11"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;get_lexer_by_name&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;arguments&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingmi"&gt;0&lt;/span&gt;&lt;span class="testingp"&gt;])&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-12"&gt;&lt;a name="foo-12"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;12 &lt;/span&gt;    &lt;span class="testingk"&gt;except&lt;/span&gt; &lt;span class="testingne"&gt;ValueError&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-13"&gt;&lt;a name="foo-13"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingc1"&gt;# no lexer found - use the text one instead of an exception&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-14"&gt;&lt;a name="foo-14"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;14 &lt;/span&gt;        &lt;span class="testingn"&gt;lexer&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;TextLexer&lt;/span&gt;&lt;span class="testingp"&gt;()&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-15"&gt;&lt;a name="foo-15"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-16"&gt;&lt;a name="foo-16"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;16 &lt;/span&gt;    &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt; &lt;span class="testingow"&gt;and&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-17"&gt;&lt;a name="foo-17"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingow"&gt;not&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;inline&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-18"&gt;&lt;a name="foo-18"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;18 &lt;/span&gt;        &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;linenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;table&amp;#39;&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-19"&gt;&lt;a name="foo-19"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-20"&gt;&lt;a name="foo-20"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;20 &lt;/span&gt;    &lt;span class="testingk"&gt;for&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;nowrap&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;nobackground&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testings1"&gt;&amp;#39;anchorlinenos&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;):&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-21"&gt;&lt;a name="foo-21"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;        &lt;span class="testingk"&gt;if&lt;/span&gt; &lt;span class="testingn"&gt;flag&lt;/span&gt; &lt;span class="testingow"&gt;in&lt;/span&gt; &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;:&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-22"&gt;&lt;a name="foo-22"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;22 &lt;/span&gt;            &lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;flag&lt;/span&gt;&lt;span class="testingp"&gt;]&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingbp"&gt;True&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-23"&gt;&lt;a name="foo-23"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-24"&gt;&lt;a name="foo-24"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;24 &lt;/span&gt;    &lt;span class="testingc1"&gt;# noclasses should already default to False, but just in case...&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-25"&gt;&lt;a name="foo-25"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingn"&gt;formatter&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;HtmlFormatter&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingn"&gt;noclasses&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testingbp"&gt;False&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingo"&gt;**&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;options&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-26"&gt;&lt;a name="foo-26"&gt;&lt;/a&gt;&lt;span class="lineno special"&gt;26 &lt;/span&gt;    &lt;span class="testingn"&gt;parsed&lt;/span&gt; &lt;span class="testingo"&gt;=&lt;/span&gt; &lt;span class="testingn"&gt;highlight&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingse"&gt;\n&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;join&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testingbp"&gt;self&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;content&lt;/span&gt;&lt;span class="testingp"&gt;),&lt;/span&gt; &lt;span class="testingn"&gt;lexer&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;formatter&lt;/span&gt;&lt;span class="testingp"&gt;)&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;span id="foo-27"&gt;&lt;a name="foo-27"&gt;&lt;/a&gt;&lt;span class="lineno"&gt;   &lt;/span&gt;    &lt;span class="testingk"&gt;return&lt;/span&gt; &lt;span class="testingp"&gt;[&lt;/span&gt;&lt;span class="testingn"&gt;nodes&lt;/span&gt;&lt;span class="testingo"&gt;.&lt;/span&gt;&lt;span class="testingn"&gt;raw&lt;/span&gt;&lt;span class="testingp"&gt;(&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;parsed&lt;/span&gt;&lt;span class="testingp"&gt;,&lt;/span&gt; &lt;span class="testingn"&gt;format&lt;/span&gt;&lt;span class="testingo"&gt;=&lt;/span&gt;&lt;span class="testings1"&gt;&amp;#39;html&amp;#39;&lt;/span&gt;&lt;span class="testingp"&gt;)]&lt;/span&gt;&lt;br&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
- &lt;p&gt;Lovely.&lt;/p&gt;
- &lt;/div&gt;
- &lt;div class="section" id="testing-even-more-sourcecode-directives"&gt;
-diff --git a/pelican/tests/output/custom_locale/posts/2010/octobre/15/unbelievable/index.html b/pelican/tests/output/custom_locale/posts/2010/octobre/15/unbelievable/index.html
-index a6ea869..1e2d78f 100644
---- a/pelican/tests/output/custom_locale/posts/2010/octobre/15/unbelievable/index.html
-+++ b/pelican/tests/output/custom_locale/posts/2010/octobre/15/unbelievable/index.html
-@@ -45,7 +45,7 @@
-         <address class="vcard author">
-                 By                         <a class="url fn" href="../../../../../author/alexis-metaireau.html">Alexis Métaireau</a>
-         </address>
--<p>In <a href="../../../../../category/misc.html">misc</a>. </p>
-+<p>In <a href="../../../../../category/misc.html">misc</a>.</p>
- 
- </footer><!-- /.post-info -->      <p>Or completely awesome. Depends the needs.</p>
- <p><a class="reference external" href="../../../../../posts/2011/avril/20/a-markdown-powered-article/">a root-relative link to markdown-article</a>
-@@ -65,7 +65,7 @@ pelican.conf, it will have nothing in default.</p>
- </div>
- <div class="section" id="testing-more-sourcecode-directives">
- <h2>Testing more sourcecode directives</h2>
--<div class="highlight"><pre><span id="foo-8"><a name="foo-8"></a><span class="lineno special"> 8</span> <span class="testingk">def</span> <span class="testingnf">run</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingp">):</span><br></span><span id="foo-9"><a name="foo-9"></a><span class="lineno">  </span>     <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">assert_has_content</span><span class="testingp">()</span><br></span><span id="foo-10"><a name="foo-10"></a><span class="lineno special">10</span>     <span class="testingk">try</span><span class="testingp">:</span><br></span><span id="foo-11"><a name="foo-11"></a><span class="lineno">  </span>         <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">get_lexer_by_name</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">arguments</span><span class="testingp">[</span><span class="testingmi">0</span><span class="testingp">])</span><br></span><span id="foo-12"><a name="foo-12"></a><span class="lineno special">12</span>     <span class="testingk">except</span> <span class="testingne">ValueError</span><span class="testingp">:</span><br></span><span id="foo-13"><a name="foo-13"></a><span class="lineno">  </span>         <span class="testingc"># no lexer found - use the text one instead of an exception</span><br></span><span id="foo-14"><a name="foo-14"></a><span class="lineno special">14</span>         <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">TextLexer</span><span class="testingp">()</span><br></span><span id="foo-15"><a name="foo-15"></a><span class="lineno">  </span> <br></span><span id="foo-16"><a name="foo-16"></a><span class="lineno special">16</span>     <span class="testingk">if</span> <span class="testingp">(</span><span class="testings">&#39;linenos&#39;</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span> <span class="testingow">and</span><br></span><span id="foo-17"><a name="foo-17"></a><span class="lineno">  </span>             <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingow">not</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings">&#39;table&#39;</span><span class="testingp">,</span> <span class="testings">&#39;inline&#39;</span><span class="testingp">)):</span><br></span><span id="foo-18"><a name="foo-18"></a><span class="lineno special">18</span>         <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testings">&#39;table&#39;</span><br></span><span id="foo-19"><a name="foo-19"></a><span class="lineno">  </span> <br></span><span id="foo-20"><a name="foo-20"></a><span class="lineno special">20</span>     <span class="testingk">for</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings">&#39;nowrap&#39;</span><span class="testingp">,</span> <span class="testings">&#39;nobackground&#39;</span><span class="testingp">,</span> <span class="testings">&#39;anchorlinenos&#39;</span><span class="testingp">):</span><br></span><span id="foo-21"><a name="foo-21"></a><span class="lineno">  </span>         <span class="testingk">if</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">:</span><br></span><span id="foo-22"><a name="foo-22"></a><span class="lineno special">22</span>             <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testingn">flag</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testingbp">True</span><br></span><span id="foo-23"><a name="foo-23"></a><span class="lineno">  </span> <br></span><span id="foo-24"><a name="foo-24"></a><span class="lineno special">24</span>     <span class="testingc"># noclasses should already default to False, but just in case...</span><br></span><span id="foo-25"><a name="foo-25"></a><span class="lineno">  </span>     <span class="testingn">formatter</span> <span class="testingo">=</span> <span class="testingn">HtmlFormatter</span><span class="testingp">(</span><span class="testingn">noclasses</span><span class="testingo">=</span><span class="testingbp">False</span><span class="testingp">,</span> <span class="testingo">**</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">)</span><br></span><span id="foo-26"><a name="foo-26"></a><span class="lineno special">26</span>     <span class="testingn">parsed</span> <span class="testingo">=</span> <span class="testingn">highlight</span><span class="testingp">(</span><span class="testings">&#39;</span><span class="testingse">\n</span><span class="testings">&#39;</span><span class="testingo">.</span><span class="testingn">join</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">content</span><span class="testingp">),</span> <span class="testingn">lexer</span><span class="testingp">,</span> <span class="testingn">formatter</span><span class="testingp">)</span><br></span><span id="foo-27"><a name="foo-27"></a><span class="lineno">  </span>     <span class="testingk">return</span> <span class="testingp">[</span><span class="testingn">nodes</span><span class="testingo">.</span><span class="testingn">raw</span><span class="testingp">(</span><span class="testings">&#39;&#39;</span><span class="testingp">,</span> <span class="testingn">parsed</span><span class="testingp">,</span> <span class="testingn">format</span><span class="testingo">=</span><span class="testings">&#39;html&#39;</span><span class="testingp">)]</span><br></span></pre></div>
-+<div class="highlight"><pre><span id="foo-8"><a name="foo-8"></a><span class="lineno special"> 8 </span><span class="testingk">def</span> <span class="testingnf">run</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingp">):</span><br></span><span id="foo-9"><a name="foo-9"></a><span class="lineno">   </span>    <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">assert_has_content</span><span class="testingp">()</span><br></span><span id="foo-10"><a name="foo-10"></a><span class="lineno special">10 </span>    <span class="testingk">try</span><span class="testingp">:</span><br></span><span id="foo-11"><a name="foo-11"></a><span class="lineno">   </span>        <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">get_lexer_by_name</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">arguments</span><span class="testingp">[</span><span class="testingmi">0</span><span class="testingp">])</span><br></span><span id="foo-12"><a name="foo-12"></a><span class="lineno special">12 </span>    <span class="testingk">except</span> <span class="testingne">ValueError</span><span class="testingp">:</span><br></span><span id="foo-13"><a name="foo-13"></a><span class="lineno">   </span>        <span class="testingc1"># no lexer found - use the text one instead of an exception</span><br></span><span id="foo-14"><a name="foo-14"></a><span class="lineno special">14 </span>        <span class="testingn">lexer</span> <span class="testingo">=</span> <span class="testingn">TextLexer</span><span class="testingp">()</span><br></span><span id="foo-15"><a name="foo-15"></a><span class="lineno">   </span><br></span><span id="foo-16"><a name="foo-16"></a><span class="lineno special">16 </span>    <span class="testingk">if</span> <span class="testingp">(</span><span class="testings1">&#39;linenos&#39;</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span> <span class="testingow">and</span><br></span><span id="foo-17"><a name="foo-17"></a><span class="lineno">   </span>            <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings1">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingow">not</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings1">&#39;table&#39;</span><span class="testingp">,</span> <span class="testings1">&#39;inline&#39;</span><span class="testingp">)):</span><br></span><span id="foo-18"><a name="foo-18"></a><span class="lineno special">18 </span>        <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testings1">&#39;linenos&#39;</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testings1">&#39;table&#39;</span><br></span><span id="foo-19"><a name="foo-19"></a><span class="lineno">   </span><br></span><span id="foo-20"><a name="foo-20"></a><span class="lineno special">20 </span>    <span class="testingk">for</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingp">(</span><span class="testings1">&#39;nowrap&#39;</span><span class="testingp">,</span> <span class="testings1">&#39;nobackground&#39;</span><span class="testingp">,</span> <span class="testings1">&#39;anchorlinenos&#39;</span><span class="testingp">):</span><br></span><span id="foo-21"><a name="foo-21"></a><span class="lineno">   </span>        <span class="testingk">if</span> <span class="testingn">flag</span> <span class="testingow">in</span> <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">:</span><br></span><span id="foo-22"><a name="foo-22"></a><span class="lineno special">22 </span>            <span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">[</span><span class="testingn">flag</span><span class="testingp">]</span> <span class="testingo">=</span> <span class="testingbp">True</span><br></span><span id="foo-23"><a name="foo-23"></a><span class="lineno">   </span><br></span><span id="foo-24"><a name="foo-24"></a><span class="lineno special">24 </span>    <span class="testingc1"># noclasses should already default to False, but just in case...</span><br></span><span id="foo-25"><a name="foo-25"></a><span class="lineno">   </span>    <span class="testingn">formatter</span> <span class="testingo">=</span> <span class="testingn">HtmlFormatter</span><span class="testingp">(</span><span class="testingn">noclasses</span><span class="testingo">=</span><span class="testingbp">False</span><span class="testingp">,</span> <span class="testingo">**</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">options</span><span class="testingp">)</span><br></span><span id="foo-26"><a name="foo-26"></a><span class="lineno special">26 </span>    <span class="testingn">parsed</span> <span class="testingo">=</span> <span class="testingn">highlight</span><span class="testingp">(</span><span class="testings1">&#39;</span><span class="testingse">\n</span><span class="testings1">&#39;</span><span class="testingo">.</span><span class="testingn">join</span><span class="testingp">(</span><span class="testingbp">self</span><span class="testingo">.</span><span class="testingn">content</span><span class="testingp">),</span> <span class="testingn">lexer</span><span class="testingp">,</span> <span class="testingn">formatter</span><span class="testingp">)</span><br></span><span id="foo-27"><a name="foo-27"></a><span class="lineno">   </span>    <span class="testingk">return</span> <span class="testingp">[</span><span class="testingn">nodes</span><span class="testingo">.</span><span class="testingn">raw</span><span class="testingp">(</span><span class="testings1">&#39;&#39;</span><span class="testingp">,</span> <span class="testingn">parsed</span><span class="testingp">,</span> <span class="testingn">format</span><span class="testingo">=</span><span class="testings1">&#39;html&#39;</span><span class="testingp">)]</span><br></span></pre></div>
- <p>Lovely.</p>
- </div>
- <div class="section" id="testing-even-more-sourcecode-directives">
diff --git a/pkgs/development/python-modules/pep257.nix b/pkgs/development/python-modules/pep257/default.nix
index 9f61619e12bc..9f61619e12bc 100644
--- a/pkgs/development/python-modules/pep257.nix
+++ b/pkgs/development/python-modules/pep257/default.nix
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index 9fb16bb03021..75a3f51afc61 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.8.4";
+  version = "8.8.5";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01kim7mwgm97wysclhyxcwvd2a8ifinaidkskglx7b2k0r7ji5sj";
+    sha256 = "adb2dd985f875ac035bbdc6a1cc57e30834e106e2ff7899e09a1690b474c1774";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/phpserialize/default.nix b/pkgs/development/python-modules/phpserialize/default.nix
index 57dd687604db..48ea9bd6980f 100644
--- a/pkgs/development/python-modules/phpserialize/default.nix
+++ b/pkgs/development/python-modules/phpserialize/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "A port of the serialize and unserialize functions of PHP to Python";
-    homepage = http://github.com/mitsuhiko/phpserialize;
+    homepage = https://github.com/mitsuhiko/phpserialize;
     license = lib.licenses.bsd3;
     maintainers = with lib.maintainers; [ jluttine ];
   };
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index d916f9b95b1d..eed891c6f577 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -15,15 +15,26 @@ buildPythonPackage rec {
   checkInputs = [ pytest git glibcLocales mock ];
   propagatedBuildInputs = [ pip click six first setuptools_scm ];
 
+  disabledTests = stdenv.lib.concatMapStringsSep " and " (s: "not " + s) [
+    # Depend on network tests:
+    "test_editable_package_vcs"
+    "test_generate_hashes_all_platforms"
+    "test_generate_hashes_without_interfering_with_each_other"
+    "test_realistic_complex_sub_dependencies"
+    # Expect specific version of "six":
+    "test_editable_package"
+    "test_input_file_without_extension"
+  ];
+
   checkPhase = ''
     export HOME=$(mktemp -d) VIRTUAL_ENV=1
     tests_without_network_access="
-      not test_realistic_complex_sub_dependencies \
-      and not test_editable_package_vcs \
-      and not test_generate_hashes_all_platforms \
-      and not test_generate_hashes_without_interfering_with_each_other \
+      not test_realistic_complex_sub_dependencies
+      and not test_editable_package_vcs
+      and not test_generate_hashes_all_platforms
+      and not test_generate_hashes_without_interfering_with_each_other
     "
-    py.test -k "$tests_without_network_access"
+    py.test -k "${disabledTests}"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/development/python-modules/portpicker/default.nix b/pkgs/development/python-modules/portpicker/default.nix
new file mode 100644
index 000000000000..3e753ab7e06b
--- /dev/null
+++ b/pkgs/development/python-modules/portpicker/default.nix
@@ -0,0 +1,22 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "portpicker";
+  version = "1.2.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0c1lm3i4yngi1qclb0hny19vwjd2si5k2qni30wcrnxqqasqak1y";
+  };
+
+  meta = {
+    description = "A library to choose unique available network ports.";
+    homepage = "https://github.com/google/python_portpicker";
+    license = lib.licenses.asl20;
+    maintainers = with lib.maintainers; [ danharaj ];
+  };
+}
diff --git a/pkgs/development/python-modules/praw/default.nix b/pkgs/development/python-modules/praw/default.nix
new file mode 100644
index 000000000000..c0be1009b069
--- /dev/null
+++ b/pkgs/development/python-modules/praw/default.nix
@@ -0,0 +1,43 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, requests, decorator, flake8, mock, six, update_checker, pytestrunner, prawcore
+, pytest, betamax, betamax-serializers, betamax-matchers, requests_toolbelt
+}:
+
+buildPythonPackage rec {
+  pname = "praw";
+  version = "5.2.0";
+
+  src = fetchFromGitHub {
+    owner = "praw-dev";
+    repo = "praw";
+    rev = "v${version}";
+    sha256 = "0nwfadczxa1fyq65zc3sfv8g2r4w3xrx3bdi5fv9xpn97wh2ifgw";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    decorator
+    flake8
+    mock
+    six
+    update_checker
+    pytestrunner
+    prawcore
+  ];
+
+  checkInputs = [
+    pytest
+    betamax
+    betamax-serializers
+    betamax-matchers
+    requests_toolbelt
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Python Reddit API wrapper";
+    homepage = http://praw.readthedocs.org/;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jgeerds ];
+  };
+}
diff --git a/pkgs/development/python-modules/prawcore/default.nix b/pkgs/development/python-modules/prawcore/default.nix
new file mode 100644
index 000000000000..eb3fb784dc97
--- /dev/null
+++ b/pkgs/development/python-modules/prawcore/default.nix
@@ -0,0 +1,38 @@
+{ stdenv, buildPythonPackage, fetchFromGitHub
+, requests
+, testfixtures, mock, requests_toolbelt
+, betamax, betamax-serializers, betamax-matchers
+}:
+
+buildPythonPackage rec {
+  pname = "prawcore";
+  version = "0.12.0";
+
+  src = fetchFromGitHub {
+    owner = "praw-dev";
+    repo = "prawcore";
+    rev = "v${version}";
+    sha256 = "1z5fz6v4bv6xw84l4q3rpw3j63bb2dldl0fd6ckz8wqlpb2l45br";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    testfixtures
+    mock
+    betamax
+    betamax-serializers
+    betamax-matchers
+    requests_toolbelt
+  ];
+
+  meta = with stdenv.lib; {
+    description = "Low-level communication layer for PRAW";
+    homepage = http://praw.readthedocs.org/;
+    license = licenses.gpl3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ jgeerds ];
+  };
+}
diff --git a/pkgs/development/python-modules/protobuf.nix b/pkgs/development/python-modules/protobuf/default.nix
index 4a67a3132eda..4a67a3132eda 100644
--- a/pkgs/development/python-modules/protobuf.nix
+++ b/pkgs/development/python-modules/protobuf/default.nix
diff --git a/pkgs/development/python-modules/py3exiv2/default.nix b/pkgs/development/python-modules/py3exiv2/default.nix
new file mode 100644
index 000000000000..4656b99df0a0
--- /dev/null
+++ b/pkgs/development/python-modules/py3exiv2/default.nix
@@ -0,0 +1,29 @@
+{ buildPythonPackage, isPy3k, fetchPypi, stdenv, exiv2, boost, libcxx }:
+
+buildPythonPackage rec {
+  pname = "py3exiv2";
+  version = "0.2.1";
+  name = "${pname}-${version}";
+  disabled = !(isPy3k);
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06q7mlqy05c3jr61nmz93fxb6ilizfyggbh5sg0krwjap2sw1fr8";
+  };
+
+  buildInputs = [ exiv2 boost ];
+
+  # work around python distutils compiling C++ with $CC (see issue #26709)
+  NIX_CFLAGS_COMPILE = stdenv.lib.optionalString stdenv.isDarwin "-I${libcxx}/include/c++/v1";
+
+  # fix broken libboost_python3 detection
+  patches = [ ./setup.patch ];
+
+  meta = {
+    homepage = "https://launchpad.net/py3exiv2";
+    description = "A Python3 binding to the library exiv2";
+    license = with stdenv.lib.licenses; [ gpl3 ];
+    maintainers = with stdenv.lib.maintainers; [ vinymeuh ];
+    platforms = with stdenv.lib.platforms; linux ++ darwin;
+  };
+}
diff --git a/pkgs/development/python-modules/py3exiv2/setup.patch b/pkgs/development/python-modules/py3exiv2/setup.patch
new file mode 100644
index 000000000000..bb4b11523479
--- /dev/null
+++ b/pkgs/development/python-modules/py3exiv2/setup.patch
@@ -0,0 +1,11 @@
+--- a/setup.py	2017-10-16 22:03:02.000000000 +0200
++++ b/setup.py	2017-10-16 22:03:34.000000000 +0200
+@@ -39,7 +39,7 @@
+                 if '3' in l[2:]:
+                     return l.replace('libboost', 'boost')
+ 
+-libboost = get_libboost_name()
++libboost = 'boost_python3'
+ 
+ setup(
+     name='py3exiv2',
diff --git a/pkgs/development/python-modules/pyaes.nix b/pkgs/development/python-modules/pyaes/default.nix
index 6104e72a37bc..6104e72a37bc 100644
--- a/pkgs/development/python-modules/pyaes.nix
+++ b/pkgs/development/python-modules/pyaes/default.nix
diff --git a/pkgs/development/python-modules/pyasn1-modules/default.nix b/pkgs/development/python-modules/pyasn1-modules/default.nix
new file mode 100644
index 000000000000..a7ee15d6a181
--- /dev/null
+++ b/pkgs/development/python-modules/pyasn1-modules/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, pyasn1, isPyPy }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "pyasn1-modules";
+  version = "0.1.5";
+  disabled = isPyPy;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1239h6h67vg0wazg2qgv6m3hdim2gs66pl89lbnayk55bbnkwc0x";
+  };
+
+  propagatedBuildInputs = [ pyasn1 ];
+
+  meta = with stdenv.lib; {
+    description = "A collection of ASN.1-based protocols modules";
+    homepage = https://pypi.python.org/pypi/pyasn1-modules;
+    license = licenses.bsd3;
+    platforms = platforms.unix;  # same as pyasn1
+  };
+}
diff --git a/pkgs/development/python-modules/pyasn1/default.nix b/pkgs/development/python-modules/pyasn1/default.nix
new file mode 100644
index 000000000000..d0122a5b7e40
--- /dev/null
+++ b/pkgs/development/python-modules/pyasn1/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "pyasn1";
+  version = "0.3.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "06hhy38jhwh95gpn8f03cr439273fsfsh4vhd5024r86nh5gyiir";
+  };
+
+  meta = with stdenv.lib; {
+    description = "ASN.1 tools for Python";
+    homepage = http://pyasn1.sourceforge.net/;
+    license = "mBSD";
+    platforms = platforms.unix;  # arbitrary choice
+  };
+}
diff --git a/pkgs/development/python-modules/pycassa/default.nix b/pkgs/development/python-modules/pycassa/default.nix
index fc8fbcaa8d2d..b1ee59a5cd4a 100644
--- a/pkgs/development/python-modules/pycassa/default.nix
+++ b/pkgs/development/python-modules/pycassa/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "A python client library for Apache Cassandra";
-    homepage = http://github.com/pycassa/pycassa;
+    homepage = https://github.com/pycassa/pycassa;
     license = stdenv.lib.licenses.mit;
   };
 }
diff --git a/pkgs/development/python-modules/pyemd/default.nix b/pkgs/development/python-modules/pyemd/default.nix
index e23cf7794b16..1004d70476c9 100644
--- a/pkgs/development/python-modules/pyemd/default.nix
+++ b/pkgs/development/python-modules/pyemd/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A Python wrapper for Ofir Pele and Michael Werman's implementation of the Earth Mover's Distance";
-    homepage = http://github.com/wmayner/pyemd;
+    homepage = https://github.com/wmayner/pyemd;
     license = licenses.mit;
     maintainers = with maintainers; [ rvl ];
   };
diff --git a/pkgs/development/python-modules/pyfeed/default.nix b/pkgs/development/python-modules/pyfeed/default.nix
deleted file mode 100644
index a1591037fb5a..000000000000
--- a/pkgs/development/python-modules/pyfeed/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ stdenv, buildPythonPackage, fetchurl
-, xe }:
-
-buildPythonPackage rec {
-  url = "http://www.blarg.net/%7Esteveha/pyfeed-0.7.4.tar.gz";
-
-  name = stdenv.lib.nameFromURL url ".tar";
-
-  src = fetchurl {
-    inherit url;
-    sha256 = "1h4msq573m7wm46h3cqlx4rsn99f0l11rhdqgf50lv17j8a8vvy1";
-  };
-
-  propagatedBuildInputs = [ xe ];
-
-  # error: invalid command 'test'
-  doCheck = false;
-
-  meta = with stdenv.lib; {
-    homepage = "http://home.blarg.net/~steveha/pyfeed.html";
-    description = "Tools for syndication feeds";
-  };
-}
diff --git a/pkgs/development/python-modules/pygit2/default.nix b/pkgs/development/python-modules/pygit2/default.nix
new file mode 100644
index 000000000000..90bfe9783918
--- /dev/null
+++ b/pkgs/development/python-modules/pygit2/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, buildPythonPackage, fetchPypi, isPyPy, libgit2, six, cffi }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "pygit2";
+  version = "0.26.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1cbc488ra3kg7r3qky17ms0szi3cda2d96qfkv1l9djsy9hnvw57";
+  };
+
+  preConfigure = lib.optionalString stdenv.isDarwin ''
+    export DYLD_LIBRARY_PATH="${libgit2}/lib"
+  '';
+
+  propagatedBuildInputs = [ libgit2 six ] ++ lib.optional (!isPyPy) cffi;
+
+  preCheck = ''
+    # disable tests that require networking
+    rm test/test_repository.py
+    rm test/test_credentials.py
+    rm test/test_submodule.py
+  '';
+
+  meta = with lib; {
+    description = "A set of Python bindings to the libgit2 shared library";
+    homepage = https://pypi.python.org/pypi/pygit2;
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/python-modules/pylibacl/default.nix b/pkgs/development/python-modules/pylibacl/default.nix
new file mode 100644
index 000000000000..97fbe28e50d7
--- /dev/null
+++ b/pkgs/development/python-modules/pylibacl/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pkgs
+}:
+
+buildPythonPackage rec {
+  pname = "pylibacl";
+  version = "0.5.3";
+  name = pname + "-" + version;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0c3xw1s5bh6jnsc0wwyxnn6kn6x6rpbmmi05ap1f81fyqlgrzgj0";
+  };
+
+  # ERROR: testExtended (tests.test_acls.AclExtensions)
+  # IOError: [Errno 0] Error
+  doCheck = false;
+
+  buildInputs = with pkgs; [ acl ];
+
+  meta = {
+    description = "A Python extension module for POSIX ACLs, it can be used to query, list, add, and remove ACLs from files and directories under operating systems that support them";
+    license = lib.licenses.lgpl21Plus;
+  };
+}
diff --git a/pkgs/development/python-modules/pyobjc/default.nix b/pkgs/development/python-modules/pyobjc/default.nix
new file mode 100644
index 000000000000..0cf083196451
--- /dev/null
+++ b/pkgs/development/python-modules/pyobjc/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, fetchPypi, isPy3k, buildPythonPackage }:
+
+buildPythonPackage rec {
+  name = "${pname}-${version}";
+  pname = "pyobjc";
+  version = "4.0b1";
+
+  # Gives "No matching distribution found for
+  # pyobjc-framework-Collaboration==4.0b1 (from pyobjc==4.0b1)"
+  disabled = isPy3k;
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "16bng6960c1m57nnh1l09ycnyimrqzw9mx9pnyjxn5zzm5kalr37";
+  };
+
+  meta = {
+    description = "A bridge between the Python and Objective-C programming languages";
+    license = stdenv.lib.licenses.mit;
+    maintainers = with stdenv.lib.maintainers; [ sauyon ];
+    homepage = https://pythonhosted.org/pyobjc/;
+  };
+}
diff --git a/pkgs/development/python-modules/pyodbc/default.nix b/pkgs/development/python-modules/pyodbc/default.nix
index c09e15f4bfb3..b236715a5d65 100644
--- a/pkgs/development/python-modules/pyodbc/default.nix
+++ b/pkgs/development/python-modules/pyodbc/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pyodbc";
-  version = "4.0.19";
+  version = "4.0.21";
   name = "${pname}-${version}";
   disabled = isPyPy;  # use pypypdbc instead
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "05mkaxbi9n02bpr3l0qnyfb3458f35hk71bq8jmadikp3h8al7dg";
+    sha256 = "9655f84ca9e5cb2dfffff705601017420c840d55271ba62dd44f05383eff0329";
   };
 
   buildInputs = [ libiodbc ];
diff --git a/pkgs/development/python-modules/pypcap/default.nix b/pkgs/development/python-modules/pypcap/default.nix
index ab4c5f6034fe..e2d4e1efe285 100644
--- a/pkgs/development/python-modules/pypcap/default.nix
+++ b/pkgs/development/python-modules/pypcap/default.nix
@@ -1,14 +1,13 @@
-{ stdenv, lib, writeText, buildPythonPackage, fetchPypi, isPy3k, libpcap, dpkt }:
+{ stdenv, lib, writeText, buildPythonPackage, fetchPypi, libpcap, dpkt }:
 
 buildPythonPackage rec {
   pname = "pypcap";
-  version = "1.1.6";
+  version = "1.2.0";
   name = "${pname}-${version}";
-  disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1cx7qm0w2a91g5z8k3kmlwz0b8dkr0h8dlb64rwgyhp2laa33syi";
+    sha256 = "0n01xjgg8n5mf1cs9yg9ljsx1kvir8cm6wwrd2069fawjxdbk0b9";
   };
 
   patches = [
@@ -31,7 +30,8 @@ buildPythonPackage rec {
       '')
   ];
 
-  buildInputs = [ libpcap dpkt ];
+  buildInputs = [ libpcap ];
+  nativeBuildInputs = [ dpkt ];
 
   meta = {
     homepage = https://github.com/pynetwork/pypcap;
diff --git a/pkgs/development/python-modules/pyproj/default.nix b/pkgs/development/python-modules/pyproj/default.nix
index 8b15c63fb206..30dbbdba5a57 100644
--- a/pkgs/development/python-modules/pyproj/default.nix
+++ b/pkgs/development/python-modules/pyproj/default.nix
@@ -28,7 +28,7 @@ buildPythonPackage (rec {
 
   meta = {
     description = "Python interface to PROJ.4 library";
-    homepage = http://github.com/jswhit/pyproj;
+    homepage = https://github.com/jswhit/pyproj;
     license = with lib.licenses; [ isc ];
   };
 } // (if proj == null then {} else { PROJ_DIR = proj; }))
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index 9b3700bcd2a5..2db0c4412544 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -1,5 +1,7 @@
-{ lib, fetchurl, pythonPackages, pkgconfig, qtbase, qtsvg, qtwebkit, qtwebengine, dbus_libs
-, lndir, makeWrapper, qmake }:
+{ lib, fetchurl, pythonPackages, pkgconfig, makeWrapper, qmake
+, lndir, qtbase, qtsvg, qtwebkit, qtwebengine, dbus_libs
+, withWebSockets ? false, qtwebsockets
+}:
 
 let
   version = "5.9";
@@ -25,7 +27,7 @@ in buildPythonPackage {
 
   buildInputs = [
     lndir qtbase qtsvg qtwebkit qtwebengine dbus_libs
-  ];
+  ] ++ lib.optional withWebSockets qtwebsockets;
 
   propagatedBuildInputs = [ sip ];
 
@@ -45,7 +47,6 @@ in buildPythonPackage {
     ${python.executable} configure.py  -w \
       --confirm-license \
       --dbus=${dbus_libs.dev}/include/dbus-1.0 \
-      --qmake=$QMAKE \
       --no-qml-plugin \
       --bindir=$out/bin \
       --destdir=$out/${python.sitePackages} \
diff --git a/pkgs/development/python-modules/pyrax.nix b/pkgs/development/python-modules/pyrax/default.nix
index 1337b3c32ada..1337b3c32ada 100644
--- a/pkgs/development/python-modules/pyrax.nix
+++ b/pkgs/development/python-modules/pyrax/default.nix
diff --git a/pkgs/development/python-modules/pysc2/default.nix b/pkgs/development/python-modules/pysc2/default.nix
new file mode 100644
index 000000000000..a2dfd53b7951
--- /dev/null
+++ b/pkgs/development/python-modules/pysc2/default.nix
@@ -0,0 +1,64 @@
+{ buildPythonPackage
+, lib
+, fetchFromGitHub
+, absl-py
+, enum34
+, future
+, futures
+, mock
+, mpyq
+, numpy
+, portpicker
+, protobuf
+, pygame
+, s2clientprotocol
+, six
+, websocket_client
+, sc2-headless
+}:
+
+buildPythonPackage rec {
+  version = "1.2";
+  name = "PySC2-${version}";
+
+  src = fetchFromGitHub {
+    owner = "deepmind";
+    repo = "pysc2";
+    rev = "39f84b01d662eb58b3d95791f59208c210afd4e7";
+    sha256 = "0dfbc2krd2rys1ji75ng2nl0ki8nhnylxljcp287bfb8qyz2m25p";
+  };
+
+  patches = [
+    ./fix-setup-for-py3.patch
+    ./parameterize-runconfig-sc2path.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace "./pysc2/run_configs/platforms.py" \
+      --subst-var-by 'sc2path' '${sc2-headless}'
+  '';
+
+  propagatedBuildInputs = [
+    absl-py
+    enum34
+    future
+    mock
+    mpyq
+    numpy
+    portpicker
+    protobuf
+    pygame
+    s2clientprotocol
+    six
+    websocket_client
+    sc2-headless
+  ];
+
+  meta = {
+    description = "Starcraft II environment and library for training agents.";
+    homepage = "https://github.com/deepmind/pysc2";
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.linux;
+    maintainers = with lib.maintainers; [ danharaj ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysc2/fix-setup-for-py3.patch b/pkgs/development/python-modules/pysc2/fix-setup-for-py3.patch
new file mode 100644
index 000000000000..b1a2b4e2350a
--- /dev/null
+++ b/pkgs/development/python-modules/pysc2/fix-setup-for-py3.patch
@@ -0,0 +1,64 @@
+diff --git a/setup.py b/setup.py
+index 020768f..13c2b67 100755
+--- a/setup.py
++++ b/setup.py
+@@ -17,6 +17,8 @@ from __future__ import absolute_import
+ from __future__ import division
+ from __future__ import print_function
+ 
++import sys
++
+ from setuptools import setup
+ 
+ description = """PySC2 - StarCraft II Learning Environment
+@@ -36,6 +38,27 @@ some initial research results using the environment.
+ Read the README at https://github.com/deepmind/pysc2 for more information.
+ """
+ 
++requires = [
++    'absl-py>=0.1.0',
++    'future',
++    'mock',
++    'mpyq',
++    'numpy>=1.10',
++    'portpicker>=1.2.0',
++    'protobuf>=2.6',
++    'pygame',
++    's2clientprotocol>=3.19.0.58400.0',
++    'six',
++    'websocket-client',
++]
++
++if sys.version_info[0] == 2:
++    requires.append('futures')
++
++if (sys.version_info[0] == 2
++        or (sys.version_info[0] == 3 and sys.version_info[1] < 4)):
++    requires.append('enum34')
++
+ setup(
+     name='PySC2',
+     version='1.2',
+@@ -56,21 +79,7 @@ setup(
+         'pysc2.run_configs',
+         'pysc2.tests',
+     ],
+-    install_requires=[
+-        'absl-py>=0.1.0',
+-        'enum34',
+-        'future',
+-        'futures',
+-        'mock',
+-        'mpyq',
+-        'numpy>=1.10',
+-        'portpicker>=1.2.0',
+-        'protobuf>=2.6',
+-        'pygame',
+-        's2clientprotocol>=3.19.0.58400.0',
+-        'six',
+-        'websocket-client',
+-    ],
++    install_requires=requires,
+     entry_points={
+         'console_scripts': [
+             'pysc2_agent = pysc2.bin.agent:entry_point',
diff --git a/pkgs/development/python-modules/pysc2/parameterize-runconfig-sc2path.patch b/pkgs/development/python-modules/pysc2/parameterize-runconfig-sc2path.patch
new file mode 100644
index 000000000000..be667503d47c
--- /dev/null
+++ b/pkgs/development/python-modules/pysc2/parameterize-runconfig-sc2path.patch
@@ -0,0 +1,18 @@
+diff --git a/pysc2/run_configs/platforms.py b/pysc2/run_configs/platforms.py
+index 5cd84f9..1923cb7 100644
+--- a/pysc2/run_configs/platforms.py
++++ b/pysc2/run_configs/platforms.py
+@@ -119,12 +119,9 @@ class Linux(LocalBase):
+   """Config to run on Linux."""
+ 
+   def __init__(self):
+-    base_dir = os.environ.get("SC2PATH", "~/StarCraftII")
++    base_dir = os.environ.get("SC2PATH", "@sc2path@")
+     base_dir = os.path.expanduser(base_dir)
+     env = copy.deepcopy(os.environ)
+-    env["LD_LIBRARY_PATH"] = ":".join(filter(None, [
+-        os.environ.get("LD_LIBRARY_PATH"),
+-        os.path.join(base_dir, "Libs/")]))
+     super(Linux, self).__init__(base_dir, "SC2_x64", env=env)
+ 
+   @classmethod
diff --git a/pkgs/development/python-modules/pyspread/default.nix b/pkgs/development/python-modules/pyspread/default.nix
index 2f275005c199..7fbda048ca33 100644
--- a/pkgs/development/python-modules/pyspread/default.nix
+++ b/pkgs/development/python-modules/pyspread/default.nix
@@ -19,11 +19,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "pyspread";
-  version = "1.1";
+  version = "1.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0m1a4zvzrfrnc42j8mrbm7747w03nzyl9z02wjagccmlhi6nd9hx";
+    sha256 = "b90edb92c7fce3b8332cdddd3dd1c72ba14440ab39a10ca89c9888ad973a8862";
   };
 
   propagatedBuildInputs = [ numpy wxPython matplotlib pycairo python-gnupg xlrd xlwt jedi pyenchant basemap pygtk ];
diff --git a/pkgs/development/python-modules/pytest-pep257.nix b/pkgs/development/python-modules/pytest-pep257/default.nix
index 1509d80feb1a..1509d80feb1a 100644
--- a/pkgs/development/python-modules/pytest-pep257.nix
+++ b/pkgs/development/python-modules/pytest-pep257/default.nix
diff --git a/pkgs/development/python-modules/python-fuse/default.nix b/pkgs/development/python-modules/python-fuse/default.nix
new file mode 100644
index 000000000000..d9debce6aecb
--- /dev/null
+++ b/pkgs/development/python-modules/python-fuse/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, pkgconfig
+, fetchurl
+, fuse
+, buildPythonPackage
+, isPy3k
+}:
+
+buildPythonPackage rec {
+    baseName = "fuse";
+    version = "0.2.1";
+    name = "${baseName}-${version}";
+    disabled = isPy3k;
+
+    src = fetchurl {
+      url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz";
+      sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi";
+    };
+
+    nativeBuildInputs = [ pkgconfig ];
+    buildInputs = [ fuse ];
+
+    meta = {
+      description = "Python bindings for FUSE";
+      license = lib.licenses.lgpl21;
+    };
+}
diff --git a/pkgs/development/python-modules/pyudev.nix b/pkgs/development/python-modules/pyudev/default.nix
index 046424af608e..046424af608e 100644
--- a/pkgs/development/python-modules/pyudev.nix
+++ b/pkgs/development/python-modules/pyudev/default.nix
diff --git a/pkgs/development/python-modules/pywinrm/default.nix b/pkgs/development/python-modules/pywinrm/default.nix
index f471c8b8730b..ecd46bb1ff57 100644
--- a/pkgs/development/python-modules/pywinrm/default.nix
+++ b/pkgs/development/python-modules/pywinrm/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python library for Windows Remote Management";
-    homepage = http://github.com/diyan/pywinrm/;
+    homepage = https://github.com/diyan/pywinrm/;
     license = licenses.mit;
     maintainers = with maintainers; [ elasticdog ];
     platforms = platforms.all;
diff --git a/pkgs/development/python-modules/pyxattr/default.nix b/pkgs/development/python-modules/pyxattr/default.nix
new file mode 100644
index 000000000000..558dc37a394f
--- /dev/null
+++ b/pkgs/development/python-modules/pyxattr/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, pkgs
+, fetchPypi
+, buildPythonPackage
+}:
+
+buildPythonPackage rec {
+    pname = "pyxattr";
+    version = "0.6.0";
+    name = pname + "-" + version;
+
+    src = fetchPypi {
+      inherit pname version;
+      sha256 = "1a3fqjlgbzq5hmc3yrnxxxl8nyn3rz2kfn17svbsahaq4gj0xl09";
+    };
+
+    # IOError: [Errno 95] Operation not supported (expected)
+    doCheck = false;
+
+    buildInputs = with pkgs; [ attr ];
+
+    meta = with lib; {
+      description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems";
+      license = licenses.lgpl21Plus;
+    };
+}
diff --git a/pkgs/development/python-modules/qtawesome/default.nix b/pkgs/development/python-modules/qtawesome/default.nix
new file mode 100644
index 000000000000..016266dd8544
--- /dev/null
+++ b/pkgs/development/python-modules/qtawesome/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, buildPythonPackage, fetchPypi, qtpy, six, pyside }:
+
+buildPythonPackage rec {
+  pname = "QtAwesome";
+  version = "0.4.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "12l71wh9fcd79d6c7qfzp029iph6gv4daxpg2ddpzr9lrvcw3yah";
+  };
+
+  propagatedBuildInputs = [ qtpy six pyside ];
+
+  meta = with stdenv.lib; {
+    description = "Iconic fonts in PyQt and PySide applications";
+    homepage = https://github.com/spyder-ide/qtawesome;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/qtpy/default.nix b/pkgs/development/python-modules/qtpy/default.nix
new file mode 100644
index 000000000000..035ea32b3989
--- /dev/null
+++ b/pkgs/development/python-modules/qtpy/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, buildPythonPackage, fetchPypi, pyside, pytest }:
+
+buildPythonPackage rec {
+  pname = "QtPy";
+  version = "1.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "04skhjb2dbbhvpq0x71nnz2h68805fkxfpkdjhwvd7lzsljjbbq8";
+  };
+
+  # no concrete propagatedBuildInputs as multiple backends are supposed
+  checkInputs = [ pyside pytest ];
+
+  doCheck = false; # require X
+  checkPhase = ''
+    py.test qtpy/tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Abstraction layer for PyQt5/PyQt4/PySide2/PySide";
+    homepage = https://github.com/spyder-ide/qtpy;
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/rackspace-novaclient.nix b/pkgs/development/python-modules/rackspace-novaclient/default.nix
index 144b61c9b9a5..144b61c9b9a5 100644
--- a/pkgs/development/python-modules/rackspace-novaclient.nix
+++ b/pkgs/development/python-modules/rackspace-novaclient/default.nix
diff --git a/pkgs/development/python-modules/reikna/default.nix b/pkgs/development/python-modules/reikna/default.nix
index d8b380896cc4..fa91184f1b7a 100644
--- a/pkgs/development/python-modules/reikna/default.nix
+++ b/pkgs/development/python-modules/reikna/default.nix
@@ -36,7 +36,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "GPGPU algorithms for PyCUDA and PyOpenCL";
-    homepage = http://github.com/fjarri/reikna;
+    homepage = https://github.com/fjarri/reikna;
     license = stdenv.lib.licenses.mit;
     maintainer = stdenv.lib.maintainers.fridh;
 
diff --git a/pkgs/development/python-modules/reportlab/default.nix b/pkgs/development/python-modules/reportlab/default.nix
new file mode 100644
index 000000000000..a356db74f07c
--- /dev/null
+++ b/pkgs/development/python-modules/reportlab/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, freetype
+, pillow
+, pip
+, glibcLocales
+, python
+, isPyPy
+}:
+
+let
+  ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
+in buildPythonPackage rec {
+  pname = "reportlab";
+  version = "3.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "5beaf35e59dfd5ebd814fdefd76908292e818c982bd7332b5d347dfd2f01c343";
+  };
+
+  checkInputs = [ glibcLocales ];
+
+  buildInputs = [ ft pillow ];
+
+  postPatch = ''
+    rm tests/test_graphics_barcode.py
+    rm tests/test_graphics_render.py
+  '';
+
+  checkPhase = ''
+    LC_ALL="en_US.UTF-8" ${python.interpreter} tests/runAll.py
+  '';
+
+  # See https://bitbucket.org/pypy/compatibility/wiki/reportlab%20toolkit
+  disabled = isPyPy;
+
+  meta = {
+    description = "An Open Source Python library for generating PDFs and graphics";
+    homepage = http://www.reportlab.com/;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/requests-oauthlib.nix b/pkgs/development/python-modules/requests-oauthlib/default.nix
index 8674a05af38c..8674a05af38c 100644
--- a/pkgs/development/python-modules/requests-oauthlib.nix
+++ b/pkgs/development/python-modules/requests-oauthlib/default.nix
diff --git a/pkgs/development/python-modules/robotsuite/default.nix b/pkgs/development/python-modules/robotsuite/default.nix
index 2dd672c01097..582a4f6138af 100644
--- a/pkgs/development/python-modules/robotsuite/default.nix
+++ b/pkgs/development/python-modules/robotsuite/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Python unittest test suite for Robot Framework";
-    homepage = http://github.com/collective/robotsuite/;
+    homepage = https://github.com/collective/robotsuite/;
     license = licenses.gpl3;
   };
 }
diff --git a/pkgs/development/python-modules/rope/default.nix b/pkgs/development/python-modules/rope/default.nix
new file mode 100644
index 000000000000..db08ad2a5c03
--- /dev/null
+++ b/pkgs/development/python-modules/rope/default.nix
@@ -0,0 +1,18 @@
+{ stdenv, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "rope";
+  version = "0.10.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1lc01pjn0yr6yqcpbf6kk170zg8zhnyzj8kqlsch1mag0g9dz7m0";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Python refactoring library";
+    homepage = https://github.com/python-rope/rope;
+    maintainers = with maintainers; [ goibhniu ];
+    license = licenses.gpl2;
+  };
+}
diff --git a/pkgs/development/python-modules/s2clientprotocol/default.nix b/pkgs/development/python-modules/s2clientprotocol/default.nix
new file mode 100644
index 000000000000..3c24a7e522d0
--- /dev/null
+++ b/pkgs/development/python-modules/s2clientprotocol/default.nix
@@ -0,0 +1,27 @@
+{ buildPythonPackage
+, lib
+, fetchPypi
+, protobuf
+}:
+
+buildPythonPackage rec {
+  pname = "s2clientprotocol";
+  version = "3.19.1.58600.0";
+  name = "${pname}-${version}";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02jqwdfj5zpag4c5nf0707qmwk7sqm98yfgrd19rq6pi58zgl74f";
+  };
+
+  patches = [ ./pure-version.patch ];
+
+  buildInputs = [ protobuf ];
+
+  meta = {
+    description = "StarCraft II - client protocol.";
+    homepage = "https://github.com/Blizzard/sc2client-proto";
+    license = lib.licenses.mit;
+    maintainers = with lib.maintainers; [ danharaj ];
+  };
+}
diff --git a/pkgs/development/python-modules/s2clientprotocol/pure-version.patch b/pkgs/development/python-modules/s2clientprotocol/pure-version.patch
new file mode 100644
index 000000000000..43675c3bb11c
--- /dev/null
+++ b/pkgs/development/python-modules/s2clientprotocol/pure-version.patch
@@ -0,0 +1,13 @@
+diff --git a/setup.py b/setup.py
+index 89131a8..19527df 100755
+--- a/setup.py
++++ b/setup.py
+@@ -13,8 +13,6 @@ from distutils.spawn import find_executable
+ from setuptools import setup
+ from setuptools.command.build_py import build_py
+ 
+-import gameversion_autogen as ver
+-
+ SETUP_DIR = os.path.dirname(os.path.abspath(__file__))
+ PROTO_DIR = os.path.join(SETUP_DIR, 's2clientprotocol')
+ 
diff --git a/pkgs/development/python-modules/s3transfer/default.nix b/pkgs/development/python-modules/s3transfer/default.nix
new file mode 100644
index 000000000000..8e5b30c26b41
--- /dev/null
+++ b/pkgs/development/python-modules/s3transfer/default.nix
@@ -0,0 +1,53 @@
+{ stdenv
+, fetchPypi
+, pythonOlder
+, buildPythonPackage
+, docutils
+, mock
+, nose
+, coverage
+, wheel
+, unittest2
+, botocore
+, futures
+}:
+
+buildPythonPackage rec {
+  pname = "s3transfer";
+  version = "0.1.11";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0yfrfnf404cxzn3iswibqjxklsl0b1lwgqiml6pwiqj79a7zbwbn";
+  };
+
+  foo = 1;
+
+  propagatedBuildInputs =
+    [ botocore
+    ] ++ stdenv.lib.optional (pythonOlder "3") futures;
+
+  buildInputs = [
+    docutils
+    mock
+    nose
+    coverage
+    wheel
+    unittest2
+  ];
+
+  checkPhase = ''
+    pushd s3transfer/tests
+    nosetests -v unit/ functional/
+    popd
+  '';
+
+  # version on pypi has no tests/ dir
+  doCheck = false;
+
+  meta = {
+    homepage = https://github.com/boto/s3transfer;
+    license = stdenv.lib.licenses.asl20;
+    description = "A library for managing Amazon S3 transfers";
+  };
+}
diff --git a/pkgs/development/python-modules/selenium/default.nix b/pkgs/development/python-modules/selenium/default.nix
new file mode 100644
index 000000000000..d33e86a3f079
--- /dev/null
+++ b/pkgs/development/python-modules/selenium/default.nix
@@ -0,0 +1,50 @@
+{ lib
+, stdenv
+, fetchurl
+, fetchFromGitHub
+, buildPythonPackage
+, geckodriver
+, xorg
+}:
+
+buildPythonPackage rec {
+  name = "selenium-3.6.0";
+  src = fetchurl {
+    url = "mirror://pypi/s/selenium/${name}.tar.gz";
+    sha256 = "15qpvz0bdwjvpcj11fm0rw6r5inr66sqw89ww50l025sbhf04qwm";
+  };
+
+  buildInputs = [xorg.libX11];
+
+  propagatedBuildInputs = [
+    geckodriver
+  ];
+
+  # Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some
+  # absolute paths. Replaced by relative path so it is found when used in nix.
+  x_ignore_nofocus =
+    fetchFromGitHub {
+      owner = "SeleniumHQ";
+      repo = "selenium";
+      rev = "selenium-3.6.0";
+      sha256 = "13wf4hx4i7nhl4s8xkziwxl0km1j873syrj4amragj6mpip2wn8v";
+    };
+
+  patchPhase = ''
+    cp "${x_ignore_nofocus}/cpp/linux-specific/"* .
+    substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${xorg.libX11.out}/lib/libX11.so.6"
+    gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o
+    gcc -shared \
+      -Wl,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \
+      -o x_ignore_nofocus.so \
+      x_ignore_nofocus.o
+    cp -v x_ignore_nofocus.so selenium/webdriver/firefox/${if stdenv.is64bit then "amd64" else "x86"}/
+  '';
+
+  meta = with lib; {
+    description = "The selenium package is used to automate web browser interaction from Python";
+    homepage = http://www.seleniumhq.org;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jraygauthier ];
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/setuptools/default.nix b/pkgs/development/python-modules/setuptools/default.nix
index 818468d0fcae..a65b0206ee53 100644
--- a/pkgs/development/python-modules/setuptools/default.nix
+++ b/pkgs/development/python-modules/setuptools/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Utilities to facilitate the installation of Python packages";
-    homepage = http://pypi.python.org/pypi/setuptools;
+    homepage = https://pypi.python.org/pypi/setuptools;
     license = with licenses; [ psfl zpl20 ];
     platforms = platforms.all;
     priority = 10;
diff --git a/pkgs/development/python-modules/shapely/default.nix b/pkgs/development/python-modules/shapely/default.nix
index 85052a34a568..e8e92818ecf5 100644
--- a/pkgs/development/python-modules/shapely/default.nix
+++ b/pkgs/development/python-modules/shapely/default.nix
@@ -6,11 +6,11 @@
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "Shapely";
-  version = "1.6.1";
+  version = "1.6.2.post1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1iyhrkm6g233gwbd20sf4aq4by0kg52cz1d2k7imnqgzjpmkgqas";
+    sha256 = "07fba518e76b3276558f62a5829bdfa476f790cdef752383ccdc8c66b04b0899";
   };
 
   buildInputs = [ geos glibcLocales cython ];
diff --git a/pkgs/development/python-modules/six/default.nix b/pkgs/development/python-modules/six/default.nix
new file mode 100644
index 000000000000..00fbbbc01eb8
--- /dev/null
+++ b/pkgs/development/python-modules/six/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytest
+}:
+
+buildPythonPackage rec {
+  pname = "six";
+  version = "1.11.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "70e8a77beed4562e7f14fe23a786b54f6296e34344c23bc42f07b15018ff98e9";
+  };
+
+  checkInputs = [ pytest ];
+
+  checkPhase = ''
+    py.test test_six.py
+  '';
+
+  meta = {
+    description = "A Python 2 and 3 compatibility library";
+    homepage = https://pypi.python.org/pypi/six/;
+    license = lib.licenses.mit;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/development/python-modules/sqlalchemy-0.7.10-test-failures.patch b/pkgs/development/python-modules/sqlalchemy-0.7.10-test-failures.patch
deleted file mode 100644
index 5880af40d14a..000000000000
--- a/pkgs/development/python-modules/sqlalchemy-0.7.10-test-failures.patch
+++ /dev/null
@@ -1,49 +0,0 @@
-From abd9f52ade78c737571be69f21dba384be3edf4e Mon Sep 17 00:00:00 2001
-From: Mike Bayer <mike_mp@zzzcomputing.com>
-Date: Sat, 2 Mar 2013 16:24:50 -0500
-Subject: [PATCH] - Fixed an import of "logging" in test_execute which was not
- working on some linux platforms. [ticket:2669]
-
----
- doc/build/changelog/changelog_07.rst | 10 ++++++++++
- lib/sqlalchemy/__init__.py           |  2 +-
- test/engine/test_execute.py          |  2 +-
- 3 files changed, 12 insertions(+), 2 deletions(-)
-
-diff --git a/doc/build/changelog/changelog_07.rst b/doc/build/changelog/changelog_07.rst
-index 416df5a..f07c9ec 100644
---- a/doc/build/changelog/changelog_07.rst
-+++ b/doc/build/changelog/changelog_07.rst
-@@ -3,6 +3,16 @@
- 0.7 Changelog
- ==============
- 
-+.. changelog::
-+    :version: 0.7.11
-+
-+    .. change::
-+        :tags: bug, tests
-+        :tickets: 2669
-+        :pullreq: 41
-+
-+      Fixed an import of "logging" in test_execute which was not
-+      working on some linux platforms.
- 
- .. changelog::
-     :version: 0.7.10
-diff --git a/test/engine/test_execute.py b/test/engine/test_execute.py
-index 69b94f1..a37f684 100644
---- a/test/engine/test_execute.py
-+++ b/test/engine/test_execute.py
-@@ -9,7 +9,7 @@
- import sqlalchemy as tsa
- from test.lib import testing, engines
- from test.lib.engines import testing_engine
--import logging
-+import logging.handlers
- from sqlalchemy.dialects.oracle.zxjdbc import ReturningParam
- from sqlalchemy.engine import base, default
- from sqlalchemy.engine.base import Connection, Engine
--- 
-1.8.1.6
-
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index ed1c32df555b..9b3a5fa20396 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -11,11 +11,11 @@
 buildPythonPackage rec {
   pname = "SQLAlchemy";
   name = "${pname}-${version}";
-  version = "1.1.14";
+  version = "1.1.15";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f1191e29e35b6fe1aef7175a09b1707ebb7bd08d0b17cb0feada76c49e5a2d1e";
+    sha256 = "8b79a5ed91cdcb5abe97b0045664c55c140aec09e5dd5c01303e23de5fe7a95a";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 7156d86bb805..2c85bdbe3d1c 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.1.10";
+  version = "1.1.11";
   name = "${pname}-${version}";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "90db96664955c6a576b495c973bd3976b9d4eaffaea205c0343ac7e8f8147cbe";
+    sha256 = "bb5297df9cd97316b3c7ca64f8e31cae5cc6b94c015afd84c546877f1f77d6e4";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/sybase/default.nix b/pkgs/development/python-modules/sybase/default.nix
new file mode 100644
index 000000000000..df27172d8d49
--- /dev/null
+++ b/pkgs/development/python-modules/sybase/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, buildPythonPackage
+, fetchurl
+, isPy3k
+, freetds
+}:
+
+buildPythonPackage rec {
+  name = "python-sybase-${version}";
+  version = "0.40pre2";
+  disabled = isPy3k;
+
+  src = fetchurl {
+    url = "https://sourceforge.net/projects/python-sybase/files/python-sybase/${name}/${name}.tar.gz";
+    sha256 = "0pm88hyn18dy7ljam4mdx9qqgmgraf2zy2wl02g5vsjl4ncvq90j";
+  };
+
+  propagatedBuildInputs = [ freetds ];
+
+  SYBASE = freetds;
+  setupPyBuildFlags = [ "-DHAVE_FREETDS" "-UWANT_BULKCOPY" ];
+
+  meta = with stdenv.lib; {
+    description = "The Sybase module provides a Python interface to the Sybase relational database system";
+    homepage    = http://python-sybase.sourceforge.net;
+    license     = licenses.bsd3;
+    maintainers = with maintainers; [ veprbl ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/development/python-modules/sybil/default.nix b/pkgs/development/python-modules/sybil/default.nix
new file mode 100644
index 000000000000..b1fe22df4767
--- /dev/null
+++ b/pkgs/development/python-modules/sybil/default.nix
@@ -0,0 +1,24 @@
+{ stdenv, buildPythonApplication, fetchPypi
+, pytest, nose }:
+
+buildPythonApplication rec {
+  pname   = "sybil";
+  version = "1.0.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "0x8qd5p5qliv8wmdglda2iy3f70i4jg8zqyk8yhklm5hrxm8jdl6";
+  };
+
+  checkInputs = [ pytest nose ];
+
+  checkPhase = ''
+    py.test tests
+  '';
+
+  meta = with stdenv.lib; {
+    description = "Automated testing for the examples in your documentation.";
+    homepage    = https://github.com/cjw296/sybil/;
+    license     = licenses.mit;
+  };
+}
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index a0a2f3a24afc..2ce419fa7fb6 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -7,6 +7,9 @@
 , cudaSupport ? false, nvidia_x11 ? null, cudatoolkit ? null, cudnn ? null
 # Default from ./configure script
 , cudaCapabilities ? [ "3.5" "5.2" ]
+, sse42Support ? false
+, avx2Support ? false
+, fmaSupport ? false
 }:
 
 assert cudaSupport -> cudatoolkit != null
@@ -77,6 +80,9 @@ let
     hardeningDisable = [ "all" ];
 
     bazelFlags = [ "--config=opt" ]
+                 ++ lib.optional sse42Support "--copt=-msse4.2"
+                 ++ lib.optional avx2Support "--copt=-mavx2"
+                 ++ lib.optional fmaSupport "--copt=-mfma"
                  ++ lib.optional cudaSupport "--config=cuda";
 
     bazelTarget = "//tensorflow/tools/pip_package:build_pip_package";
diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix
new file mode 100644
index 000000000000..23b5a5aa9e26
--- /dev/null
+++ b/pkgs/development/python-modules/testfixtures/default.nix
@@ -0,0 +1,23 @@
+{ stdenv, buildPythonPackage, fetchPypi
+, mock, manuel, pytest, sybil, zope_component, django }:
+
+buildPythonPackage rec {
+  pname = "testfixtures";
+  version = "5.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1xfar653qmikwb94xj3f0xfp8dh2llxjsxipx1272d8qwl0aknnx";
+  };
+
+  checkInputs = [ mock manuel pytest sybil zope_component ];
+
+  checkPhase = ''
+    # django is too much hasle to setup at the moment
+    pytest --ignore=testfixtures/tests/test_django testfixtures/tests
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = "https://github.com/Simplistix/testfixtures";
+  };
+}
diff --git a/pkgs/development/python-modules/testtools/default.nix b/pkgs/development/python-modules/testtools/default.nix
index 7b432154b605..e786cb843296 100644
--- a/pkgs/development/python-modules/testtools/default.nix
+++ b/pkgs/development/python-modules/testtools/default.nix
@@ -35,7 +35,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "A set of extensions to the Python standard library's unit testing framework";
-    homepage = http://pypi.python.org/pypi/testtools;
+    homepage = https://pypi.python.org/pypi/testtools;
     license = lib.licenses.mit;
   };
 }
\ No newline at end of file
diff --git a/pkgs/development/python-modules/transaction/default.nix b/pkgs/development/python-modules/transaction/default.nix
index 31f69971e521..34c221324283 100644
--- a/pkgs/development/python-modules/transaction/default.nix
+++ b/pkgs/development/python-modules/transaction/default.nix
@@ -20,7 +20,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Transaction management";
-    homepage = http://pypi.python.org/pypi/transaction;
+    homepage = https://pypi.python.org/pypi/transaction;
     license = licenses.zpl20;
   };
 }
diff --git a/pkgs/development/python-modules/treq/default.nix b/pkgs/development/python-modules/treq/default.nix
index 6bd7355b34df..3144e8e4de98 100644
--- a/pkgs/development/python-modules/treq/default.nix
+++ b/pkgs/development/python-modules/treq/default.nix
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = with stdenv.lib; {
-    homepage = http://github.com/twisted/treq;
+    homepage = https://github.com/twisted/treq;
     description = "A requests-like API built on top of twisted.web's Agent";
     license = licenses.mit;
     maintainers = with maintainers; [ nand0p ];
diff --git a/pkgs/development/python-modules/trezor/default.nix b/pkgs/development/python-modules/trezor/default.nix
index c473403f53d5..cb4b63ade81d 100644
--- a/pkgs/development/python-modules/trezor/default.nix
+++ b/pkgs/development/python-modules/trezor/default.nix
@@ -12,9 +12,9 @@ buildPythonPackage rec {
     sha256 = "6bdb69fc125ba705854e21163be6c7da3aa17c2a3a84f40b6d8a3f6e4a8cb314";
   };
 
-  propagatedBuildInputs = [ protobuf hidapi requests ];
+  propagatedBuildInputs = [ protobuf hidapi requests mnemonic ];
 
-  buildInputs = [ ecdsa mnemonic ];
+  buildInputs = [ ecdsa ];
 
   # There are no actual tests: "ImportError: No module named tests"
   doCheck = false;
diff --git a/pkgs/development/python-modules/unidecode/default.nix b/pkgs/development/python-modules/unidecode/default.nix
index 1a5da395ee34..9b81a28f085e 100644
--- a/pkgs/development/python-modules/unidecode/default.nix
+++ b/pkgs/development/python-modules/unidecode/default.nix
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   buildInputs = [ glibcLocales ];
 
   meta = with stdenv.lib; {
-    homepage = http://pypi.python.org/pypi/Unidecode/;
+    homepage = https://pypi.python.org/pypi/Unidecode/;
     description = "ASCII transliterations of Unicode text";
     license = licenses.gpl2;
     maintainers = with maintainers; [ domenkozar ];
diff --git a/pkgs/development/python-modules/update_checker/default.nix b/pkgs/development/python-modules/update_checker/default.nix
new file mode 100644
index 000000000000..ad401d80190d
--- /dev/null
+++ b/pkgs/development/python-modules/update_checker/default.nix
@@ -0,0 +1,22 @@
+{ stdenv, buildPythonPackage, fetchPypi, requests}:
+
+buildPythonPackage rec {
+  pname = "update_checker";
+  version = "0.16";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1f38l40d32dm0avcidf3dmikma8z0la84yngj88v4xygzi399qvh";
+  };
+
+  propagatedBuildInputs = [ requests ];
+
+  # requires network
+  doCheck = false;
+
+  meta = with stdenv.lib; {
+    description = "A python module that will check for package updates";
+    homepage = https://github.com/bboe/update_checker;
+    license = licenses.bsd2;
+  };
+}
diff --git a/pkgs/development/python-modules/urwid/default.nix b/pkgs/development/python-modules/urwid/default.nix
index 129f4821e875..d77a212003b1 100644
--- a/pkgs/development/python-modules/urwid/default.nix
+++ b/pkgs/development/python-modules/urwid/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, buildPythonPackage, fetchPypi }:
+{ stdenv, buildPythonPackage, fetchPypi, fetchpatch }:
 
 buildPythonPackage (rec {
   pname = "urwid";
@@ -10,6 +10,19 @@ buildPythonPackage (rec {
     sha256 = "18cnd1wdjcas08x5qwa5ayw6jsfcn33w4d9f7q3s29fy6qzc1kng";
   };
 
+  patches = [
+   # fix tests
+   (fetchpatch {
+     url = "https://github.com/urwid/urwid/commit/4b0ed8b6030450e6d99909a7c683e9642e546387.patch";
+     sha256 = "0azpn0ylbg8mfpr0y27n4lnq0ph75a4d4m9wdv3napnhf1vh9ahx";
+   })
+   # fix tests
+   (fetchpatch {
+     url = "https://github.com/floppym/urwid/commit/f68f2cf089cfd5ec45863baf59a91d5aeb0cf5c3.patch";
+     sha256 = "1b3vz7mrwz2bqvdwvbyv2j835f9lzapgw0j2km4sam76bxmgfpgq";
+   })
+  ];
+
   meta = with stdenv.lib; {
     description = "A full-featured console (xterm et al.) user interface library";
     homepage = http://excess.org/urwid;
diff --git a/pkgs/development/python-modules/yowsup/default.nix b/pkgs/development/python-modules/yowsup/default.nix
index fce974ccd3ac..f7ee986aebb3 100644
--- a/pkgs/development/python-modules/yowsup/default.nix
+++ b/pkgs/development/python-modules/yowsup/default.nix
@@ -1,10 +1,16 @@
-{ buildPythonPackage, stdenv, fetchFromGitHub, six, python-axolotl, pytest }:
+{ buildPythonPackage, stdenv, fetchFromGitHub, six, python-axolotl, pytest
+, isPy3k
+}:
 
 buildPythonPackage rec {
   name = "${pname}-${version}";
   pname = "yowsup";
   version = "2.5.2";
 
+  # python2 is currently incompatible with yowsup:
+  # https://github.com/tgalal/yowsup/issues/2325#issuecomment-343516519
+  disabled = !isPy3k;
+
   src = fetchFromGitHub {
     owner = "tgalal";
     repo = "yowsup";
diff --git a/pkgs/development/python-modules/zconfig/default.nix b/pkgs/development/python-modules/zconfig/default.nix
index fa6a7a613322..6923f876ff21 100644
--- a/pkgs/development/python-modules/zconfig/default.nix
+++ b/pkgs/development/python-modules/zconfig/default.nix
@@ -23,7 +23,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "Structured Configuration Library";
-    homepage = http://pypi.python.org/pypi/ZConfig;
+    homepage = https://pypi.python.org/pypi/ZConfig;
     license = licenses.zpl20;
     maintainers = [ maintainers.goibhniu ];
   };
diff --git a/pkgs/development/python-modules/zodb/default.nix b/pkgs/development/python-modules/zodb/default.nix
index 232acaec506c..f704f3052781 100644
--- a/pkgs/development/python-modules/zodb/default.nix
+++ b/pkgs/development/python-modules/zodb/default.nix
@@ -45,7 +45,7 @@ buildPythonPackage rec {
 
     meta = with stdenv.lib; {
       description = "Zope Object Database: object database and persistence";
-      homepage = http://pypi.python.org/pypi/ZODB;
+      homepage = https://pypi.python.org/pypi/ZODB;
       license = licenses.zpl21;
       maintainers = with maintainers; [ goibhniu ];
     };
diff --git a/pkgs/development/python-modules/zodbpickle/default.nix b/pkgs/development/python-modules/zodbpickle/default.nix
index 9438e8ca54f4..53dd8680c315 100644
--- a/pkgs/development/python-modules/zodbpickle/default.nix
+++ b/pkgs/development/python-modules/zodbpickle/default.nix
@@ -18,6 +18,6 @@ buildPythonPackage rec {
   doCheck = false;
 
   meta = {
-    homepage = http://pypi.python.org/pypi/zodbpickle;
+    homepage = https://pypi.python.org/pypi/zodbpickle;
   };
 }
diff --git a/pkgs/development/python-modules/zope_testrunner/default.nix b/pkgs/development/python-modules/zope_testrunner/default.nix
index 7f2af64d9159..8358c861cba3 100644
--- a/pkgs/development/python-modules/zope_testrunner/default.nix
+++ b/pkgs/development/python-modules/zope_testrunner/default.nix
@@ -24,7 +24,7 @@ buildPythonPackage rec {
 
   meta = with stdenv.lib; {
     description = "A flexible test runner with layer support";
-    homepage = http://pypi.python.org/pypi/zope.testrunner;
+    homepage = https://pypi.python.org/pypi/zope.testrunner;
     license = licenses.zpl20;
     maintainers = [ maintainers.goibhniu ];
   };
diff --git a/pkgs/development/r-modules/README.md b/pkgs/development/r-modules/README.md
index 477059cbb2c8..c8f02bd14780 100644
--- a/pkgs/development/r-modules/README.md
+++ b/pkgs/development/r-modules/README.md
@@ -79,6 +79,23 @@ environment, see `rstudioWrapper`, which functions similarly to
 Then like above, `nix-env -f "<nixpkgs>" -iA rstudioEnv` will install
 this into your user profile.
 
+Alternatively, you can create a self-contained `shell.nix` without the need to
+modify any configuration files:
+
+```nix
+{ pkgs ? import <nixpkgs> {}
+}:
+
+pkgs.rstudioWrapper.override {
+  packages = with pkgs.rPackages; [ dplyr ggplot2 reshape2 ];
+}
+
+```
+
+Executing `nix-shell` will then drop you into an environment equivalent to the
+one above. If you need additional packages just add them to the list and
+re-enter the shell.
+
 ## Updating the package set
 
 ```bash
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index 7629e28dfd5c..eaf3731bc4e9 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -339,7 +339,6 @@ let
     rtfbs = [ pkgs.zlib pkgs.pcre.dev pkgs.bzip2 pkgs.gzip pkgs.readline ];
     rtiff = [ pkgs.libtiff.dev ];
     runjags = [ pkgs.jags ];
-    RSymphony = [ pkgs.symphony ];
     RVowpalWabbit = [ pkgs.zlib.dev pkgs.boost ];
     rzmq = [ pkgs.zeromq3 ];
     SAVE = [ pkgs.zlib pkgs.bzip2 pkgs.icu pkgs.lzma pkgs.pcre ];
diff --git a/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb b/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
index 92321d6427dc..fe8c43f55ed1 100644
--- a/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
+++ b/pkgs/development/ruby-modules/bundled-common/gen-bin-stubs.rb
@@ -18,7 +18,8 @@ paths.each do |path|
   next unless File.directory?("#{path}/nix-support/gem-meta")
 
   name = File.read("#{path}/nix-support/gem-meta/name")
-  executables = File.read("#{path}/nix-support/gem-meta/executables").split
+  executables = File.read("#{path}/nix-support/gem-meta/executables")
+    .force_encoding('UTF-8').split
   executables.each do |exe|
     File.open("#{out}/bin/#{exe}", "w") do |f|
       f.write(<<-EOF)
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 803bd70dbd86..2f794c583e53 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -3,14 +3,14 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  version = "0.58.0";
+  version = "0.59.0";
   name = "flow-${version}";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "0s27zj3lx1mqpmfwqpvdcqpz9gzp40mbiy5hp5796pg7627spld5";
+    sha256 = "1i47k9dg3pawwkdccb57n6882q92jsmclk5ip2y6dv5hhv4s5z49";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/frama-c/default.nix b/pkgs/development/tools/analysis/frama-c/default.nix
index 1ce0ca161536..33ce0531e3b0 100644
--- a/pkgs/development/tools/analysis/frama-c/default.nix
+++ b/pkgs/development/tools/analysis/frama-c/default.nix
@@ -18,8 +18,8 @@ stdenv.mkDerivation rec {
   };
 
   why2 = fetchurl {
-    url    = "http://why.lri.fr/download/why-2.37.tar.gz";
-    sha256 = "00xr8aq6zwln0ccfs1ng610j70r6ia6wqdyaqs9iqibqfa1scr3m";
+    url    = "http://why.lri.fr/download/why-2.39.tar.gz";
+    sha256 = "0nf17jl00s7q9z8gkbamnf7mglvxqrm3967c17ic4c9xz8g125a8";
   };
 
   nativeBuildInputs = [ autoconf makeWrapper ];
diff --git a/pkgs/development/tools/analysis/kcov/default.nix b/pkgs/development/tools/analysis/kcov/default.nix
index c960f54ab204..509f3e19e802 100644
--- a/pkgs/development/tools/analysis/kcov/default.nix
+++ b/pkgs/development/tools/analysis/kcov/default.nix
@@ -1,18 +1,22 @@
-{stdenv, fetchurl, cmake, pkgconfig, zlib, curl, elfutils, python, libiberty, binutils}:
+{stdenv, fetchFromGitHub, cmake, pkgconfig, zlib, curl, elfutils, python, libiberty, binutils}:
 
 stdenv.mkDerivation rec {
   name = "kcov-${version}";
-  version = "32";
+  version = "34";
 
-  src = fetchurl {
-    url = "https://github.com/SimonKagstrom/kcov/archive/v${version}.tar.gz";
-    sha256 = "0ic5w6r3cpwb32iky1jmyvfclgkqr0rnfyim7j2r6im21846sa85";
+  src = fetchFromGitHub {
+    owner = "SimonKagstrom";
+    repo = "kcov";
+    rev = "v${version}";
+    sha256 = "1i4pn5na8m308pssk8585nmqi8kwd63a9h2rkjrn4w78ibmxvj01";
   };
 
   preConfigure = "patchShebangs src/bin-to-c-source.py";
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [ cmake zlib curl elfutils python libiberty binutils ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Code coverage tester for compiled programs, Python scripts and shell scripts";
 
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index 1754727bb364..9468842f0c4d 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchFromGitHub, fetchurl, pkgconfig, libusb, readline, libewf, perl, zlib, openssl,
+{stdenv, fetchFromGitHub, fetchurl, fetchpatch, pkgconfig, libusb, readline, libewf, perl, zlib, openssl,
 gtk2 ? null, vte ? null, gtkdialog ? null,
 python ? null,
 ruby ? null,
@@ -13,16 +13,24 @@ let
   inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
-  version = "2.0.0";
+  version = "2.0.1";
   name = "radare2-${version}";
 
   src = fetchFromGitHub {
     owner = "radare";
     repo = "radare2";
     rev = version;
-    sha256 = "1ahai9x6jc15wjzdbdkri3rc88ark2i5s8nv2pxcp0wwldvawlzi";
+    sha256 = "031ndvinsypagpkdszxjq0hj91ijq9zx4dzk53sz7il7s3zn65c7";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2017-15385.patch";
+      url = https://github.com/radare/radare2/commit/21a6f570ba33fa9f52f1bba87f07acc4e8c178f4.patch;
+      sha256 = "19qg5j9yr5r62nrq2b6mscxsz0wyyfah2z5jz8dvj9kqxq186d43";
+    })
+  ];
+
   postPatch = let
     cs_ver = "3.0.4"; # version from $sourceRoot/shlr/Makefile
     capstone = fetchurl {
diff --git a/pkgs/development/tools/analysis/splint/darwin.patch b/pkgs/development/tools/analysis/splint/darwin.patch
new file mode 100644
index 000000000000..8c435707571d
--- /dev/null
+++ b/pkgs/development/tools/analysis/splint/darwin.patch
@@ -0,0 +1,13 @@
+diff --git a/src/osd.c b/src/osd.c
+index ebe214a..4ba81d5 100644
+--- a/src/osd.c
++++ b/src/osd.c
+@@ -516,7 +516,7 @@ osd_getPid ()
+ # if defined (WIN32) || defined (OS2) && defined (__IBMC__)
+   int pid = _getpid ();
+ # else
+-  __pid_t pid = getpid ();
++  pid_t pid = getpid ();
+ # endif
+ 
+   return (int) pid;
diff --git a/pkgs/development/tools/analysis/splint/default.nix b/pkgs/development/tools/analysis/splint/default.nix
index e8a056bca5a7..2d6129dd3764 100644
--- a/pkgs/development/tools/analysis/splint/default.nix
+++ b/pkgs/development/tools/analysis/splint/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     sha256 = "02pv8kscsrkrzip9r08pfs9xs98q74c52mlxzbii6cv6vx1vd3f7";
   };
 
-  patches = [ ./tmpdir.patch ];
+  patches = [ ./tmpdir.patch ] ++ stdenv.lib.optional stdenv.isDarwin ./darwin.patch;
 
   buildInputs = [ flex ];
 
@@ -27,6 +27,6 @@ stdenv.mkDerivation rec {
     '';
 
     license = licenses.gpl2Plus;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/build-managers/bazel/default.nix b/pkgs/development/tools/build-managers/bazel/default.nix
index e15b212ebca6..a1452d330be0 100644
--- a/pkgs/development/tools/build-managers/bazel/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/default.nix
@@ -1,4 +1,8 @@
-{ stdenv, lib, fetchurl, jdk, zip, unzip, bash, writeScriptBin, coreutils, makeWrapper, which, python }:
+{ stdenv, lib, fetchurl, jdk, zip, unzip, bash, writeScriptBin, coreutils, makeWrapper, which, python
+# Always assume all markers valid (don't redownload dependencies).
+# Also, don't clean up environment variables.
+, enableNixHacks ? false
+}:
 
 stdenv.mkDerivation rec {
 
@@ -21,6 +25,8 @@ stdenv.mkDerivation rec {
 
   sourceRoot = ".";
 
+  patches = lib.optional enableNixHacks ./nix-hacks.patch;
+
   # Bazel expects several utils to be available in Bash even without PATH. Hence this hack.
 
   customBash = writeScriptBin "bash" ''
@@ -74,7 +80,6 @@ stdenv.mkDerivation rec {
   '';
 
   # Bazel expects gcc and java to be in the path.
-
   installPhase = ''
     mkdir -p $out/bin
     mv output/bazel $out/bin
@@ -84,6 +89,12 @@ stdenv.mkDerivation rec {
     cp scripts/zsh_completion/_bazel $out/share/zsh/site-functions/
   '';
 
+  # Save paths to hardcoded dependencies so Nix can detect them.
+  postFixup = ''
+    mkdir -p $out/nix-support
+    echo "${customBash} ${coreutils}" > $out/nix-support/depends
+  '';
+
   dontStrip = true;
   dontPatchELF = true;
 }
diff --git a/pkgs/development/tools/build-managers/conan/default.nix b/pkgs/development/tools/build-managers/conan/default.nix
index 1558772ed601..4a2afbeedfe6 100644
--- a/pkgs/development/tools/build-managers/conan/default.nix
+++ b/pkgs/development/tools/build-managers/conan/default.nix
@@ -1,48 +1,29 @@
-{ stdenv, python }:
+{ lib, buildPythonApplication, fetchPypi
+, requests, fasteners, pyyaml, pyjwt, colorama, patch
+, bottle, pluginbase, six, distro, pylint, node-semver
+, future, pygments, mccabe
+}:
 
-let
-  p = python.override {
-    packageOverrides = self: super: {
-      astroid = super.astroid.overridePythonAttrs (oldAttrs: rec {
-        version = "1.4.9";
-        name = "${oldAttrs.pname}-${version}";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "a483e7891ce3a06dadfc6cb9095b0938aca58940d43576d72e4502b480c085d7";
-        };
-      });
-      pylint = super.pylint.overridePythonAttrs (oldAttrs: rec {
-        version = "1.6.5";
-        name = "${oldAttrs.pname}-${version}";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "a673984a8dd78e4a8b8cfdee5359a1309d833cf38405008f4a249994a8456719";
-        };
-      });
-    };
-  };
-
-in p.pkgs.buildPythonApplication rec {
-  name = "${pname}-${version}";
-  version = "0.26.1";
+buildPythonApplication rec {
+  version = "0.28.1";
   pname = "conan";
 
-  src = p.pkgs.fetchPypi {
+  src = fetchPypi {
     inherit pname version;
-    sha256 = "2da5a140a74d912d5561698b8cc5a5e5583b9dbe36623c59b4ce4be586476e7c";
+    sha256 = "0zf564iqh0099yd779f9fgk21qyp87d7cmgfj34hmncf8y3qh32a";
   };
 
-  propagatedBuildInputs = with p.pkgs; [
+  propagatedBuildInputs = [
     requests fasteners pyyaml pyjwt colorama patch
     bottle pluginbase six distro pylint node-semver
     future pygments mccabe
   ];
 
   # enable tests once all of these pythonPackages available:
-  # [ nose nose_parameterized mock WebTest codecov ]
+  # [ nose nose_parameterized mock webtest codecov ]
   doCheck = false;
 
-  meta = with stdenv.lib; {
+  meta = with lib; {
     homepage = https://conan.io;
     description = "Decentralized and portable C/C++ package manager";
     license = licenses.mit;
diff --git a/pkgs/development/tools/build-managers/icmake/default.nix b/pkgs/development/tools/build-managers/icmake/default.nix
index c79f238673e4..11caff8ddab5 100644
--- a/pkgs/development/tools/build-managers/icmake/default.nix
+++ b/pkgs/development/tools/build-managers/icmake/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   name = "icmake-${version}";
-  version = "9.02.02";
+  version = "9.02.03";
 
   src = fetchFromGitHub {
-    sha256 = "0f7w3b8r2h6ckgzc6wbfbw5yyxia0f3j3acmzi1yzylj6ak05mmd";
+    sha256 = "1g3pdcd2i8n29rqwrdg6bd7qnsii55hi0rnma86hy0pm5cshpwi5";
     rev = version;
     repo = "icmake";
     owner = "fbb-git";
diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index cd9635ab6142..fbbca9a0cfe4 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub, which, curl, makeWrapper }:
 
 let
   rev = "77686b3dfa20a34270cc52377c8e37c3a461e484";
@@ -17,9 +17,13 @@ stdenv.mkDerivation {
 
   dontBuild = true;
 
+  buildInputs = [ makeWrapper ];
+
   installPhase = ''
     mkdir -p $out/bin
     install bin/sbt $out/bin
+
+    wrapProgram $out/bin/sbt --prefix PATH : ${stdenv.lib.makeBinPath [ which curl]}
   '';
 
   meta = {
diff --git a/pkgs/development/tools/build-managers/scons/default.nix b/pkgs/development/tools/build-managers/scons/default.nix
index 8e40777815c8..f52d53526fa1 100644
--- a/pkgs/development/tools/build-managers/scons/default.nix
+++ b/pkgs/development/tools/build-managers/scons/default.nix
@@ -11,4 +11,8 @@ in {
     version = "3.0.0";
     sha256 = "05jjykllk4icnq6gfrkgkbc4ggxm7983q6r33mrhpilqbd02ylqg";
   };
+  scons_3_0_1 = mkScons {
+    version = "3.0.1";
+    sha256 = "0wzid419mlwqw9llrg8gsx4nkzhqy16m4m40r0xnh6cwscw5wir4";
+  };
 }
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index e6f01ba5c93d..377f35150f46 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.87";
+  version = "2.90";
 
   src = fetchurl {
     url = "http://mirrors.jenkins-ci.org/war/${version}/jenkins.war";
-    sha256 = "1nzs9nn1nr2jav59v1xj39rzmrh1zmwaqnpaiqsll8kixkr9rb8f";
+    sha256 = "15h1abcvr8b5n8l4kqivxncvc9dwz66pmdy9ycs3qaz4nrypws8z";
   };
 
   buildCommand = ''
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     homepage = http://jenkins-ci.org;
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ coconnor fpletz ];
+    maintainers = with maintainers; [ coconnor fpletz earldouglas ];
   };
 }
diff --git a/pkgs/development/tools/database/sqlitebrowser/default.nix b/pkgs/development/tools/database/sqlitebrowser/default.nix
index adeb377dccd0..74adac9f8a32 100644
--- a/pkgs/development/tools/database/sqlitebrowser/default.nix
+++ b/pkgs/development/tools/database/sqlitebrowser/default.nix
@@ -1,32 +1,39 @@
-{ mkDerivation, lib, fetchFromGitHub, qtbase, qttools, sqlite, cmake }:
+{ mkDerivation, lib, fetchFromGitHub, cmake, antlr
+, qtbase, qttools, qscintilla, sqlite }:
 
 mkDerivation rec {
-  version = "3.10.0";
+  version = "3.10.1";
   name = "sqlitebrowser-${version}";
 
   src = fetchFromGitHub {
     repo   = "sqlitebrowser";
     owner  = "sqlitebrowser";
     rev    = "v${version}";
-    sha256 = "1fwr7p4b6glc3s0a06i7cg8l9p1mrcm4vyhyf2wi89cyg22rrf5c";
+    sha256 = "1brzam8yv6sbdmbqsp7vglhd6wlx49g2ap8llr271zrkld4k3kar";
   };
 
-  buildInputs = [ qtbase qttools sqlite ];
-  nativeBuildInputs = [ cmake ];
+  buildInputs = [ qtbase qscintilla sqlite ];
 
-  cmakeFlags = [ "-DUSE_QT5=TRUE" ];
+  nativeBuildInputs = [ cmake antlr qttools ];
 
-  # A regression was introduced in CMakeLists.txt on v3.9.x
-  # See https://github.com/sqlitebrowser/sqlitebrowser/issues/832 and issues/755
+  enableParallelBuilding = true;
+
+  # We have to patch out Test and PrintSupport to make this work with Qt 5.9
+  # It can go when the application supports 5.9
   postPatch = ''
-    substituteInPlace CMakeLists.txt --replace 'project("DB Browser for SQLite")' 'project(sqlitebrowser)'
+    substituteInPlace CMakeLists.txt \
+      --replace Test         "" \
+      --replace PrintSupport ""
+
+    substituteInPlace libs/qcustomplot-source/CMakeLists.txt \
+      --replace PrintSupport ""
   '';
 
   meta = with lib; {
     description = "DB Browser for SQLite";
     homepage = http://sqlitebrowser.org/;
     license = licenses.gpl3;
-    maintainers = [ maintainers.matthiasbeyer ];
+    maintainers = with maintainers; [ matthiasbeyer ];
     platforms = platforms.linux; # can only test on linux
   };
 }
diff --git a/pkgs/development/tools/geckodriver/default.nix b/pkgs/development/tools/geckodriver/default.nix
new file mode 100644
index 000000000000..8f6e0dde5899
--- /dev/null
+++ b/pkgs/development/tools/geckodriver/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, fetchurl
+, rustPlatform
+}:
+
+with rustPlatform; 
+
+buildRustPackage rec {
+  version = "0.19.1";
+  name = "geckodriver-${version}";
+
+  src = fetchurl {
+    url = "https://github.com/mozilla/geckodriver/archive/v${version}.tar.gz";
+    sha256 = "04zpv4aiwbig466yj24hhazl5hrapkyvwlhvg0za5599ykzdv47m";
+  };
+
+  cargoSha256 = "1cny8caqcd9p98hra1k7y4d3lb8sxsyaplr0svbwam0d2qc1c257";
+
+  meta = with lib; {
+    description = "Proxy for using W3C WebDriver-compatible clients to interact with Gecko-based browsers";
+    homepage = https://github.com/mozilla/geckodriver;
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ jraygauthier ];
+  };
+}
diff --git a/pkgs/development/tools/git-series/default.nix b/pkgs/development/tools/git-series/default.nix
index 44120ad023ae..7d94863ea1cb 100644
--- a/pkgs/development/tools/git-series/default.nix
+++ b/pkgs/development/tools/git-series/default.nix
@@ -17,7 +17,7 @@ buildRustPackage rec {
 
   cargoDepsHook = ''
     (
-      cd ${name}-src
+      cd */
       # see https://github.com/git-series/git-series/pull/56
       patch -p1 < ${fetchpatch {
         url = "https://github.com/Mic92/git-series/commit/3aa30a47d74ebf90b444dccdf8c153f07f119483.patch";
diff --git a/pkgs/development/tools/godot/default.nix b/pkgs/development/tools/godot/default.nix
index 3100b2c84df7..54e0c53d692c 100644
--- a/pkgs/development/tools/godot/default.nix
+++ b/pkgs/development/tools/godot/default.nix
@@ -1,21 +1,21 @@
-{ stdenv, fetchFromGitHub, gcc, scons, pkgconfig, libX11, libXcursor
+{ stdenv, fetchFromGitHub, gcc5, scons, pkgconfig, libX11, libXcursor
 , libXinerama, libXrandr, libXrender, freetype, openssl, alsaLib
 , libpulseaudio, mesa_glu, zlib }:
 
 stdenv.mkDerivation rec {
   name    = "godot-${version}";
-  version = "2.1.3-stable";
+  version = "2.1.4";
 
   src = fetchFromGitHub {
     owner  = "godotengine";
     repo   = "godot";
-    rev    = version;
-    sha256 = "04qbab0icpv3ascr4dqgj18sqvw04a1jypcngb0ji8npa8q9wxb2";
+    rev    = "${version}-stable";
+    sha256 = "0d2zczn5k7296sky5gllq55cxd586nx134y2iwjpkqqjr62g0h48";
   };
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gcc scons libX11 libXcursor libXinerama libXrandr libXrender
+    gcc5 scons libX11 libXcursor libXinerama libXrandr libXrender
     freetype openssl alsaLib libpulseaudio mesa_glu zlib
   ];
 
diff --git a/pkgs/development/tools/gotools/default.nix b/pkgs/development/tools/gotools/default.nix
index 3408c90cda6a..e9a7e7ac8918 100644
--- a/pkgs/development/tools/gotools/default.nix
+++ b/pkgs/development/tools/gotools/default.nix
@@ -2,8 +2,8 @@
 
 buildGoPackage rec {
   name = "gotools-${version}";
-  version = "20160519-${stdenv.lib.strings.substring 0 7 rev}";
-  rev = "9ae4729fba20b3533d829a9c6ba8195b068f2abc";
+  version = "20170807-${stdenv.lib.strings.substring 0 7 rev}";
+  rev = "5d2fd3ccab986d52112bf301d47a819783339d0e";
 
   goPackagePath = "golang.org/x/tools";
   goPackageAliases = [ "code.google.com/p/go.tools" ];
@@ -11,7 +11,7 @@ buildGoPackage rec {
   src = fetchgit {
     inherit rev;
     url = "https://go.googlesource.com/tools";
-    sha256 = "1j51aaskfqc953p5s9naqimr04hzfijm4yczdsiway1xnnvvpfr1";
+    sha256 = "0r3fp7na6pg0bc5xfycjvv951f0vma1qfnpw5zy6l75yxm5r47kn";
   };
 
   goDeps = ./deps.nix;
diff --git a/pkgs/development/tools/haskell/ihaskell/wrapper.nix b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
index f1a4f219682d..75ad33e72f63 100644
--- a/pkgs/development/tools/haskell/ihaskell/wrapper.nix
+++ b/pkgs/development/tools/haskell/ihaskell/wrapper.nix
@@ -1,27 +1,28 @@
-{ stdenv, writeScriptBin, makeWrapper, buildEnv, ghcWithPackages, ihaskell, ipython, packages }:
+{ stdenv, writeScriptBin, makeWrapper, buildEnv, haskell, ghcWithPackages, ihaskell, jupyter, packages }:
 let
   ihaskellEnv = ghcWithPackages (self: [
     self.ihaskell
-    self.ihaskell-blaze
-    self.ihaskell-diagrams
-    self.ihaskell-display
+    (haskell.lib.doJailbreak self.ihaskell-blaze)
+    (haskell.lib.doJailbreak self.ihaskell-diagrams)
+    (haskell.lib.doJailbreak self.ihaskell-display)
   ] ++ packages self);
   ihaskellSh = writeScriptBin "ihaskell-notebook" ''
     #! ${stdenv.shell}
     export GHC_PACKAGE_PATH="$(echo ${ihaskellEnv}/lib/*/package.conf.d| tr ' ' ':'):$GHC_PACKAGE_PATH"
-    export PATH="${stdenv.lib.makeBinPath [ ihaskell ihaskellEnv ipython ]}"
-    ${ihaskell}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${ipython}/bin/ipython notebook --kernel=haskell
+    export PATH="${stdenv.lib.makeBinPath ([ ihaskell ihaskellEnv jupyter ])}"
+    ${ihaskell}/bin/ihaskell install -l $(${ihaskellEnv}/bin/ghc --print-libdir) && ${jupyter}/bin/jupyter notebook
   '';
-  profile = "${ihaskell.pname}-${ihaskell.version}/profile/profile.tar";
 in
 buildEnv {
   name = "ihaskell-with-packages";
-  paths = [ ihaskellEnv ipython ];
+  buildInputs = [ makeWrapper ];
+  paths = [ ihaskellEnv jupyter ];
   postBuild = ''
-    . "${makeWrapper}/nix-support/setup-hook"
-    ln -s ${ihaskellSh}/bin/ihaskell-notebook $out/bin/.
+    ln -s ${ihaskellSh}/bin/ihaskell-notebook $out/bin/
     for prg in $out/bin"/"*;do
-      wrapProgram $prg --set PYTHONPATH "$(echo ${ipython}/lib/*/site-packages)"
+      if [[ -f $prg && -x $prg ]]; then
+        wrapProgram $prg --set PYTHONPATH "$(echo ${jupyter}/lib/*/site-packages)"
+      fi
     done
   '';
 }
diff --git a/pkgs/development/tools/icestorm/default.nix b/pkgs/development/tools/icestorm/default.nix
index b01127ffa564..b9d72084518b 100644
--- a/pkgs/development/tools/icestorm/default.nix
+++ b/pkgs/development/tools/icestorm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "icestorm-${version}";
-  version = "2017.10.16";
+  version = "2017.11.05";
 
   src = fetchFromGitHub {
-    owner = "cliffordwolf";
-    repo = "icestorm";
-    rev = "d9d2a3dcaa749014f5b9a539768b8368bb529b28";
-    sha256 = "1a755jnbjq3v7a3l90qjlgihmrpbdfiiabb4g8sw3ay3qmvzwh6b";
+    owner  = "cliffordwolf";
+    repo   = "icestorm";
+    rev    = "3ba18d001754de563ab0baa2a1c8eecbe63ef121";
+    sha256 = "1c7yv91xi4vx0130xn2zq74gfjbf7fhm2q4fma9xgwj5xpdy8rmn";
   };
 
   buildInputs = [ python3 libftdi ];
diff --git a/pkgs/development/tools/kafkacat/default.nix b/pkgs/development/tools/kafkacat/default.nix
index 0d5c6e83c01e..3a1c4225bffb 100644
--- a/pkgs/development/tools/kafkacat/default.nix
+++ b/pkgs/development/tools/kafkacat/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zlib rdkafka yajl ];
 
+  preConfigure = ''
+    patchShebangs ./configure
+  '';
+
   meta = with stdenv.lib; {
     description = "A generic non-JVM producer and consumer for Apache Kafka";
     homepage = https://github.com/edenhill/kafkacat;
diff --git a/pkgs/development/tools/misc/bashdb/default.nix b/pkgs/development/tools/misc/bashdb/default.nix
index 4c0ca97ad505..67a2b20466ec 100644
--- a/pkgs/development/tools/misc/bashdb/default.nix
+++ b/pkgs/development/tools/misc/bashdb/default.nix
@@ -1,14 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "bashdb-4.4-0.92";
+  name = "bashdb-4.4-0.94";
 
   src = fetchurl {
     url =  "mirror://sourceforge/bashdb/${name}.tar.bz2";
-    sha256 = "6a8c2655e04339b954731a0cb0d9910e2878e45b2fc08fe469b93e4f2dbaaf92";
+    sha256 = "01n0dml866sacls7q8h1c6mm4nc47lq3vrar9idmkajky71aycar";
   };
 
-  meta = { 
+  meta = {
     description = "Bash script debugger";
     homepage = http://bashdb.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/development/tools/misc/d-feet/default.nix b/pkgs/development/tools/misc/d-feet/default.nix
index bd08c6c4c05e..14a52f4e08a6 100644
--- a/pkgs/development/tools/misc/d-feet/default.nix
+++ b/pkgs/development/tools/misc/d-feet/default.nix
@@ -2,7 +2,7 @@
 , pythonPackages, makeWrapper, gnome3, libwnck3 }:
 
 let
-  version = "${major}.11";
+  version = "${major}.12";
   major = "0.3";
 in pythonPackages.buildPythonApplication rec {
   name = "d-feet-${version}";
@@ -10,7 +10,7 @@ in pythonPackages.buildPythonApplication rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/d-feet/${major}/d-feet-${version}.tar.xz";
-    sha256 = "a3dc940c66f84b996c328531e3034d475ec690d7ff639445ff7ca746aa8cb9c2";
+    sha256 = "054hl56rii9ff7rzl42h7993ywjbxmhlcd7bk8fi1c2bx98c6s68";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/development/tools/misc/dbench/default.nix b/pkgs/development/tools/misc/dbench/default.nix
index a1c9c11d34d1..a1c9e85a83ab 100644
--- a/pkgs/development/tools/misc/dbench/default.nix
+++ b/pkgs/development/tools/misc/dbench/default.nix
@@ -11,6 +11,11 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ autoconf popt zlib ];
 
+  patches = [
+    # patch has been also sent upstream and might be included in future versions
+    ./fix-missing-stdint.patch
+  ];
+
   preConfigure = ''
     ./autogen.sh
     configureFlagsArray+=("--datadir=$out/share/dbench")
diff --git a/pkgs/development/tools/misc/dbench/fix-missing-stdint.patch b/pkgs/development/tools/misc/dbench/fix-missing-stdint.patch
new file mode 100644
index 000000000000..96cb28e9e55a
--- /dev/null
+++ b/pkgs/development/tools/misc/dbench/fix-missing-stdint.patch
@@ -0,0 +1,10 @@
+--- dbench-65b1987.org/libnfs.c	2017-11-08 12:25:39.652147989 +0000
++++ dbench-65b1987/libnfs.c	2017-11-08 12:26:20.269897054 +0000
+@@ -23,6 +23,7 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <fcntl.h>
++#include <stdint.h>
+ 
+ #define discard_const(ptr) ((void *)((intptr_t)(ptr)))
+ 
diff --git a/pkgs/development/tools/misc/gtkdialog/default.nix b/pkgs/development/tools/misc/gtkdialog/default.nix
index 71e9ee27a9e8..50f451ebae23 100644
--- a/pkgs/development/tools/misc/gtkdialog/default.nix
+++ b/pkgs/development/tools/misc/gtkdialog/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "gtkdialog-0.8.3";
 
   src = fetchurl {
-    url = http://gtkdialog.googlecode.com/files/gtkdialog-0.8.3.tar.gz;
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/gtkdialog/gtkdialog-0.8.3.tar.gz";
     sha256 = "ff89d2d7f1e6488e5df5f895716ac1d4198c2467a2a5dc1f51ab408a2faec38e";
   };
 
@@ -12,7 +12,8 @@ stdenv.mkDerivation {
   buildInputs = [ gtk2 hicolor_icon_theme ];
 
   meta = {
-    homepage = http://gtkdialog.googlecode.com/;
+    homepage = https://code.google.com/archive/p/gtkdialog/;
+    # community links: http://murga-linux.com/puppy/viewtopic.php?t=111923 -> https://github.com/01micko/gtkdialog
     description = "Small utility for fast and easy GUI building from many scripted and compiled languages";
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/development/tools/misc/hydra/default.nix b/pkgs/development/tools/misc/hydra/default.nix
index 2ac7ef4593c1..e8ebc617d198 100644
--- a/pkgs/development/tools/misc/hydra/default.nix
+++ b/pkgs/development/tools/misc/hydra/default.nix
@@ -62,15 +62,15 @@ let
   };
 in releaseTools.nixBuild rec {
   name = "hydra-${version}";
-  version = "2017-09-14";
+  version = "2017-10-26";
 
   inherit stdenv;
 
   src = fetchFromGitHub {
     owner = "NixOS";
     repo = "hydra";
-    rev = "b828224fee451ad26e87cfe4eeb9c0704ee1062b";
-    sha256 = "05xv10ldsa1rahxbbgh5kwvl1dv4yvc8idczpifgb55fgqj8zazm";
+    rev = "2cdc84f34f4de647dd89c5ef503782a3a48ff623";
+    sha256 = "1gcp22ldyc914aik4yhlzy60ym7z8513pvp0ag5637j44nz0rf7h";
   };
 
   buildInputs =
diff --git a/pkgs/development/tools/misc/luarocks/default.nix b/pkgs/development/tools/misc/luarocks/default.nix
index 03a686c125f0..6d3dffa894ce 100644
--- a/pkgs/development/tools/misc/luarocks/default.nix
+++ b/pkgs/development/tools/misc/luarocks/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="luarocks";
-    version="2.4.2";
+    version="2.4.3";
     name="${baseName}-${version}";
-    hash="1rfjfjgnafjxs1zrd1gy0ga5lw28sf5lrdmgzgh6bcp1hd2w67hf";
-    url="http://luarocks.org/releases/luarocks-2.4.2.tar.gz";
-    sha256="1rfjfjgnafjxs1zrd1gy0ga5lw28sf5lrdmgzgh6bcp1hd2w67hf";
+    hash="0binkd8mpzdzvx0jw0dwm4kr1p7jny015zykf8f15fymzqr4shad";
+    url="http://luarocks.org/releases/luarocks-2.4.3.tar.gz";
+    sha256="0binkd8mpzdzvx0jw0dwm4kr1p7jny015zykf8f15fymzqr4shad";
   };
   buildInputs = [
     lua curl makeWrapper which unzip
diff --git a/pkgs/development/tools/misc/objconv/default.nix b/pkgs/development/tools/misc/objconv/default.nix
index 3c309493a33b..c4265ba95b08 100644
--- a/pkgs/development/tools/misc/objconv/default.nix
+++ b/pkgs/development/tools/misc/objconv/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "objconv-${version}";
-  version = "2.44";
+  version = "2.48";
 
   src = fetchurl {
     # Versioned archive of objconv sources maintained by orivej.
     url = "https://archive.org/download/objconv/${name}.zip";
-    sha256 = "1dlnpv8qwz0rwivpbgk84kmsjz3vh1i149z44ha2dvg8afzyfhjl";
+    sha256 = "1y4bmy99dfhyqykkib50fiwsha2a62s9ya1qsv5mwj21w1l0snj7";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/tools/misc/stm32flash/default.nix b/pkgs/development/tools/misc/stm32flash/default.nix
index f20343156e3f..f81b327d8428 100644
--- a/pkgs/development/tools/misc/stm32flash/default.nix
+++ b/pkgs/development/tools/misc/stm32flash/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "stm32flash-1.0";
 
   src = fetchurl {
-    url = https://stm32flash.googlecode.com/files/stm32flash.tar.gz;
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/stm32flash/stm32flash.tar.gz";
     sha256 = "04k631g9lzvp9xr4sw51xpq1g542np61s1l8fpwx9rbsc8m5l0i6";
   };
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Open source flash program for the STM32 ARM processors using the ST bootloader";
-    homepage = https://code.google.com/p/stm32flash/;
+    homepage = https://sourceforge.net/projects/stm32flash/;
     license = stdenv.lib.licenses.gpl2;
     platforms = platforms.all; # Should work on all platforms
     maintainers = [ maintainers.the-kenny ];
diff --git a/pkgs/development/tools/misc/ycmd/default.nix b/pkgs/development/tools/misc/ycmd/default.nix
index cc805b499d43..4c60067c48ef 100644
--- a/pkgs/development/tools/misc/ycmd/default.nix
+++ b/pkgs/development/tools/misc/ycmd/default.nix
@@ -7,12 +7,12 @@
 
 stdenv.mkDerivation rec {
   name = "ycmd-${version}";
-  version = "2017-03-27";
+  version = "2017-11-05";
 
   src = fetchgit {
     url = "git://github.com/Valloric/ycmd.git";
-    rev = "2ef1ae0d00a06a47fed3aacfd465a310e8bdb0d2";
-    sha256 = "0p5knlxgy66zi229ns1lfdhz5lram93vahmmk54w98fr3h8b1yfj";
+    rev = "0ca16e7ba3a9078b697befdce64104e61829aa3b";
+    sha256 = "0bs94iv521ac2n53n3k8mw3s6v0hi3hhxhjsr0ips3n99al8wndi";
   };
 
   buildInputs = [ cmake boost ]
diff --git a/pkgs/development/tools/misc/ycmd/dont-symlink-clang.patch b/pkgs/development/tools/misc/ycmd/dont-symlink-clang.patch
index 6af691426bb7..6199758de520 100644
--- a/pkgs/development/tools/misc/ycmd/dont-symlink-clang.patch
+++ b/pkgs/development/tools/misc/ycmd/dont-symlink-clang.patch
@@ -1,16 +1,33 @@
 diff --git a/cpp/ycm/CMakeLists.txt b/cpp/ycm/CMakeLists.txt
-index 00e4882..8f29797 100644
+index 133c987a..33625271 100644
 --- a/cpp/ycm/CMakeLists.txt
 +++ b/cpp/ycm/CMakeLists.txt
-@@ -310,11 +310,6 @@ if ( EXTERNAL_LIBCLANG_PATH OR USE_SYSTEM_LIBCLANG )
-       # our libraries require, in particular the Python one (from pyenv for
-       # instance).
-       set( CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE )
--      # When loading our library, the dynamic linker will look for
--      # libclang.so.4, not libclang.so.4.x.
--      file( RENAME
--            ${EXTERNAL_LIBCLANG_PATH}.${CLANG_MAJOR_VERSION}.${CLANG_MINOR_VERSION}
--            ${EXTERNAL_LIBCLANG_PATH}.${CLANG_MAJOR_VERSION} )
-     endif()
+@@ -359,28 +359,6 @@ if( LIBCLANG_TARGET )
+       POST_BUILD
+       COMMAND ${CMAKE_COMMAND} -E copy "${PATH_TO_LLVM_ROOT}/bin/libclang.dll" "$<TARGET_FILE_DIR:${PROJECT_NAME}>"
+     )
+-  else()
+-    add_custom_command(
+-      TARGET ${PROJECT_NAME}
+-      POST_BUILD
+-      COMMAND ${CMAKE_COMMAND} -E copy "${LIBCLANG_TARGET}" "$<TARGET_FILE_DIR:${PROJECT_NAME}>"
+-    )
+-
+-    if( NOT APPLE )
+-      # When loading our library, the dynamic linker may look for
+-      # libclang.so.x instead of libclang.so.x.y. Create the corresponding
+-      # symlink.
+-      get_filename_component( LIBCLANG_NAME ${LIBCLANG_TARGET} NAME )
+-      string( REGEX REPLACE "([^.]+).([0-9]+).([0-9]+)$" "\\1.\\2"
+-              LIBCLANG_SONAME ${LIBCLANG_NAME} )
+-      add_custom_command(
+-        TARGET ${PROJECT_NAME}
+-        POST_BUILD
+-        COMMAND ${CMAKE_COMMAND} -E create_symlink
+-        "${LIBCLANG_NAME}"
+-        "$<TARGET_FILE_DIR:${PROJECT_NAME}>/${LIBCLANG_SONAME}"
+-      )
+-    endif()
    endif()
+ endif()
  
diff --git a/pkgs/development/tools/ocaml/omake/default.nix b/pkgs/development/tools/ocaml/omake/default.nix
index 93d96005d35d..0f536c489eb6 100644
--- a/pkgs/development/tools/ocaml/omake/default.nix
+++ b/pkgs/development/tools/ocaml/omake/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   name = "omake-${version}";
-  version = "0.10.2";
+  version = "0.10.3";
 
   src = fetchurl {
     url = "http://download.camlcity.org/download/${name}.tar.gz";
-    sha256 = "1znnlkpz89hk44byvnl1pr92ym6hwfyyw2qm9clq446r6l2z4m64";
+    sha256 = "07bdg1h5i7qnlv9xq81ad5hfypl10hxm771h4rjyl5cn8plhfcgz";
   };
 
   buildInputs = [ ocaml ncurses ];
diff --git a/pkgs/development/tools/parsing/flex/default.nix b/pkgs/development/tools/parsing/flex/default.nix
index 92fba47b756f..4ea11a622ea1 100644
--- a/pkgs/development/tools/parsing/flex/default.nix
+++ b/pkgs/development/tools/parsing/flex/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchurl, bison, m4 }:
+{ stdenv, fetchurl, bison, m4
+, fetchpatch, autoreconfHook, help2man
+}:
 
 stdenv.mkDerivation rec {
   name = "flex-${version}";
@@ -9,6 +11,16 @@ stdenv.mkDerivation rec {
     sha256 = "15g9bv236nzi665p9ggqjlfn4dwck5835vf0bbw2cz7h5c1swyp8";
   };
 
+  # Also upstream, will be part of 2.6.5
+  # https://github.com/westes/flex/commit/24fd0551333e
+  patches = [(fetchpatch {
+    name = "glibc-2.26.patch";
+    url = "https://raw.githubusercontent.com/lede-project/source/0fb14a2b1ab2f82c"
+        + "/tools/flex/patches/200-build-AC_USE_SYSTEM_EXTENSIONS-in-configure.ac.patch";
+    sha256 = "1aarhcmz7mfrgh15pkj6f7ikxa2m0mllw1i1vscsf1kw5d05lw6f";
+  })];
+  nativeBuildInputs = [ autoreconfHook help2man ];
+
   buildInputs = [ bison ];
 
   propagatedBuildInputs = [ m4 ];
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index 02a13bfa28dc..66895fb7fd3e 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -25,7 +25,7 @@ let
       doCheck = true;
 
       meta = with stdenv.lib; {
-        homepage = http://www.complang.org/ragel;
+        homepage = https://www.colm.net/open-source/ragel/;
         description = "State machine compiler";
         inherit license;
         platforms = platforms.unix;
diff --git a/pkgs/development/tools/phantomjs2/default.nix b/pkgs/development/tools/phantomjs2/default.nix
index ee5de04a782d..1a6a4ca890c0 100644
--- a/pkgs/development/tools/phantomjs2/default.nix
+++ b/pkgs/development/tools/phantomjs2/default.nix
@@ -104,10 +104,6 @@ in stdenv.mkDerivation rec {
     --prefix PATH : ${stdenv.lib.makeBinPath [ qtbase ]}
   '';
 
-  preFixup = ''
-    rm -r ../__nix_qt5__
-  '';
-
   meta = with stdenv.lib; {
     description = "Headless WebKit with JavaScript API";
     longDescription = ''
diff --git a/pkgs/development/tools/profiling/heaptrack/default.nix b/pkgs/development/tools/profiling/heaptrack/default.nix
index 69aa84951a4e..e97ff61a0dc0 100644
--- a/pkgs/development/tools/profiling/heaptrack/default.nix
+++ b/pkgs/development/tools/profiling/heaptrack/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "heaptrack-${version}";
-  version = "2017-02-14";
+  version = "2017-10-30";
 
   src = fetchFromGitHub {
     owner = "KDE";
     repo = "heaptrack";
-    rev = "2469003b3172874e1df7e1f81c56e469b80febdb";
-    sha256 = "0dqchd2r4khv9gzj4n0qjii2nqygkj5jclkji8jbvivx5qwsqznc";
+    rev = "2bf49bc4fed144e004a9cabd40580a0f0889758f";
+    sha256 = "0sqxk5cc8r2vsj5k2dj9jkd1f2x2yj3mxgsp65g7ls01bgga0i4d";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/development/tools/profiling/systemtap/default.nix b/pkgs/development/tools/profiling/systemtap/default.nix
index 89a1b5fe0aac..b397f02665bc 100644
--- a/pkgs/development/tools/profiling/systemtap/default.nix
+++ b/pkgs/development/tools/profiling/systemtap/default.nix
@@ -1,5 +1,7 @@
 { fetchgit, pkgconfig, gettext, runCommand, makeWrapper
-, elfutils, kernel, gnumake, python2, pythonPackages, binutils }:
+, elfutils, kernel, gnumake, python2, pythonPackages
+}:
+
 let
   ## fetchgit info
   url = git://sourceware.org/git/systemtap.git;
@@ -55,5 +57,5 @@ in runCommand "systemtap-${kernel.version}-${version}" {
   rm $out/bin/stap
   makeWrapper $stapBuild/bin/stap $out/bin/stap \
     --add-flags "-r $kernelBuildDir" \
-    --prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc binutils elfutils gnumake ]}
+    --prefix PATH : ${lib.makeBinPath [ stdenv.cc.cc stdenv.cc.bintools elfutils gnumake ]}
 ''
diff --git a/pkgs/development/tools/rtags/default.nix b/pkgs/development/tools/rtags/default.nix
index 32be2a503bfc..8fe47bd0cb54 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.12";
+  version = "2.15";
 
   nativeBuildInputs = [ cmake pkgconfig ];
   buildInputs = [ llvmPackages.llvm openssl emacs ]
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     rev = "refs/tags/v${version}";
     fetchSubmodules = true;
     url = "https://github.com/andersbakken/rtags.git";
-    sha256 = "0bgjcvyvkpqcgw4571iz39sqydmcaz6ymx7kxcmq6j7rffs6qs7l";
+    sha256 = "12nnyav2q1ddkz9wm0aclhn7r74xj4ibrb0x05k7mcf694bg79c0";
     # unicode file names lead to different checksums on HFS+ vs. other
     # filesystems because of unicode normalisation
     postFetch = ''
diff --git a/pkgs/development/tools/rust/racer/default.nix b/pkgs/development/tools/rust/racer/default.nix
index 57b685e946d0..77ab75d1446c 100644
--- a/pkgs/development/tools/rust/racer/default.nix
+++ b/pkgs/development/tools/rust/racer/default.nix
@@ -1,32 +1,33 @@
-{ stdenv, fetchFromGitHub, rustPlatform, makeWrapper }:
+{ stdenv, fetchFromGitHub, rustPlatform, makeWrapper, rustup, substituteAll }:
 
 rustPlatform.buildRustPackage rec {
   name = "racer-${version}";
-  version = "2.0.9";
+  version = "2.0.12";
 
   src = fetchFromGitHub {
     owner = "racer-rust";
     repo = "racer";
     rev = version;
-    sha256 = "06k50f2vj2w08afh3nrlhs0amcvw2i45bhfwr70sgs395xicjswp";
+    sha256 = "0y1xlpjr8y8gsmmrjlykx4vwzf8akk42g35kg3kc419ry4fli945";
   };
 
-  cargoSha256 = "1w5imxyqlyv24dvzncq6dy01zn2x8p1aciyvzh8ac1x1wdjcacjc";
+  cargoSha256 = "1h3jv4hajdv6k309kjr6b6298kxmd0faw081i3788sl794k9mp0j";
 
-  buildInputs = [ makeWrapper ];
+  # rustup is required for test
+  buildInputs = [ makeWrapper rustup ];
 
   preCheck = ''
     export RUST_SRC_PATH="${rustPlatform.rustcSrc}"
   '';
-
+  patches = [
+    (substituteAll {
+      src = ./rust-src.patch;
+      inherit (rustPlatform) rustcSrc;
+    })
+    ./ignore-tests.patch
+  ];
   doCheck = true;
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp -p target/release/racer $out/bin/
-    wrapProgram $out/bin/racer --set RUST_SRC_PATH "${rustPlatform.rustcSrc}"
-  '';
-
   meta = with stdenv.lib; {
     description = "A utility intended to provide Rust code completion for editors and IDEs";
     homepage = https://github.com/racer-rust/racer;
diff --git a/pkgs/development/tools/rust/racer/ignore-tests.patch b/pkgs/development/tools/rust/racer/ignore-tests.patch
new file mode 100644
index 000000000000..021217b4094e
--- /dev/null
+++ b/pkgs/development/tools/rust/racer/ignore-tests.patch
@@ -0,0 +1,22 @@
+diff -Naur --strip-trailing-cr source.org/src/racer/nameres.rs source/src/racer/nameres.rs
+--- source.org/src/racer/nameres.rs	2017-11-15 20:37:38.571644733 +0000
++++ source/src/racer/nameres.rs	2017-11-15 20:23:20.521324031 +0000
+@@ -577,6 +577,7 @@
+     out.into_iter()
+ }
+ 
++#[ignore]
+ #[test]
+ fn test_do_file_search() {
+     let cache = core::FileCache::default();
+diff -Naur --strip-trailing-cr source.org/src/racer/util.rs source/src/racer/util.rs
+--- source.org/src/racer/util.rs	2017-11-15 19:37:55.095344120 +0000
++++ source/src/racer/util.rs	2017-11-15 20:22:53.746624158 +0000
+@@ -475,6 +475,7 @@
+ 
+ }
+ 
++#[ignore]
+ #[test]
+ fn test_get_rust_src_path_missing() {
+     use std::env;
diff --git a/pkgs/development/tools/rust/racer/rust-src.patch b/pkgs/development/tools/rust/racer/rust-src.patch
new file mode 100644
index 000000000000..2e794ac88874
--- /dev/null
+++ b/pkgs/development/tools/rust/racer/rust-src.patch
@@ -0,0 +1,10 @@
+--- source.org/src/racer/util.rs	1970-01-01 01:00:01.000000000 +0100
++++ source/src/racer/util.rs	2017-11-15 16:50:12.904216242 +0000
+@@ -384,6 +384,7 @@
+     debug!("Nope. Trying default paths: /usr/local/src/rust/src and /usr/src/rust/src");
+ 
+     let default_paths = [
++        "@rustcSrc@",
+         "/usr/local/src/rust/src",
+         "/usr/src/rust/src",
+     ];
diff --git a/pkgs/development/tools/selenium/server/default.nix b/pkgs/development/tools/selenium/server/default.nix
index 4d506c900ec8..3b1e8c2c8a75 100644
--- a/pkgs/development/tools/selenium/server/default.nix
+++ b/pkgs/development/tools/selenium/server/default.nix
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://code.google.com/p/selenium;
+    homepage = http://www.seleniumhq.org/;
     description = "Selenium Server for remote WebDriver";
     maintainers = with maintainers; [ coconnor offline ];
     platforms = platforms.all;
diff --git a/pkgs/development/tools/sqsh/default.nix b/pkgs/development/tools/sqsh/default.nix
index c55f76f9b7f5..f7628cf181c5 100644
--- a/pkgs/development/tools/sqsh/default.nix
+++ b/pkgs/development/tools/sqsh/default.nix
@@ -1,33 +1,38 @@
-{ stdenv, fetchurl, freetds, readline }:
+{ stdenv, fetchurl, autoreconfHook, freetds, readline }:
 
-stdenv.mkDerivation rec {
-  version = "2.5.16.1";
+let
+  mainVersion = "2.5";
+
+in stdenv.mkDerivation rec {
   name = "sqsh-${version}";
+  version = "${mainVersion}.16.1";
 
   src = fetchurl {
-    url = "http://www.mirrorservice.org/sites/downloads.sourceforge.net/s/sq/sqsh/sqsh/sqsh-2.5/${name}.tgz";
+    url    = "mirror://sourceforge/sqsh/sqsh/sqsh-${mainVersion}/${name}.tgz";
     sha256 = "1wi0hdmhk7l8nrz4j3kaa177mmxyklmzhj7sq1gj4q6fb8v1yr6n";
   };
 
-  preConfigure =
-    ''
+  preConfigure = ''
     export SYBASE=${freetds}
-    '';
 
-  buildInputs = [
-    freetds
-    readline
-  ];
+    substituteInPlace src/cmd_connect.c \
+      --replace CS_TDS_80 CS_TDS_73
+  '';
+
+  enableParallelBuilding = true;
 
-  meta = {
+  buildInputs = [ freetds readline ];
+
+  nativeBuildInputs = [ autoreconfHook ];
+
+  meta = with stdenv.lib; {
     description = "Command line tool for querying Sybase/MSSQL databases";
-    longDescription = 
-      ''
+    longDescription = ''
       Sqsh (pronounced skwish) is short for SQshelL (pronounced s-q-shell),
       it is intended as a replacement for the venerable 'isql' program supplied
       by Sybase.
-      '';
-    homepage = http://www.cs.washington.edu/~rose/sqsh/sqsh.html;
-    platforms = stdenv.lib.platforms.all;
+    '';
+    homepage = https://sourceforge.net/projects/sqsh/;
+    platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/vagrant/default.nix b/pkgs/development/tools/vagrant/default.nix
index d37873aaaf31..e72520d61b33 100644
--- a/pkgs/development/tools/vagrant/default.nix
+++ b/pkgs/development/tools/vagrant/default.nix
@@ -1,14 +1,8 @@
-{ stdenv, fetchurl, fetchpatch, dpkg, curl, libarchive, openssl, ruby, buildRubyGem, libiconv
+{ stdenv, fetchurl, fetchpatch, dpkg, curl, libarchive, openssl, rake, ruby, buildRubyGem, libiconv
 , libxml2, libxslt, libffi, makeWrapper, p7zip, xar, gzip, cpio }:
 
 let
-  version = "2.0.0";
-  rake = buildRubyGem {
-    inherit ruby;
-    gemName = "rake";
-    version = "10.4.2";
-    sha256 = "1rn03rqlf1iv6n87a78hkda2yqparhhaivfjpizblmxvlw2hk5r8";
-  };
+  version = "2.0.1";
 
   url = if stdenv.isLinux
     then "https://releases.hashicorp.com/vagrant/${version}/vagrant_${version}_${arch}.deb"
@@ -17,9 +11,9 @@ let
       else "system ${stdenv.system} not supported";
 
   sha256 = {
-    "x86_64-linux"  = "184amybyxqlxqr8fk6lyx2znmci1fazsiby90q7d1xx2ihz3hm5x";
-    "i686-linux"    = "19r1m5jila40x69m1qz2hslz7v1hdg8wwdhcq8d5qjnzwfmlw2qz";
-    "x86_64-darwin" = "154400iqs01235bclr8ic7g9jv01lfs766bmv7p8784r3xsblvsr";
+    "x86_64-linux"  = "0kyqchjsy747vbvhqiynz81kik8g0xqpkv70rz7hyr9x7fl9i51g";
+    "i686-linux"    = "0p3xhxy6shkd0393wjyj8qycdn3zqv60vnyz1b6zclz0kfah07zs";
+    "x86_64-darwin" = "01hr5j9k31hsdlcwv3srzk0lphd8w0n9z95jvfkschdyjm9clpwm";
   }."${stdenv.system}" or (throw "system ${stdenv.system} not supported");
 
   arch = builtins.replaceStrings ["-linux" "-darwin"] ["" ""] stdenv.system;
diff --git a/pkgs/development/tools/yarn/default.nix b/pkgs/development/tools/yarn/default.nix
index 0e66727ab1df..72b0fe2adaf7 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 = "1.2.1";
+  version = "1.3.2";
 
   src = fetchzip {
     url = "https://github.com/yarnpkg/yarn/releases/download/v${version}/yarn-v${version}.tar.gz";
-    sha256 = "0jsaszykgmli503jgwdk79qks44krjgjr0qmizh3y7z4lplqdjip";
+    sha256 = "0lyh24ais8xqfmzbb4sszd2002xl6qbsg9sdjnpwh6aysrwp56r8";
   };
 
   buildInputs = [makeWrapper nodejs];
diff --git a/pkgs/development/web/nodejs/v8.nix b/pkgs/development/web/nodejs/v8.nix
index 1735d1cf9cfd..14dfb8164f43 100644
--- a/pkgs/development/web/nodejs/v8.nix
+++ b/pkgs/development/web/nodejs/v8.nix
@@ -5,7 +5,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "8.9.0";
-    sha256 = "128ir6rkdz1xj55hbflw0sh7snrrvjwgvxmgnka7cyhjkvw5i0mf";
+    version = "8.9.1";
+    sha256 = "1q0p9zl260pd8038yvn13lw5whs480dy11ar2ijcm2hgyqhhq5pg";
     patches = lib.optionals stdenv.isDarwin [ ./no-xcode-v7.patch ];
   }
diff --git a/pkgs/development/web/remarkjs/node-packages.nix b/pkgs/development/web/remarkjs/node-packages.nix
index 2e17d72ea9ee..8ece92b4a3ff 100644
--- a/pkgs/development/web/remarkjs/node-packages.nix
+++ b/pkgs/development/web/remarkjs/node-packages.nix
@@ -3558,7 +3558,7 @@ in
     buildInputs = globalBuildInputs;
     meta = {
       description = "Portable Unix shell commands for Node.js";
-      homepage = http://github.com/shelljs/shelljs;
+      homepage = https://github.com/shelljs/shelljs;
       license = "BSD-3-Clause";
     };
     production = true;
diff --git a/pkgs/games/anki/beautifulsoup.nix b/pkgs/games/anki/beautifulsoup.nix
new file mode 100644
index 000000000000..35118e5aabd2
--- /dev/null
+++ b/pkgs/games/anki/beautifulsoup.nix
@@ -0,0 +1,20 @@
+{ buildPythonPackage, isPy3k, pkgs }:
+
+buildPythonPackage rec {
+  name = "beautifulsoup-3.2.1";
+  disabled = isPy3k;
+
+  src = pkgs.fetchurl {
+    url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz";
+    sha256 = "1nshbcpdn0jpcj51x0spzjp519pkmqz0n0748j7dgpz70zlqbfpm";
+  };
+
+  # error: invalid command 'test'
+  doCheck = false;
+
+  meta = {
+    homepage = http://www.crummy.com/software/BeautifulSoup/;
+    license = "bsd";
+    description = "Undemanding HTML/XML parser";
+  };
+}
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index c5bac4db8e5b..0208739706d7 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -1,33 +1,51 @@
-{ stdenv, lib, fetchurl, substituteAll, lame, mplayer
+{ stdenv
+, buildPythonApplication
+, callPackage
+, lib
+, python
+, fetchurl
+, substituteAll
+, lame
+, mplayer
 , libpulseaudio
+, pyqt4
+, sqlalchemy
+, pyaudio
+, httplib2
+, matplotlib
+, pytest
+, glibcLocales
+, nose
 # This little flag adds a huge number of dependencies, but we assume that
 # everyone wants Anki to draw plots with statistics by default.
 , plotsSupport ? true
-, python2Packages
 }:
 
 let
-    version = "2.0.46";
-    inherit (python2Packages) python wrapPython sqlalchemy pyaudio beautifulsoup httplib2 matplotlib pyqt4;
+    # Development version of anki has bumped to beautifulsoup4
+    beautifulsoup = callPackage ./beautifulsoup.nix { };
+
     qt4 = pyqt4.qt;
-in
-stdenv.mkDerivation rec {
+
+in buildPythonApplication rec {
+    version = "2.0.47";
     name = "anki-${version}";
+
     src = fetchurl {
       urls = [
         "https://apps.ankiweb.net/downloads/current/${name}-source.tgz"
         # "http://ankisrs.net/download/mirror/${name}.tgz"
         # "http://ankisrs.net/download/mirror/archive/${name}.tgz"
       ];
-      sha256 = "01h51rbnj0r6lmjnn2vzxzaf7mxkc0azmg1v4mvf4pkpsp50a7hr";
+      sha256 = "067bsidqzy1zc301i2pk4biwp2kwvgk4kydp5z5s551acinkbdgv";
     };
 
-    pythonPath = [ pyqt4 sqlalchemy pyaudio beautifulsoup httplib2 ]
-              ++ lib.optional plotsSupport matplotlib;
+    propagatedBuildInputs = [ pyqt4 sqlalchemy pyaudio beautifulsoup httplib2 ]
+                            ++ lib.optional plotsSupport matplotlib;
 
-    buildInputs = [ python wrapPython lame mplayer libpulseaudio ];
+    checkInputs = [ pytest glibcLocales nose ];
 
-    phases = [ "unpackPhase" "patchPhase" "installPhase" ];
+    buildInputs = [ lame mplayer libpulseaudio  ];
 
     patches = [
       # Disable updated version check.
@@ -40,6 +58,11 @@ stdenv.mkDerivation rec {
       })
     ];
 
+    buildPhase = ''
+      # Dummy build phase
+      # Anki does not use setup.py
+    '';
+
     postPatch = ''
       substituteInPlace oldanki/lang.py --subst-var-by anki $out
       substituteInPlace anki/lang.py --subst-var-by anki $out
@@ -52,6 +75,15 @@ stdenv.mkDerivation rec {
       rm "locale/"*.qm
     '';
 
+    # UTF-8 locale needed for testing
+    LC_ALL = "en_US.UTF-8";
+
+    checkPhase = ''
+      # - Anki writes some files to $HOME during tests
+      # - Skip tests using network
+      env HOME=$TMP pytest --ignore tests/test_sync.py
+    '';
+
     installPhase = ''
       pp=$out/lib/${python.libPrefix}/site-packages
 
@@ -81,10 +113,10 @@ stdenv.mkDerivation rec {
       wrapPythonPrograms
     '';
 
-    meta = {
+    meta = with stdenv.lib; {
       homepage = http://ankisrs.net/;
       description = "Spaced repetition flashcard program";
-      license = stdenv.lib.licenses.gpl3;
+      license = licenses.gpl3;
 
       longDescription = ''
         Anki is a program which makes remembering things easy. Because it is a lot
@@ -99,7 +131,7 @@ stdenv.mkDerivation rec {
         or even practicing guitar chords!
       '';
 
-      maintainers = with stdenv.lib.maintainers; [ the-kenny ];
-      platforms = stdenv.lib.platforms.mesaPlatforms;
+      maintainers = with maintainers; [ the-kenny ];
+      platforms = platforms.mesaPlatforms;
     };
 }
diff --git a/pkgs/games/arx-libertatis/default.nix b/pkgs/games/arx-libertatis/default.nix
index 40b594a19524..e6594adde552 100644
--- a/pkgs/games/arx-libertatis/default.nix
+++ b/pkgs/games/arx-libertatis/default.nix
@@ -4,12 +4,12 @@
 
 stdenv.mkDerivation rec {
   name = "arx-libertatis-${version}";
-  version = "2017-02-26";
+  version = "2017-10-30";
 
   src = fetchFromGitHub {
     owner  = "arx";
     repo   = "ArxLibertatis";
-    rev    = "0d2bb46025b2ad0fd5c8bcddd1cc04750282608d";
+    rev    = "e5ea4e8f0f7e86102cfc9113c53daeb0bdee6dd3";
     sha256 = "11z0ndhk802jr3w3z5gfqw064g98v99xin883q1qd36jw96s27p5";
   };
 
diff --git a/pkgs/games/braincurses/default.nix b/pkgs/games/braincurses/default.nix
new file mode 100644
index 000000000000..808d7e378074
--- /dev/null
+++ b/pkgs/games/braincurses/default.nix
@@ -0,0 +1,28 @@
+{ stdenv, fetchFromGitHub, ncurses }:
+
+stdenv.mkDerivation rec {
+  name = "braincurses-${version}";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "bderrly";
+    repo = "braincurses";
+    rev = version;
+    sha256 = "0gpny9wrb0zj3lr7iarlgn9j4367awj09v3hhxz9r9a6yhk4anf5";
+  };
+
+  buildInputs = [ ncurses ];
+
+  # There is no install target in the Makefile
+  installPhase = ''
+    install -Dt $out/bin braincurses
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/bderrly/braincurses;
+    description = "A version of the classic game Mastermind";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ dotlambda ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/brogue/default.nix b/pkgs/games/brogue/default.nix
index 814f4f6c82e6..d48dc8e8006e 100644
--- a/pkgs/games/brogue/default.nix
+++ b/pkgs/games/brogue/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, SDL, ncurses, libtcod, binutils }:
+{ stdenv, fetchurl, SDL, ncurses, libtcod }:
 
 stdenv.mkDerivation rec {
   name = "brogue-${version}";
diff --git a/pkgs/games/cataclysm-dda/git.nix b/pkgs/games/cataclysm-dda/git.nix
new file mode 100644
index 000000000000..21f6e68e416a
--- /dev/null
+++ b/pkgs/games/cataclysm-dda/git.nix
@@ -0,0 +1,67 @@
+{ fetchFromGitHub, stdenv, makeWrapper, pkgconfig, ncurses, lua, SDL2, SDL2_image, SDL2_ttf,
+SDL2_mixer, freetype, gettext }:
+
+stdenv.mkDerivation rec {
+  version = "2017-07-12";
+  name = "cataclysm-dda-git-${version}";
+
+  src = fetchFromGitHub {
+    owner = "CleverRaven";
+    repo = "Cataclysm-DDA";
+    rev = "2d7aa8c";
+    sha256 = "0xx7si4k5ivyb5gv98fzlcghrg3w0dfblri547x7x4is7fj5ffjd";
+  };
+
+  nativeBuildInputs = [ makeWrapper pkgconfig ];
+
+  buildInputs = [ ncurses lua SDL2 SDL2_image SDL2_ttf SDL2_mixer freetype gettext ];
+
+  postPatch = ''
+    patchShebangs .
+    sed -i Makefile \
+      -e 's,-Werror,,g' \
+      -e 's,\(DATA_PREFIX=$(PREFIX)/share/\)cataclysm-dda/,\1,g'
+
+    sed '1i#include <cmath>' \
+      -i src/{crafting,skill,weather_data,melee,vehicle,overmap,iuse_actor}.cpp
+  '';
+
+  makeFlags = "PREFIX=$(out) LUA=1 TILES=1 SOUND=1 RELEASE=1 USE_HOME_DIR=1";
+
+  postInstall = ''
+    wrapProgram $out/bin/cataclysm-tiles \
+      --add-flags "--datadir $out/share/cataclysm-dda/"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    description = "A free, post apocalyptic, zombie infested rogue-like";
+    longDescription = ''
+      Cataclysm: Dark Days Ahead is a roguelike set in a post-apocalyptic world.
+      Surviving is difficult: you have been thrown, ill-equipped, into a
+      landscape now riddled with monstrosities of which flesh eating zombies are
+      neither the strangest nor the deadliest.
+
+      Yet with care and a little luck, many things are possible. You may try to
+      eke out an existence in the forests silently executing threats and
+      providing sustenance with your longbow. You can ride into town in a
+      jerry-rigged vehicle, all guns blazing, to settle matters in a fug of
+      smoke from your molotovs. You could take a more measured approach and
+      construct an impregnable fortress, surrounded by traps to protect you from
+      the horrors without. The longer you survive, the more skilled and adapted
+      you will get and the better equipped and armed to deal with the threats
+      you are presented with.
+
+      In the course of your ordeal there will be opportunities and temptations
+      to improve or change your very nature. There are tales of survivors fitted
+      with extraordinary cybernetics giving great power and stories too of
+      gravely mutated survivors who, warped by their ingestion of exotic
+      substances or radiation, now more closely resemble insects, birds or fish
+      than their original form.
+    '';
+    homepage = http://en.cataclysmdda.com/;
+    license = licenses.cc-by-sa-30;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index f8d715ccc321..ba23db2fbdf5 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -16,8 +16,8 @@ let
   #    where the ultimate "_" (before the version) is changed to a "-".
   binDists = {
     x86_64-linux = let bdist = bdistForArch { inUrl = "linux64"; inTar = "x64"; }; in {
-      alpha    = bdist { sha256 = "0phikwv00mbwpz4207wm6gz6blarm0b9p1f013ha2w5g7c2dxq4s"; fetcher = authenticatedFetch; };
-      headless = bdist { sha256 = "1m170cl8ji6k3d3jm6n48wx3b7xfsxp4wkaixh0qszaqzafsglp0"; };
+      alpha    = bdist { sha256 = "0y6d7pvf3dgyll175323xp4zmrbyrjn73zrb478y1gpl6dqh064d"; fetcher = authenticatedFetch; };
+      headless = bdist { sha256 = "1agkra3qq11la307ymsfb7v358wc2s2mdpmfbc5n0sb4gnmnqazq"; };
       demo     = bdist { sha256 = "03nwn4838yhqq0r76pf2m4wxi32rsq0knsxmq3qq4ycji89q1dyc"; version = "0.15.33"; };
     };
     i686-linux = let bdist = bdistForArch { inUrl = "linux32"; inTar = "i386"; }; in {
@@ -29,7 +29,7 @@ let
   actual = binDists.${stdenv.system}.${releaseType} or (throw "Factorio: unsupported platform");
 
   bdistForArch = arch: { sha256 ? null
-                       , version ? "0.15.34"
+                       , version ? "0.15.37"
                        , fetcher ? fetchurl
                        , nameMut ? x: x
                        }:
diff --git a/pkgs/games/freeciv/default.nix b/pkgs/games/freeciv/default.nix
index a6f1c305c4e7..a968526e5cd3 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.7";
+  version = "2.5.9";
 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 = "1lmydnnqraa947l7gdz6xgm0bgks1ywsivp9h4v8jr3avcv6gqzz";
+    sha256 = "0a2rjw6065psh14bkk6ar4i19dcicn9lz63rffr9h278b9c76g5q";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/games/gtetrinet/default.nix b/pkgs/games/gtetrinet/default.nix
new file mode 100644
index 000000000000..f1c24ba4de8b
--- /dev/null
+++ b/pkgs/games/gtetrinet/default.nix
@@ -0,0 +1,44 @@
+{ fetchFromGitHub, stdenv, autoreconfHook, intltool, pkgconfig, libgnome, libgnomeui, GConf }:
+
+stdenv.mkDerivation {
+  name = "gtetrinet-0.7.11";
+
+  src = fetchFromGitHub {
+    owner = "GNOME";
+    repo = "gtetrinet";
+    rev = "6be3df83f3dc5c7cb966e6cd447182df01b93222";
+    sha256 = "1y05x8lfyxvkjg6c87cfd0xxmb22c88scx8fq3gah7hjy5i42v93";
+  };
+
+  nativeBuildInputs = [ autoreconfHook intltool pkgconfig ];
+
+  buildInputs = [ libgnome libgnomeui ];
+
+  propagatedUserEnvPkgs = [ GConf ];
+
+  postAutoreconf = ''
+    intltoolize --force
+  '';
+
+  preInstall = ''
+    export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL=1
+  '';
+
+  postInstall = ''
+    mv "$out/games" "$out/bin"
+  '';
+
+  enableParallelBuilding = true;
+
+  meta = {
+    description = "Client for Tetrinet, a multiplayer online Tetris game.";
+    longDescription = ''
+      GTetrinet is a client program for Tetrinet, a multiplayer tetris game
+      that is played over the internet.
+    '';
+    homepage = http://gtetrinet.sourceforge.net/;
+    license = stdenv.lib.licenses.gpl2;
+    platforms = stdenv.lib.platforms.unix;
+    maintainers = [ stdenv.lib.maintainers.chris-martin ];
+  };
+}
diff --git a/pkgs/games/openra/default.nix b/pkgs/games/openra/default.nix
index fb01346d84e8..5665dfc9e945 100644
--- a/pkgs/games/openra/default.nix
+++ b/pkgs/games/openra/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, mono, makeWrapper, lua
 , SDL2, freetype, openal, systemd, pkgconfig,
-  dotnetPackages, gnome3, curl, unzip, which
+  dotnetPackages, gnome3, curl, unzip, which, python
 }:
 
 stdenv.mkDerivation rec {
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
 
   postInstall = with stdenv.lib; let
     runtime = makeLibraryPath [ SDL2 freetype openal systemd lua ];
-    binaries= makeBinPath [ which mono gnome3.zenity ];
+    binaries= makeBinPath [ which mono gnome3.zenity python ];
   in ''
     wrapProgram $out/lib/openra/launch-game.sh \
       --prefix PATH : "${binaries}" \
diff --git a/pkgs/games/openrct2/default.nix b/pkgs/games/openrct2/default.nix
index a54d3a45ae81..6881767cbb90 100644
--- a/pkgs/games/openrct2/default.nix
+++ b/pkgs/games/openrct2/default.nix
@@ -24,8 +24,7 @@ in
 stdenv.mkDerivation rec {
   inherit name;
 
-  srcs = [ openrct2-src title-sequences-src ];
-  sourceRoot = ".";
+  src = openrct2-src;
 
   buildInputs = [
     SDL2
@@ -46,11 +45,7 @@ stdenv.mkDerivation rec {
   ];
 
   postUnpack = ''
-    cp -r ${openrct2-src}/* ${sourceRoot}
-    cp -r ${title-sequences-src} ${sourceRoot}/title
-
-    # creating temporary files in fixCmakeFiles fails otherwise
-    chmod -R u+w ${sourceRoot}
+    cp -r ${title-sequences-src} $sourceRoot/title
   '';
 
   cmakeFlags = [
diff --git a/pkgs/games/sgt-puzzles/default.nix b/pkgs/games/sgt-puzzles/default.nix
index 7e83b803246a..a9f2aae443fc 100644
--- a/pkgs/games/sgt-puzzles/default.nix
+++ b/pkgs/games/sgt-puzzles/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "sgt-puzzles-r${version}";
-  version = "20170228.1f613ba";
+  version = "20171029.69773d8";
 
   src = fetchurl {
    url = "http://www.chiark.greenend.org.uk/~sgtatham/puzzles/puzzles-${version}.tar.gz";
-   sha256 = "02nqc18fhvxr545wgk55ly61fi0a06q61ljzwadprqxa1n0g0fz5";
+   sha256 = "0m1gaa802jyih9hcwpvb05zrzprgj6akafgvbsnq321s0sqzaxf0";
   };
 
   nativeBuildInputs = [ autoreconfHook makeWrapper pkgconfig perl wrapGAppsHook ];
diff --git a/pkgs/games/steam/chrootenv.nix b/pkgs/games/steam/chrootenv.nix
index 856e4f6c6c15..a7392bbc34e9 100644
--- a/pkgs/games/steam/chrootenv.nix
+++ b/pkgs/games/steam/chrootenv.nix
@@ -32,10 +32,25 @@ let
       xdg_utils
       # Zoneinfo
       etc-zoneinfo
+      iana-etc
     ] ++ lib.optional withJava jdk
       ++ lib.optional withPrimus primus
       ++ extraPkgs pkgs;
 
+  ldPath = map (x: "/steamrt/${steam-runtime-wrapped.arch}/" + x) steam-runtime-wrapped.libs
+           ++ lib.optionals (steam-runtime-wrapped-i686 != null) (map (x: "/steamrt/${steam-runtime-wrapped-i686.arch}/" + x) steam-runtime-wrapped-i686.libs);
+
+  runSh = writeScript "run.sh" ''
+    #!${stdenv.shell}
+    runtime_paths="${lib.concatStringsSep ":" ldPath}"
+    if [ "$1" == "--print-steam-runtime-library-paths" ]; then
+      echo "$runtime_paths"
+      exit 0
+    fi
+    export LD_LIBRARY_PATH="$runtime_paths:$LD_LIBRARY_PATH"
+    exec "$@"
+  '';
+
 in buildFHSUserEnv rec {
   name = "steam";
 
@@ -73,6 +88,7 @@ in buildFHSUserEnv rec {
     ${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
       ln -s ../lib32/steam-runtime steamrt/${steam-runtime-wrapped-i686.arch}
     ''}
+    ln -s ${runSh} steamrt/run.sh
   '';
 
   extraInstallCommands = ''
@@ -95,19 +111,16 @@ in buildFHSUserEnv rec {
     targetPkgs = commonTargetPkgs;
     inherit multiPkgs extraBuildCommands;
 
-    runScript =
-      let ldPath = map (x: "/steamrt/${steam-runtime-wrapped.arch}/" + x) steam-runtime-wrapped.libs
-                 ++ lib.optionals (steam-runtime-wrapped-i686 != null) (map (x: "/steamrt/${steam-runtime-wrapped-i686.arch}/" + x) steam-runtime-wrapped-i686.libs);
-      in writeScript "steam-run" ''
-        #!${stdenv.shell}
-        run="$1"
-        if [ "$run" = "" ]; then
-          echo "Usage: steam-run command-to-run args..." >&2
-          exit 1
-        fi
-        shift
-        export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}:$LD_LIBRARY_PATH
-        exec "$run" "$@"
-      '';
+    runScript = writeScript "steam-run" ''
+      #!${stdenv.shell}
+      run="$1"
+      if [ "$run" = "" ]; then
+        echo "Usage: steam-run command-to-run args..." >&2
+        exit 1
+      fi
+      shift
+      export LD_LIBRARY_PATH=${lib.concatStringsSep ":" ldPath}:$LD_LIBRARY_PATH
+      exec "$run" "$@"
+    '';
   };
 }
diff --git a/pkgs/games/steam/runtime.nix b/pkgs/games/steam/runtime.nix
index 82fce93a66ae..1fa17c32d6c7 100644
--- a/pkgs/games/steam/runtime.nix
+++ b/pkgs/games/steam/runtime.nix
@@ -1,4 +1,4 @@
-{ stdenv, steamArch, fetchurl, writeText, python2, dpkg, binutils }:
+{ stdenv, steamArch, fetchurl, writeText, python2, dpkg }:
 
 let input = builtins.getAttr steamArch (import ./runtime-generated.nix { inherit fetchurl; });
 
@@ -7,7 +7,7 @@ let input = builtins.getAttr steamArch (import ./runtime-generated.nix { inherit
 in stdenv.mkDerivation {
   name = "steam-runtime-2016-08-13";
 
-  nativeBuildInputs = [ python2 dpkg binutils ];
+  nativeBuildInputs = [ python2 dpkg stdenv.cc.bintools ];
 
   buildCommand = ''
     mkdir -p $out
diff --git a/pkgs/games/torcs/default.nix b/pkgs/games/torcs/default.nix
index 1b6ad5b34c32..26f0fe534f3f 100644
--- a/pkgs/games/torcs/default.nix
+++ b/pkgs/games/torcs/default.nix
@@ -1,4 +1,4 @@
-{ fetchpatch, fetchurl, stdenv, mesa, freeglut, libX11, plib, openal, freealut, libXrandr, xproto,
+{ fetchpatch, fetchurl, stdenv, mesa_glu, freeglut, libX11, plib, openal, freealut, libXrandr, xproto,
 libXext, libSM, libICE, libXi, libXt, libXrender, libXxf86vm, libvorbis,
 libpng, zlib, bash, makeWrapper }:
 
@@ -29,18 +29,11 @@ stdenv.mkDerivation rec {
     sed -i -e s,/bin/bash,`type -P bash`, src/linux/torcs.in
   '';
 
-  buildInputs = [ mesa freeglut libX11 plib openal freealut libXrandr xproto
+  buildInputs = [ mesa_glu freeglut libX11 plib openal freealut libXrandr xproto
     libXext libSM libICE libXi libXt libXrender libXxf86vm libpng zlib libvorbis makeWrapper ];
 
-  nativeBuildInputs = [ bash ];
-
   installTargets = "install datainstall";
 
-  postInstall = ''
-    wrapProgram $out/bin/torcs \
-      --prefix LD_LIBRARY_PATH : ${mesa}/lib
-  '';
-
   meta = {
     description = "Car racing game";
     homepage = http://torcs.sourceforge.net/;
diff --git a/pkgs/games/trackballs/default.nix b/pkgs/games/trackballs/default.nix
index 93dd579b4e0c..50ffb693f70b 100644
--- a/pkgs/games/trackballs/default.nix
+++ b/pkgs/games/trackballs/default.nix
@@ -4,13 +4,13 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "trackballs-${version}";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "trackballs";
     repo = "trackballs";
     rev = "v${version}";
-    sha256 = "13f28frni7fkalxx4wqvmkzz7ba3d8pic9f9sd2z9wa6gbjs9zrf";
+    sha256 = "0y5y8xzfsjd0rxl5wnxdq7m9n97s5xvcqyjsckz4qxrjcc3lk297";
   };
 
   buildInputs = [ cmake zlib SDL2 SDL2_ttf SDL2_mixer SDL2_image guile gettext mesa ];
diff --git a/pkgs/games/uqm/3dovideo.nix b/pkgs/games/uqm/3dovideo.nix
index ca5a1197a327..0eb6e02eac54 100644
--- a/pkgs/games/uqm/3dovideo.nix
+++ b/pkgs/games/uqm/3dovideo.nix
@@ -41,9 +41,10 @@ in stdenv.mkDerivation {
     sha256 = "044h0cl69r0kc43vk4n0akk0prwzb7inq324h5yfqb38sd4zkds1";
     message = ''
       In order to get the intro and ending sequences from the 3DO version, you
-      need to have the original 3DO Star Control II CD. Create an image from the
-      CD and use uqm3donix* to extract a tarball with the videos from it. The
-      reason for this is because the 3DO uses its own proprietary disk format.
+      need to have the original 3DO Star Control II CD. Create an image from
+      the CD and use uqm3donix* to extract a tarball with the videos from it.
+      The reason for this is because the 3DO uses its own proprietary disk
+      format.
 
       Save the file as videos.tar and use "nix-prefetch-url file://${name}" to
       add it to the Nix store.
diff --git a/pkgs/games/uqm/default.nix b/pkgs/games/uqm/default.nix
index c6f4b57a0334..d8dcdf6b7b60 100644
--- a/pkgs/games/uqm/default.nix
+++ b/pkgs/games/uqm/default.nix
@@ -1,6 +1,5 @@
-{ stdenv, fetchurl
-, pkgconfig, mesa
-, SDL, SDL_image, libpng, zlib, libvorbis, libogg, libmikmod, unzip
+{ stdenv, lib, fetchurl, pkgconfig, mesa
+, SDL, SDL_image, libpng, zlib, libvorbis, libogg, libmikmod
 
 , use3DOVideos ? false, requireFile ? null, writeText ? null
 , haskellPackages ? null
@@ -11,14 +10,12 @@
 assert use3DOVideos -> requireFile != null && writeText != null
                     && haskellPackages != null;
 
-with stdenv.lib;
-
 let
   videos = import ./3dovideo.nix {
     inherit stdenv requireFile writeText fetchurl haskellPackages;
   };
 
-  remixPacks = imap1 (num: sha256: fetchurl rec {
+  remixPacks = lib.imap1 (num: sha256: fetchurl rec {
     name = "uqm-remix-disc${toString num}.uqm";
     url = "mirror://sourceforge/sc2/${name}";
     inherit sha256;
@@ -53,14 +50,8 @@ in stdenv.mkDerivation rec {
     sha256 = "10nbvcrr0lc0mxivxfkcbxnibwk3vwmamabrlvwdsjxd9pk8aw65";
   };
 
-
- /* uses pthread_cancel(), which requires libgcc_s.so.1 to be
-    loadable at run-time. Adding the flag below ensures that the
-    library can be found. Obviously, though, this is a hack. */
-  NIX_LDFLAGS="-lgcc_s";
-
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [SDL SDL_image libpng libvorbis libogg libmikmod unzip mesa];
+  buildInputs = [ SDL SDL_image libpng libvorbis libogg libmikmod mesa ];
 
   postUnpack = ''
     mkdir -p uqm-${version}/content/packages
@@ -68,15 +59,19 @@ in stdenv.mkDerivation rec {
     ln -s "$content" "uqm-${version}/content/packages/uqm-0.7.0-content.uqm"
     ln -s "$music" "uqm-${version}/content/addons/uqm-0.7.0-3domusic.uqm"
     ln -s "$voice" "uqm-${version}/content/addons/uqm-0.7.0-voice.uqm"
-  '' + optionalString useRemixPacks (concatMapStrings (disc: ''
+  '' + lib.optionalString useRemixPacks (lib.concatMapStrings (disc: ''
     ln -s "${disc}" "uqm-$version/content/addons/${disc.name}"
-  '') remixPacks) + optionalString use3DOVideos ''
+  '') remixPacks) + lib.optionalString use3DOVideos ''
     ln -s "${videos}" "uqm-${version}/content/addons/3dovideo"
   '';
 
-  /* uqm has a 'unique' build system with a root script incidentally called
- * 'build.sh'. */
+  # Using _STRINGS_H as include guard conflicts with glibc.
+  postPatch = ''
+    sed -i -e '/^#/s/_STRINGS_H/_UQM_STRINGS_H/g' src/uqm/comm/*/strings.h
+  '';
 
+  # uqm has a 'unique' build system with a root script incidentally called
+  # 'build.sh'.
   configurePhase = ''
     echo "INPUT_install_prefix_VALUE='$out'" >> config.state
     echo "INPUT_install_bindir_VALUE='$out/bin'" >> config.state
@@ -97,14 +92,16 @@ in stdenv.mkDerivation rec {
   meta = {
     description = "Remake of Star Control II";
     longDescription = ''
-    The goals for the The Ur-Quan Masters project are:
-      - to bring Star Control II to modern platforms, thereby making a lot of people happy
-      - to make game translations easy, thereby making even more people happy
-      - to adapt the code so that people can more easily make their own spin-offs, thereby making zillions more people happy!
+      The goals for the The Ur-Quan Masters project are:
+        - to bring Star Control II to modern platforms, thereby making a lot of
+          people happy
+        - to make game translations easy, thereby making even more people happy
+        - to adapt the code so that people can more easily make their own
+          spin-offs, thereby making zillions more people happy!
     '';
     homepage = http://sc2.sourceforge.net/;
     license = stdenv.lib.licenses.gpl2;
-    maintainers = with maintainers; [ jcumming aszlig ];
-    platforms = with platforms; linux;
+    maintainers = with lib.maintainers; [ jcumming aszlig ];
+    platforms = with lib.platforms; linux;
   };
 }
diff --git a/pkgs/misc/drivers/foo2zjs/default.nix b/pkgs/misc/drivers/foo2zjs/default.nix
index 14ceb405d687..bfc8271ad659 100644
--- a/pkgs/misc/drivers/foo2zjs/default.nix
+++ b/pkgs/misc/drivers/foo2zjs/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     "PIXMAPS=$(out)/share/pixmaps"
     "UDEVBIN=$(out)/bin"
     "UDEVDIR=$(out)/etc/udev/rules.d"
-    "UDEVD=${systemd.udev.bin}/sbin/udevd"
+    "UDEVD=${systemd}/sbin/udevd"
     "LIBUDEVDIR=$(out)/lib/udev/rules.d"
     "USBDIR=$(out)/etc/hotplug/usb"
     "FOODB=$(out)/share/foomatic/db/source"
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index a01fc74ce471..66ed1d44adc7 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -11,16 +11,16 @@
 let
 
   name = "hplip-${version}";
-  version = "3.17.9";
+  version = "3.17.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/hplip/${name}.tar.gz";
-    sha256 = "0y46jjq8jdfk9m4vjq55h8yggibvqbi9rl08vni7vbhxym1diamj";
+    sha256 = "0v27hg856b5z2rilczcbfgz8ksxn0n810g1glac3mxkj8qbl8wqg";
   };
 
   plugin = fetchurl {
-    url = "http://hplipopensource.com/hplip-web/plugin/${name}-plugin.run";
-    sha256 = "10z8vzwcwmwni7s4j9xp0fa7l4lwrhl4kp450dga3fj0cck1gxwq";
+    url = "http://www.openprinting.org/download/printdriver/auxfiles/HP/plugins/${name}-plugin.run";
+    sha256 = "07am3dnl0ipgfswz5wndprryljh9rqbfhq7mm4d4yyj3bdnnzlig";
   };
 
   hplipState = substituteAll {
diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/misc/emulators/dosbox/default.nix
index f7400e4b7615..ed15ab6c56e2 100644
--- a/pkgs/misc/emulators/dosbox/default.nix
+++ b/pkgs/misc/emulators/dosbox/default.nix
@@ -1,6 +1,6 @@
-{ stdenv, fetchurl, SDL, makeDesktopItem, mesa }:
+{ stdenv, lib, fetchurl, SDL, makeDesktopItem, mesa }:
 
-stdenv.mkDerivation rec { 
+stdenv.mkDerivation rec {
   name = "dosbox-0.74";
 
   src = fetchurl {
@@ -14,6 +14,11 @@ stdenv.mkDerivation rec {
         url = "http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/games-emulation/dosbox/files/dosbox-0.74-gcc46.patch?revision=1.1";
         sha256 = "03iv1ph7fccfw327ngnhvzwyiix7fsbdb5mmpxivzkidhlrssxq9";
       })
+      (fetchurl {
+        url = "https://svnweb.freebsd.org/ports/head/emulators/dosbox/files/patch-src_gui_sdlmain.cpp?revision=435580&view=co&pathrev=435580";
+        sha256 = "1mbj5wrn53k0zds2adys34949vzsbfgm0pmsyx14v9j0cxi7drca";
+        name = "patch-src_gui_sdlmain.cpp";
+      })
     ];
 
   patchFlags = "-p0";
@@ -22,6 +27,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ SDL mesa ];
 
+  configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
+
   desktopItem = makeDesktopItem {
     name = "dosbox";
     exec = "dosbox";
@@ -36,9 +43,11 @@ stdenv.mkDerivation rec {
      cp ${desktopItem}/share/applications/* $out/share/applications
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = http://www.dosbox.com/;
     description = "A DOS emulator";
-    platforms = stdenv.lib.platforms.unix;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ matthewbauer ];
+    licenses = licenses.gpl2;
   };
 }
diff --git a/pkgs/misc/emulators/snes9x-gtk/default.nix b/pkgs/misc/emulators/snes9x-gtk/default.nix
index f2d3abc0de3b..6be60526eb66 100644
--- a/pkgs/misc/emulators/snes9x-gtk/default.nix
+++ b/pkgs/misc/emulators/snes9x-gtk/default.nix
@@ -14,7 +14,6 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook intltool pkgconfig ];
 
-  sourceRoot = "snes9x-${version}-src";
   preAutoreconf = "cd gtk; intltoolize";  
     
   buildInputs = [ SDL zlib gtk2 libxml2 libXv ];
diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/misc/emulators/wine/winetricks.nix
index 357d65aed53f..f5f8d6a5f107 100644
--- a/pkgs/misc/emulators/wine/winetricks.nix
+++ b/pkgs/misc/emulators/wine/winetricks.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A script to install DLLs needed to work around problems in Wine";
     license = stdenv.lib.licenses.lgpl21;
-    homepage = http://code.google.com/p/winetricks/;
+    homepage = https://github.com/Winetricks/winetricks;
     maintainers = with stdenv.lib.maintainers; [ the-kenny ];
     platforms = with stdenv.lib.platforms; linux;
   };
diff --git a/pkgs/misc/lilypond/default.nix b/pkgs/misc/lilypond/default.nix
index 15481d74598f..f312cce19d74 100644
--- a/pkgs/misc/lilypond/default.nix
+++ b/pkgs/misc/lilypond/default.nix
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec{
       fontforge help2man groff makeWrapper t1utils
     ];
 
-  enableParallelBuilding = true;
+  #enableParallelBuilding = true; # fatal error: parser.hh: No such file or directory
 
   meta = with stdenv.lib; {
     description = "Music typesetting system";
diff --git a/pkgs/misc/mxt-app/default.nix b/pkgs/misc/mxt-app/default.nix
index 735e73d5d490..813000492039 100644
--- a/pkgs/misc/mxt-app/default.nix
+++ b/pkgs/misc/mxt-app/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec{
 
   meta = with stdenv.lib; {
     description = "Command line utility for Atmel maXTouch devices";
-    homepage = http://github.com/atmel-maxtouch/mxt-app;
+    homepage = https://github.com/atmel-maxtouch/mxt-app;
     license = licenses.bsd2;
     maintainers = [ maintainers.colemickens ];
     platforms = platforms.unix;
diff --git a/pkgs/misc/screensavers/i3lock-pixeled/default.nix b/pkgs/misc/screensavers/i3lock-pixeled/default.nix
index 6c8b722fce92..67cb0a4ca6d2 100644
--- a/pkgs/misc/screensavers/i3lock-pixeled/default.nix
+++ b/pkgs/misc/screensavers/i3lock-pixeled/default.nix
@@ -16,7 +16,6 @@ stdenv.mkDerivation rec {
     playerctl
   ];
 
-  buildPhases = [ "unpackPhase" "patchPhase" "installPhase" ];
   makeFlags = [
     "PREFIX=$(out)/bin"
   ];
diff --git a/pkgs/misc/screensavers/xlockmore/default.nix b/pkgs/misc/screensavers/xlockmore/default.nix
index 998e40554649..ddb4235c5dba 100644
--- a/pkgs/misc/screensavers/xlockmore/default.nix
+++ b/pkgs/misc/screensavers/xlockmore/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Screen locker for the X Window System";
-    homepage = http://www.tux.org/~bagleyd/xlockmore.html;
+    homepage = http://sillycycle.com/xlockmore.html;
     license = licenses.gpl2;
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.linux;
diff --git a/pkgs/misc/screensavers/xscreensaver/default.nix b/pkgs/misc/screensavers/xscreensaver/default.nix
index b69e3ab5faff..87b55e3948b8 100644
--- a/pkgs/misc/screensavers/xscreensaver/default.nix
+++ b/pkgs/misc/screensavers/xscreensaver/default.nix
@@ -5,12 +5,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "5.36";
+  version = "5.37";
   name = "xscreensaver-${version}";
 
   src = fetchurl {
     url = "http://www.jwz.org/xscreensaver/${name}.tar.gz";
-    sha256 = "0v60mdhvv42jla5hljp77igng11kxpah5fs9j7ci65kz0hw552vb";
+    sha256 = "1ng5ddzb4k2h1w54pvk9hzxvnxxmc54bc4a2ibk974nzjjjaxivs";
   };
 
   buildInputs =
diff --git a/pkgs/misc/themes/adapta/default.nix b/pkgs/misc/themes/adapta/default.nix
index bfbae3396c8b..9a4ec9f49f68 100644
--- a/pkgs/misc/themes/adapta/default.nix
+++ b/pkgs/misc/themes/adapta/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "adapta-gtk-theme-${version}";
-  version = "3.91.2.147";
+  version = "3.92.1.72";
 
   src = fetchFromGitHub {
-    owner = "tista500";
-    repo = "Adapta";
+    owner = "adapta-project";
+    repo = "adapta-gtk-theme";
     rev = version;
-    sha256 = "1sv4s8rcc40v4lanapdqanlqf1l60rbc5wd7h73l5cigbqxxgda9";
+    sha256 = "19kav8m6aj4h7qg0z92k09lppzdgy6h9lxxv3qqqrl3hmg7bn0sx";
   };
 
   preferLocalBuild = true;
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "An adaptive Gtk+ theme based on Material Design";
-    homepage = https://github.com/tista500/Adapta;
+    homepage = https://github.com/adapta-project/adapta-gtk-theme;
     license = with licenses; [ gpl2 cc-by-sa-30 ];
     platforms = platforms.linux;
     maintainers = [ maintainers.romildo ];
diff --git a/pkgs/misc/themes/materia-theme/default.nix b/pkgs/misc/themes/materia-theme/default.nix
index 755a0b737ca3..e66b7767c6ec 100644
--- a/pkgs/misc/themes/materia-theme/default.nix
+++ b/pkgs/misc/themes/materia-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "materia-theme-${version}";
-  version = "20171005";
+  version = "20171112";
 
   src = fetchFromGitHub {
     owner = "nana-4";
     repo = "materia-theme";
     rev = "v${version}";
-    sha256 = "0znm7mx2nv2sgvy8fyams1ckp1ly3nbbs0k09d24w1zzd90xhzqp";
+    sha256 = "0iwak15mxkwazfnkxw4wf2qgr6s64jh8lxy0wfqvb2willzabprk";
   };
 
   nativeBuildInputs = [ gnome3.glib libxml2 ];
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/misc/vim-plugins/default.nix
index eab2efbb6bee..a9468e5356df 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/misc/vim-plugins/default.nix
@@ -3,7 +3,7 @@
 , which, fetchgit, llvmPackages
 , xkb_switch, rustracerd, fzf
 , python3, boost, icu
-, ycmd
+, ycmd, makeWrapper, rake
 , pythonPackages, python3Packages
 , Cocoa ? null, git
 }:
@@ -16,7 +16,7 @@ in
 
 # TL;DR
 # Add your plugin to ./vim-plugin-names
-# Regenerate via `nix-shell -I nixpkgs=/path/to/your/local/fork -p vimPlugins.pluginnames2nix --command "vim-plugin-names-to-nix"`
+# Regenerate via `nix-shell -I nixpkgs=/path/to/your/local/fork -p vimPlugins.pluginnames2nix --command "vim-plugin-names-to-nix </dev/null"`
 # Copy the generated expression(s) into this file.
 # If plugin is complicated then make changes to ./vim2nix/additional-nix-code
 
@@ -105,6 +105,17 @@ rec {
   wombat256           = wombat256-vim; # backwards compat, added 2015-7-8
   yankring            = YankRing;
 
+  # do not auto-update this one, as the name clashes with vim-snippets
+  vim-docbk-snippets = buildVimPluginFrom2Nix {
+    name = "vim-docbk-snippets-2017-11-02";
+    src = fetchgit {
+      url = "https://github.com/jhradilek/vim-snippets";
+      rev = "69cce66defdf131958f152ea7a7b26c21ca9d009";
+      sha256 = "1363b2fmv69axrl2hm74dmx51cqd8k7rk116890qllnapzw1zjgc";
+    };
+    dependencies = [];
+  };
+
   fzfWrapper = buildVimPluginFrom2Nix {
     name = fzf.name;
     src = fzf.src;
@@ -147,11 +158,11 @@ rec {
   };
 
   Hoogle = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Hoogle-2017-03-01";
+    name = "Hoogle-2017-11-04";
     src = fetchgit {
       url = "git://github.com/Twinside/vim-hoogle";
-      rev = "cfb0c864dbacf6f916ba05c4a688e21154aa971b";
-      sha256 = "0gddyh47gwy684kjs9yxfnc0lg8jq9w5pdyv3yrvypyiqi51vw1b";
+      rev = "14256fa4f482bb40f55311a6d8037103549c7844";
+      sha256 = "1dhfy9s6q11cb424x595anj17sgsqywdyrcw3ynmk3949iiwaqhb";
     };
     dependencies = [];
 
@@ -180,11 +191,11 @@ rec {
   };
 
   Syntastic = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Syntastic-2017-07-07";
+    name = "Syntastic-2017-11-06";
     src = fetchgit {
       url = "git://github.com/scrooloose/syntastic";
-      rev = "e1161a723a353db99780f9a9351340df7abbb106";
-      sha256 = "00gvx33yz199n7lynli0fb8cf58lb5cs0jxrqggjjy261xv2lcq1";
+      rev = "206b616c8e49f948d18231799c469aa3e6e2c29c";
+      sha256 = "0q6k00x2gxd1lryqj80pqd0g9q1nmzz1fxacs81gxhx8c8hpxmcy";
     };
     dependencies = [];
 
@@ -202,33 +213,33 @@ rec {
   };
 
   Tagbar = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Tagbar-2017-06-15";
+    name = "Tagbar-2017-10-19";
     src = fetchgit {
       url = "git://github.com/majutsushi/tagbar";
-      rev = "f5792732de16b8a2cc202f920e363eb413d7241d";
-      sha256 = "188xdmrp2g7bfzg95pv1qa2l17sqwy1g2p4syj7546fksddmwgms";
+      rev = "dc155af2fdd20e081680d777bde558c56f8d55c3";
+      sha256 = "0xicazayayp208qv7ln4shj41favj5a6aysvz29pwqy28svmg3xd";
     };
     dependencies = [];
 
   };
 
   The_NERD_Commenter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "The_NERD_Commenter-2017-04-07";
+    name = "The_NERD_Commenter-2017-10-31";
     src = fetchgit {
       url = "git://github.com/scrooloose/nerdcommenter";
-      rev = "285902752f7ab2052ac700a6d29b263dd5788afb";
-      sha256 = "1hd5ibpvxra8asr4zp0l68wc4djjgfbvh7kzmxc1r7jqr70wj8dl";
+      rev = "63ba1a1123609c9bfb9f5d76debcd34afe429096";
+      sha256 = "01aq0n5028kyvjzgb0yrzwnp0r3jiayahmbvkfakg3vw9hgapggr";
     };
     dependencies = [];
 
   };
 
   The_NERD_tree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "The_NERD_tree-2017-07-17";
+    name = "The_NERD_tree-2017-11-02";
     src = fetchgit {
       url = "git://github.com/scrooloose/nerdtree";
-      rev = "e2a9929bbea0ec2050f2ea44b7e7bae3ccac66e6";
-      sha256 = "03mygl8ic4awx4js04x0nw2l96kjv4vsldkgrdx0n43sh5i4z7nk";
+      rev = "97433edd43f3a4a95c84389bcaafbe7a047cf756";
+      sha256 = "04z45bs1a37mdck80bcqj3d0bp2zz5xyjkys0zv925mpq9rwx22s";
     };
     dependencies = [];
 
@@ -246,11 +257,11 @@ rec {
   };
 
   VimOutliner = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "VimOutliner-2017-05-03";
+    name = "VimOutliner-2017-08-02";
     src = fetchgit {
       url = "git://github.com/vimoutliner/vimoutliner";
-      rev = "fd2ca709acc161a9e65e75577c2bfefde173401a";
-      sha256 = "13cqhajfz6rag7qwj2rws5gjs1f2jlrb2s30kyjrx227i05vikkn";
+      rev = "c13141d604959d84225c3a53dc4b0ef5ae8b2bfe";
+      sha256 = "1bg45cnpvnk2k7r6l2n3sz0cw2lhrglphak10yp11yqf4q1rxl7x";
     };
     dependencies = [];
 
@@ -284,11 +295,11 @@ rec {
   };
 
   clang_complete = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "clang_complete-2017-07-15";
+    name = "clang_complete-2017-09-25";
     src = fetchgit {
       url = "git://github.com/Rip-Rip/clang_complete";
-      rev = "c41eea05317526a4ddd3bd389f3723390b196d4d";
-      sha256 = "0bfalbzhy3n1k8bsvnh6aykgj6d17n6qgi9ahp0d8plvbjjvfw6j";
+      rev = "fb8f4f25ab808bc83bc7c704f23171cb6b020737";
+      sha256 = "0y80ds4l5gqqdm56ymkgsfpizpx96kzrr0ivx29q7ahd4ry847xa";
     };
     dependencies = [];
     # In addition to the arguments you pass to your compiler, you also need to
@@ -305,11 +316,11 @@ rec {
   };
 
   commentary = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "commentary-2017-03-12";
+    name = "commentary-2017-10-09";
     src = fetchgit {
       url = "git://github.com/tpope/vim-commentary";
-      rev = "be79030b3e8c0ee3c5f45b4333919e4830531e80";
-      sha256 = "1msbmbz96wa88ymjvcrbr07mxdrsjy1w2hl7z4pihf318ryq98cm";
+      rev = "89f43af18692d22ed999c3097e449f12fdd8b299";
+      sha256 = "0nqm4s00c607r58fz29n67r2z5p5r9qayl5y1chy8bcrl59m17a2";
     };
     dependencies = [];
 
@@ -331,11 +342,11 @@ rec {
   };
 
   ctrlp-py-matcher = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ctrlp-py-matcher-2017-01-05";
+    name = "ctrlp-py-matcher-2017-11-01";
     src = fetchgit {
       url = "git://github.com/FelikZ/ctrlp-py-matcher";
-      rev = "a0710a4937ab9dc10bc0a8b56b41fcc88534147c";
-      sha256 = "198y8998sx2maarn2vawx8hqldsfbnn4i6rlg56qw6brsrssssx2";
+      rev = "cf63fd546f1e80dd4db3db96afbeaad301d21f13";
+      sha256 = "0hs829x3vxv12y78hz5g4a5qpw05xf42dk0hxxk3ind77mnl1ir1";
     };
     dependencies = [];
 
@@ -364,11 +375,11 @@ rec {
   };
 
   fugitive = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fugitive-2017-07-12";
+    name = "fugitive-2017-10-21";
     src = fetchgit {
       url = "git://github.com/tpope/vim-fugitive";
-      rev = "913fff1cea3aa1a08a360a494fa05555e59147f5";
-      sha256 = "1qxzxk5szm25r7wi39n5s91fjnjgz5xib67risjcwhk6jdv0vzyd";
+      rev = "7c9b87a3c3ef4b53425aca4a27e11a7359caae9f";
+      sha256 = "1kpgnn3pmy82kqy9vcvd1vi9jjmfj03p4606pvh42ky4y0m0qmms";
     };
     dependencies = [];
 
@@ -397,11 +408,11 @@ rec {
   };
 
   vim-autoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-autoformat-2017-06-26";
+    name = "vim-autoformat-2017-10-23";
     src = fetchgit {
       url = "https://github.com/Chiel92/vim-autoformat";
-      rev = "ad189cdde5a50699a1d6b2b4b669e73942e47710";
-      sha256 = "0jk1qigvz2xkpr13ii0pg0nszrnzwn51gckxjvgaqwbsz967ccsj";
+      rev = "c32b27cd4059770ff6f4639082b69e76ada948bd";
+      sha256 = "1sy1bjrk560qww97538m883r8gkmfl114lbp68gdl0j48fdhmh78";
     };
     dependencies = [];
 
@@ -419,22 +430,22 @@ rec {
   };
 
   tsuquyomi = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "tsuquyomi-2017-05-31";
+    name = "tsuquyomi-2017-11-01";
     src = fetchgit {
       url = "https://github.com/Quramy/tsuquyomi";
-      rev = "46dfcd72b9701a52331349ba0d5c7596167093ab";
-      sha256 = "12rvkc3wf959siijrgld56xvfhgacglxb69z4q567fsjv3ynqnrv";
+      rev = "fb5a5fd26bcca3c3a9fcde732b969e34c1ae89ea";
+      sha256 = "0pg2w250fksnj168ygkdniryyr4asrr8y5fh2gq2hpyx6wpph7f8";
     };
     dependencies = [];
 
   };
 
   deoplete-nvim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-nvim-2017-07-22";
+    name = "deoplete-nvim-2017-11-04";
     src = fetchgit {
       url = "https://github.com/Shougo/deoplete.nvim";
-      rev = "5cef0e6b607d3acb742d1de07a4ddd3a5bfa3036";
-      sha256 = "0mh8zjaw369djffi1vzy124pwnrcxg4pbyjnhy3pq2j6k579znc2";
+      rev = "bea8e1c122d31ab6f2dd6f7d9a5b4545d08b2c4f";
+      sha256 = "0y88h7w8d3h43yfjkawgn9inkyky5llrk8gmdfax5fqvgjgz4jg9";
     };
     dependencies = [];
 
@@ -463,11 +474,11 @@ rec {
   };
 
   vim-closetag = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-closetag-2017-07-24";
+    name = "vim-closetag-2017-11-01";
     src = fetchgit {
       url = "https://github.com/alvan/vim-closetag";
-      rev = "2cacc501df30586c0f96f40f24d1a1239529198c";
-      sha256 = "00fayl6bnrf8b80xk73r1009z6hpzfc2jaih042hmnybx8k70byg";
+      rev = "277e21d04c417112da6ecd3485373c6d3ff93b90";
+      sha256 = "1wx9qqas0gd301pn9zabbl4b9v41i1hwbnd8fyy8kxxf0cbpdwaf";
     };
     dependencies = [];
 
@@ -485,35 +496,36 @@ rec {
   };
 
   vim-css-color = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-css-color-2017-02-09";
+    name = "vim-css-color-2017-11-03";
     src = fetchgit {
       url = "https://github.com/ap/vim-css-color";
-      rev = "2411b84298eb6db034001f35ce7cc32c36f9b43b";
-      sha256 = "1igqshk7wkh1wgihnmxnlh84fb98fm9lm8lfyjpcz6x8rg5vpmwc";
+      rev = "fcf5829daa7817994fb856dbaa905e6fd8beb50c";
+      sha256 = "1a617ji11395zimqjgpcq2qciyjzq5ixm85vc8rkj8jda0qgm91c";
     };
     dependencies = [];
 
   };
 
   LanguageClient-neovim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "LanguageClient-neovim-2017-09-05";
+    name = "LanguageClient-neovim-2017-11-06";
     src = fetchgit {
       url = "https://github.com/autozimu/LanguageClient-neovim";
-      rev = "5bfc3492d50c3c48c6e0b0d1899ed2bbca2cf48f";
-      sha256 = "1zi3v4yx4hgzfr23377z84yngiqvdwjpdpkn12lpi6irb04q6641";
+      rev = "a42cad5247417a1dbe7517748df14a76bd795fc1";
+      sha256 = "1dk44xmxpq7yix0vpy8pzabk90l0cqxjm79w1zh8vqmpcp27z4jd";
     };
     dependencies = [];
 
   };
 
   clighter8 = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "clighter8-2017-07-23";
+    name = "clighter8-2017-09-30";
     src = fetchgit {
       url = "https://github.com/bbchung/clighter8";
-      rev = "a75644681c3a25f9441c482fd0b1c983d12da7e1";
-      sha256 = "0hl14l8d0c0rwh7pv1d9bxkrvh1wjxdgjyi7cnhn75m7x9fd3ijh";
+      rev = "193512aaa722d1f3dfd3c07bd60942e59c753f25";
+      sha256 = "1xl1ggkvwg8j6xhfgs1vcah9wksw2z03b1333iyfbgcjdxrdail6";
     };
     dependencies = [];
+    buildInputs = [ makeWrapper ];
     preFixup = ''
       sed "/^let g:clighter8_libclang_path/s|')$|${llvmPackages.clang.cc}/lib/libclang.so')|" \
         -i "$out"/share/vim-plugins/clighter8/plugin/clighter8.vim
@@ -521,11 +533,11 @@ rec {
   };
 
   neomake = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neomake-2017-07-25";
+    name = "neomake-2017-11-04";
     src = fetchgit {
       url = "https://github.com/benekastah/neomake";
-      rev = "0d1f1508ce2c9cfcffbf74a6bdea9c5766301fd6";
-      sha256 = "0wc9b63s4j80f6irf2g6dmk2nx8w9il4dccbgmzirchmymndw4vh";
+      rev = "ef4e5be7315ffcb536b855974c91b1378beda62d";
+      sha256 = "1xma1isbk7b3gccddfphvyxpi2sih6i1jgk69p8cig5rbggkrc4a";
     };
     dependencies = [];
 
@@ -543,22 +555,22 @@ rec {
   };
 
   vim-trailing-whitespace = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-trailing-whitespace-2016-03-27";
+    name = "vim-trailing-whitespace-2017-09-22";
     src = fetchgit {
       url = "https://github.com/bronson/vim-trailing-whitespace";
-      rev = "733fb64337b6da4a51c85a43450cd620d8b617b5";
-      sha256 = "1469bd744lf8vk1nnw7kyq4ahpw84crp614mkpq88cs6rhvjhcyw";
+      rev = "4c596548216b7c19971f8fc94e38ef1a2b55fee6";
+      sha256 = "0f1cpnp1nxb4i5hgymjn2yn3k1jwkqmlgw1g02sq270lavp2dzs9";
     };
     dependencies = [];
 
   };
 
   vim-sort-motion = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-sort-motion-2017-04-27";
+    name = "vim-sort-motion-2017-10-03";
     src = fetchgit {
       url = "https://github.com/christoomey/vim-sort-motion";
-      rev = "9833b22b24b469574178bff4a305472d52bd93b8";
-      sha256 = "1rvg4c89vlhqdy0p76rn51hz5mz7qv5pckdacs5zz3g8rcpqxxwq";
+      rev = "7384f20d829b4abde28ced40975f0beb319dce27";
+      sha256 = "1x4hxa7dijb5g7vmrbgs2zi8aiqc759ljmh8qqwk6lafc016plnj";
     };
     dependencies = [];
 
@@ -587,11 +599,11 @@ rec {
   };
 
   ctrlp-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ctrlp-vim-2017-07-18";
+    name = "ctrlp-vim-2017-08-30";
     src = fetchgit {
       url = "https://github.com/ctrlpvim/ctrlp.vim";
-      rev = "3a048e85d3c2f72b1564e2dc43ed5b1d67bd59a9";
-      sha256 = "10i2lwjizd74b3zi1ahinz2h8qbd18jzw93xrpw0iswrynfsprjv";
+      rev = "bde7a2950adaa82e894d7bdf69e3e7383e40d229";
+      sha256 = "19q3cfs3rd3q1xfhyz55r1c3750nrjvwz7jxnhqqn751zgimnsyl";
     };
     dependencies = [];
 
@@ -631,11 +643,11 @@ rec {
   };
 
   pony-vim-syntax = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "pony-vim-syntax-2016-01-23";
+    name = "pony-vim-syntax-2017-09-26";
     src = fetchgit {
       url = "https://github.com/dleonard0/pony-vim-syntax";
-      rev = "a0ab2e14d5a3796ebec01ce196392dc1de349cb3";
-      sha256 = "1wraray7870hq75jqxyilxb125flhcgk9ysz437qbg75c495znl0";
+      rev = "caa34b3d7a15d9bfbfbb2f5944c85eb1eddcfafc";
+      sha256 = "0r2lv99hkm95dv8wy9rkrkcwz5wkmwggfwi5vakgw497l3a9jskr";
     };
     dependencies = [];
 
@@ -664,22 +676,22 @@ rec {
   };
 
   neco-ghc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neco-ghc-2017-07-22";
+    name = "neco-ghc-2017-08-17";
     src = fetchgit {
       url = "https://github.com/eagletmt/neco-ghc";
-      rev = "1c7bf1b544f295d066863b9f193de709aec5bbad";
-      sha256 = "1vbl75s0zvbw6zvs790yla06rl8akpamm0p98s5mbj7mdnivkqhb";
+      rev = "faa033c05e6a6470d3d780e3931b4c9c72042009";
+      sha256 = "01l5n4x94sb6bhjhjx2sibs8gm3zla7hb6szdfgbdmdf7jlzazak";
     };
     dependencies = [];
 
   };
 
   editorconfig-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "editorconfig-vim-2017-05-13";
+    name = "editorconfig-vim-2017-10-14";
     src = fetchgit {
       url = "https://github.com/editorconfig/editorconfig-vim";
-      rev = "a069da8426ec5b9fc4d9f83c783c999e9d20f7d0";
-      sha256 = "1zx5a8if3r77dnyidix7j0gi04y4pmmi5kfzlr3kjazj00606l79";
+      rev = "0abb0634a8bf3c760a283e9e7475594b83869a46";
+      sha256 = "1wazl37ivn9nhsy296g1ncvvwc78930lbp8arhwavr52mzpfji21";
     };
     dependencies = [];
 
@@ -697,11 +709,11 @@ rec {
   };
 
   vim-elixir = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-elixir-2017-07-19";
+    name = "vim-elixir-2017-10-20";
     src = fetchgit {
       url = "https://github.com/elixir-lang/vim-elixir";
-      rev = "7c16ab889d12a32a7d15c54c36c0f47809b06e06";
-      sha256 = "0h9gqxqyl6p6ckknn8838wz71xz5v2jqkc2swjdkfbff2n9k1gwb";
+      rev = "3066d5fb5e1c694e607b2bb5d8277266ca524262";
+      sha256 = "1j5sic3rssh2kaj73lv4m5sck3irn1jzgkpdr5qw7qi0gyfgpg81";
     };
     dependencies = [];
 
@@ -741,11 +753,11 @@ rec {
   };
 
   ensime-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ensime-vim-2017-07-06";
+    name = "ensime-vim-2017-08-27";
     src = fetchgit {
       url = "https://github.com/ensime/ensime-vim";
-      rev = "a8a2f024283af8e0b69165960ba59d850d1b80a4";
-      sha256 = "0vn7iv05jil7j1k4wgnnb9b1b4yqlxjkqmmz8a71291qg17bs5c8";
+      rev = "d992b971a84afdfb2d99896d8aed537030e09a80";
+      sha256 = "1rhrq3zplvpyli1ymqjmhq91p61ixpjz1v5xf68nvq4ax50nl45z";
     };
     dependencies = ["vimproc" "vimshell" "self" "forms"];
     pythonDependencies = with pythonPackages; [ sexpdata websocket_client ];
@@ -763,44 +775,44 @@ rec {
   };
 
   vim-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-go-2017-07-25";
+    name = "vim-go-2017-11-05";
     src = fetchgit {
       url = "https://github.com/fatih/vim-go";
-      rev = "76cd99db6a88e825f361df0043cbff777c4a14fb";
-      sha256 = "1pda9dmaacnzwm92a7vsly053dq2c1bcsqx99rwr41mkpzsk649l";
+      rev = "c0d209cce7f0eb0af250d2471ae9495a8bf1f19e";
+      sha256 = "1ci8nhsnda4wrpqi0knara1dqjjba6bccbqiw6va8d9mzsr12ivn";
     };
     dependencies = [];
 
   };
 
   vim-colorschemes = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-colorschemes-2016-08-01";
+    name = "vim-colorschemes-2017-08-22";
     src = fetchgit {
       url = "https://github.com/flazz/vim-colorschemes";
-      rev = "b8dff40f69f1873effbed97c759a8452ecb240ed";
-      sha256 = "1mb08l2crl5mal0jllh9s099w2bqcb88vfjw3z5zj1jn8bbpniaj";
+      rev = "eab315701f4627967fd62582eefc4e37a3745786";
+      sha256 = "12jfqfs6lqd6jijxrdx3k76bzxrh9517zwczb73qjaqbg286fh5k";
     };
     dependencies = [];
 
   };
 
   floobits-neovim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "floobits-neovim-2017-07-25";
+    name = "floobits-neovim-2017-08-02";
     src = fetchgit {
       url = "https://github.com/floobits/floobits-neovim";
-      rev = "5b83fc75e4241911649782fd5b87ac7da30e77bd";
-      sha256 = "05jrybkhg39v3z295l55aasb074wvm3pnyp7l38jqk7z4432gdc4";
+      rev = "9ccd5a8d5d28261b9686717d61a32b756f38f189";
+      sha256 = "02njg49qz9bfzggpn7z5c7w1wa1k5hxly66904wizl601fa6c664";
     };
     dependencies = [];
 
   };
 
   psc-ide-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "psc-ide-vim-2017-07-14";
+    name = "psc-ide-vim-2017-10-24";
     src = fetchgit {
       url = "https://github.com/frigoeu/psc-ide-vim";
-      rev = "0ff0c0a4e4087cb4444d0a19f2b2e436e723b186";
-      sha256 = "0kq8iqhv8flyc12m9ajmbrfk7k6zl3gnnxg5j8sw69aqy6pqvd0p";
+      rev = "23bf302de91181d409fb988ce372ab703b119bc5";
+      sha256 = "1yjnc6173zdxbcbszrv7184rk5jax6d187c1klsm8b6lx4j1jv4d";
     };
     dependencies = [];
 
@@ -840,11 +852,11 @@ rec {
   };
 
   idris-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "idris-vim-2017-06-05";
+    name = "idris-vim-2017-08-02";
     src = fetchgit {
       url = "https://github.com/idris-hackers/idris-vim";
-      rev = "0709927e689f4f4158661d4eb8ac6ce310cd7548";
-      sha256 = "05fiamb92l7d08kxv1jk5xpqvkxphr9vqi3bfa203mjkvymd3x34";
+      rev = "7f1363b65e14a8918d17f98b7f16de8f44f6bd00";
+      sha256 = "07ws5c1yfv4kp1yl4fa634l9w162pp784zg12r2953xzwwmgwr83";
     };
     dependencies = [];
 
@@ -862,11 +874,11 @@ rec {
   };
 
   lightline-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "lightline-vim-2017-05-30";
+    name = "lightline-vim-2017-11-05";
     src = fetchgit {
       url = "https://github.com/itchyny/lightline.vim";
-      rev = "ff74d6561487d220ed9d878172d8b55a79a4c17e";
-      sha256 = "0j8pn42vfc1ka6hjnfsanl98vlk2839am5d4ynz9p1j1hichiqzv";
+      rev = "73f125dcf24db4baabe9be76d02de63be22dbd44";
+      sha256 = "1aj0sn3fs78993nk8qfvyfbbny3586fnmsvkqkg7n9j2gd7dfn93";
     };
     dependencies = [];
 
@@ -938,6 +950,17 @@ rec {
 
   };
 
+  vim-docbk = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "vim-docbk-2015-04-01";
+    src = fetchgit {
+      url = "https://github.com/jhradilek/vim-docbk";
+      rev = "6ac0346ce96dbefe982b9e765a81c072997f2e9e";
+      sha256 = "1jnx39m152hf9j620ygagaydg6h8m8gxkr1fmxj6kgqf71jr0n9d";
+    };
+    dependencies = [];
+
+  };
+
   auto-pairs = buildVimPluginFrom2Nix { # created by nix#NixDerivation
     name = "auto-pairs-2017-07-03";
     src = fetchgit {
@@ -994,11 +1017,11 @@ rec {
   };
 
   fzf-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "fzf-vim-2017-07-24";
+    name = "fzf-vim-2017-11-02";
     src = fetchgit {
       url = "https://github.com/junegunn/fzf.vim";
-      rev = "685f9aae97072a190a1230a5c79692e15b7f46c9";
-      sha256 = "1064qwypq8hl0dx65fhvx0aq4jp7hc60rzb0vy98zjr3sr4wshbh";
+      rev = "5c6cee878a71ed27b137aafa7993624a357c0b82";
+      sha256 = "07wavw8j170siysjvpmm2znv6c1q72w1m0cgs908v9pr1fh1bghj";
     };
     dependencies = [];
 
@@ -1049,11 +1072,11 @@ rec {
   };
 
   typescript-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "typescript-vim-2017-03-15";
+    name = "typescript-vim-2017-10-24";
     src = fetchgit {
       url = "https://github.com/leafgarland/typescript-vim";
-      rev = "4dc79bd1b0c43c16cae146bee065f2acc6d2b789";
-      sha256 = "1hm7cpkx7na106xpivzi5cqb322nanpa0sdjmvnkhgll244q5vy4";
+      rev = "fbd0e9e508535f7d89778f7280dc76505348dcc6";
+      sha256 = "1psxdkr35m1x6lpsrn2v482sn9n4pysw1i0j9nr1g7r4nh1058fk";
     };
     dependencies = [];
 
@@ -1071,22 +1094,22 @@ rec {
   };
 
   vimtex = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimtex-2017-07-25";
+    name = "vimtex-2017-11-01";
     src = fetchgit {
       url = "https://github.com/lervag/vimtex";
-      rev = "1bba731f008a0905c1cf34e185c3f299d1f1759b";
-      sha256 = "0gcsfdc2rrdaylsqz6hn9smchndb4y22f4sm230ljdf1rda6v57v";
+      rev = "b56537a229d74fab815090e8e4b4ae873121e69c";
+      sha256 = "1d94i19bkgqay7n5108majla2bx3nw5s230a2nw761v327bp65wd";
     };
     dependencies = [];
 
   };
 
   vim-easymotion = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-easymotion-2017-07-14";
+    name = "vim-easymotion-2017-10-20";
     src = fetchgit {
       url = "https://github.com/lokaltog/vim-easymotion";
-      rev = "e4d71c7ba45baf860fdaaf8c06cd9faebdccbd50";
-      sha256 = "16ww4myvgh7is5fbwm67v87bbdyhldvr9d4vqkvnn8v9mbj7p7vd";
+      rev = "342549e7a1e5b07a030803e0e4b6f0415aa51275";
+      sha256 = "1glv4s95v8xxj47n0jzjxd0pxphnnpgzyd384d2bh0ql1xgf320v";
     };
     dependencies = [];
 
@@ -1130,22 +1153,22 @@ rec {
   };
 
   vim-highlightedyank = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-highlightedyank-2017-03-25";
+    name = "vim-highlightedyank-2017-10-03";
     src = fetchgit {
       url = "https://github.com/machakann/vim-highlightedyank";
-      rev = "d656e1e62d2b4e1abd66c5f3a13a2be31a5a80ed";
-      sha256 = "0rcd2q8f49iyv93s5g95brml7sng7lr8k9s5m4mxq3y0m9yf68fd";
+      rev = "5fb7d0f2cb9e25397b1a6e1a5345584a6975b724";
+      sha256 = "19jzaiv4iqgqvbwj6r5m6037qfm5nhk6jcwciyfacispdycmpkp7";
     };
     dependencies = [];
 
   };
 
   Jenkinsfile-vim-syntax = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "Jenkinsfile-vim-syntax-2017-05-16";
+    name = "Jenkinsfile-vim-syntax-2017-08-29";
     src = fetchgit {
       url = "https://github.com/martinda/Jenkinsfile-vim-syntax";
-      rev = "d3ad4bc4888740c524bfa2f8b3192cfb23ddec3f";
-      sha256 = "1sw1rwxspa94aak9gq6i1z47cqhkm2nbbj8xlkzbk3c04mqljksf";
+      rev = "e3d2e19ad1c8f79872380901c0392c2671757831";
+      sha256 = "18bfyjsxgqg562n8kkcnyd05pp17ipap7ray9az92fapzhw5q4x9";
     };
     dependencies = [];
 
@@ -1185,11 +1208,11 @@ rec {
   };
 
   vim-startify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-startify-2017-06-15";
+    name = "vim-startify-2017-11-02";
     src = fetchgit {
       url = "https://github.com/mhinz/vim-startify";
-      rev = "7f910ed4367de96310fedc98d5a12b97173a405f";
-      sha256 = "1l5q8mqqp6gzmxqm5i0lx6lbm181vmkcg8w24ypa77vnid0ihd93";
+      rev = "22ccf5861397dd2365756c24ce1952736632cd8c";
+      sha256 = "1np32vz56hz19hd6zpz154dim2mzw3x1lx1vyhkkyda8rd9w4rmb";
     };
     dependencies = [];
 
@@ -1207,11 +1230,11 @@ rec {
   };
 
   ack-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ack-vim-2017-05-07";
+    name = "ack-vim-2017-11-05";
     src = fetchgit {
       url = "https://github.com/mileszs/ack.vim";
-      rev = "a16a9b63eb85cc0960a7f25c54647ac1f99f3360";
-      sha256 = "09bwawm2csliancl281y6wgalrrmaqq7d0baz4dq1cw18x657mk7";
+      rev = "6e04746a63dd2453601ae36c83d53fe2021a45f4";
+      sha256 = "0453ghmaaqwv6z8a3sncd3jxs9j050sp9ymiw2aqpc1a28kdlrv8";
     };
     dependencies = [];
 
@@ -1276,22 +1299,22 @@ rec {
   };
 
   haskell-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "haskell-vim-2017-07-18";
+    name = "haskell-vim-2017-10-16";
     src = fetchgit {
       url = "https://github.com/neovimhaskell/haskell-vim";
-      rev = "21c48768f1c5986d4f2351784b119eb9a5f925db";
-      sha256 = "1dd18plhahkdz782d7y8w8265di2wvs78w2q2hx2m68686abmn0h";
+      rev = "d877d5cd5f2f5747fa835d4b639499187fa4ae9e";
+      sha256 = "16iihz0jy61s5dyzzf5dbvd6ii1zna98pckqkjlpxcqqx636sm5c";
     };
     dependencies = [];
 
   };
 
   cpsm = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "cpsm-2017-02-12";
+    name = "cpsm-2017-10-30";
     src = fetchgit {
       url = "https://github.com/nixprime/cpsm";
-      rev = "8e61bf3e30868c57ad7cf1fe4315b2352d61467c";
-      sha256 = "0qcc10dx48wyvcgz9q3nid9l1wxvl9m97608s289lj4zps8iqpcs";
+      rev = "3744240ca48f98eea064f3cbc1a62b3f25f44030";
+      sha256 = "0x5jac7x85bqdh38vggi1fvxjw2z29b2227n471f3cxy8arvylrw";
     };
     dependencies = [];
     buildInputs = [
@@ -1320,11 +1343,11 @@ rec {
   };
 
   vim-watchdogs = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-watchdogs-2017-06-23";
+    name = "vim-watchdogs-2017-10-23";
     src = fetchgit {
       url = "https://github.com/osyo-manga/vim-watchdogs";
-      rev = "22a08dcd33223ddbe95c977ca72e77d62d2c75d9";
-      sha256 = "0d3i39cz5kpps2gxlbz2l73bz0rs67lhh6qrpzl3a2p014hixbyi";
+      rev = "4ba5e8f2d456d36ef4e660580245c648a6f106ff";
+      sha256 = "1736m48yp41p2kwn6n0jmkzvxi84mf4llk1zw38n0v8npzcc2lnp";
     };
     dependencies = [];
 
@@ -1353,44 +1376,44 @@ rec {
   };
 
   vim-racer = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-racer-2017-07-19";
+    name = "vim-racer-2017-10-15";
     src = fetchgit {
       url = "https://github.com/racer-rust/vim-racer";
-      rev = "c729b895885c9ef548ed4f9c1cec7c7c741b5869";
-      sha256 = "1r0idhc7yj5r4h2rfmbb5p0i1yckr3mckif3ijy6sm9rhwi242sw";
+      rev = "da725d38a6f0dd223771018c05e62a33c4a92f09";
+      sha256 = "16m9iw6x6wr26ilm72vwjsm9p346hbjd6md62mqk6ranln8rdirp";
     };
     dependencies = [];
 
   };
 
   purescript-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "purescript-vim-2016-08-31";
+    name = "purescript-vim-2017-10-19";
     src = fetchgit {
       url = "https://github.com/raichoo/purescript-vim";
-      rev = "2c55bcefd63bc40ed2aa9d6ce9d89a590dfa3477";
-      sha256 = "1y96w8p865gd6zr29wpxn1qwsk833y06x1qp586gylgi0jp1ybzv";
+      rev = "ece34d9782a075761f31854a33eccd932eb2cf57";
+      sha256 = "0x6hpibmhgw5aqq25rcpvgz2a60jh7i8x23gigakmmrxv51cjcrj";
     };
     dependencies = [];
 
   };
 
   vim-grammarous = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-grammarous-2017-07-02";
+    name = "vim-grammarous-2017-08-25";
     src = fetchgit {
       url = "https://github.com/rhysd/vim-grammarous";
-      rev = "d117cd139b58319d8ac94f2fd36ee548b6ea1e88";
-      sha256 = "0a5a65j9a3s54z9asjmfbqsvawx014bq772jqgpsxww53lap3s5x";
+      rev = "51ef5190813c0d9d8aaebd5191f183cff767f805";
+      sha256 = "1mm8hd39q2sl4hi83c4zvrl27a8djr1pv35ch0pivg84ad9p7qq5";
     };
     dependencies = [];
 
   };
 
   vim-puppet = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-puppet-2017-07-02";
+    name = "vim-puppet-2017-08-25";
     src = fetchgit {
       url = "https://github.com/rodjek/vim-puppet";
-      rev = "cb1863af2ba4de9fb1c1d952d82692502348fb92";
-      sha256 = "0a3q6f8jplxbvpjaz9vnh589al64vg567nc00xabp46vcm83nk4x";
+      rev = "0d8ddd0dc3b7c908a82a6f16fa61aade766cc7e3";
+      sha256 = "1jgn9vahyn80zz0wfzx9abamsahh9wrrq1nf9qghljm4si3fq766";
     };
     dependencies = [];
 
@@ -1408,44 +1431,44 @@ rec {
   };
 
   nvim-completion-manager = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "nvim-completion-manager-2017-09-05";
+    name = "nvim-completion-manager-2017-10-26";
     src = fetchgit {
       url = "https://github.com/roxma/nvim-completion-manager";
-      rev = "d9db97f7e5a4ab8af905bc00a4501d770368dee4";
-      sha256 = "1aaclyz1ss2iv0lwcxkz8x5x4wivsixmlk5xakwy989q9g9ps2f1";
+      rev = "a56d17bcfc107bed851c9a36f1a6fc8e93c04acd";
+      sha256 = "18zd7sigp93057lw4mx9jfqrp1l31kwhh8df5kfimbyh75xpj469";
     };
     dependencies = [];
 
   };
 
   rust-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "rust-vim-2017-07-14";
+    name = "rust-vim-2017-09-20";
     src = fetchgit {
       url = "https://github.com/rust-lang/rust.vim";
-      rev = "5a6133680ecf9e22eeba35c35e62ea6210225b02";
-      sha256 = "0mxzl8lghq7bnwp8qs3haxq83ds5q8s8br0ajn40a3c3ns2hkhla";
+      rev = "b6d88adcf9867aa69f4d20d45d49bb54979842a4";
+      sha256 = "0n0hiqlv3amnzn69wyyq6z3r8zr0gcg86hw6flk7z39cxjhjv3vr";
     };
     dependencies = [];
 
   };
 
   vim-devicons = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-devicons-2017-05-29";
+    name = "vim-devicons-2017-10-13";
     src = fetchgit {
       url = "https://github.com/ryanoasis/vim-devicons";
-      rev = "153266275acc4f4615407a18e90f58780ebaef92";
-      sha256 = "1zjrra0q5c7lmgxzlz7ddd7vi6k2vhz69fdy2s7d873nnmmd7kgn";
+      rev = "a3e50225a8d544c9eff9c53c5405269a1b2b29f8";
+      sha256 = "0glnwqnaw28g41zd9c3wvcsk6fmiphlwiq80lskbyn1pxfb3h14m";
     };
     dependencies = [];
 
   };
 
   neoformat = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neoformat-2017-07-22";
+    name = "neoformat-2017-11-01";
     src = fetchgit {
       url = "https://github.com/sbdchd/neoformat";
-      rev = "a0c8e1f3c8b917afd175fc9ed9b2685ce5f952e9";
-      sha256 = "1w2m54ag1g1czfwa8y2vq4p05wysvb1qhgfnbzqvlwb1mn9sh2kf";
+      rev = "0e2cfe93a14639b9e26373593a4a61b30e5e96ff";
+      sha256 = "1nzc8yjpbimbg0sn3cmn4jkb1f91lk0iqg4c38czlzlvbfb2xasq";
     };
     dependencies = [];
 
@@ -1463,66 +1486,66 @@ rec {
   };
 
   vim-polyglot = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-polyglot-2017-06-12";
+    name = "vim-polyglot-2017-10-27";
     src = fetchgit {
       url = "https://github.com/sheerun/vim-polyglot";
-      rev = "8eab5f5403afc1c33a7593459a27f7ff625fa60b";
-      sha256 = "0q2xfmqk5iad6gv8zzlpcv48xpv7lwr6mswc7mdllzkgaqilz75g";
+      rev = "a61ab44810a0cb78223a179d78eff16d2e0b8bf6";
+      sha256 = "0q3h46blqv963c4m636hr48j9ka1x2qv4naja7q2rr4f2pndhd23";
     };
     dependencies = [];
 
   };
 
   neco-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neco-vim-2017-07-23";
+    name = "neco-vim-2017-10-01";
     src = fetchgit {
       url = "https://github.com/shougo/neco-vim";
-      rev = "7c188577ebf65bfb9e27affce8158e0f5af2ec3e";
-      sha256 = "1jb9vw2gkag2fg18vxqj3rc6y4zqgrn0kf6vb5z8kgkbsam0cybk";
+      rev = "f5397c5e800d65a58c56d8f1b1b92686b05f4ca9";
+      sha256 = "0yb7ja6qgrazszk4i01cwjj00j9vd43zs2r11b08iy8n10jnzr73";
     };
     dependencies = [];
 
   };
 
   neocomplete-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neocomplete-vim-2017-07-23";
+    name = "neocomplete-vim-2017-10-22";
     src = fetchgit {
       url = "https://github.com/shougo/neocomplete.vim";
-      rev = "d8caad4fc14fc1be5272bf6ebc12048212d67d2c";
-      sha256 = "1ab1p4w6187r15alb34mnvaq43mikk7ic05ysgilx4f4zz6dgz5y";
+      rev = "46791e7692e07384a089d125c5c536246698d04c";
+      sha256 = "1iqd6fqlkm8bvibsapcvqqmyklzjad2l0c745lppdgdb959v016a";
     };
     dependencies = [];
 
   };
 
   neosnippet-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-snippets-2017-07-05";
+    name = "neosnippet-snippets-2017-09-26";
     src = fetchgit {
       url = "https://github.com/shougo/neosnippet-snippets";
-      rev = "b89c544264912b064c79da2a90fc5d4e69d621b2";
-      sha256 = "1cqgagzxl559mf06kkggdm90g27is0x80qqrrha09ng16hf6qf7a";
+      rev = "8dbb78599984140c50418d3dd23d0de4c8f13e74";
+      sha256 = "1hs4xvr9x03ccrcczhly4qlvr5bfxfvdk3ir4821mlg1gsgclkwh";
     };
     dependencies = [];
 
   };
 
   neosnippet-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "neosnippet-vim-2017-07-15";
+    name = "neosnippet-vim-2017-10-01";
     src = fetchgit {
       url = "https://github.com/shougo/neosnippet.vim";
-      rev = "4bf88a9e497dc7180e9fe58551ad340de0192f39";
-      sha256 = "0mj14cninszfw95zb0rwcmzf40851i49lj6vk8gz4iq9y0hxsnx7";
+      rev = "ddd01d0ee3d965d9a30051f2e12b14234c83b3ae";
+      sha256 = "0475ilqyg0ppk276awvva2iaslm993l364vqcxqrl31x7ir2qa7f";
     };
     dependencies = [];
 
   };
 
   unite-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "unite-vim-2017-07-01";
+    name = "unite-vim-2017-10-22";
     src = fetchgit {
       url = "https://github.com/shougo/unite.vim";
-      rev = "ad15f96365b5cb43a45d0ca779df6a497f954f15";
-      sha256 = "0pigwfwyas4zdzrazk08p9bnbmi51np4gb0mf5dy434glw9rrvjz";
+      rev = "c5c69d5d94e61a67d61730d04c82763196f63b10";
+      sha256 = "1zn23x1bx40z0anl42v8ac8dv0c7f29rd1vwdqsmwdrkyxlyi1n1";
     };
     dependencies = [];
 
@@ -1569,11 +1592,11 @@ rec {
   };
 
   alchemist-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "alchemist-vim-2017-07-23";
+    name = "alchemist-vim-2017-10-31";
     src = fetchgit {
       url = "https://github.com/slashmili/alchemist.vim";
-      rev = "35b0e59b4ae45baeef7fc46b6faf9b96515d35cb";
-      sha256 = "021iwhnjjsfhmpbimm91jgmcrlj1hjh8rxcdqxwcwxc92h73wl58";
+      rev = "15e6439439997a02fddb65fd3db51c1eb62207c0";
+      sha256 = "03hvkj6957hcmlfqpzlddhm675ljqb7ka5r3j95ykl80npmqrnml";
     };
     dependencies = [];
 
@@ -1613,11 +1636,11 @@ rec {
   };
 
   vim-quickrun = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-quickrun-2017-03-21";
+    name = "vim-quickrun-2017-08-14";
     src = fetchgit {
       url = "https://github.com/thinca/vim-quickrun";
-      rev = "98889e1fc0f7136262c4dd7c312b82879df16486";
-      sha256 = "1drv53fwp24z0yb79lj2nyapyndw1yirg202hg7px9jvxjr4k8a0";
+      rev = "13e60587a503620bd7d0dd1b822c29e18350e461";
+      sha256 = "185pqahvpmag01vzr2xh68vnfz6fybpd3qlpr2qdq8712x11apwi";
     };
     dependencies = [];
 
@@ -1635,11 +1658,11 @@ rec {
   };
 
   vim-dispatch = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-dispatch-2017-07-12";
+    name = "vim-dispatch-2017-10-10";
     src = fetchgit {
       url = "https://github.com/tpope/vim-dispatch";
-      rev = "14a1695f844a320dd28a7706710325773d1046a8";
-      sha256 = "1whmqikg5ch523ffs2apkrd4clwl7s0y98gmxgaqq6gm2fa2wmfp";
+      rev = "be7b194f47bdee6baa4460ccd030b860ada548dd";
+      sha256 = "0lxhk6y1lf625i8hnsl44wzh8mfxi2h1hswrmisbmm2dbmyy84hd";
     };
     dependencies = [];
 
@@ -1701,11 +1724,11 @@ rec {
   };
 
   youcompleteme = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "youcompleteme-2017-07-24";
+    name = "youcompleteme-2017-10-27";
     src = fetchgit {
       url = "https://github.com/valloric/youcompleteme";
-      rev = "998303e2fd5e762c3bc2aee8c23af1b388fb459c";
-      sha256 = "158wnxgnjir4n5p1jnpxqq4qwl6hapd9kpdd3gklihxvbj1zqskc";
+      rev = "bade99f5e9c5ba2f848cffb2d1a905e85d3ddb05";
+      sha256 = "0rf9gd4asq9bddhp3c6qvvjcm6zpiadjhvslknkqh1i9aq01kj7a";
     };
     dependencies = [];
     buildPhase = ''
@@ -1719,7 +1742,7 @@ rec {
 
     meta = {
       description = "Fastest non utf-8 aware word and C completion engine for Vim";
-      homepage = http://github.com/Valloric/YouCompleteMe;
+      homepage = https://github.com/Valloric/YouCompleteMe;
       license = stdenv.lib.licenses.gpl3;
       maintainers = with stdenv.lib.maintainers; [marcweber jagajaga];
       platforms = stdenv.lib.platforms.unix;
@@ -1727,22 +1750,22 @@ rec {
   };
 
   vim-airline-themes = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-airline-themes-2017-07-10";
+    name = "vim-airline-themes-2017-10-29";
     src = fetchgit {
       url = "https://github.com/vim-airline/vim-airline-themes";
-      rev = "5d75d76ca2e17edd68f89ac4f547009d477570c6";
-      sha256 = "15vq8fjax69wi447vhirj7vzqxppxcpvq2v8dhi0pf39gbzcd229";
+      rev = "26f67b926553555e505ac60e992c97ab5fdfc83f";
+      sha256 = "0gzhi7l0cwzd66mzkrs6pgbzm9vqkkyhv4cwblywh5dkqqa9q71x";
     };
     dependencies = [];
 
   };
 
   vim-pandoc = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-pandoc-2017-04-26";
+    name = "vim-pandoc-2017-11-04";
     src = fetchgit {
       url = "https://github.com/vim-pandoc/vim-pandoc";
-      rev = "fc209c66e937172efdd6db39ee64fcb3980ce329";
-      sha256 = "19x8hf78833hcg508sn5a4g79h47ynqzzas998rqr2cmmpsc4mzs";
+      rev = "e9a24376c17817632951088838a3c3bdc1c5da30";
+      sha256 = "17mmvsvdzmx9xqhxiryvv8l67m52bd4xl9lyrg0h9vk8s58cy0ig";
     };
     dependencies = [];
 
@@ -1881,40 +1904,39 @@ rec {
   };
 
   ale = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "ale-2017-07-23";
+    name = "ale-2017-11-05";
     src = fetchgit {
       url = "https://github.com/w0rp/ale";
-      rev = "a0059cfe0362e8ba55bad1f4fa8a310c74b55280";
-      sha256 = "0hjli8ww0i4yxa7gxiyvy9xgc9s8krr7vhdh8036nwwnrzrmcc5h";
+      rev = "fa7d041c26aa6616c13a62274a7fc8458f6096dd";
+      sha256 = "13h4pcahnfm0b5f7zbyfg7w2ailv8id58v59sp7h2qk3cx7zwb9k";
     };
     dependencies = [];
 
   };
 
   vim-wakatime = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-wakatime-2017-07-03";
+    name = "vim-wakatime-2017-11-05";
     src = fetchgit {
       url = "https://github.com/wakatime/vim-wakatime";
-      rev = "0c5368cf01f4d452a05eb5e5569e6fe78dca2657";
-      sha256 = "025d0gz0fs3jb062jp7js11b8vb20zyxa32llqsjkyy4gr8kv53b";
+      rev = "23e92a5701bad21f3604b3ab129546aef51a9b80";
+      sha256 = "0hmpjrqy1w4qimpfg1l6sj5h9zbyz7lfzs3mjv1d3d2sp413warh";
     };
     dependencies = [];
     buildInputs = [ python ];
   };
 
   command-t = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "command-t-2017-06-23";
+    name = "command-t-2017-09-29";
     src = fetchgit {
       url = "https://github.com/wincent/command-t";
-      rev = "29f2606a9665058a98b56f2d8062ba614a3f246e";
-      sha256 = "0q6kqjy88w1478k2q6vqyyid69whd72746i0cd33xnslgykwm2hn";
+      rev = "c5882de56f0ca3ce8e891c434f192519aca5c7bb";
+      sha256 = "0dbghh7fwy49zyjick7840dkbybqchjw2sg9c6p0kmp5w3j46b92";
     };
     dependencies = [];
-    buildInputs = [ perl ruby git ];
+    buildInputs = [ ruby rake ];
     buildPhase = ''
-      pushd ruby/command-t
-      gem build ./command-t.gemspec
-      popd
+      rake make
+      rm ruby/command-t/ext/command-t/*.o
     '';
   };
 
@@ -1941,22 +1963,22 @@ rec {
   };
 
   nim-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "nim-vim-2016-05-19";
+    name = "nim-vim-2017-10-31";
     src = fetchgit {
       url = "https://github.com/zah/nim.vim";
-      rev = "dcf25798f4a3f75e9538f9915959061edbff97cf";
-      sha256 = "1jaiqkspfz2a4ny130dl0h6x9752flpcwwy0kscrqmlqf5fqiyvm";
+      rev = "ae63bd21211b68d21b176ad5ea0cc4fc8f90eda5";
+      sha256 = "1i5yxddwlcr3d2bzv5g9jz1z2lg7xnd6i038ph02rvllngcfsv00";
     };
     dependencies = [];
 
   };
 
   deoplete-go = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-go-2017-05-26";
+    name = "deoplete-go-2017-09-08";
     src = fetchgit {
       url = "https://github.com/zchee/deoplete-go";
-      rev = "aef73fdf275053a6fb00c3f66d1f18821bc74bd3";
-      sha256 = "1ixav3d78wy9zs9a8hg8yqk812srkbkwsaz17lg5sxjq6azljgvq";
+      rev = "9330737f365bcf430a9481561f24271ea2ab120b";
+      sha256 = "1j8i2ahpwa0v9mjwl45a6bdqdsksyh0fpwpl96jgylq58d2g5gzb";
     };
     dependencies = [];
     buildInputs = [ python3 ];
@@ -1969,11 +1991,22 @@ rec {
   };
 
   deoplete-jedi = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "deoplete-jedi-2017-07-16";
+    name = "deoplete-jedi-2017-10-24";
     src = fetchgit {
       url = "https://github.com/zchee/deoplete-jedi";
-      rev = "56528fd1238bbf2f9363f16710d0936703dc9eab";
-      sha256 = "1kwwbr1w3865rlqs04hpxrqv67a14mzyf85pa29djmryi2156wxb";
+      rev = "436624ce43d1424d4efef42e0990ac5fd19b5029";
+      sha256 = "0phgjf6v90lwcbx2lks461ny6v4x5ypcs2cidg51w2jav2xvlqrq";
+    };
+    dependencies = [];
+
+  };
+
+  zig-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
+    name = "zig-vim-2017-10-17";
+    src = fetchgit {
+      url = "https://github.com/zig-lang/zig.vim";
+      rev = "6059db59f61b517f5d65303b61f03324e01fdc2f";
+      sha256 = "0w3pa63s0r6h6w1iqmc444qrsc99xcccwapd6nyh3gb72z228d7z";
     };
     dependencies = [];
 
@@ -1991,11 +2024,11 @@ rec {
   };
 
   gruvbox = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "gruvbox-2016-09-28";
+    name = "gruvbox-2017-10-01";
     src = fetchgit {
       url = "git://github.com/morhetz/gruvbox";
-      rev = "127c9d14d4bac1bac31e328b835a8919a255789c";
-      sha256 = "19wg9143wvlynblpxm0cnk3ars2hgss3y745hligqgvfy308f7sm";
+      rev = "16504d394e145e0372d2491e02769d241350399a";
+      sha256 = "0yhas9lnsn9lfld37lvm5msmmkj6c7d8ajgarazc5rykbl8bw8rg";
     };
     dependencies = [];
 
@@ -2024,11 +2057,11 @@ rec {
   };
 
   pathogen = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "pathogen-2017-05-27";
+    name = "pathogen-2017-08-04";
     src = fetchgit {
       url = "git://github.com/tpope/vim-pathogen";
-      rev = "ddfb1f14d7597e6aedc749be06b559a673c437ab";
-      sha256 = "0fdd88gj75bzq6ifaddz3sl71w8ljnnci9npm04jmyvf048gnjg8";
+      rev = "e7857bed4e0705f91f781dbe99706f07d08d104b";
+      sha256 = "15s08q1chrdywj7fdiwzygxywg4cpcbvk5r1r8zvw6d82kyhadw1";
     };
     dependencies = [];
 
@@ -2068,11 +2101,11 @@ rec {
   };
 
   sleuth = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "sleuth-2017-07-23";
+    name = "sleuth-2017-10-24";
     src = fetchgit {
       url = "git://github.com/tpope/vim-sleuth";
-      rev = "dfe0a33253c61dd8fac455baea4ec492e6cf0fe3";
-      sha256 = "0576k4l2wbzy9frvv268vdix4k6iz9pw6n6626ifvg8hk6gbc5g9";
+      rev = "d56a4302358359ddf9845252addf637a5e6bd6d5";
+      sha256 = "1klp2lqsql90v156kih0mnm0j957pc4r0zy5y6srww2q3wkkjgr2";
     };
     dependencies = [];
 
@@ -2112,11 +2145,11 @@ rec {
   };
 
   table-mode = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "table-mode-2017-04-20";
+    name = "table-mode-2017-10-26";
     src = fetchgit {
       url = "git://github.com/dhruvasagar/vim-table-mode";
-      rev = "4e41af8e5f0bf53326d1b83c2feb1eff89fe90d4";
-      sha256 = "0l83j3963lzkmn54vcagkwm2rhk96cl9v42l5r7zcgjign28cfzw";
+      rev = "40fe641708c58476c3a1b9aeafb68dd888d4920b";
+      sha256 = "1rb2jq81965gpziqxlljr2bqjyfbikqa9ncxaaak3x61prn4z084";
     };
     dependencies = [];
 
@@ -2144,33 +2177,33 @@ rec {
   };
 
   tlib = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "tlib-2017-05-20";
+    name = "tlib-2017-08-13";
     src = fetchgit {
       url = "git://github.com/tomtom/tlib_vim";
-      rev = "6f9d75b54478bcaab722d33cbec69d8a1fe49f32";
-      sha256 = "1mh2m3c9xi7g650s06qxfpz57g493n0qjq35inad9y62yb1gsidm";
+      rev = "c96db6151fde9d06a8fed71b7df05c6dbb3f14fe";
+      sha256 = "1dhvf1v2mkmq8aifwq57ylm7nnk3zz3hna33q2gj6p7v70vay7v8";
     };
     dependencies = [];
 
   };
 
   undotree = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "undotree-2017-03-24";
+    name = "undotree-2017-10-26";
     src = fetchgit {
       url = "git://github.com/mbbill/undotree";
-      rev = "ad08a88df70c1865b8c9ef6eeac5cdb051d2a18a";
-      sha256 = "1i1sss8vzsym44amq19rfy95wm7143ks5h9imm7z7rah7xkcqv9l";
+      rev = "cdbb9022b8972d3e156b8d60af33bf795625b058";
+      sha256 = "0y62hp8k2kbrq0jhxj850f706rqjv2dkd7dxhz458mrsdk60f253";
     };
     dependencies = [];
 
   };
 
   vim-addon-actions = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-actions-2014-09-22";
+    name = "vim-addon-actions-2017-09-23";
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-actions";
-      rev = "a5d20500fb8812958540cf17862bd73e7af64936";
-      sha256 = "1wfkwr89sn2w97i94d0dqylcg9mr6pirjadi0a4l492nfnsh99bc";
+      rev = "7f48bea57fd9dfb06498422bc1cbe9f7553efa6e";
+      sha256 = "0q9w2x49zd3a43cm4ikgpwrqiz0k9a6pss0zrvskaxhh6mifpxpg";
     };
     dependencies = ["vim-addon-mw-utils" "tlib"];
 
@@ -2287,11 +2320,11 @@ rec {
   };
 
   vim-addon-nix = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-addon-nix-2015-03-10";
+    name = "vim-addon-nix-2017-09-11";
     src = fetchgit {
       url = "git://github.com/MarcWeber/vim-addon-nix";
-      rev = "2aed79ba5d8c5e6abd102de77e55e242f61b17f1";
-      sha256 = "0zx1q9994py6jmm0qbbx6fc1dy5la8zfskkbvqqxssxrl5dx7vvi";
+      rev = "3001a9db5f816dd7af11384f15415bddd146ef86";
+      sha256 = "195z2yz09wirpqjpsha8x7qcr9is1q8qph4j0svws6qbqrkh8ryy";
     };
     dependencies = ["vim-addon-completion" "vim-addon-goto-thing-at-cursor" "vim-addon-errorformats" "vim-addon-actions" "vim-addon-mw-utils" "tlib"];
 
@@ -2375,11 +2408,11 @@ rec {
   };
 
   vim-airline = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-airline-2017-07-21";
+    name = "vim-airline-2017-11-06";
     src = fetchgit {
       url = "git://github.com/vim-airline/vim-airline";
-      rev = "72e5f04f7c422e21cb6f6856c4e94cef25ea2288";
-      sha256 = "0pkdlmil0lqwwi7anzn7r1zxxqbip9zy1pbwri031yksff6v2096";
+      rev = "396cc9226171f8dbf1069800a0ae56700bbf3913";
+      sha256 = "1km9cvvrip5z8xzaa1r83n7w0kdw21zrxax27qmvnhlnq74s24zb";
     };
     dependencies = [];
 
@@ -2419,11 +2452,11 @@ rec {
   };
 
   vim-gitgutter = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-gitgutter-2017-06-08";
+    name = "vim-gitgutter-2017-11-01";
     src = fetchgit {
       url = "git://github.com/airblade/vim-gitgutter";
-      rev = "dcac1f74ee5c26125363dca164463bde6657c838";
-      sha256 = "0knkdv0sbdwf4p82g438l7pylwzxfbxcj44np3v15wr97w95wmlv";
+      rev = "1e60667322b7cd1bfcba98762fbba746a888d21a";
+      sha256 = "1g9giir7gmkp6n6w4z20qm2dyq00w2a8f573c0b8b27cj36ri0wq";
     };
     dependencies = [];
 
@@ -2441,88 +2474,66 @@ rec {
   };
 
   vim-latex-live-preview = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-latex-live-preview-2017-07-19";
+    name = "vim-latex-live-preview-2017-09-22";
     src = fetchgit {
       url = "git://github.com/xuhdev/vim-latex-live-preview";
-      rev = "172b03cd0677f1fe55abeab86fa4a4c484e4c3b5";
-      sha256 = "1wgnq1kbx80xqwm9rx3z4i9fldj965046s4hh62rdi5585hh6aps";
+      rev = "63abf0f2361e332597a5278b2dbd0fef980ebdb2";
+      sha256 = "0pk2nx04bl8ym77mlylb6q5n3vz0y96jzs72gydjiffp1nm062l9";
     };
     dependencies = [];
 
   };
 
   vim-multiple-cursors = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-multiple-cursors-2017-06-02";
+    name = "vim-multiple-cursors-2017-08-04";
     src = fetchgit {
       url = "git://github.com/terryma/vim-multiple-cursors";
-      rev = "3afc475cc64479a406ce73d3333df1f67db3c73f";
-      sha256 = "04dijb4hgidypppphcy83bacmfrd9ikyjc761hqq6bl4kc49f5kc";
+      rev = "a97dab5bc440bf0a7b62bb2de4479963a888f4ff";
+      sha256 = "1ac5l5h138ns9z9ni4qbcykkg9yfpjjalk0g9wrra4rp0nlakaqk";
     };
     dependencies = [];
 
   };
 
   vim-signature = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-signature-2017-06-20";
+    name = "vim-signature-2017-09-24";
     src = fetchgit {
       url = "git://github.com/kshenoy/vim-signature";
-      rev = "c6decc68d644a66a34345ea09677469d6e482e1f";
-      sha256 = "1iflyvskimq74hzb6l8mzjv3rh0i15bw9jv5x6arns86q3201l23";
+      rev = "eaa8af20ac4d46f911a083298d7a19e27be180e0";
+      sha256 = "1vha52bmbs88lnwjfvkbx2jb74k8gqjky0c9gv8gqy74lypcdas5";
     };
     dependencies = [];
 
   };
 
   vim-signify = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-signify-2017-07-19";
+    name = "vim-signify-2017-08-19";
     src = fetchgit {
       url = "git://github.com/mhinz/vim-signify";
-      rev = "748cb0ddab1b7e64bb81165c733a7b752b3d36e4";
-      sha256 = "0kc4nbf3a7ab0an4r1j37bvzjarr4135qqhkz348r7zdhmqkyyfm";
+      rev = "1a8a15d835d8f2da56cd793a0222227af6c89839";
+      sha256 = "13yvwy2vw64g4v08k83svhp26nmmir0qd21wpp89qclbzwb2q2k2";
     };
     dependencies = [];
 
   };
 
   vim-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-snippets-2017-07-07";
+    name = "vim-snippets-2017-11-02";
     src = fetchgit {
       url = "git://github.com/honza/vim-snippets";
-      rev = "0817950a4fb8ccd48ec38a2b65cf046b597eecb3";
-      sha256 = "0hxd96zl5gjkx5d381yzyrbahwbz3r9dljzn2cxbdbjsb7im6aks";
+      rev = "a7670a7b71e44fd93e0b97fe2c24739a20732f94";
+      sha256 = "0bm4475x723bk9q6snl5d804pn3vvsk0p9bvgil6c0q24ams6abh";
     };
     dependencies = [];
 
   };
 
   vim-webdevicons = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-webdevicons-2017-05-29";
+    name = "vim-webdevicons-2017-10-13";
     src = fetchgit {
       url = "git://github.com/ryanoasis/vim-devicons";
-      rev = "153266275acc4f4615407a18e90f58780ebaef92";
-      sha256 = "1zjrra0q5c7lmgxzlz7ddd7vi6k2vhz69fdy2s7d873nnmmd7kgn";
-    };
-    dependencies = [];
-
-  };
-
-  vim-docbk = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-docbk-2015-04-01";
-    src = fetchgit {
-      url = "https://github.com/jhradilek/vim-docbk";
-      rev = "6ac0346ce96dbefe982b9e765a81c072997f2e9e";
-      sha256 = "1jnx39m152hf9j620ygagaydg6h8m8gxkr1fmxj6kgqf71jr0n9d";
-    };
-    dependencies = [];
-
-  };
-
-  vim-docbk-snippets = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vim-docbk-snippets-2017-11-02";
-    src = fetchgit {
-      url = "https://github.com/jhradilek/vim-snippets";
-      rev = "69cce66defdf131958f152ea7a7b26c21ca9d009";
-      sha256 = "1363b2fmv69axrl2hm74dmx51cqd8k7rk116890qllnapzw1zjgc";
+      rev = "a3e50225a8d544c9eff9c53c5405269a1b2b29f8";
+      sha256 = "0glnwqnaw28g41zd9c3wvcsk6fmiphlwiq80lskbyn1pxfb3h14m";
     };
     dependencies = [];
 
@@ -2540,11 +2551,11 @@ rec {
   };
 
   vimwiki = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "vimwiki-2017-07-15";
+    name = "vimwiki-2017-11-04";
     src = fetchgit {
       url = "git://github.com/vimwiki/vimwiki";
-      rev = "976cbbcd23dcd19ddb5dc5544645da8a51dbdfe6";
-      sha256 = "1mna3qavwj1jcjnvmw8hngrfccpk5krj2z0v2grp97i9m2kmkifx";
+      rev = "7c2ae8a714a71956297cb291dbaefb6a0ce47da3";
+      sha256 = "1sis3g7v5ck9gan3x6i64kdfmn6r40zvxp2jyw0qxaha1kfb1qa1";
     };
     dependencies = [];
 
@@ -2571,15 +2582,4 @@ rec {
     dependencies = [];
 
   };
-
-  zig-vim = buildVimPluginFrom2Nix { # created by nix#NixDerivation
-    name = "zig-vim-2017-10-17";
-    src = fetchgit {
-      url = "https://github.com/zig-lang/zig.vim";
-      rev = "6059db59f61b517f5d65303b61f03324e01fdc2f";
-      sha256 = "0w3pa63s0r6h6w1iqmc444qrsc99xcccwapd6nyh3gb72z228d7z";
-    };
-    dependencies = [];
-
-  };
 }
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/misc/vim-plugins/vim-plugin-names
index b2273221e901..dd5cc1ba1007 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/misc/vim-plugins/vim-plugin-names
@@ -72,7 +72,6 @@
 "github:jeetsukumaran/vim-buffergator"
 "github:jgdavey/tslime.vim"
 "github:jhradilek/vim-docbk"
-"github:jhradilek/vim-snippets"
 "github:jiangmiao/auto-pairs"
 "github:jistr/vim-nerdtree-tabs"
 "github:jnurmine/zenburn"
diff --git a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/command-t b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/command-t
index 5c96e11de7a7..f850425cba77 100644
--- a/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/command-t
+++ b/pkgs/misc/vim-plugins/vim2nix/additional-nix-code/command-t
@@ -1,6 +1,5 @@
-    buildInputs = [ perl ruby git ];
+    buildInputs = [ ruby rake ];
     buildPhase = ''
-      pushd ruby/command-t
-      gem build ./command-t.gemspec
-      popd
+      rake make
+      rm ruby/command-t/ext/command-t/*.o
     '';
diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/misc/vscode-extensions/cpptools/default.nix
new file mode 100644
index 000000000000..87c782222fc5
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/cpptools/default.nix
@@ -0,0 +1,128 @@
+{ stdenv, lib, fetchurl, vscode-utils, unzip, dos2unix, mono46, clang-tools, writeScript
+, gdbUseFixed ? true, gdb # The gdb default setting will be fixed to specified. Use version from `PATH` otherwise. 
+}:
+
+assert gdbUseFixed -> null != gdb;
+
+/*
+  Note that this version of the extension still has some nix specific issues
+  which could not be fixed merely by patching (inside a C# dll).
+
+  In particular, the debugger requires either gnome-terminal or xterm. However
+  instead of looking for the terminal executable in `PATH`, for any linux platform
+  the dll uses an hardcoded path to one of these.
+
+  So, in order for debugging to work properly, you merely need to create symlinks
+  to one of these terminals at the appropriate location.
+
+  The good news is the the utility library is open source and with some effort
+  we could build a patched version ourselves. See:
+
+  <https://github.com/Microsoft/MIEngine/blob/2885386dc7f35e0f1e44827269341e786361f28e/src/MICore/TerminalLauncher.cs#L156>
+
+  Also, the extension should eventually no longer require an external terminal. See:
+
+  <https://github.com/Microsoft/vscode-cpptools/issues/35>
+
+  Once the symbolic link temporary solution taken, everything shoud run smootly.
+*/
+
+let
+  gdbDefaultsTo = if gdbUseFixed then "${gdb}/bin/gdb" else "gdb";
+
+  langComponentBinaries = stdenv.mkDerivation {
+    name = "cpptools-language-component-binaries";
+
+    src = fetchurl {
+      url = https://download.visualstudio.microsoft.com/download/pr/11151953/d3cc8b654bffb8a2f3896d101f3c3155/Bin_Linux.zip;
+      sha256 = "12qbxsrdc73cqjb84xdck1xafzhfkcyn6bqbpcy1bxxr3b7hxbii";
+    };
+
+    buildInputs = [ unzip ];
+
+    patchPhase = ''
+      elfInterpreter="${stdenv.glibc.out}/lib/ld-linux-x86-64.so.2"
+      patchelf --set-interpreter "$elfInterpreter" ./Microsoft.VSCode.CPP.Extension.linux
+      patchelf --set-interpreter "$elfInterpreter" ./Microsoft.VSCode.CPP.IntelliSense.Msvc.linux
+      chmod a+x ./Microsoft.VSCode.CPP.Extension.linux ./Microsoft.VSCode.CPP.IntelliSense.Msvc.linux
+    '';
+
+    installPhase = ''
+      mkdir -p "$out/bin"
+      find . -mindepth 1 -maxdepth 1 | xargs cp -a -t "$out/bin"
+    '';
+  };
+
+  cpptoolsJsonFile = fetchurl {
+    url = https://download.visualstudio.microsoft.com/download/pr/11070848/7b97d6724d52cae8377c61bb4601c989/cpptools.json;
+    sha256 = "124f091aic92rzbg2vg831y22zr5wi056c1kh775djqs3qv31ja6";
+  };
+
+
+
+  openDebugAD7Script = writeScript "OpenDebugAD7" ''
+    #!${stdenv.shell}
+    BIN_DIR="$(cd "$(dirname "$0")" && pwd -P)"
+    ${if gdbUseFixed
+        then ''
+          export PATH=''${PATH}''${PATH:+:}${gdb}/bin
+        ''
+        else ""}
+    ${mono46}/bin/mono $BIN_DIR/bin/OpenDebugAD7.exe $*
+  '';
+in
+
+vscode-utils.buildVscodeMarketplaceExtension {
+  mktplcRef = {
+    name = "cpptools";
+    publisher = "ms-vscode";
+    version = "0.12.3";
+    sha256 = "1dcqy54n1w29xhbvxscd41hdrbdwar6g12zx02f6kh2f1kw34z5z";
+  };
+
+  buildInputs = [
+    dos2unix
+  ];
+
+  prePatch = ''
+    dos2unix package.json      
+  '';
+
+  patches = [
+    ./vscode-cpptools-0-12-3-package-json.patch
+  ];
+
+  postPatch = ''
+    # Patch `packages.json` so that nix's *gdb* is used as default value for `miDebuggerPath`.
+    substituteInPlace "./package.json" \
+      --replace "\"default\": \"/usr/bin/gdb\"" "\"default\": \"${gdbDefaultsTo}\""
+
+    # Prevent download/install of extensions
+    touch "./install.lock"
+
+    # Move unused files out of the way.
+    mv ./debugAdapters/bin/OpenDebugAD7.exe.config ./debugAdapters/bin/OpenDebugAD7.exe.config.unused
+
+    # Bring the `cpptools.json` file at the root of the package, same as the extension would do.
+    cp -p "${cpptoolsJsonFile}" "./cpptools.json"
+
+    # Combining the language component binaries as part of our package.
+    find "${langComponentBinaries}/bin" -mindepth 1 -maxdepth 1 | xargs cp -p -t "./bin"
+
+    # Mono runtimes from nix package (used by generated `OpenDebugAD7`).
+    rm "./debugAdapters/OpenDebugAD7"
+    cp -p "${openDebugAD7Script}" "./debugAdapters/OpenDebugAD7"
+
+    # Clang-format from nix package.
+    mkdir -p "./LLVM"
+    find "${clang-tools}" -mindepth 1 -maxdepth 1 | xargs ln -s -t "./LLVM"
+  '';
+
+    meta = with stdenv.lib; {
+      license = licenses.unfree;
+      maintainer = [ maintainers.jraygauthier ];
+      # A 32 bit linux would also be possible with some effort (specific download of binaries + 
+      # patching of the elf files with 32 bit interpreter).
+      platforms = [ "x86_64-linux" ];
+    };
+}
\ No newline at end of file
diff --git a/pkgs/misc/vscode-extensions/cpptools/vscode-cpptools-0-12-3-package-json.patch b/pkgs/misc/vscode-extensions/cpptools/vscode-cpptools-0-12-3-package-json.patch
new file mode 100644
index 000000000000..1873963f460d
--- /dev/null
+++ b/pkgs/misc/vscode-extensions/cpptools/vscode-cpptools-0-12-3-package-json.patch
@@ -0,0 +1,82 @@
+diff --git a/package.json b/package.json
+index 518e839..1c17c35 100644
+--- a/package.json
++++ b/package.json
+@@ -37,7 +37,26 @@
+     "Linters"
+   ],
+   "activationEvents": [
+-    "*"
++    "onLanguage:cpp",
++    "onLanguage:c",
++    "onCommand:extension.pickNativeProcess",
++    "onCommand:extension.pickRemoteNativeProcess",
++    "onCommand:extension.provideInitialConfigurations_cppvsdbg",
++    "onCommand:extension.provideInitialConfigurations_cppdbg",
++    "onCommand:C_Cpp.ConfigurationEdit",
++    "onCommand:C_Cpp.ConfigurationSelect",
++    "onCommand:C_Cpp.SwitchHeaderSource",
++    "onCommand:C_Cpp.UnloadLanguageServer",
++    "onCommand:C_Cpp.Navigate",
++    "onCommand:C_Cpp.GoToDeclaration",
++    "onCommand:C_Cpp.PeekDeclaration",
++    "onCommand:C_Cpp.ToggleErrorSquiggles",
++    "onCommand:C_Cpp.ToggleIncludeFallback",
++    "onCommand:C_Cpp.ShowReleaseNotes",
++    "onCommand:C_Cpp.ResetDatabase",
++    "workspaceContains:.vscode/c_cpp_properties.json",
++    "onDebug:cppdbg",
++    "onDebug:cppvsdbg"
+   ],
+   "main": "./out/src/main",
+   "contributes": {
+@@ -281,8 +300,7 @@
+             "cpp"
+           ]
+         },
+-        "runtime": "node",
+-        "program": "./out/src/Debugger/Proxy/debugProxy.js",
++        "program": "./debugAdapters/OpenDebugAD7",
+         "aiKey": "AIF-d9b70cd4-b9f9-4d70-929b-a071c400b217",
+         "variables": {
+           "pickProcess": "extension.pickNativeProcess",
+@@ -722,7 +740,29 @@
+               }
+             }
+           }
+-        }
++        },
++        "configurationSnippets": [
++          {
++            "label": "C/C++: (gdb) Launch",
++            "description": "Launch with gdb.",
++            "bodyText": "{\n\t\"name\": \"(gdb) Launch\",\n\t\"type\": \"cppdbg\",\n\t\"request\": \"launch\",\n\t\"program\": \"enter program name, for example \\${workspaceRoot}/a.out\",\n\t\"args\": [],\n\t\"stopAtEntry\": false,\n\t\"cwd\": \"\\${workspaceRoot}\",\n\t\"environment\": [],\n\t\"externalConsole\": true,\n\t\"MIMode\": \"gdb\",\n\t\"setupCommands\": [\n\t    {\n\t        \"description\": \"Enable pretty-printing for gdb\",\n\t        \"text\": \"-enable-pretty-printing\",\n\t        \"ignoreFailures\": true\n\t    }\n\t]\n}"
++          },
++          {
++            "label": "C/C++: (gdb) Attach",
++            "description": "Attach with gdb.",
++            "bodyText": "{ \n\t\"name\": \"(gdb) Attach\",\n\t\"type\": \"cppdbg\",\n\t\"request\": \"attach\",\n\t\"program\": \"enter program name, for example \\${workspaceRoot}/a.out\",\n\t\"processId\": \"\\${command:pickProcess}\",\n\t\"MIMode\": \"gdb\"\n}"
++          },
++          {
++            "label": "C/C++: (gdb) Pipe Launch",
++            "description": "Pipe Launch with gdb.",
++            "bodyText": "{\n\t\"name\": \"(gdb) Pipe Launch\",\n\t\"type\": \"cppdbg\",\n\t\"request\": \"launch\",\n\t\"program\": \"enter program name, for example \\${workspaceRoot}/a.out\",\n\t\"args\": [],\n\t\"stopAtEntry\": false,\n\t\"cwd\": \"\\${workspaceRoot}\",\n\t\"environment\": [],\n\t\"externalConsole\": true,\n\t\"pipeTransport\": {\n\t\t\"debuggerPath\": \"/usr/bin/gdb\",\n\t\t\"pipeProgram\": \"/usr/bin/ssh\",\n\t\t\"pipeArgs\": [],\n\t\t\"pipeCwd\": \"\"\n\t},\n\t\"MIMode\": \"gdb\",\n\t\"setupCommands\": [\n\t    {\n\t        \"description\": \"Enable pretty-printing for gdb\",\n\t        \"text\": \"-enable-pretty-printing\",\n\t        \"ignoreFailures\": true\n\t    }\n\t]\n}"
++          },
++          {
++            "label": "C/C++: (gdb) Pipe Attach",
++            "description": "Pipe Attach with gdb.",
++            "bodyText": "{\n\t\"name\": \"(gdb) Pipe Attach\",\n\t\"type\": \"cppdbg\",\n\t\"request\": \"attach\",\n\t\"program\": \"enter program name, for example \\${workspaceRoot}/a.out\",\n\t\"processId\": \"\\${command:pickRemoteProcess}\",\n\t\"pipeTransport\": {\n\t\t\"debuggerPath\": \"/usr/bin/gdb\",\n\t\t\"pipeProgram\": \"/usr/bin/ssh\",\n\t\t\"pipeArgs\": [],\n\t\t\"pipeCwd\": \"\"\n\t},\n\t\"MIMode\": \"gdb\"\n}"
++          }
++        ]
+       },
+       {
+         "type": "cppvsdbg",
+@@ -741,7 +781,7 @@
+         "variables": {
+           "pickProcess": "extension.pickNativeProcess"
+         },
+-        "initialConfigurations": "extension.provideInitialConfigurations_cppvsdbg",
++        "initialConfigurations": "",
+         "configurationAttributes": {
+           "launch": {
+             "required": [
diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/misc/vscode-extensions/default.nix
index d357c43abd85..8047e29ad558 100644
--- a/pkgs/misc/vscode-extensions/default.nix
+++ b/pkgs/misc/vscode-extensions/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, vscode-utils }:
+{ stdenv, lib, fetchurl, callPackage, vscode-utils }:
 
 let
   inherit (vscode-utils) buildVscodeExtension buildVscodeMarketplaceExtension;
@@ -22,4 +22,6 @@ rec {
       license = licenses.mit;
     };
   };
+
+  ms-vscode.cpptools = callPackage ./cpptools {};
 }
\ No newline at end of file
diff --git a/pkgs/misc/xosd/default.nix b/pkgs/misc/xosd/default.nix
index 9ad37f3a63d7..8f8c58ecc4ac 100644
--- a/pkgs/misc/xosd/default.nix
+++ b/pkgs/misc/xosd/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Displays text on your screen";
-    homepage = http://sourceforge.net/projects/libxosd;
+    homepage = https://sourceforge.net/projects/libxosd;
     license = licenses.gpl2;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/os-specific/darwin/apple-sdk/default.nix b/pkgs/os-specific/darwin/apple-sdk/default.nix
index 957b610f3a25..9a6624104f45 100644
--- a/pkgs/os-specific/darwin/apple-sdk/default.nix
+++ b/pkgs/os-specific/darwin/apple-sdk/default.nix
@@ -136,10 +136,13 @@ let
     # don't use pure CF for dylibs that depend on frameworks
     setupHook = ./framework-setup-hook.sh;
 
-    # allows building the symlink tree
-    __impureHostDeps = [ "/System/Library/Frameworks/${name}.framework" ];
-
-    __propagatedImpureHostDeps = stdenv.lib.optional (name != "Kernel") "/System/Library/Frameworks/${name}.framework/${name}";
+    # Not going to be more specific than this for now
+    __propagatedImpureHostDeps = stdenv.lib.optionals (name != "Kernel") [
+      # The setup-hook ensures that everyone uses the impure CoreFoundation who uses these SDK frameworks, so let's expose it
+      "/System/Library/Frameworks/CoreFoundation.framework"
+      "/System/Library/Frameworks/${name}.framework"
+      "/System/Library/Frameworks/${name}.framework/${name}"
+    ];
 
     meta = with stdenv.lib; {
       description = "Apple SDK framework ${name}";
diff --git a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
index ccbd8343e0d0..35608587c569 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/adv_cmds/default.nix
@@ -84,9 +84,6 @@ in appleDerivation {
   ];
   setOutputFlags = false;
 
-  # ps uses this syscall to get process info
-  propagatedSandboxProfile = stdenv.lib.sandbox.allow "mach-priv-task-port";
-
   meta = {
     platforms = stdenv.lib.platforms.darwin;
     maintainers = with stdenv.lib.maintainers; [ gridaphobe ];
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix
index 0234cbc62792..fb1ea2509d76 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_filedb/default.nix
@@ -6,7 +6,7 @@ appleDerivation {
     libsecurity_cdsa_plugin
   ];
   patchPhase = ''
-    cp ${osx_private_sdk}/PrivateSDK10.9.sparse.sdk/usr/local/include/sandbox_private.h .
+    cp ${osx_private_sdk}/include/sandbox_private.h .
     substituteInPlace sandbox_private.h --replace '<sandbox.h>' '"${apple_sdk.sdk}/include/sandbox.h"'
     substituteInPlace lib/AtomicFile.cpp --replace '<sandbox.h>' '"sandbox_private.h"'
   '';
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix
index ef449a7d415d..93857ea792c2 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_generic/default.nix
@@ -10,7 +10,7 @@ name: version: sha256: args: let
 
       patchPhase = ''
         # allows including <Security/some-private-header.h>
-        ln -s ${pkgs.darwin.osx_private_sdk}/PrivateSDK10.9.sparse.sdk/System/Library/Frameworks/Security.framework/Versions/A/PrivateHeaders Security
+        cp -R ${pkgs.darwin.osx_private_sdk}/include/SecurityPrivateHeaders Security
 
         grep -Rl MacErrors.h . | while read file; do
           substituteInPlace "''$file" --replace \
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix
index 34a2a49ea0e4..06137879410d 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_keychain/default.nix
@@ -18,9 +18,9 @@ appleDerivation {
 
     substituteInPlace lib/SecCertificate.cpp --replace '#include <Security/SecCertificatePriv.h>' ""
 
-    cp ${osx_private_sdk}/PrivateSDK10.9.sparse.sdk/usr/include/xpc/private.h xpc
+    cp ${osx_private_sdk}/include/xpc/private.h xpc
     cp ${apple_sdk.sdk}/include/xpc/*.h xpc
-    cp ${osx_private_sdk}/PrivateSDK10.9.sparse.sdk/usr/local/include/sandbox_private.h lib/sandbox.h
+    cp ${osx_private_sdk}/include/sandbox_private.h lib/sandbox.h
 
     substituteInPlace lib/SecItemPriv.h \
       --replace "extern CFTypeRef kSecAttrAccessGroup" "extern const CFTypeRef kSecAttrAccessGroup" \
diff --git a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix
index 8dae60724137..bb55fd48d8b2 100644
--- a/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix
+++ b/pkgs/os-specific/darwin/apple-source-releases/libsecurity_utilities/default.nix
@@ -17,9 +17,8 @@ appleDerivation {
     substituteInPlace lib/powerwatch.h --replace \
       '<IOKit/pwr_mgt/IOPMLibPrivate.h>' \
       '"${IOKit}/Library/Frameworks/IOKit.framework/Headers/pwr_mgt/IOPMLibPrivate.h"'
-
-    cp ${osx_private_sdk}/PrivateSDK10.9.sparse.sdk/usr/include/security_utilities/utilities_dtrace.h lib
-    cp -R ${osx_private_sdk}/PrivateSDK10.9.sparse.sdk/usr/local/include/bsm lib
+    cp -R ${osx_private_sdk}/include/bsm lib
+    cp ${osx_private_sdk}/include/utilities_dtrace.h lib
   '' + stdenv.lib.optionalString (!stdenv.cc.nativeLibc) ''
     substituteInPlace lib/vproc++.cpp --replace /usr/local/include/vproc_priv.h ${stdenv.libc}/include/vproc_priv.h
   '';
diff --git a/pkgs/os-specific/darwin/cf-private/default.nix b/pkgs/os-specific/darwin/cf-private/default.nix
index 48860504f73c..603c0f652b01 100644
--- a/pkgs/os-specific/darwin/cf-private/default.nix
+++ b/pkgs/os-specific/darwin/cf-private/default.nix
@@ -1,31 +1,20 @@
 { stdenv, osx_private_sdk, CF }:
 
-let
-  headers = [
-    "CFAvailability.h"
-    "CFAttributedString.h"
-    "CFFileDescriptor.h"
-    "CFFileSecurity.h"
-    "CFNotificationCenter.h"
-    "CFStringTokenizer.h"
-    "CFURLEnumerator.h"
-    "CFURL.h"
-    "CoreFoundation.h"
-  ];
-
-in stdenv.mkDerivation {
+stdenv.mkDerivation {
   name = "${CF.name}-private";
   phases = [ "installPhase" "fixupPhase" ];
   installPhase = ''
     dest=$out/Library/Frameworks/CoreFoundation.framework/Headers
     mkdir -p $dest
     pushd $dest
-    for file in ${CF}/Library/Frameworks/CoreFoundation.framework/Headers/*; do
-      ln -s $file
-    done
-    popd
+      for file in ${CF}/Library/Frameworks/CoreFoundation.framework/Headers/*; do
+        ln -sf $file
+      done
 
-    install -m 0644 ${osx_private_sdk}/PrivateSDK10.10.sparse.sdk/System/Library/Frameworks/CoreFoundation.framework/Headers/{${stdenv.lib.concatStringsSep "," headers}} $dest
+      # Copy or overwrite private headers, some of these might already
+      # exist in CF but the private versions have more information.
+      cp -Lfv ${osx_private_sdk}/include/CoreFoundationPrivateHeaders/* $dest
+    popd
   '';
 
   setupHook = ./setup-hook.sh;
diff --git a/pkgs/os-specific/darwin/opencflite/default.nix b/pkgs/os-specific/darwin/opencflite/default.nix
index 4b32697c6ae2..09a346e4446d 100644
--- a/pkgs/os-specific/darwin/opencflite/default.nix
+++ b/pkgs/os-specific/darwin/opencflite/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Cross platform port of the macOS CoreFoundation";
-    homepage = http://sourceforge.net/projects/opencflite/;
+    homepage = https://sourceforge.net/projects/opencflite/;
     license = stdenv.lib.licenses.apsl20;
   };
 }
diff --git a/pkgs/os-specific/darwin/osx-private-sdk/default.nix b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
index c2c2aea54f8c..1eecdbc5618d 100644
--- a/pkgs/os-specific/darwin/osx-private-sdk/default.nix
+++ b/pkgs/os-specific/darwin/osx-private-sdk/default.nix
@@ -1,8 +1,27 @@
 { stdenv, fetchFromGitHub }:
 
-fetchFromGitHub {
-  owner = "samdmarshall";
-  repo = "OSXPrivateSDK";
-  rev = "f4d52b60e86b496abfaffa119a7d299562d99783";
-  sha256 = "0bv0884yxpvk2ishxj8gdy1w6wb0gwfq55q5qjp0s8z0z7f63zqh";
+stdenv.mkDerivation {
+  name = "OSXPrivateSDK";
+
+  src = fetchFromGitHub {
+    owner = "samdmarshall";
+    repo = "OSXPrivateSDK";
+    rev = "f4d52b60e86b496abfaffa119a7d299562d99783";
+    sha256 = "0bv0884yxpvk2ishxj8gdy1w6wb0gwfq55q5qjp0s8z0z7f63zqh";
+  };
+
+  # NOTE: we install only headers that are really needed to keep closure sie
+  # reasonable.
+  installPhase = ''
+    mkdir -p $out/include
+    sdk10=PrivateSDK10.10.sparse.sdk
+    sdk=PrivateSDK10.9.sparse.sdk
+    cp $sdk/usr/local/include/sandbox_private.h $out/include/sandbox_private.h
+    # this can be removed once we dtrace binary
+    cp $sdk/usr/local/include/security_utilities/utilities_dtrace.h $out/include/utilities_dtrace.h
+    cp -RL $sdk/usr/include/xpc $out/include/xpc
+    cp -RL $sdk/usr/local/include/bsm $out/include/bsm
+    cp -RL $sdk/System/Library/Frameworks/Security.framework/Versions/A/PrivateHeaders $out/include/SecurityPrivateHeaders
+    cp -RL $sdk10/System/Library/Frameworks/CoreFoundation.framework/Headers $out/include/CoreFoundationPrivateHeaders
+  '';
 }
diff --git a/pkgs/os-specific/darwin/security-tool/default.nix b/pkgs/os-specific/darwin/security-tool/default.nix
index 5a89940c9dae..2b8c7718aee8 100644
--- a/pkgs/os-specific/darwin/security-tool/default.nix
+++ b/pkgs/os-specific/darwin/security-tool/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
 
   patchPhase = ''
     # copied from libsecurity_generic
-    ln -s ${osx_private_sdk}/PrivateSDK10.9.sparse.sdk/System/Library/Frameworks/Security.framework/Versions/A/PrivateHeaders Security
+    cp -R ${osx_private_sdk}/include/SecurityPrivateHeaders Security
 
     substituteInPlace cmsutil.c --replace \
       '<CoreServices/../Frameworks/CarbonCore.framework/Headers/MacErrors.h>' \
diff --git a/pkgs/os-specific/linux/android-udev-rules/default.nix b/pkgs/os-specific/linux/android-udev-rules/default.nix
index 28b17d7e69c4..ff32ca01a97f 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 = "20171031";
+  version = "20171113";
 
   src = fetchFromGitHub {
     owner = "M0Rf30";
     repo = "android-udev-rules";
     rev = version;
-    sha256 = "0h9rp1bmry81lybly9x7qjdmaq0sj0m1ybl237qly8zqw7ywv5la";
+    sha256 = "11gcnk6wjc2sw05hwi4xphvx9ksmkpvsdziaczymqxkaads3f1dy";
   };
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix
index 37c8c6841f69..75b7802772d6 100644
--- a/pkgs/os-specific/linux/bcc/default.nix
+++ b/pkgs/os-specific/linux/bcc/default.nix
@@ -19,6 +19,8 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ makeWrapper cmake flex bison ];
 
+  cmakeFlags="-DBCC_KERNEL_MODULES_DIR=${kernel.dev}/lib/modules";
+
   postInstall = ''
     mkdir -p $out/bin $out/share
     rm -r $out/share/bcc/tools/old
@@ -26,7 +28,7 @@ stdenv.mkDerivation rec {
     mv $out/share/bcc/man $out/share/
 
     find $out/share/bcc/tools -type f -executable -print0 | \
-    while IFS= read -r -d $'\0' f; do
+    while IFS= read -r -d ''$'\0' f; do
       pythonLibs="$out/lib/python2.7/site-packages:${pythonPackages.netaddr}/lib/${python.libPrefix}/site-packages"
       rm -f $out/bin/$(basename $f)
       makeWrapper $f $out/bin/$(basename $f) \
@@ -39,6 +41,6 @@ stdenv.mkDerivation rec {
     description = "Dynamic Tracing Tools for Linux";
     homepage = https://iovisor.github.io/bcc/;
     license = licenses.asl20;
-    maintainers = with maintainers; [ ragge ];
+    maintainers = with maintainers; [ ragge mic92 ];
   };
 }
diff --git a/pkgs/os-specific/linux/busybox/default.nix b/pkgs/os-specific/linux/busybox/default.nix
index 6c9c43e4e5a9..0030f60000d2 100644
--- a/pkgs/os-specific/linux/busybox/default.nix
+++ b/pkgs/os-specific/linux/busybox/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, buildPackages, fetchurl
+{ stdenv, lib, buildPackages, fetchurl, fetchpatch
 , enableStatic ? false
 , enableMinimal ? false
 , useMusl ? false, musl
@@ -39,7 +39,19 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ] ++ lib.optionals enableStatic [ "fortify" ];
 
-  patches = [ ./busybox-in-store.patch ];
+  patches = [
+    ./busybox-in-store.patch 
+    (fetchpatch {
+      name = "CVE-2017-15873.patch";
+      url = "https://git.busybox.net/busybox/patch/?id=0402cb32df015d9372578e3db27db47b33d5c7b0";
+      sha256 = "1s3xqifd0dww19mbnzrks0i1az0qwd884sxjzrx33d6a9jxv4dzn";
+    })
+    (fetchpatch {
+      name = "CVE-2017-15874.patch";
+      url = "https://git.busybox.net/busybox/patch/?id=9ac42c500586fa5f10a1f6d22c3f797df11b1f6b";
+      sha256 = "0169p4ylz9zd14ghhb39yfjvbdca2kb21pphylfh9ny7i484ahql";
+    })
+  ];
 
   configurePhase = ''
     export KCONFIG_NOTIMESTAMP=1
diff --git a/pkgs/os-specific/linux/checkpolicy/default.nix b/pkgs/os-specific/linux/checkpolicy/default.nix
index 9fbed50f3b9a..8e01bb2a5c80 100644
--- a/pkgs/os-specific/linux/checkpolicy/default.nix
+++ b/pkgs/os-specific/linux/checkpolicy/default.nix
@@ -10,16 +10,17 @@ stdenv.mkDerivation rec {
     sha256 = "1m5wjm43lzp6bld8higsvdm2dkddydihhwv9qw2w9r4dm0largcv";
   };
 
+  # Don't build tests
+  postPatch = ''
+    sed '/-C test/d' -i Makefile
+    sed '1i#include <ctype.h>' -i checkpolicy.c
+  '';
+
   nativeBuildInputs = [ bison flex ];
   buildInputs = [ libsepol ];
 
   NIX_CFLAGS_COMPILE = "-fstack-protector-all";
 
-  # Don't build tests
-  postPatch = ''
-    sed -i '/-C test/d' Makefile
-  '';
-
   preBuild = ''
     makeFlagsArray+=("LEX=flex")
     makeFlagsArray+=("LIBDIR=${libsepol}/lib")
diff --git a/pkgs/os-specific/linux/devmem2/default.nix b/pkgs/os-specific/linux/devmem2/default.nix
index 969197c2dc9d..e38a76ca8912 100644
--- a/pkgs/os-specific/linux/devmem2/default.nix
+++ b/pkgs/os-specific/linux/devmem2/default.nix
@@ -4,7 +4,10 @@ stdenv.mkDerivation rec {
   name = "devmem2-2004-08-05";
 
   src = fetchurl {
-    url = "http://lartmaker.nl/lartware/port/devmem2.c";
+    urls = [
+      "http://lartmaker.nl/lartware/port/devmem2.c"
+      "https://raw.githubusercontent.com/hackndev/tools/7ed212230f8fbb1da3424a15ee88de3279bf96ec/devmem2.c"
+    ];
     sha256 = "14f1k7v6i1yaxg4xcaaf5i4aqn0yabba857zjnbg9wiymy82qf7c";
   };
 
diff --git a/pkgs/os-specific/linux/drbd/default.nix b/pkgs/os-specific/linux/drbd/default.nix
index 5c0fae7bf4fa..971eef6a8b52 100644
--- a/pkgs/os-specific/linux/drbd/default.nix
+++ b/pkgs/os-specific/linux/drbd/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   preConfigure =
     ''
-      export PATH=${systemd.udev.bin}/sbin:$PATH
+      export PATH=${systemd}/sbin:$PATH
       substituteInPlace user/Makefile.in \
         --replace /sbin '$(sbindir)'
       substituteInPlace user/legacy/Makefile.in \
diff --git a/pkgs/os-specific/linux/fbterm/default.nix b/pkgs/os-specific/linux/fbterm/default.nix
index 918527aa318b..70c1a8cfdf55 100644
--- a/pkgs/os-specific/linux/fbterm/default.nix
+++ b/pkgs/os-specific/linux/fbterm/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, gpm, freetype, fontconfig, pkgconfig, ncurses, libx86}:
+{stdenv, lib, fetchurl, gpm, freetype, fontconfig, pkgconfig, ncurses, libx86}:
 let
   s = # Generated upstream information
   rec {
@@ -9,7 +9,8 @@ let
     url="http://fbterm.googlecode.com/files/fbterm-1.7.0.tar.gz";
     sha256="0pciv5by989vzvjxsv1jsv4bdp4m8j0nfbl29jm5fwi12w4603vj";
   };
-  buildInputs = [gpm freetype fontconfig ncurses libx86];
+  buildInputs = [gpm freetype fontconfig ncurses]
+    ++ lib.optional (stdenv.isi686 || stdenv.isx86_64) libx86;
 in
 stdenv.mkDerivation {
   inherit (s) name version;
diff --git a/pkgs/os-specific/linux/ffado/default.nix b/pkgs/os-specific/linux/ffado/default.nix
index 1ca503f33ecd..aa273ec613ee 100644
--- a/pkgs/os-specific/linux/ffado/default.nix
+++ b/pkgs/os-specific/linux/ffado/default.nix
@@ -41,7 +41,10 @@ stdenv.mkDerivation rec {
     optXdg_utils libxmlxx glibmm
   ];
 
-  patches = [ ./gcc6.patch ];
+  patches = [
+    ./gcc6.patch
+    ./glibc226.patch
+  ];
 
   postPatch = ''
     # SConstruct checks cpuinfo and an objdump of /bin/mount to determine the appropriate arch
diff --git a/pkgs/os-specific/linux/ffado/glibc226.patch b/pkgs/os-specific/linux/ffado/glibc226.patch
new file mode 100644
index 000000000000..e147ee9aa76a
--- /dev/null
+++ b/pkgs/os-specific/linux/ffado/glibc226.patch
@@ -0,0 +1,10 @@
+--- libffado/src/libutil/PosixMessageQueue.cpp  (revision 2705)
++++ libffado/src/libutil/PosixMessageQueue.cpp  (revision 2706)
+@@ -30,6 +30,7 @@
+ #include <errno.h>
+ #include <string.h>
+ #include <poll.h>
++#include <signal.h>
+
+ #define MQ_INVALID_ID ((mqd_t) -1)
+ // one second
diff --git a/pkgs/os-specific/linux/firejail/default.nix b/pkgs/os-specific/linux/firejail/default.nix
index 9230e6920f96..5ee8ab564b09 100644
--- a/pkgs/os-specific/linux/firejail/default.nix
+++ b/pkgs/os-specific/linux/firejail/default.nix
@@ -3,11 +3,11 @@ let
   s = # Generated upstream information
   rec {
     baseName="firejail";
-    version="0.9.48";
+    version="0.9.50";
     name="${baseName}-${version}";
-    hash="02a74nx8p2gbpd6ffnr52p02pxxllw3yy5fy4083a77r3wia8zb3";
-    url="https://vorboss.dl.sourceforge.net/project/firejail/firejail/firejail-0.9.48.tar.xz";
-    sha256="02a74nx8p2gbpd6ffnr52p02pxxllw3yy5fy4083a77r3wia8zb3";
+    hash="005q7f1h7z4c1wg8vzb1zh0xi4msz6z0fcph0y3ywhlbxjvpam61";
+    url="https://vorboss.dl.sourceforge.net/project/firejail/firejail/firejail-0.9.50.tar.xz";
+    sha256="005q7f1h7z4c1wg8vzb1zh0xi4msz6z0fcph0y3ywhlbxjvpam61";
   };
   buildInputs = [
     which
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 2f4689beea49..bbacd615cf20 100644
--- a/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
+++ b/pkgs/os-specific/linux/firmware/firmware-linux-nonfree/default.nix
@@ -1,22 +1,47 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchgit, runCommand, git, cacert, gnupg }:
 
 stdenv.mkDerivation rec {
   name = "firmware-linux-nonfree-${version}";
-  version = "2017-07-05";
+  version = "2017-10-09-${src.iwlRev}";
 
-  # This repo is built by merging the latest versions of
+  # The src runCommand automates the process of building a merged repository of both
+  #
   # http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
-  # and
   # http://git.kernel.org/cgit/linux/kernel/git/iwlwifi/linux-firmware.git/
-  # for any given date. This gives us up to date iwlwifi firmware as well as
+  #
+  # This gives us up to date iwlwifi firmware as well as
   # the usual set of firmware. firmware/linux-firmware usually lags kernel releases
   # so iwlwifi cards will fail to load on newly released kernels.
-  src = fetchFromGitHub {
-    owner = "fpletz";
-    repo = "linux-firmware";
-    rev = version;
-    sha256 = "0vlk043y7c32g4d9hz93j64x372qqrwsq65mh8s5s5xrvamja2if";
-  };
+  #
+  # To update, go to the above repositories and look for latest tags / commits, then
+  # update version to the more recent commit date
+
+  src = runCommand "firmware-linux-nonfree-src-merged-${version}" {
+    # When updating this, you need to let it run with a wrong hash, in order to find out the desired hash
+    baseRev = "bf04291309d3169c0ad3b8db52564235bbd08e30";
+    iwlRev = "iwlwifi-fw-2017-11-03";
+
+    # randomly mutate the hash to break out of fixed hash, when updating
+    outputHash = "11izv1vpq9ixlqdss19lzs5q289d7jxr5kgf6iymk4alxznffd8z";
+
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    buildInputs = [ git gnupg ];
+    NIX_SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+  } ''
+    git init src && (
+      cd src
+      git config user.email "build-daemon@nixos.org"
+      git config user.name "Nixos Build Daemon $name"
+      git remote add base git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
+      git remote add iwl git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/linux-firmware.git
+      git fetch base $baseRev
+      git checkout -b work FETCH_HEAD
+      git fetch iwl $iwlRev
+      git merge FETCH_HEAD)
+    rm -rf src/.git
+    cp -a src $out
+  '';
 
   preInstall = ''
     mkdir -p $out
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index bb714f60c2df..c71f1c0ea2e9 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "raspberrypi-firmware-${version}";
-  version = "1.20170811";
+  version = "1.20171029";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "firmware";
     rev = version;
-    sha256 = "1lrbbslpwjgvrn7hk3l104gkl07qxh7qd4cdyqccqhqzip9wqhkn";
+    sha256 = "12aisha8rlr28310hakps04z9p45kd2wvks0w1vxw1kwfh1ncy9s";
   };
 
   dontStrip = true;    # Stripping breaks some of the binaries
diff --git a/pkgs/os-specific/linux/firmware/zd1211/default.nix b/pkgs/os-specific/linux/firmware/zd1211/default.nix
index 9605fb269992..e28a85ab0b27 100644
--- a/pkgs/os-specific/linux/firmware/zd1211/default.nix
+++ b/pkgs/os-specific/linux/firmware/zd1211/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Firmware for the ZyDAS ZD1211(b) 802.11a/b/g USB WLAN chip";
-    homepage = http://sourceforge.net/projects/zd1211/;
+    homepage = https://sourceforge.net/projects/zd1211/;
     license = "GPL";
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/os-specific/linux/ftop/default.nix b/pkgs/os-specific/linux/ftop/default.nix
index 1ca7d43b6a70..73a6d18fc8b7 100644
--- a/pkgs/os-specific/linux/ftop/default.nix
+++ b/pkgs/os-specific/linux/ftop/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "1.0";
 
   src = fetchurl {
-    url = "http://ftop.googlecode.com/files/${name}.tar.bz2";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/ftop/${name}.tar.bz2";
     sha256 = "3a705f4f291384344cd32c3dd5f5f6a7cd7cea7624c83cb7e923966dbcd47f82";
   };
 
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Show progress of open files and file systems";
-    homepage = https://code.google.com/p/ftop/;
+    homepage = https://code.google.com/archive/p/ftop/;
     license = licenses.gpl3Plus;
     longDescription = ''
       ftop is to files what top is to processes. The progress of all open files
diff --git a/pkgs/os-specific/linux/fuse/common.nix b/pkgs/os-specific/linux/fuse/common.nix
index b18b6de0d140..b9ac015f4591 100644
--- a/pkgs/os-specific/linux/fuse/common.nix
+++ b/pkgs/os-specific/linux/fuse/common.nix
@@ -25,12 +25,7 @@ in stdenv.mkDerivation rec {
         url = "https://github.com/libfuse/libfuse/commit/914871b20a901e3e1e981c92bc42b1c93b7ab81b.patch";
         sha256 = "1w4j6f1awjrycycpvmlv0x5v9gprllh4dnbjxl4dyl2jgbkaw6pa";
       })
-    ++ stdenv.lib.optionals isFuse3 [
-      ./fuse3-no-udev.patch # only required for udevrulesdir
-      ./fuse3-install.patch
-      # install_man makes the build non-reproducible by encoding the date
-      ./fuse3-install_man.patch
-    ];
+    ++ stdenv.lib.optional isFuse3 ./fuse3-install.patch;
 
 
   nativeBuildInputs = if isFuse3
@@ -40,6 +35,8 @@ in stdenv.mkDerivation rec {
 
   outputs = [ "out" ] ++ stdenv.lib.optional isFuse3 "common";
 
+  mesonFlags = stdenv.lib.optional isFuse3 "-Dudevrulesdir=etc/udev/rules.d";
+
   preConfigure = ''
     export MOUNT_FUSE_PATH=$out/sbin
     export INIT_D_PATH=$TMPDIR/etc/init.d
diff --git a/pkgs/os-specific/linux/fuse/default.nix b/pkgs/os-specific/linux/fuse/default.nix
index 669d115aab99..7856f6389c7d 100644
--- a/pkgs/os-specific/linux/fuse/default.nix
+++ b/pkgs/os-specific/linux/fuse/default.nix
@@ -13,8 +13,8 @@ in {
   };
 
   fuse_3 = mkFuse {
-    version = "3.2.0";
-    sha256Hash = "0bfpwkfamg4rcbq1s7v5rblpisqq73z6d5j3dxypgqll07hfg51x";
+    version = "3.2.1";
+    sha256Hash = "19bsvb5lc8k1i0h5ld109kixn6mdshzvg3y7820k9mnw34kh09y0";
     maintainers = [ maintainers.primeos ];
   };
 }
diff --git a/pkgs/os-specific/linux/fuse/fuse3-install_man.patch b/pkgs/os-specific/linux/fuse/fuse3-install_man.patch
deleted file mode 100644
index 491f92e364f6..000000000000
--- a/pkgs/os-specific/linux/fuse/fuse3-install_man.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/doc/meson.build	1970-01-01 01:00:01.000000000 +0100
-+++ b/doc/meson.build	2017-09-22 01:53:01.859190506 +0200
-@@ -1,5 +1,4 @@
- # Attention, emacs, please use -*- mode: python -*-
- # (even though this isn't actually Python code)
- 
--install_man('fusermount3.1', 'mount.fuse.8')
- 
diff --git a/pkgs/os-specific/linux/fuse/fuse3-no-udev.patch b/pkgs/os-specific/linux/fuse/fuse3-no-udev.patch
deleted file mode 100644
index c48abfe59c53..000000000000
--- a/pkgs/os-specific/linux/fuse/fuse3-no-udev.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-+++ b/util/meson.build	2017-09-23 20:59:31.555392297 +0200
---- a/util/meson.build	2017-09-23 20:59:58.333180437 +0200
-@@ -18,8 +18,7 @@
-            install: true,
-            install_dir: get_option('sbindir'))
- 
--udev = dependency('udev')
--udevrulesdir = join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d')
-+udevrulesdir = 'etc/udev/rules.d'
- 
- meson.add_install_script('install_helper.sh', get_option('sysconfdir'),
-                          get_option('bindir'), udevrulesdir)
diff --git a/pkgs/os-specific/linux/i7z/default.nix b/pkgs/os-specific/linux/i7z/default.nix
index dcbf3232e940..6d0c5ae82bcc 100644
--- a/pkgs/os-specific/linux/i7z/default.nix
+++ b/pkgs/os-specific/linux/i7z/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "i7z-0.27.2";
 
   src = fetchurl {
-    url = "http://i7z.googlecode.com/files/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/i7z/${name}.tar.gz";
     sha256 = "1wa7ix6m75wl3k2n88sz0x8cckvlzqklja2gvzqfw5rcfdjjvxx7";
   };
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "A better i7 (and now i3, i5) reporting tool for Linux";
-    homepage = http://code.google.com/p/i7z;
+    homepage = https://github.com/ajaiantilal/i7z;
     repositories.git = https://github.com/ajaiantilal/i7z.git;
     license = stdenv.lib.licenses.gpl2;
     maintainers = [ stdenv.lib.maintainers.bluescreen303 ];
diff --git a/pkgs/os-specific/linux/jfbview/default.nix b/pkgs/os-specific/linux/jfbview/default.nix
index 310cdbd1eee8..fab66a329e2e 100644
--- a/pkgs/os-specific/linux/jfbview/default.nix
+++ b/pkgs/os-specific/linux/jfbview/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchFromGitHub
-, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mujs, mupdf, ncurses, openjpeg
+, freetype, harfbuzz, jbig2dec, libjpeg, libX11, mupdf, ncurses, openjpeg
 , openssl
 
 , imageSupport ? true, imlib2 ? null }:
@@ -27,16 +27,12 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   buildInputs = [
-    freetype harfbuzz jbig2dec libjpeg libX11 mujs mupdf ncurses openjpeg
+    freetype harfbuzz jbig2dec libjpeg libX11 mupdf ncurses openjpeg
     openssl
   ] ++ stdenv.lib.optionals imageSupport [
     imlib2
   ];
 
-  patches = [
-    ./mupdf-1.9.patch
-  ];
-
   configurePhase = ''
     # Hack. Probing (`ldconfig -p`) fails with ‘cannot execute binary file’.
     # Overriding `OPENJP2 =` later works, but makes build output misleading:
diff --git a/pkgs/os-specific/linux/jfbview/mupdf-1.9.patch b/pkgs/os-specific/linux/jfbview/mupdf-1.9.patch
deleted file mode 100644
index 99d7377239bf..000000000000
--- a/pkgs/os-specific/linux/jfbview/mupdf-1.9.patch
+++ /dev/null
@@ -1,28 +0,0 @@
---- JFBView-0.5.2-src/Makefile	2016-06-11 23:27:54.969894750 -0700
-+++ JFBView-0.5.2-src/Makefile	2016-06-11 23:24:45.181142832 -0700
-@@ -134,13 +134,22 @@
- 
- .PHONY: detect_libopenjp2
- detect_libopenjp2:
--	$(eval OPENJP2 = $(shell ldconfig -p | grep -q libopenjp2 && echo 'openjp2' || echo 'openjpeg'))
-+	$(eval OPENJP2 = $(shell echo libopenjp2 | grep -q libopenjp2 && echo 'openjp2'  || echo 'openjpeg'))
- 	@echo "OPENJP2 = $(OPENJP2)" >> $(CONFIG_MK)
- 
- # mupdf_version only depends on -lmupdf.
- mupdf_version: mupdf_version.cpp
--	$(CXX) $(CXXFLAGS) -o $@ $^ $(LDLIBS) -lmupdf
--
-+	$(CXX) $(CXXFLAGS) -o $@ $^ $(LDLIBS) -lmupdf \
-+    -lpthread \
-+    -lform \
-+    -lncurses \
-+    -lfreetype \
-+    -lharfbuzz \
-+    -lz \
-+    -ljbig2dec \
-+    -ljpeg \
-+    -lmujs \
-+    -lopenjp2
- endif
- 
- 
diff --git a/pkgs/os-specific/linux/jujuutils/default.nix b/pkgs/os-specific/linux/jujuutils/default.nix
index 8e9f29306e74..617dad8bdddc 100644
--- a/pkgs/os-specific/linux/jujuutils/default.nix
+++ b/pkgs/os-specific/linux/jujuutils/default.nix
@@ -4,14 +4,14 @@ stdenv.mkDerivation {
   name = "jujuutils-0.2";
 
   src = fetchurl {
-    url = "http://jujuutils.googlecode.com/files/jujuutils-0.2.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/jujuutils/jujuutils-0.2.tar.gz";
     sha256 = "1r74m7s7rs9d6y7cffi7mdap3jf96qwm1v6jcw53x5cikgmfxn4x";
   };
 
   buildInputs = [ linuxHeaders ];
 
   meta = {
-    homepage = http://code.google.com/p/jujuutils/;
+    homepage = https://github.com/cladisch/linux-firewire-utils;
     description = "Utilities around FireWire devices connected to a Linux computer";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/os-specific/linux/kernel/common-config.nix b/pkgs/os-specific/linux/kernel/common-config.nix
index a528df26964b..0f7ad055af86 100644
--- a/pkgs/os-specific/linux/kernel/common-config.nix
+++ b/pkgs/os-specific/linux/kernel/common-config.nix
@@ -573,6 +573,11 @@ with stdenv.lib;
   ''}
   MEDIA_USB_SUPPORT y
   MEDIA_PCI_SUPPORT y
+  MEDIA_ANALOG_TV_SUPPORT y
+  VIDEO_STK1160_COMMON m
+  ${optionalString (versionOlder version "4.11") ''
+    VIDEO_STK1160_AC97 y
+  ''}
 
   # Our initrd init uses shebang scripts, so can't be modular.
   BINFMT_SCRIPT y
diff --git a/pkgs/os-specific/linux/kernel/generic.nix b/pkgs/os-specific/linux/kernel/generic.nix
index 3912d9d10f5e..c2f4e6843f59 100644
--- a/pkgs/os-specific/linux/kernel/generic.nix
+++ b/pkgs/os-specific/linux/kernel/generic.nix
@@ -29,7 +29,6 @@
 , ...
 }:
 
-assert stdenv.platform.name == "sheevaplug" -> stdenv.platform.uboot != null;
 assert stdenv.isLinux;
 
 let
diff --git a/pkgs/os-specific/linux/kernel/hardened-config.nix b/pkgs/os-specific/linux/kernel/hardened-config.nix
index 3744c28e204f..a859a3cefbd4 100644
--- a/pkgs/os-specific/linux/kernel/hardened-config.nix
+++ b/pkgs/os-specific/linux/kernel/hardened-config.nix
@@ -82,6 +82,10 @@ HARDENED_USERCOPY y
 # Randomize allocator freelists.
 SLAB_FREELIST_RANDOM y
 
+${optionalString (versionAtLeast version "4.14") ''
+  SLAB_FREELIST_HARDENED y
+''}
+
 # Wipe higher-level memory allocations on free() with page_poison=1
 PAGE_POISONING y
 PAGE_POISONING_NO_SANITY y
@@ -96,6 +100,9 @@ GCC_PLUGINS y # Enable gcc plugin options
 ${optionalString (versionAtLeast version "4.11") ''
   GCC_PLUGIN_STRUCTLEAK y # A port of the PaX structleak plugin
 ''}
+${optionalString (versionAtLeast version "4.14") ''
+  GCC_PLUGIN_STRUCTLEAK_BYREF_ALL y # Also cover structs passed by address
+''}
 
 # Disable various dangerous settings
 ACPI_CUSTOM_METHOD n # Allows writing directly to physical memory
diff --git a/pkgs/os-specific/linux/kernel/linux-4.13.nix b/pkgs/os-specific/linux/kernel/linux-4.13.nix
index bb40bbcb72ea..a565402cb00e 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.13.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.13.nix
@@ -1,11 +1,11 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.13.11";
+  version = "4.13.13";
   extraMeta.branch = "4.13";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1vzl2i72c8iidhdc8a490npsbk7q7iphjqil4i9609disqw75gx4";
+    sha256 = "0izyma1b9bh4hfp00ph91n91zqkbwjnkdifvr4h8ipmxm0y8ig0m";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
new file mode 100644
index 000000000000..cff377bc0c7f
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -0,0 +1,18 @@
+{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
+
+with stdenv.lib;
+
+import ./generic.nix (args // rec {
+  version = "4.14";
+
+  # modDirVersion needs to be x.y.z, will automatically add .0 if needed
+  modDirVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
+
+  # branchVersion needs to be x.y
+  extraMeta.branch = concatStrings (intersperse "." (take 2 (splitString "." version)));
+
+  src = fetchurl {
+    url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
+    sha256 = "19wn1wswvivhlxxixnqi962jamxy9wpw13g1gj2k18chgr3mj7gq";
+  };
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.4.nix b/pkgs/os-specific/linux/kernel/linux-4.4.nix
index 3a49c3486876..59a998a06a0b 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.4.nix
@@ -1,11 +1,11 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.4.96";
+  version = "4.4.98";
   extraMeta.branch = "4.4";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1asvcqip5w9nkg4c5jllbjygski9cnw7qn6ci7p6zwnd2mfks794";
+    sha256 = "1mvk6vw6fjqnl01bx78viydkalgj33v2ynz4gi4yk1d357l54yar";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 7431694e362e..d972ca6fb4da 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,11 +1,11 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.9.60";
+  version = "4.9.62";
   extraMeta.branch = "4.9";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "015dzkrhadmr3kadz0m3yhjikkmga8dv90f6s5ji5i2ja5f6qchf";
+    sha256 = "0cpxhj40dxm0i9yg4hg5hwlhq4083l7i5jc3psfr6zcy5k7c5ph2";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-beagleboard.nix b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix
new file mode 100644
index 000000000000..b0d9f04efc84
--- /dev/null
+++ b/pkgs/os-specific/linux/kernel/linux-beagleboard.nix
@@ -0,0 +1,25 @@
+{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
+
+let
+  modDirVersion = "4.9.59";
+  tag = "r73";
+in
+import ./generic.nix (args // rec {
+  version = "${modDirVersion}-ti-${tag}";
+  inherit modDirVersion;
+
+  src = fetchFromGitHub {
+    owner = "beagleboard";
+    repo = "linux";
+    rev = "${version}";
+    sha256 = "1kzbbaqmzgvfls1v9jir2ck9vcdd774mq474vhr5x6dqjnnb5kg9";
+  };
+
+  kernelPatches = args.kernelPatches;
+
+  features = {
+    efiBootStub = false;
+  } // (args.features or {});
+
+  extraMeta.hydraPlatforms = [];
+} // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
index 47ef31bd20a5..99bfa0b57c06 100644
--- a/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
+++ b/pkgs/os-specific/linux/kernel/linux-hardened-copperhead.nix
@@ -3,9 +3,9 @@
 with stdenv.lib;
 
 let
-  version = "4.13.11";
+  version = "4.13.13";
   revision = "a";
-  sha256 = "1nby5iii1k0vjvs1s2qvlszln2p9sza9ivbjjdhrmvpp1shzwcvx";
+  sha256 = "1bph0cvmms16mi5iczr6q1wrz7fp5gl2kz5lk8b3cx04wpj65jfl";
 
   # modVersion needs to be x.y.z, will automatically add .0 if needed
   modVersion = concatStrings (intersperse "." (take 3 (splitString "." "${version}.0")));
diff --git a/pkgs/os-specific/linux/kernel/linux-mptcp.nix b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
index 4c237cb24b45..92b202100a63 100644
--- a/pkgs/os-specific/linux/kernel/linux-mptcp.nix
+++ b/pkgs/os-specific/linux/kernel/linux-mptcp.nix
@@ -1,8 +1,8 @@
-{ stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
+{ stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
-import ./generic.nix (args // rec {
-  mptcpVersion = "0.92.1";
-  modDirVersion = "4.4.83";
+import ./generic.nix (rec {
+  mptcpVersion = "0.93";
+  modDirVersion = "4.9.60";
   version = "${modDirVersion}-mptcp_v${mptcpVersion}";
 
   extraMeta = {
@@ -10,9 +10,11 @@ import ./generic.nix (args // rec {
     maintainers = with stdenv.lib.maintainers; [ teto layus ];
   };
 
-  src = fetchurl {
-    url = "https://github.com/multipath-tcp/mptcp/archive/v${mptcpVersion}.tar.gz";
-    sha256 = "1afjqmxq9p5gyr6r607bx3mqpnx451kfpwlffzxwgdwnf93alngz";
+  src = fetchFromGitHub {
+    owner = "multipath-tcp";
+    repo = "mptcp";
+    rev = "v${mptcpVersion}";
+    sha256 = "1irlppzvcmckrazs2c4vg6y8ji31552izc3wqabf401v57jvxcys";
   };
 
   extraConfig = ''
@@ -41,4 +43,4 @@ import ./generic.nix (args // rec {
     TCP_CONG_BALIA m
 
   '' + (args.extraConfig or "");
-} // (args.argsOverride or {}))
+} // args // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index 2d8a3f0afcdd..fb97aa579df0 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -1,8 +1,8 @@
 { stdenv, hostPlatform, fetchFromGitHub, perl, buildLinux, ... } @ args:
 
 let
-  modDirVersion = "4.9.41";
-  tag = "1.20170811";
+  modDirVersion = "4.9.59";
+  tag = "1.20171029";
 in
 stdenv.lib.overrideDerivation (import ./generic.nix (args // rec {
   version = "${modDirVersion}-${tag}";
@@ -12,7 +12,7 @@ stdenv.lib.overrideDerivation (import ./generic.nix (args // rec {
     owner = "raspberrypi";
     repo = "linux";
     rev = "raspberrypi-kernel_${tag}-1";
-    sha256 = "1ly0x7a43zvig0fv7lc6rpq49pcdb7i9sdb78p4gi5485zap40kb";
+    sha256 = "19lb1gxz21x1d5zdznzqfq60kxg7iqmyl6l0mb9qg2vrl8fcgnxk";
   };
 
   features = {
diff --git a/pkgs/os-specific/linux/kernel/linux-testing.nix b/pkgs/os-specific/linux/kernel/linux-testing.nix
index 8c8fd3c97337..54e37e721303 100644
--- a/pkgs/os-specific/linux/kernel/linux-testing.nix
+++ b/pkgs/os-specific/linux/kernel/linux-testing.nix
@@ -1,13 +1,13 @@
 { stdenv, hostPlatform, fetchurl, perl, buildLinux, ... } @ args:
 
 import ./generic.nix (args // rec {
-  version = "4.14-rc7";
-  modDirVersion = "4.14.0-rc7";
+  version = "4.14-rc8";
+  modDirVersion = "4.14.0-rc8";
   extraMeta.branch = "4.14";
 
   src = fetchurl {
     url = "https://git.kernel.org/torvalds/t/linux-${version}.tar.gz";
-    sha256 = "1w7b1sc5dsxcqywsdbwgs92i8jpj7hsnss67yzb58z3bz3hb73m3";
+    sha256 = "0ir2ggflm1xjnn1kvv2c99m5zni5kg0ygzlpm588wnhkzd93nqjh";
   };
 
   # Should the testing kernels ever be built on Hydra?
diff --git a/pkgs/os-specific/linux/kernel/manual-config.nix b/pkgs/os-specific/linux/kernel/manual-config.nix
index 8227475f1b1a..f922116ed36b 100644
--- a/pkgs/os-specific/linux/kernel/manual-config.nix
+++ b/pkgs/os-specific/linux/kernel/manual-config.nix
@@ -1,5 +1,5 @@
 { runCommand, nettools, bc, perl, gmp, libmpc, mpfr, kmod, openssl
-, writeTextFile, ubootChooser
+, writeTextFile, ubootTools
 , hostPlatform
 }:
 
@@ -158,6 +158,13 @@ let
         cp $buildRoot/{.config,Module.symvers} $dev/lib/modules/${modDirVersion}/build
         make modules_prepare $makeFlags "''${makeFlagsArray[@]}" O=$dev/lib/modules/${modDirVersion}/build
 
+        # Keep some extra files on some arches (powerpc, aarch64)
+        for f in arch/powerpc/lib/crtsavres.o arch/arm64/kernel/ftrace-mod.o; do
+          if [ -f "$buildRoot/$f" ]; then
+            cp $buildRoot/$f $dev/lib/modules/${modDirVersion}/build/$f
+          fi
+        done
+
         # !!! No documentation on how much of the source tree must be kept
         # If/when kernel builds fail due to missing files, you can add
         # them here. Note that we may see packages requiring headers
@@ -165,13 +172,14 @@ let
         # headers on 3.10 though.
 
         chmod u+w -R ../source
-        arch=`cd $dev/lib/modules/${modDirVersion}/build/arch; ls`
+        arch=$(cd $dev/lib/modules/${modDirVersion}/build/arch; ls)
 
-        # Remove unusued arches
-        mv arch/$arch .
-        rm -fR arch
-        mkdir arch
-        mv $arch arch
+        # Remove unused arches
+        for d in $(cd arch/; ls); do
+          if [ "$d" = "$arch" ]; then continue; fi
+          if [ "$arch" = arm64 ] && [ "$d" = arm ]; then continue; fi
+          rm -rf arch/$d
+        done
 
         # Remove all driver-specific code (50M of which is headers)
         rm -fR drivers
@@ -179,6 +187,9 @@ let
         # Keep all headers
         find .  -type f -name '*.h' -print0 | xargs -0 chmod u-w
 
+        # Keep linker scripts (they are required for out-of-tree modules on aarch64)
+        find .  -type f -name '*.lds' -print0 | xargs -0 chmod u-w
+
         # Keep root and arch-specific Makefiles
         chmod u-w Makefile
         chmod u-w arch/$arch/Makefile*
@@ -224,8 +235,8 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ perl bc nettools openssl gmp libmpc mpfr ] ++ optional (stdenv.platform.uboot != null)
-    (ubootChooser stdenv.platform.uboot);
+  nativeBuildInputs = [ perl bc nettools openssl gmp libmpc mpfr ]
+    ++ optional (stdenv.platform.kernelTarget == "uImage") ubootTools;
 
   hardeningDisable = [ "bindnow" "format" "fortify" "stackprotector" "pic" ];
 
@@ -244,10 +255,6 @@ stdenv.mkDerivation ((drvAttrs config stdenv.platform (kernelPatches ++ nativeKe
 
       karch = cp.kernelArch;
 
-      # !!! uboot has messed up cross-compiling, nativeDrv builds arm tools on x86,
-      # crossDrv builds x86 tools on x86 (but arm uboot). If this is fixed, uboot
-      # can just go into buildInputs (but not nativeBuildInputs since cp.uboot
-      # may be different from stdenv.platform.uboot)
-      buildInputs = optional (cp.uboot != null) (ubootChooser cp.uboot).crossDrv;
+      nativeBuildInputs = optional (cp.kernelTarget == "uImage") ubootTools;
   };
 })
diff --git a/pkgs/os-specific/linux/kernel/patches.nix b/pkgs/os-specific/linux/kernel/patches.nix
index c1288108b4f1..754a2372c6d8 100644
--- a/pkgs/os-specific/linux/kernel/patches.nix
+++ b/pkgs/os-specific/linux/kernel/patches.nix
@@ -62,4 +62,14 @@ rec {
     name = "tag-hardened";
     patch = ./tag-hardened.patch;
   };
+
+  # https://bugzilla.kernel.org/show_bug.cgi?id=197591#c6
+  iwlwifi_mvm_support_version_7_scan_req_umac_fw_command = rec {
+    name = "iwlwifi_mvm_support_version_7_scan_req_umac_fw_command";
+    patch = fetchpatch {
+      name = name + ".patch";
+      url = https://bugzilla.kernel.org/attachment.cgi?id=260597;
+      sha256 = "09096npxpgvlwdz3pb3m9brvxh7vy0xc9z9p8hh85xyczyzcsjhr";
+    };
+  };
 }
diff --git a/pkgs/os-specific/linux/kmscon/default.nix b/pkgs/os-specific/linux/kmscon/default.nix
index 850907d4f8a7..bc7b254e19e9 100644
--- a/pkgs/os-specific/linux/kmscon/default.nix
+++ b/pkgs/os-specific/linux/kmscon/default.nix
@@ -33,6 +33,8 @@ stdenv.mkDerivation rec {
     libxslt
   ];
 
+  patches = [ ./kmscon-8-glibc-2.26.patch ];
+
   # FIXME: Remove as soon as kmscon > 8 comes along.
   postPatch = ''
     sed -i -e 's/libsystemd-daemon libsystemd-login/libsystemd/g' configure
@@ -45,6 +47,8 @@ stdenv.mkDerivation rec {
     "--with-renderers=bbulk,gltex,pixman"
   ];
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "KMS/DRM based System Console";
     homepage = http://www.freedesktop.org/wiki/Software/kmscon/;
diff --git a/pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch b/pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch
new file mode 100644
index 000000000000..b70a750180e2
--- /dev/null
+++ b/pkgs/os-specific/linux/kmscon/kmscon-8-glibc-2.26.patch
@@ -0,0 +1,25 @@
+diff --git a/src/pty.c b/src/pty.c
+index 3494104..1443f4a 100644
+--- a/src/pty.c
++++ b/src/pty.c
+@@ -299,7 +299,7 @@ static void setup_child(int master, struct winsize *ws)
+ 	if (ret)
+ 		log_warn("cannot reset blocked signals: %m");
+ 
+-	for (i = 1; i < SIGUNUSED; ++i)
++	for (i = 1; i < SIGSYS; ++i)
+ 		signal(i, SIG_DFL);
+ 
+ 	ret = grantpt(master);
+diff --git a/src/uterm_vt.c b/src/uterm_vt.c
+index af377f5..fbe9e76 100644
+--- a/src/uterm_vt.c
++++ b/src/uterm_vt.c
+@@ -40,6 +40,7 @@
+ #include <sys/ioctl.h>
+ #include <sys/signalfd.h>
+ #include <sys/stat.h>
++#include <sys/sysmacros.h>
+ #include <termios.h>
+ #include <time.h>
+ #include <unistd.h>
diff --git a/pkgs/os-specific/linux/libnscd/default.nix b/pkgs/os-specific/linux/libnscd/default.nix
deleted file mode 100644
index a2dd25206cb1..000000000000
--- a/pkgs/os-specific/linux/libnscd/default.nix
+++ /dev/null
@@ -1,14 +0,0 @@
-{stdenv, fetchurl}:
-   
-stdenv.mkDerivation {
-  name = "libnscd-2.0.2";
-   
-  src = fetchurl {
-    url = http://ftp.suse.com/pub/people/kukuk/libnscd/libnscd-2.0.2.tar.bz2;
-    sha256 = "0nxhwy42x44jlpdb5xq1prbvfjmds4hplmwv3687z0c4r9rn506l";
-  };
-
-  meta = {
-    platforms = stdenv.lib.platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/libselinux/default.nix b/pkgs/os-specific/linux/libselinux/default.nix
index f20efcb32373..541ead7258f6 100644
--- a/pkgs/os-specific/linux/libselinux/default.nix
+++ b/pkgs/os-specific/linux/libselinux/default.nix
@@ -39,6 +39,9 @@ stdenv.mkDerivation rec {
 
   postPatch = optionalString enablePython ''
     sed -i -e 's|\$(LIBDIR)/libsepol.a|${libsepol}/lib/libsepol.a|' src/Makefile
+  ''
+  + ''
+    sed '1i#include <sys/uio.h>' -i src/setrans_client.c
   '';
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/lvm2/default.nix b/pkgs/os-specific/linux/lvm2/default.nix
index 1a36c669577b..6382b90f1683 100644
--- a/pkgs/os-specific/linux/lvm2/default.nix
+++ b/pkgs/os-specific/linux/lvm2/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
   preConfigure =
     ''
       substituteInPlace scripts/lvm2_activation_generator_systemd_red_hat.c \
-        --replace /usr/bin/udevadm ${systemd.udev.bin}/bin/udevadm
+        --replace /usr/bin/udevadm ${systemd}/bin/udevadm
 
       sed -i /DEFAULT_SYS_DIR/d Makefile.in
       sed -i /DEFAULT_PROFILE_DIR/d conf/Makefile.in
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index f818d2c0d8c0..2660f299262a 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -29,6 +29,12 @@ stdenv.mkDerivation rec {
 
   patches = [
     ./support-db2x.patch
+    # Fix build error against glibc 2.26
+    (fetchpatch {
+      url = "https://github.com/lxc/lxc/commit/"
+          + "180c477a326ce85632249ff16990e8c29db1b6fa.patch";
+      sha256 = "05jkiiixxk9ibj1fwzmy56rkkign28bd9mrmgiz12g92r2qahm2z";
+    })
   ];
 
   postPatch = ''
diff --git a/pkgs/os-specific/linux/mingetty/default.nix b/pkgs/os-specific/linux/mingetty/default.nix
index a8348acd5d76..d36544453323 100644
--- a/pkgs/os-specific/linux/mingetty/default.nix
+++ b/pkgs/os-specific/linux/mingetty/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://sourceforge.net/projects/mingetty;
+    homepage = https://sourceforge.net/projects/mingetty;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/os-specific/linux/mstpd/default.nix b/pkgs/os-specific/linux/mstpd/default.nix
index 374300db460a..ce9136e2ddbf 100644
--- a/pkgs/os-specific/linux/mstpd/default.nix
+++ b/pkgs/os-specific/linux/mstpd/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Multiple Spanning Tree Protocol daemon";
-    homepage = http://sourceforge.net/projects/mstpd/;
+    homepage = https://sourceforge.net/projects/mstpd/;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ wkennington ];
diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix
index 21934dcdfacd..f61611fbf017 100644
--- a/pkgs/os-specific/linux/mwprocapture/default.nix
+++ b/pkgs/os-specific/linux/mwprocapture/default.nix
@@ -25,7 +25,8 @@ stdenv.mkDerivation rec {
     sha256 = "1arwnwrq52rs8g9zfxw8saip40vc3201sf7qnbqd2p23h8vzwb8i";
   };
 
-  patches = [] ++ optional (versionAtLeast kernel.version "4.13") ./linux_4_13_fix.patch;
+  patches = [] ++ optional (versionAtLeast kernel.version "4.13") ./linux_4_13_fix.patch
+               ++ optional (versionAtLeast kernel.version "4.14") ./linux_4_14_fix.patch;
 
   preConfigure =
   ''
diff --git a/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch b/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch
new file mode 100644
index 000000000000..9f92a38bcc45
--- /dev/null
+++ b/pkgs/os-specific/linux/mwprocapture/linux_4_14_fix.patch
@@ -0,0 +1,60 @@
+diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.c ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c
+--- ProCaptureForLinux_3589/src/sources/ospi/linux-file.c	2017-08-17 02:46:07.000000000 -0700
++++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.c	2017-11-13 20:18:50.842947380 -0800
+@@ -7,8 +7,8 @@
+ 
+ #include "linux-file.h"
+ 
+-#include <asm/uaccess.h>
+ #include <linux/sched.h>
++#include <asm/uaccess.h>
+ 
+ struct file *linux_file_open(const char *path, int flags, int mode)
+ {
+@@ -28,27 +28,27 @@
+     filp_close(file, NULL);
+ }
+ 
+-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size)
++ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size)
+ {
+     mm_segment_t oldfs;
+     ssize_t ret;
+ 
+     oldfs = get_fs();
+     set_fs(get_ds());
+-    ret = vfs_read(file, data, size, &offset);
++    ret = kernel_read(file, data, size, &offset);
+     set_fs(oldfs);
+ 
+     return ret;
+ }
+ 
+-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size)
++ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size)
+ {
+     mm_segment_t oldfs;
+     ssize_t ret;
+ 
+     oldfs = get_fs();
+     set_fs(get_ds());
+-    ret = vfs_write(file, data, size, &offset);
++    ret = kernel_write(file, data, size, &offset);
+     set_fs(oldfs);
+ 
+     return ret;
+diff -Naur ProCaptureForLinux_3589/src/sources/ospi/linux-file.h ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.h
+--- ProCaptureForLinux_3589/src/sources/ospi/linux-file.h	2017-08-17 02:46:07.000000000 -0700
++++ ProCaptureForLinux_3589_new/src/sources/ospi/linux-file.h	2017-11-13 20:24:20.979690346 -0800
+@@ -13,9 +13,9 @@
+ 
+ void linux_file_close(struct file *file);
+ 
+-ssize_t linux_file_read(struct file *file, loff_t offset, unsigned char *data, size_t size);
++ssize_t linux_file_read(struct file *file, loff_t offset, const void *data, size_t size);
+ 
+-ssize_t linux_file_write(struct file *file, loff_t offset, unsigned char *data, size_t size);
++ssize_t linux_file_write(struct file *file, loff_t offset, const void *data, size_t size);
+ 
+ #endif /* __LINUX_FILE_H__ */
+ 
diff --git a/pkgs/os-specific/linux/ndiswrapper/default.nix b/pkgs/os-specific/linux/ndiswrapper/default.nix
index c22ffb60df85..e989a7837f9e 100644
--- a/pkgs/os-specific/linux/ndiswrapper/default.nix
+++ b/pkgs/os-specific/linux/ndiswrapper/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation {
 
   meta = { 
     description = "Ndis driver wrapper for the Linux kernel";
-    homepage = http://sourceforge.net/projects/ndiswrapper;
+    homepage = https://sourceforge.net/projects/ndiswrapper;
     license = "GPL";
     broken = true;
   };
diff --git a/pkgs/os-specific/linux/nfs-utils/default.nix b/pkgs/os-specific/linux/nfs-utils/default.nix
index 294dde2a0a69..e52174c09013 100644
--- a/pkgs/os-specific/linux/nfs-utils/default.nix
+++ b/pkgs/os-specific/linux/nfs-utils/default.nix
@@ -45,6 +45,8 @@ in stdenv.mkDerivation rec {
 
       substituteInPlace utils/mount/Makefile.in \
         --replace "chmod 4511" "chmod 0511"
+
+      sed '1i#include <stdint.h>' -i support/nsm/rpc.c
     '';
 
   makeFlags = [
diff --git a/pkgs/os-specific/linux/procps/watch.nix b/pkgs/os-specific/linux/procps/watch.nix
index 5fdd1287a647..4511b9cf843e 100644
--- a/pkgs/os-specific/linux/procps/watch.nix
+++ b/pkgs/os-specific/linux/procps/watch.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   installPhase = "mkdir $out; mkdir -p $out/bin; cp -p watch $out/bin";
 
   meta = {
-    homepage = http://sourceforge.net/projects/procps/;
+    homepage = https://sourceforge.net/projects/procps/;
     description = "Utility for watch the output of a given command at intervals";
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/os-specific/linux/rewritefs/default.nix b/pkgs/os-specific/linux/rewritefs/default.nix
index 3801036f9e57..5b16799a89c7 100644
--- a/pkgs/os-specific/linux/rewritefs/default.nix
+++ b/pkgs/os-specific/linux/rewritefs/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   name = "rewritefs-${version}";
-  version = "2016-07-27";
+  version = "2017-08-14";
 
   src = fetchFromGitHub {
-    owner = "sloonz";
-    repo = "rewritefs";
-    rev = "fe19d389746bdffcc1cc7b3e3156dbacd04b4e9b";
+    owner  = "sloonz";
+    repo   = "rewritefs";
+    rev    = "33fb844d8e8ff441a3fc80d2715e8c64f8563d81";
     sha256 = "15bcxprkxf0xqxljsqhb0jpi7p1vwqcb00sjs7nzrj7vh2p7mqla";
   };
  
diff --git a/pkgs/os-specific/linux/s6-linux-utils/default.nix b/pkgs/os-specific/linux/s6-linux-utils/default.nix
index 52d7446e48cb..db494ec2493f 100644
--- a/pkgs/os-specific/linux/s6-linux-utils/default.nix
+++ b/pkgs/os-specific/linux/s6-linux-utils/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.2.0.0";
+  version = "2.4.0.2";
 
 in stdenv.mkDerivation rec {
 
@@ -10,7 +10,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "http://www.skarnet.org/software/s6-linux-utils/${name}.tar.gz";
-    sha256 = "1y9mva7wk1ca2djq3qjh7hz756zk57yv7ljdnldn7k7jzfmlaxsq";
+    sha256 = "0245rmk7wfyyfsi4g7f0niprwlvqlwkbyjxflb8kkbvhwfdavqip";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/os-specific/linux/service-wrapper/default.nix b/pkgs/os-specific/linux/service-wrapper/default.nix
new file mode 100644
index 000000000000..07a9b06ae76d
--- /dev/null
+++ b/pkgs/os-specific/linux/service-wrapper/default.nix
@@ -0,0 +1,25 @@
+{ lib, runCommand, substituteAll, fetchurl, systemd, coreutils }:
+
+let
+  name = "service-wrapper-${version}";
+  version = "16.04.0"; # Ajar to Ubuntu Release
+in
+runCommand "${name}" {
+  script = substituteAll {
+    src = ./service-wrapper.sh;
+    inherit coreutils;
+  };
+
+  meta = with lib; {
+    description = "A convenient wrapper for the systemctl commands, borrow from Ubuntu";
+    license     = licenses.gpl2Plus;
+    platforms   = platforms.linux;
+    maintainers = with maintainers; [ DerTim1 ];
+  };
+}
+''
+  mkdir -p $out/bin
+  ln -s $out/bin $out/sbin
+  cp $script $out/bin/service
+  chmod a+x $out/bin/service
+''
diff --git a/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh b/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh
new file mode 100755
index 000000000000..373d86443f02
--- /dev/null
+++ b/pkgs/os-specific/linux/service-wrapper/service-wrapper.sh
@@ -0,0 +1,247 @@
+#!/bin/sh
+
+###########################################################################
+# /usr/bin/service
+#
+# A convenient wrapper for the /etc/init.d init scripts.
+#
+# This script is a modified version of the /sbin/service utility found on
+# Red Hat/Fedora systems (licensed GPLv2+).
+#
+# Copyright (C) 2006 Red Hat, Inc. All rights reserved.
+# Copyright (C) 2008 Canonical Ltd.
+#   * August 2008 - Dustin Kirkland <kirkland@canonical.com>
+# Copyright (C) 2013 Michael Stapelberg <stapelberg@debian.org>
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# 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, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#
+# On Debian GNU/Linux systems, the complete text of the GNU General
+# Public License can be found in `/usr/share/common-licenses/GPL-2'.
+###########################################################################
+
+
+is_ignored_file() {
+	case "$1" in
+		skeleton | README | *.dpkg-dist | *.dpkg-old | rc | rcS | single | reboot | bootclean.sh)
+			return 0
+		;;
+	esac
+	return 1
+}
+
+VERSION=$(@coreutils@/bin/basename $0)" ver. 0.91-ubuntu1"
+USAGE="Usage: "$(@coreutils@/bin/basename $0)" < option > | --status-all | \
+[ service_name [ command | --full-restart ] ]"
+SERVICE=
+ACTION=
+SERVICEDIR="/etc/init.d"
+OPTIONS=
+is_systemd=
+
+
+if [ $# -eq 0 ]; then
+   echo "${USAGE}" >&2
+   exit 1
+fi
+
+if [ -d /run/systemd/system ]; then
+   is_systemd=1
+fi
+
+cd /
+while [ $# -gt 0 ]; do
+  case "${1}" in
+    --help | -h | --h* )
+       echo "${USAGE}" >&2
+       exit 0
+       ;;
+    --version | -V )
+       echo "${VERSION}" >&2
+       exit 0
+       ;;
+    *)
+       if [ -z "${SERVICE}" -a $# -eq 1 -a "${1}" = "--status-all" ]; then
+          if [ -d "${SERVICEDIR}" ]; then
+             cd ${SERVICEDIR}
+	     for SERVICE in * ; do
+	       case "${SERVICE}" in
+	         functions | halt | killall | single| linuxconf| kudzu)
+	             ;;
+	         *)
+	           if ! is_ignored_file "${SERVICE}" \
+	   	    && [ -x "${SERVICEDIR}/${SERVICE}" ]; then
+	                   out=$(env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status 2>&1)
+	                   retval=$?
+	                   if echo "$out" | egrep -iq "usage:"; then
+	                     #printf " %s %-60s %s\n" "[?]" "$SERVICE:" "unknown" 1>&2
+	                     echo " [ ? ]  $SERVICE" 1>&2
+	                     continue
+	                   else
+	                     if [ "$retval" = "0" -a -n "$out" ]; then
+	                       #printf " %s %-60s %s\n" "[+]" "$SERVICE:" "running"
+	                       echo " [ + ]  $SERVICE"
+	                       continue
+	                     else
+	                       #printf " %s %-60s %s\n" "[-]" "$SERVICE:" "NOT running"
+	                       echo " [ - ]  $SERVICE"
+	                       continue
+	                     fi
+	                   fi
+	             #env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" status
+	           fi
+	           ;;
+	       esac
+	     done
+          else
+             systemctl $sctl_args list-units
+          fi
+          exit 0
+       elif [ $# -eq 2 -a "${2}" = "--full-restart" ]; then
+          SERVICE="${1}"
+          # On systems using systemd, we just perform a normal restart:
+          # A restart with systemd is already a full restart.
+          if [ -n "$is_systemd" ]; then
+             ACTION="restart"
+          else
+             if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
+               env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" stop
+               env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" start
+               exit $?
+             fi
+          fi
+       elif [ -z "${SERVICE}" ]; then
+         SERVICE="${1}"
+       elif [ -z "${ACTION}" ]; then
+         ACTION="${1}"
+       else
+         OPTIONS="${OPTIONS} ${1}"
+       fi
+       shift
+       ;;
+   esac
+done
+
+# Operate against system upstart, not session
+unset UPSTART_SESSION
+if [ -r "/etc/init/${SERVICE}.conf" ] && which initctl >/dev/null \
+   && initctl version 2>/dev/null | grep -q upstart \
+   && initctl status ${SERVICE} 2>/dev/null 1>/dev/null
+then
+   # Upstart configuration exists for this job and we're running on upstart
+   case "${ACTION}" in
+      start|stop|status|reload)
+         # Action is a valid upstart action
+         exec ${ACTION} ${SERVICE} ${OPTIONS}
+      ;;
+      restart|force-reload)
+        # Map restart to the usual sysvinit behavior.
+        # Map force-reload to restart as per Debian policy 9.3.2,
+        # since there is no way to know if "reload" is supported
+         stop ${SERVICE} ${OPTIONS} || :
+         exec start ${SERVICE} ${OPTIONS}
+      ;;
+   esac
+fi
+
+
+run_via_sysvinit() {
+   # Otherwise, use the traditional sysvinit
+   if [ -x "${SERVICEDIR}/${SERVICE}" ]; then
+      exec env -i LANG="$LANG" LANGUAGE="$LANGUAGE" LC_CTYPE="$LC_CTYPE" LC_NUMERIC="$LC_NUMERIC" LC_TIME="$LC_TIME" LC_COLLATE="$LC_COLLATE" LC_MONETARY="$LC_MONETARY" LC_MESSAGES="$LC_MESSAGES" LC_PAPER="$LC_PAPER" LC_NAME="$LC_NAME" LC_ADDRESS="$LC_ADDRESS" LC_TELEPHONE="$LC_TELEPHONE" LC_MEASUREMENT="$LC_MEASUREMENT" LC_IDENTIFICATION="$LC_IDENTIFICATION" LC_ALL="$LC_ALL" PATH="$PATH" TERM="$TERM" "$SERVICEDIR/$SERVICE" ${ACTION} ${OPTIONS}
+   else
+      echo "${SERVICE}: unrecognized service" >&2
+      exit 1
+   fi
+}
+
+update_openrc_started_symlinks() {
+   # maintain the symlinks of /run/openrc/started so that
+   # rc-status works with the service command as well
+   if [ -d /run/openrc/started ] ; then
+      case "${ACTION}" in
+      start)
+         if [ ! -h /run/openrc/started/$SERVICE ] ; then
+            ln -s $SERVICEDIR/$SERVICE /run/openrc/started/$SERVICE || true
+         fi
+      ;;
+      stop)
+         rm /run/openrc/started/$SERVICE || true
+      ;;
+      esac
+   fi
+}
+
+# When this machine is running systemd, standard service calls are turned into
+# systemctl calls.
+if [ -n "$is_systemd" ]
+then
+   UNIT="${SERVICE%.sh}.service"
+   # avoid deadlocks during bootup and shutdown from units/hooks
+   # which call "invoke-rc.d service reload" and similar, since
+   # the synchronous wait plus systemd's normal behaviour of
+   # transactionally processing all dependencies first easily
+   # causes dependency loops
+   if ! systemctl --quiet is-active multi-user.target; then
+       sctl_args="--job-mode=ignore-dependencies"
+   fi
+
+   case "${ACTION}" in
+      restart|status)
+         exec systemctl $sctl_args ${ACTION} ${UNIT}
+      ;;
+      start|stop)
+         # Follow the principle of least surprise for SysV people:
+         # When running "service foo stop" and foo happens to be a service that
+         # has one or more .socket files, we also stop the .socket units.
+         # Users who need more control will use systemctl directly.
+         for unit in $(systemctl list-unit-files --full --type=socket 2>/dev/null | sed -ne 's/\.socket\s*[a-z]*\s*$/.socket/p'); do
+             if [ "$(systemctl -p Triggers show $unit)" = "Triggers=${UNIT}" ]; then
+                systemctl $sctl_args ${ACTION} $unit
+             fi
+         done
+         exec systemctl $sctl_args ${ACTION} ${UNIT}
+      ;;
+      reload)
+         _canreload="$(SYSTEMCTL -p CanReload show ${UNIT} 2>/dev/null)"
+         if [ "$_canreload" = "CanReload=no" ]; then
+            # The reload action falls back to the sysv init script just in case
+            # the systemd service file does not (yet) support reload for a
+            # specific service.
+            run_via_sysvinit
+         else
+            exec systemctl $sctl_args reload "${UNIT}"
+         fi
+         ;;
+      force-stop)
+         exec systemctl --signal=KILL kill "${UNIT}"
+         ;;
+      force-reload)
+         _canreload="$(systemctl -p CanReload show ${UNIT} 2>/dev/null)"
+         if [ "$_canreload" = "CanReload=no" ]; then
+            exec systemctl $sctl_args restart "${UNIT}"
+         else
+            exec systemctl $sctl_args reload "${UNIT}"
+         fi
+         ;;
+      *)
+         # We try to run non-standard actions by running
+         # the init script directly.
+         run_via_sysvinit
+         ;;
+   esac
+fi
+
+update_openrc_started_symlinks
+run_via_sysvinit
diff --git a/pkgs/os-specific/linux/spl/default.nix b/pkgs/os-specific/linux/spl/default.nix
index 5e0f83c4c681..b2d090fa7ea2 100644
--- a/pkgs/os-specific/linux/spl/default.nix
+++ b/pkgs/os-specific/linux/spl/default.nix
@@ -13,6 +13,7 @@ let
   common = { version
     , sha256
     , rev ? "spl-${version}"
+    , broken ? false
     } @ args : stdenv.mkDerivation rec {
       name = "spl-${configFile}-${version}${optionalString buildKernel "-${kernel.version}"}";
 
@@ -52,6 +53,8 @@ let
           kernel.
         '';
 
+        inherit broken;
+
         homepage = http://zfsonlinux.org/;
         platforms = platforms.linux;
         license = licenses.gpl2Plus;
@@ -63,13 +66,15 @@ in
   assert buildKernel -> kernel != null;
 {
     splStable = common {
-      version = "0.7.2";
-      sha256 = "10rq0npjlp09xjdgn9lc3wm310dqc71j0wgxwj92ncf9r61zf445";
+      version = "0.7.3";
+      sha256 = "0j8mb9ky3pjz9hnz5w6fajpzajl15jq3p0xvxb6lhpqj3rjzsqxb";
+
+      broken = kernel != null && stdenv.lib.versionAtLeast kernel.version "4.14";
     };
 
     splUnstable = common {
-      version = "2017-10-16";
-      rev = "28920ea3346c1c905c5f727ea3e54297e6257568";
-      sha256 = "0m42na009ivb9q9gz15ra94wqx5xdw18waanm56aqzrjxbqqa3ll";
+      version = "2017-11-16";
+      rev = "ed19bccfb651843fa208232b3a2d3d22a4152bc8";
+      sha256 = "08ihjbf5fhcnhq9zavcwswg9djlbalbx1bil4rcv6i3d617wammb";
     };
 }
diff --git a/pkgs/os-specific/linux/tcp-wrappers/default.nix b/pkgs/os-specific/linux/tcp-wrappers/default.nix
index 6a400f1de226..7da4e39ca6c0 100644
--- a/pkgs/os-specific/linux/tcp-wrappers/default.nix
+++ b/pkgs/os-specific/linux/tcp-wrappers/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv }:
+{ fetchurl, stdenv, libnsl }:
 
 let
   vanillaVersion = "7.6.q";
@@ -22,6 +22,8 @@ in stdenv.mkDerivation rec {
     patches="$(cat debian/patches/series | sed 's,^,debian/patches/,') $patches"
   '';
 
+  buildInputs = [ libnsl ];
+
   makeFlags = [ "STRINGS=" "REAL_DAEMON_DIR=$(out)/bin" "linux" ];
 
   installPhase = ''
diff --git a/pkgs/os-specific/linux/trinity/default.nix b/pkgs/os-specific/linux/trinity/default.nix
index 1a6719715d2b..48f6ce4be765 100644
--- a/pkgs/os-specific/linux/trinity/default.nix
+++ b/pkgs/os-specific/linux/trinity/default.nix
@@ -2,29 +2,20 @@
 
 stdenv.mkDerivation rec {
   name = "trinity-${version}";
-  version = "1.6";
+  version = "1.8";
 
   src = fetchFromGitHub {
     owner = "kernelslacker";
     repo = "trinity";
     rev = "v${version}";
-    sha256 = "1jwgsjjbngn2dsnkflyigy3ajd0szksl30dlaiy02jc6mqi3nr0p";
+    sha256 = "1ss6ir3ki2hnj4c8068v5bz8bpa43xqg9zlmzhgagi94g9l05qlf";
   };
 
-  patches = stdenv.lib.singleton (fetchurl {
-    url = "https://github.com/kernelslacker/trinity/commit/b0e66a2d084ffc210bc1fc247efb4d177e9f7e3d.patch";
-    sha256 = "0468fdzbsj3n3k43qm8hf56pa020qn57ripcykv9jfwp215lf0an";
-  });
-
   postPatch = ''
-    patchShebangs ./configure.sh
+    patchShebangs ./configure
     patchShebangs ./scripts/
-    substituteInPlace Makefile --replace '/usr/bin/wc' 'wc'
-    substituteInPlace configure.sh --replace '/usr/include/linux' '${linuxHeaders}/include/linux'
   '';
 
-  configurePhase = "./configure.sh";
-
   enableParallelBuilding = true;
 
   installPhase = "make DESTDIR=$out install";
diff --git a/pkgs/os-specific/linux/virtualbox/default.nix b/pkgs/os-specific/linux/virtualbox/default.nix
index 593c4400b7f4..5bec71a10907 100644
--- a/pkgs/os-specific/linux/virtualbox/default.nix
+++ b/pkgs/os-specific/linux/virtualbox/default.nix
@@ -7,6 +7,14 @@ stdenv.mkDerivation {
     "fortify" "pic" "stackprotector"
   ];
 
+  patches = [
+    ./fix_kerndir.patch
+    ./fix_kbuild.patch
+  ];
+
+  KERN_DIR = "${kernel.dev}/lib/modules/${kernel.modDirVersion}/build";
+  INCLUDE_BASE = "${virtualbox.modsrc}";
+
   makeFlags = [
     "-C ${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
     "INSTALL_MOD_PATH=$(out)"
diff --git a/pkgs/os-specific/linux/virtualbox/fix_kbuild.patch b/pkgs/os-specific/linux/virtualbox/fix_kbuild.patch
new file mode 100644
index 000000000000..242a905c1a05
--- /dev/null
+++ b/pkgs/os-specific/linux/virtualbox/fix_kbuild.patch
@@ -0,0 +1,85 @@
+diff --git a/vboxdrv/Makefile b/vboxdrv/Makefile
+index e262c61..4af8dac 100644
+--- a/vboxdrv/Makefile
++++ b/vboxdrv/Makefile
+@@ -131,7 +131,7 @@ ifdef VBOX_WITH_NATIVE_DTRACE
+  MOD_OBJS += SUPDrvDTrace.o
+ endif
+
+-MOD_INCL  = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
++MOD_INCL  = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux)
+ ifdef VBOX_WITH_NATIVE_DTRACE
+  MOD_INCL += -I/usr/include/linux -I/usr/include
+ endif
+@@ -157,7 +157,7 @@ ifdef VBOX_WITH_TEXT_MODMEM_HACK
+ endif
+
+ # build defs
+-MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h \
++MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h \
+	-fno-omit-frame-pointer -fno-pie
+
+ include $(obj)/Makefile.include.footer
+diff --git a/vboxnetadp/Makefile b/vboxnetadp/Makefile
+index e262c61..4af8dac 100644
+--- a/vboxnetadp/Makefile
++++ b/vboxnetadp/Makefile
+@@ -34,7 +34,7 @@ MOD_OBJS += math/gcc/divdi3.o \
+	math/gcc/umoddi3.o
+ endif
+
+-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
++MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux)
+ MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX \
+	    -DRT_WITH_VBOX -DVBOX_WITH_HARDENING \
+	    -Wno-declaration-after-statement
+@@ -59,6 +59,6 @@ ifdef VBOX_USE_INSERT_PAGE
+ endif
+
+ # build defs
+-MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie
++MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h -fno-pie
+
+ include $(obj)/Makefile.include.footer
+diff --git a/vboxnetflt/Makefile b/vboxnetflt/Makefile
+index e262c61..4af8dac 100644
+--- a/vboxnetflt/Makefile
++++ b/vboxnetflt/Makefile
+@@ -38,7 +38,7 @@ MOD_OBJS += math/gcc/divdi3.o \
+	math/gcc/umoddi3.o
+ endif
+
+-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
++MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux)
+ MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 \
+	-DIN_SUP_R0 -DVBOX -DRT_WITH_VBOX -DVBOX_WITH_HARDENING \
+	-Wno-declaration-after-statement
+@@ -63,6 +63,6 @@ ifdef VBOX_USE_INSERT_PAGE
+ endif
+
+ # build defs
+-MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie
++MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h -fno-pie
+
+ include $(obj)/Makefile.include.footer
+diff --git a/vboxpci/Makefile b/vboxpci/Makefile
+index e262c61..4af8dac 100644
+--- a/vboxpci/Makefile
++++ b/vboxpci/Makefile
+@@ -38,7 +38,7 @@ MOD_OBJS += math/gcc/divdi3.o       \
+	math/gcc/umoddi3.o
+ endif
+
+-MOD_INCL = $(addprefix -I$(KBUILD_EXTMOD),/ /include /r0drv/linux)
++MOD_INCL = $(addprefix -I$(INCLUDE_BASE)/$(MOD_NAME),/ /include /r0drv/linux)
+ MOD_DEFS = -DRT_OS_LINUX -DIN_RING0 -DIN_RT_R0 -DIN_SUP_R0 -DVBOX \
+	-DRT_WITH_VBOX -DVBOX_WITH_HARDENING
+ ifeq ($(BUILD_TARGET_ARCH),amd64)
+@@ -60,6 +60,6 @@ ifdef VBOX_USE_INSERT_PAGE
+ endif
+
+ # build defs
+-MOD_CFLAGS = -include $(KBUILD_EXTMOD)/include/VBox/SUPDrvMangling.h -fno-pie
++MOD_CFLAGS = -include include/VBox/SUPDrvMangling.h -fno-pie
+
+ include $(obj)/Makefile.include.footer
diff --git a/pkgs/os-specific/linux/virtualbox/fix_kerndir.patch b/pkgs/os-specific/linux/virtualbox/fix_kerndir.patch
new file mode 100644
index 000000000000..70ddbbb2ebd5
--- /dev/null
+++ b/pkgs/os-specific/linux/virtualbox/fix_kerndir.patch
@@ -0,0 +1,48 @@
+diff --git a/vboxdrv/Makefile.include.header b/vboxdrv/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/vboxdrv/Makefile.include.header
++++ b/vboxdrv/Makefile.include.header
+@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
+ endif # neq($(KERNELRELEASE),)
+
+ # Kernel build folder
+-KERN_DIR := /lib/modules/$(KERN_VER)/build
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+  $(error Error: unable to find the headers of the Linux kernel to build against. \
+           Specify KERN_VER=<version> and run Make again)
+diff --git a/vboxnetadp/Makefile.include.header b/vboxnetadp/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/vboxnetadp/Makefile.include.header
++++ b/vboxnetadp/Makefile.include.header
+@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
+ endif # neq($(KERNELRELEASE),)
+
+ # Kernel build folder
+-KERN_DIR := /lib/modules/$(KERN_VER)/build
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+  $(error Error: unable to find the headers of the Linux kernel to build against. \
+           Specify KERN_VER=<version> and run Make again)
+diff --git a/vboxnetflt/Makefile.include.header b/vboxnetflt/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/vboxnetflt/Makefile.include.header
++++ b/vboxnetflt/Makefile.include.header
+@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
+ endif # neq($(KERNELRELEASE),)
+
+ # Kernel build folder
+-KERN_DIR := /lib/modules/$(KERN_VER)/build
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+  $(error Error: unable to find the headers of the Linux kernel to build against. \
+           Specify KERN_VER=<version> and run Make again)
+diff --git a/vboxpci/Makefile.include.header b/vboxpci/Makefile.include.header
+index 8df1eb4d25..5a3e5604e7 100644
+--- a/vboxpci/Makefile.include.header
++++ b/vboxpci/Makefile.include.header
+@@ -117,7 +117,6 @@ else # neq($(KERNELRELEASE),)
+ endif # neq($(KERNELRELEASE),)
+
+ # Kernel build folder
+-KERN_DIR := /lib/modules/$(KERN_VER)/build
+ ifneq ($(shell if test -d $(KERN_DIR); then echo yes; fi),yes)
+  $(error Error: unable to find the headers of the Linux kernel to build against. \
+           Specify KERN_VER=<version> and run Make again)
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index e231e3a59892..2ebb2b1890d5 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -3,11 +3,11 @@
 , ncurses, pkgconfig, randrproto, xorgserver, xproto, udev, libXinerama, pixman }:
 
 stdenv.mkDerivation rec {
-  name = "xf86-input-wacom-0.34.0";
+  name = "xf86-input-wacom-0.35.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/linuxwacom/${name}.tar.bz2";
-    sha256 = "0idhkigl0pnyp08sqm6bqfb4h20v6rjrb71z1gdv59gk7d7qwpgi";
+    sha256 = "0za44snc0zirq65a4lxsmg7blp1bynj6j835hm459x8yx1qhmxjm";
   };
 
   buildInputs = [ inputproto libX11 libXext libXi libXrandr libXrender
diff --git a/pkgs/os-specific/linux/zfs/default.nix b/pkgs/os-specific/linux/zfs/default.nix
index bfa8dac72ba7..e932f5163750 100644
--- a/pkgs/os-specific/linux/zfs/default.nix
+++ b/pkgs/os-specific/linux/zfs/default.nix
@@ -140,9 +140,9 @@ in {
     incompatibleKernelVersion = null;
 
     # this package should point to the latest release.
-    version = "0.7.2";
+    version = "0.7.3";
 
-    sha256 = "1dl6i4sg7z0k4p1dmfcm9arx62x30lqsr9hycvhhs3pf58ks8z2v";
+    sha256 = "1bbajrwfilnmfhn1n69gvsaznyc4q29wi7nkwc0p9r4dli37w28b";
 
     extraPatches = [
       (fetchpatch {
@@ -159,10 +159,10 @@ in {
     incompatibleKernelVersion = null;
 
     # this package should point to a version / git revision compatible with the latest kernel release
-    version = "2017-10-16";
+    version = "2017-11-16";
 
-    rev = "7670f721fc82e6cdcdd31f83760a79b6f2f2b998";
-    sha256 = "0ask9d9936s7mhs9q5wzvn6c8fd322i76hs2n7fajfk17b1a1lkj";
+    rev = "d4a72f23863382bdf6d0ae33196f5b5decbc48fd";
+    sha256 = "0q2gkkj11hy8m8cjd70g99bs69ldxvc17ym0x1pgwvs4722hzpha";
     isUnstable = true;
 
     extraPatches = [
diff --git a/pkgs/servers/apache-kafka/default.nix b/pkgs/servers/apache-kafka/default.nix
index cc68697756cd..152e60455746 100644
--- a/pkgs/servers/apache-kafka/default.nix
+++ b/pkgs/servers/apache-kafka/default.nix
@@ -1,20 +1,28 @@
 { stdenv, fetchurl, jre, makeWrapper, bash,
-  majorVersion ? "0.9" }:
+  majorVersion ? "1.0" }:
 
 let
   versionMap = {
-    "0.8" = { kafkaVersion = "0.8.2.2";
-              scalaVersion = "2.10";
-              sha256 = "1azccf1k0nr8y1sfpjgqf9swyp87ypvgva68ci4kczwcx1z9d89v";
-            };
-    "0.9" = { kafkaVersion = "0.9.0.1";
-              scalaVersion = "2.11";
-              sha256 = "0ykcjv5dz9i5bws9my2d60pww1g9v2p2nqr67h0i2xrjm7az8a6v";
-            };
-    "0.10" = { kafkaVersion = "0.10.2.0";
-               scalaVersion = "2.12";
-               sha256 = "0py43s6zv8z7wr2lk8403k07xxckl11gla3vs4gr99lixc4whis1";
-             };
+    "0.9" = {
+      kafkaVersion = "0.9.0.1";
+      scalaVersion = "2.11";
+      sha256 = "0ykcjv5dz9i5bws9my2d60pww1g9v2p2nqr67h0i2xrjm7az8a6v";
+    };
+    "0.10" = {
+      kafkaVersion = "0.10.2.1";
+      scalaVersion = "2.12";
+      sha256 = "0iszr6r0n9yjgq7kcp1hf00fg754m86gs4jzqc18542an94b88z5";
+    };
+    "0.11" = {
+      kafkaVersion = "0.11.0.1";
+      scalaVersion = "2.12";
+      sha256 = "1wj639h95aq5n132fq1rbyzqh5rsa4mlhbg3c5mszqglnzdz4xn7";
+    };
+    "1.0" = {
+      kafkaVersion = "1.0.0";
+      scalaVersion = "2.12";
+      sha256 = "1cs4nmp39m99gqjpy5klsffqksc0h9pz514jkq99qb95a83x1cfm";
+    };
   };
 in
 
diff --git a/pkgs/servers/asterisk/default.nix b/pkgs/servers/asterisk/default.nix
index 1bea8006e9f3..c6cd9f3df4c5 100644
--- a/pkgs/servers/asterisk/default.nix
+++ b/pkgs/servers/asterisk/default.nix
@@ -1,6 +1,6 @@
 { stdenv, pkgs, lib, fetchurl, fetchgit, fetchsvn, fetchpatch,
   jansson, libxml2, libxslt, ncurses, openssl, sqlite,
-  utillinux, dmidecode, libuuid, binutils, newt,
+  utillinux, dmidecode, libuuid, newt,
   lua, speex,
   srtp, wget, curl
 }:
@@ -10,7 +10,7 @@ let
     inherit version;
     name = "asterisk-${version}";
 
-    buildInputs = [ jansson libxml2 libxslt ncurses openssl sqlite utillinux dmidecode libuuid binutils newt lua speex srtp wget curl ];
+    buildInputs = [ jansson libxml2 libxslt ncurses openssl sqlite utillinux dmidecode libuuid newt lua speex srtp wget curl ];
 
     patches = [
       # We want the Makefile to install the default /var skeleton
diff --git a/pkgs/servers/atlassian/confluence.nix b/pkgs/servers/atlassian/confluence.nix
index 8b107e74f3f2..aad2f69bfa6a 100644
--- a/pkgs/servers/atlassian/confluence.nix
+++ b/pkgs/servers/atlassian/confluence.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-confluence-${version}";
-  version = "6.4.2";
+  version = "6.5.0";
 
   src = fetchurl {
     url = "https://www.atlassian.com/software/confluence/downloads/binary/${name}.tar.gz";
-    sha256 = "1akwbgbks6k63m22vrcvvz9jz4wqz380j8gb8lzbzm4yk8y7f4p9";
+    sha256 = "1prac65yczrarb38vvlp7srrhd4gb1zi5v88myfkp6rhwfrdxd0n";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" ];
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index c8b9978a9edc..b99cf57e08bd 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   name = "atlassian-jira-${version}";
-  version = "7.5.1";
+  version = "7.5.2";
 
   src = fetchurl {
     url = "https://downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
-    sha256 = "0dl9sjp1z7h340phmfhwha2j7hj5zcspk8v7n6vhsrfsjbkm80vy";
+    sha256 = "00x00q6k4sb89aipqd28lgn8l7k7w33dpg18r1dn6l7rws1mazfx";
   };
 
   phases = [ "unpackPhase" "buildPhase" "installPhase" "fixupPhase" ];
diff --git a/pkgs/servers/clickhouse/default.nix b/pkgs/servers/clickhouse/default.nix
index 58141a4cf0ee..cebff700e50a 100644
--- a/pkgs/servers/clickhouse/default.nix
+++ b/pkgs/servers/clickhouse/default.nix
@@ -1,22 +1,22 @@
-{ stdenv, fetchFromGitHub, cmake, libtool, boost, double_conversion, gperftools, icu, libmysql, lz4, openssl, poco, re2, readline, sparsehash, unixODBC, zookeeper_mt, zstd }:
+{ stdenv, fetchFromGitHub, cmake, libtool, boost, double_conversion, gperftools, icu, libmysql, lz4, openssl, poco, re2, rdkafka, readline, sparsehash, unixODBC, zookeeper_mt, zstd }:
 
 stdenv.mkDerivation rec {
   name = "clickhouse-${version}";
 
-  version = "1.1.54236";
+  version = "1.1.54310";
 
   src = fetchFromGitHub {
     owner = "yandex";
     repo = "ClickHouse";
     rev = "v${version}-stable";
-    sha256 = "1mfjr1yzvf810vbb35c2rknvqnc4mkncl56ja48myn7hc9p457d7";
+    sha256 = "167pihqak8ip7bmlyrbzl9x3mpn381j8v7pl7nhrl9bfnzgrq69v";
   };
 
   patches = [ ./termcap.patch ];
 
   nativeBuildInputs = [ cmake libtool ];
 
-  buildInputs = [ boost double_conversion gperftools icu libmysql lz4 openssl poco re2 readline sparsehash unixODBC zookeeper_mt zstd ];
+  buildInputs = [ boost double_conversion gperftools icu libmysql lz4 openssl poco re2 rdkafka readline sparsehash unixODBC zookeeper_mt zstd ];
 
   cmakeFlags = [ "-DENABLE_TESTS=OFF" "-DUNBUNDLED=ON" "-DUSE_STATIC_LIBRARIES=OFF" ];
 
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 81d6d54df69c..8ed4541edd67 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -1,6 +1,5 @@
-{ stdenv, fetchurl, pkgconfig, gnutls, jansson, liburcu, lmdb, libcap_ng, libidn
+{ stdenv, fetchurl, pkgconfig, gnutls, liburcu, lmdb, libcap_ng, libidn
 , systemd, nettle, libedit, zlib, libiconv, libintlOrEmpty
-, fetchpatch
 }:
 
 let inherit (stdenv.lib) optional optionals; in
@@ -8,32 +7,18 @@ 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.6.0";
+  version = "2.6.1";
 
   src = fetchurl {
     url = "http://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "68e04961d0bf6ba193cb7ec658b295c4ff6e60b3754d64bcd77ebdcee0f283fd";
+    sha256 = "3013d45b4c7484268f3cad078f66f730a5bc9606e6b1061488dd821c1dce41e3";
   };
 
-  patches = [
-    # remove both for >= 2.6.1
-    (fetchpatch {
-      name = "kdig-tls.patch";
-      url = "https://gitlab.labs.nic.cz/knot/knot-dns/commit/b72d5cd032795.diff";
-      sha256 = "0ig31rp82j49jh8n3s0dcf5abhh35mcp2k2wii7bh0c60ngb29k6";
-    })
-    (fetchpatch {
-      name = "kdig-tls-sni.patch";
-      url = "https://gitlab.labs.nic.cz/knot/knot-dns/commit/2e94ccee671ec70e.diff";
-      sha256 = "0psl6650v7g240i8w196v7zxy6j11d0aa6hm11b7vnaimjshgibv";
-    })
-  ];
-
   outputs = [ "bin" "out" "dev" ];
 
   nativeBuildInputs = [ pkgconfig ];
   buildInputs = [
-    gnutls jansson liburcu libidn
+    gnutls liburcu libidn
     nettle libedit
     libiconv lmdb
     # without sphinx &al. for developer documentation
diff --git a/pkgs/servers/dns/knot-resolver/default.nix b/pkgs/servers/dns/knot-resolver/default.nix
index 44c8b933400e..d8aed9b3143f 100644
--- a/pkgs/servers/dns/knot-resolver/default.nix
+++ b/pkgs/servers/dns/knot-resolver/default.nix
@@ -10,11 +10,11 @@ let
 in
 stdenv.mkDerivation rec {
   name = "knot-resolver-${version}";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "http://secure.nic.cz/files/knot-resolver/${name}.tar.xz";
-    sha256 = "ac19c121fd687c7e4f5f907b46932d26f8f9d9e01626c4dadb3847e25ea31ceb";
+    sha256 = "c032e63a6b922294746e1ab4002860346e7a6d92b8502965a13ba599088fcb42";
   };
 
   outputs = [ "out" "dev" ];
@@ -41,6 +41,7 @@ stdenv.mkDerivation rec {
   installCheckTarget = "check";
   preInstallCheck = ''
     export LD_LIBRARY_PATH="$out/lib"
+    sed '/^\thints$/c #' -i tests/config/test_config.mk
   '';
 
   postInstall = ''
diff --git a/pkgs/servers/dns/pdns-recursor/default.nix b/pkgs/servers/dns/pdns-recursor/default.nix
index 0e8d1e70bc70..9b017249c15e 100644
--- a/pkgs/servers/dns/pdns-recursor/default.nix
+++ b/pkgs/servers/dns/pdns-recursor/default.nix
@@ -11,11 +11,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "pdns-recursor-${version}";
-  version = "4.0.4";
+  version = "4.0.6";
 
   src = fetchurl {
     url = "https://downloads.powerdns.com/releases/pdns-recursor-${version}.tar.bz2";
-    sha256 = "0k8y9zxj2lz4rq782vgzr28yd43q0hwlnvszwq0k9l6c967pff13";
+    sha256 = "03fnjiacvhdlkr3a2206mham0p6p24gkawashs5v12r68k32l67j";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -29,6 +29,8 @@ stdenv.mkDerivation rec {
     "--with-systemd"
   ];
 
+  enableParallelBuilding = true;
+
   meta = {
     description = "A recursive DNS server";
     homepage = http://www.powerdns.com/;
diff --git a/pkgs/servers/emby/default.nix b/pkgs/servers/emby/default.nix
index ad4ed0a11adc..745ed18c00f8 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.33.0";
+  version = "3.2.36.0";
 
   src = fetchurl {
     url = "https://github.com/MediaBrowser/Emby/releases/download/${version}/Emby.Mono.zip";
-    sha256 = "1f8rcpbj6j46d46r6pmxvwz0mzxcjra47zx4ffvk8vi78m8kr56g";
+    sha256 = "0b75v6g7qm03jqm5za70z4x5lqks3a4cd84vblqr35zrla9vs83b";
   };
 
   buildInputs = with pkgs; [
diff --git a/pkgs/servers/gpm/default.nix b/pkgs/servers/gpm/default.nix
index e260ccfb761b..6096aa1ed74d 100644
--- a/pkgs/servers/gpm/default.nix
+++ b/pkgs/servers/gpm/default.nix
@@ -12,6 +12,11 @@ stdenv.mkDerivation rec {
     sha256 = "13d426a8h403ckpc8zyf7s2p5rql0lqbg2bv0454x0pvgbfbf4gh";
   };
 
+  postPatch = ''
+    sed '1i#include <sys/types.h>' -i src/daemon/open_console.c
+    substituteInPlace src/prog/gpm-root.y --replace __sigemptyset sigemptyset
+  '';
+
   nativeBuildInputs = [ automake autoconf libtool flex bison texinfo ];
   buildInputs = [ ncurses ];
 
diff --git a/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch b/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch
new file mode 100644
index 000000000000..dda21c54f693
--- /dev/null
+++ b/pkgs/servers/http/4store/4store-1.1.6-glibc-2.26.patch
@@ -0,0 +1,12 @@
+diff --git a/src/frontend/filter-datatypes.c b/src/frontend/filter-datatypes.c
+index 8aae1dd..49ed358 100644
+--- a/src/frontend/filter-datatypes.c
++++ b/src/frontend/filter-datatypes.c
+@@ -23,6 +23,7 @@
+ #include <string.h>
+ #include <math.h>
+ #define __USE_MISC
++#define __USE_XOPEN_EXTENDED
+ #include <time.h>
+ 
+ #include "filter.h"
diff --git a/pkgs/servers/http/4store/default.nix b/pkgs/servers/http/4store/default.nix
index 18cfe488f83f..186b0790e4a1 100644
--- a/pkgs/servers/http/4store/default.nix
+++ b/pkgs/servers/http/4store/default.nix
@@ -11,15 +11,18 @@ stdenv.mkDerivation rec {
   version = "1.1.6";
 
   src = fetchFromGitHub {
-    owner = "garlik";
+    owner = "4store";
     repo = "4store";
     rev = "v${version}";
     sha256 = "1kzdfmwpzy64cgqlkcz5v4klwx99w0jk7afckyf7yqbqb4rydmpk";
   };
 
+  patches = [ ./4store-1.1.6-glibc-2.26.patch ];
+
+  nativeBuildInputs = [ autoreconfHook perl pkgconfig which ];
+
   buildInputs = [ librdf_raptor librdf_rasqal glib libxml2 pcre
-    avahi readline ncurses expat zlib pkgconfig which perl libuuid
-    gmp mpfr autoreconfHook ];
+    avahi readline ncurses expat zlib libuuid gmp mpfr ];
 
   # needed for ./autogen.sh
   prePatch = ''
@@ -29,15 +32,17 @@ stdenv.mkDerivation rec {
   preConfigure =  ''
     sed -e 's@#! */bin/bash@#! ${stdenv.shell}@' -i configure
     find . -name Makefile -exec sed -e "s@/usr/local@$out@g" -i '{}' ';'
-    
+
     rm src/utilities/4s-backend 
     sed -e 's@/var/lib/4store@${db_dir}@g' -i configure.ac src/utilities/*
     sed -e '/FS_STORE_ROOT/d' -i src/utilities/Makefile*
   '';
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "SparQL query server (RDF storage)";
-    homepage = http://4store.org/;
+    homepage = https://4store.danielknoell.de/;
     maintainers = with maintainers; [ raskin ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
index 1d8507fc4eb3..1e898075d191 100644
--- a/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_wsgi/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://code.google.com/p/modwsgi/;
+    homepage = https://github.com/GrahamDumpleton/mod_wsgi;
     description = "Host Python applications in Apache through the WSGI interface";
     license = stdenv.lib.licenses.asl20;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/servers/http/hyp/default.nix b/pkgs/servers/http/hyp/default.nix
new file mode 100644
index 000000000000..3a1eb50f05be
--- /dev/null
+++ b/pkgs/servers/http/hyp/default.nix
@@ -0,0 +1,19 @@
+{ stdenv, fetchurl, python3Packages }:
+
+python3Packages.buildPythonPackage rec {
+  name = "hyp-server-${version}";
+  version = "1.2.0";
+
+  src = fetchurl {
+    url    = "mirror://pypi/h/hyp-server/${name}.tar.gz";
+    sha256 = "1lafjdcn9nnq6xc3hhyizfwh6l69lc7rixn6dx65aq71c913jc15";
+  };
+
+  meta = with stdenv.lib; {
+    description = "Hyperminimal https server";
+    homepage    = https://github.com/rnhmjoj/hyp;
+    license     = with licenses; [gpl3Plus mit];
+    maintainers = with maintainers; [ rnhmjoj ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/servers/kippo/default.nix b/pkgs/servers/kippo/default.nix
index 2e2923e17c39..554401438705 100644
--- a/pkgs/servers/kippo/default.nix
+++ b/pkgs/servers/kippo/default.nix
@@ -63,8 +63,8 @@ in stdenv.mkDerivation rec {
     name = "kippo-${version}";
     version = "0.8";
     src = fetchurl {
-      url = "https://kippo.googlecode.com/files/kippo-${version}.tar.gz";
-      sha1 = "f57a5cf88171cb005afe44a4b33cb16f825c33d6";
+      url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/kippo/${name}.tar.gz";
+      sha256 = "0rd2mk36d02qd24z8s4xyy64fy54rzpar4379iq4dcjwg7l7f63d";
     };
     buildInputs = with pythonPackages; [ pycrypto pyasn1 twisted_13 ];
     installPhase = ''
@@ -76,17 +76,17 @@ in stdenv.mkDerivation rec {
             --replace "data_path = data" "data_path = /var/lib/kippo/data" \
             --replace "txtcmds_path = txtcmds" "txtcmds_path = /var/lib/kippo/txtcmds" \
             --replace "public_key = public.key" "public_key = /var/lib/kippo/keys/public.key" \
-            --replace "private_key = private.key" "private_key = /var/lib/kippo/keys/private.key" 
+            --replace "private_key = private.key" "private_key = /var/lib/kippo/keys/private.key"
         mkdir -p $out/bin
         mkdir -p $out/src
-        mv ./* $out/src 
+        mv ./* $out/src
         mv $out/src/utils/* $out/bin
         '';
 
     passthru.twisted = twisted_13;
 
     meta = with stdenv.lib; {
-      homepage = https://code.google.com/p/kippo;
+      homepage = https://github.com/desaster/kippo;
       description = "SSH Honeypot";
       longDescription = ''
         Default port is 2222. Recommend using something like this for port redirection to default SSH port:
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 1bb9d83375a8..7b6be5ec39e8 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl
+{ stdenv, lib, fetchurl, makeWrapper, gnused, db, openssl, cyrus_sasl, libnsl
 , coreutils, findutils, gnugrep, gawk, icu, pcre
 , withPgSQL ? false, postgresql
 , withMySQL ? false, libmysql
@@ -32,7 +32,8 @@ in stdenv.mkDerivation rec {
     sha256 = "1gs025smgynrlsg44cypjam99ds92mc9q46l5085d9sy0xfrf2sv";
   };
 
-  buildInputs = [ makeWrapper gnused db openssl cyrus_sasl icu pcre ]
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ db openssl cyrus_sasl icu libnsl pcre ]
                 ++ lib.optional withPgSQL postgresql
                 ++ lib.optional withMySQL libmysql
                 ++ lib.optional withSQLite sqlite
diff --git a/pkgs/servers/mail/rspamd/default.nix b/pkgs/servers/mail/rspamd/default.nix
index 13834f952827..2b81edf48ba3 100644
--- a/pkgs/servers/mail/rspamd/default.nix
+++ b/pkgs/servers/mail/rspamd/default.nix
@@ -1,22 +1,22 @@
 { stdenv, fetchFromGitHub, cmake, perl
-, file, glib, gmime, libevent, luajit, openssl, pcre, pkgconfig, sqlite, ragel }:
+, file, glib, gmime, libevent, luajit, openssl, pcre, pkgconfig, sqlite, ragel, icu, libfann }:
 
 let libmagic = file;  # libmagic provided by file package ATM
 in
 
 stdenv.mkDerivation rec {
   name = "rspamd-${version}";
-  version = "1.4.3";
+  version = "1.6.5";
 
   src = fetchFromGitHub {
     owner = "vstakhov";
     repo = "rspamd";
     rev = version;
-    sha256 = "1wrqi8vsd61rc48x2gyhc0xrir9pr372lpkyhwgx1rpxzdxsdwh9";
+    sha256 = "1idy81absr5w677d4jlzic33hsrn0zjzbfhhdn6viym9vr8dvjx9";
   };
 
   nativeBuildInputs = [ cmake pkgconfig perl ];
-  buildInputs = [ glib gmime libevent libmagic luajit openssl pcre sqlite ragel ];
+  buildInputs = [ glib gmime libevent libmagic luajit openssl pcre sqlite ragel icu libfann];
 
   postPatch = ''
     substituteInPlace conf/common.conf --replace "\$CONFDIR/rspamd.conf.local" "/etc/rspamd/rspamd.conf.local"
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index c7c33928714b..73498e5b8844 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -1,6 +1,6 @@
 { lib, pkgs, stdenv, pythonPackages, fetchurl, fetchFromGitHub }:
 let
-  matrix-angular-sdk = pythonPackages.buildPythonApplication rec {
+  matrix-angular-sdk = pythonPackages.buildPythonPackage rec {
     name = "matrix-angular-sdk-${version}";
     version = "0.6.8";
 
@@ -9,7 +9,7 @@ let
       sha256 = "0gmx4y5kqqphnq3m7xk2vpzb0w2a4palicw7wfdr1q2schl9fhz2";
     };
   };
-  matrix-synapse-ldap3 = pythonPackages.buildPythonApplication rec {
+  matrix-synapse-ldap3 = pythonPackages.buildPythonPackage rec {
     name = "matrix-synapse-ldap3-${version}";
     version = "0.1.2";
 
@@ -24,24 +24,24 @@ let
   };
 in pythonPackages.buildPythonApplication rec {
   name = "matrix-synapse-${version}";
-  version = "0.22.1";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "synapse";
     rev = "v${version}";
-    sha256 = "06kqqsfqmziff7i99yyxqvkqjm7fwi56abc2vy25g9kqzpdvkay7";
+    sha256 = "08w8sawq0nj28dzi9wc4rsg9z2qv528djj4zbcs5c4yc3mylq1nq";
   };
 
   patches = [ ./matrix-synapse.patch ];
 
   propagatedBuildInputs = with pythonPackages; [
-    blist canonicaljson daemonize dateutil frozendict pillow pybcrypt pyasn1
+    blist canonicaljson daemonize dateutil frozendict pillow pyasn1
     pydenticon pymacaroons-pynacl pynacl pyopenssl pysaml2 pytz requests
     signedjson systemd twisted ujson unpaddedbase64 pyyaml
     matrix-angular-sdk bleach netaddr jinja2 psycopg2
     psutil msgpack lxml matrix-synapse-ldap3
-    phonenumbers jsonschema
+    phonenumbers jsonschema affinity bcrypt
   ];
 
   # Checks fail because of Tox.
diff --git a/pkgs/servers/matterbridge/default.nix b/pkgs/servers/matterbridge/default.nix
index 1fe07a74f839..5b2335c73f6f 100644
--- a/pkgs/servers/matterbridge/default.nix
+++ b/pkgs/servers/matterbridge/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "matterbridge-${version}";
-  version = "1.1.0";
+  version = "1.4.1";
 
   goPackagePath = "github.com/42wim/matterbridge";
 
   src = fetchurl {
     url = "https://github.com/42wim/matterbridge/archive/v${version}.tar.gz";
-    sha256 = "1br3rf500jdklzpxg1lkagglvmqshhligfkhndi8plg9hmzpd8qp";
+    sha256 = "0m0phv8rngrp9gfn71gd2z184n60rng1fmvmv5nkmzsclr2y7x8b";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index c99f939437b0..5fab7e7b29fe 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -1,22 +1,37 @@
-{ stdenv, fetchurl }:
+{ stdenv, fetchurl, fetchFromGitHub, buildGoPackage }:
 
-stdenv.mkDerivation rec {
+buildGoPackage rec {
   name = "mattermost-${version}";
-  version = "4.1.0";
+  version = "4.4.0";
 
-  src = fetchurl {
+  src = fetchFromGitHub {
+    owner = "mattermost";
+    repo = "mattermost-server";
+    rev = "v${version}";
+    sha256 = "0imda96wgr2nkkxs2jfcqszx1fqgmbbrh7zqmgjh6ks3an1v4m3c";
+  };
+
+  webApp = fetchurl {
     url = "https://releases.mattermost.com/${version}/mattermost-team-${version}-linux-amd64.tar.gz";
-    sha256 = "0bp56i108pxsqcswxy1hdz3d8wq83lc29wcq6npimwx566rx4xhf";
+    sha256 = "1ifxx17sm24c6sihg38lzpnb5x24m04bk25nn5hrw9iwc37lfzlp";
   };
 
-  installPhase = ''
-    mkdir -p $out
-    mv * $out/
-    ln -s ./platform $out/bin/mattermost-platform
+  goPackagePath = "github.com/mattermost/mattermost-server";
+
+  buildPhase = ''
+    runHook preBuild
+    cd go/src/${goPackagePath}/cmd/platform
+    go install
+    runHook postBuild
+  '';
+
+  preInstall = ''
+    mkdir -p $bin
+    tar --strip 1 -C $bin -xf $webApp
   '';
 
-  postFixup = ''
-    patchelf --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" $out/bin/platform
+  postInstall = ''
+    ln -s $bin/bin/platform $bin/bin/mattermost-platform
   '';
 
   meta = with stdenv.lib; {
@@ -24,6 +39,6 @@ stdenv.mkDerivation rec {
     homepage = https://www.mattermost.org;
     license = with licenses; [ agpl3 asl20 ];
     maintainers = with maintainers; [ fpletz ];
-    platforms = [ "x86_64-linux" ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/servers/monitoring/lcdproc/default.nix b/pkgs/servers/monitoring/lcdproc/default.nix
index 027e10901573..859849f7b2c7 100644
--- a/pkgs/servers/monitoring/lcdproc/default.nix
+++ b/pkgs/servers/monitoring/lcdproc/default.nix
@@ -24,7 +24,9 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ freetype libX11 libftdi libusb libusb1 ncurses ];
   nativeBuildInputs = [ autoreconfHook doxygen makeWrapper pkgconfig ];
-  enableParallelBuilding = true;
+
+  # In 0.5.9: gcc: error: libbignum.a: No such file or directory
+  enableParallelBuilding = false;
 
   postFixup = ''
     for f in $out/bin/*.pl ; do
diff --git a/pkgs/servers/monitoring/mtail/default.nix b/pkgs/servers/monitoring/mtail/default.nix
new file mode 100644
index 000000000000..5044aef2bb53
--- /dev/null
+++ b/pkgs/servers/monitoring/mtail/default.nix
@@ -0,0 +1,26 @@
+{ lib, fetchFromGitHub, gotools, buildGoPackage }:
+
+buildGoPackage rec {
+  name = "mtail-${version}";
+  version = "3.0.0-rc4";
+  goPackagePath = "github.com/google/mtail";
+
+  src = fetchFromGitHub {
+    owner = "google";
+    repo = "mtail";
+    rev = "v${version}";
+    sha256 = "1n7pqvid48ayn15qfpgpbsx0iqg24x08wphzpc08mlfw47gq7jg3";
+  };
+
+  buildInputs = [ gotools ];
+  goDeps = ./deps.nix;
+  patches = [ ./fix-gopath.patch ];
+  preBuild = "go generate -x ./go/src/github.com/google/mtail/vm/";
+
+
+  meta = with lib; {
+    license = licenses.asl20;
+    homepage = "https://github.com/google/mtail";
+    description = "Tool for extracting metrics from application logs";
+  };
+}
diff --git a/pkgs/servers/monitoring/mtail/deps.nix b/pkgs/servers/monitoring/mtail/deps.nix
new file mode 100644
index 000000000000..6de3c8b6e139
--- /dev/null
+++ b/pkgs/servers/monitoring/mtail/deps.nix
@@ -0,0 +1,56 @@
+[
+  rec {
+    goPackagePath = "github.com/golang/glog";
+    fetch = {
+      type = "git";
+      url = "https://${goPackagePath}.git";
+      rev = "23def4e6c14b4da8ac2ed8007337bc5eb5007998";
+      sha256 = "0jb2834rw5sykfr937fxi8hxi2zy80sj2bdn9b3jb4b26ksqng30";
+    };
+  }
+  rec {
+    goPackagePath = "github.com/spf13/afero";
+    fetch = {
+      type = "git";
+      url = "https://${goPackagePath}.git";
+      rev = "5660eeed305fe5f69c8fc6cf899132a459a97064";
+      sha256 = "0rpwvjp9xfmy2yvbmy810qamjhimr56zydvx7hb1gjn3b7jp4rhd";
+    };
+  }
+  rec {
+    goPackagePath = "github.com/fsnotify/fsnotify";
+    fetch = {
+      type = "git";
+      url = "https://${goPackagePath}.git";
+      rev = "v1.4.2";
+      sha256 = "06wfg1mmzjj04z7d0q1x2fai9k6hm957brngsaf02fa9a3qqanv3";
+    };
+  }
+  rec {
+    goPackagePath = "github.com/pkg/errors";
+    fetch = {
+      type = "git";
+      url = "https://${goPackagePath}.git";
+      rev = "v0.8.0";
+      sha256 = "001i6n71ghp2l6kdl3qq1v2vmghcz3kicv9a5wgcihrzigm75pp5";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "95c6576299259db960f6c5b9b69ea52422860fce";
+      sha256 = "1fhq8bianb9a1iccpr92mi2hix9zvm10n0f7syx6vfbxdw32i316";
+    };
+  }
+  {
+    goPackagePath = "golang.org/x/text";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/text";
+      rev = "3ba1a4dc141f5236b19ccbf2f67cb63d1a688d46";
+      sha256 = "07sbakmman41p5hmdbf4y2wak0gh7k1z88m0zb72acsypp4179h1";
+    };
+  }
+]
diff --git a/pkgs/servers/monitoring/mtail/fix-gopath.patch b/pkgs/servers/monitoring/mtail/fix-gopath.patch
new file mode 100644
index 000000000000..9421d194a9e5
--- /dev/null
+++ b/pkgs/servers/monitoring/mtail/fix-gopath.patch
@@ -0,0 +1,13 @@
+diff --git a/vm/compiler.go b/vm/compiler.go
+index c55266b..a46417c 100644
+--- a/vm/compiler.go
++++ b/vm/compiler.go
+@@ -2,7 +2,7 @@
+ // This file is available under the Apache license.
+ 
+ // Build the parser:
+-//go:generate $GOPATH/bin/goyacc -v y.output -o parser.go -p mtail parser.y
++//go:generate goyacc -v y.output -o parser.go -p mtail parser.y
+ 
+ package vm
+ 
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 59b27efba568..f71ed052d04e 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   name = "telegraf-${version}";
-  version = "1.4.2";
+  version = "1.4.4";
 
   goPackagePath = "github.com/influxdata/telegraf";
 
@@ -12,7 +12,7 @@ buildGoPackage rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "${version}";
-    sha256 = "1lmk0czqbr4mn1zf99403r8s6nyyk3bxwgvxfx7w4apvxl433iw4";
+    sha256 = "1hyjbx0hwyh39dgij86xlznaqnzh8m0yk96phqgxs328dlcxfl07";
   };
 
   buildFlagsArray = [ ''-ldflags=
diff --git a/pkgs/servers/monitoring/telegraf/deps-1.4.2.nix b/pkgs/servers/monitoring/telegraf/deps-1.4.4.nix
index 4391d58164f0..0cfcf03dd148 100644
--- a/pkgs/servers/monitoring/telegraf/deps-1.4.2.nix
+++ b/pkgs/servers/monitoring/telegraf/deps-1.4.4.nix
@@ -482,8 +482,8 @@
     fetch = {
       type = "git";
       url = "https://github.com/shirou/gopsutil";
-      rev = "9a4a9167ad3b4355dbf1c2c7a0f5f0d3fb1e9ab9";
-      sha256 = "0pzvkszga4clj3nqlbs9g9rk7jxb8jdcszhscwgk1chqqwifhyxj";
+      rev = "48fc5612898a1213aa5d6a0fb2d4f7b968e898fb";
+      sha256 = "14mwpxd2v3y4mr0g37g99vhy9jkaaaw29d3j7427rpv568vyb8sd";
     };
   }
   {
@@ -577,6 +577,15 @@
     };
   }
   {
+    goPackagePath = "golang.org/x/sys";
+    fetch = {
+      type = "git";
+      url = "https://go.googlesource.com/sys";
+      rev = "739734461d1c916b6c72a63d7efda2b27edb369f";
+      sha256 = "0b0yh28ap1q0b8myg0gw4p9d6m71ry0d3n4hiycvd8sgk327379a";
+    };
+  }
+  {
     goPackagePath = "golang.org/x/text";
     fetch = {
       type = "git";
diff --git a/pkgs/servers/monitoring/uchiwa/bower-packages.nix b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
index 06144eedbf49..db23987d4aac 100644
--- a/pkgs/servers/monitoring/uchiwa/bower-packages.nix
+++ b/pkgs/servers/monitoring/uchiwa/bower-packages.nix
@@ -1,7 +1,7 @@
 # Generated by bower2nix v3.2.0 (https://github.com/rvl/bower2nix)
 { fetchbower, buildEnv }:
 buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
-  (fetchbower "uchiwa-web" "0.26.0" "0.26.0" "1ywbmay0pwm7rj4y0yqk6a3a62lv32ncshwy5j02rq5b2nf7lbc3")
+  (fetchbower "uchiwa-web" "0.26.3" "0.26.3" "1qc69jk3730skdg2vdqncjwg15vywb1a9f8jqk6kwggmkwdklr0p")
   (fetchbower "angular" "1.6.6" "~1.6.3" "1hc71mpipbdz6ban4zkagdhmn3rw28ksjkr6nwmbzfcpk59gnzkb")
   (fetchbower "angular-bootstrap" "2.2.0" "~2.2.0" "11r2nlwp6xrim2y6lnrr8v064mx3bmlxchqpg1i803v9zxz3q53d")
   (fetchbower "angular-cookies" "1.6.6" "~1.6.3" "0qfk0az32fmrn71ywjl63k7hgan0f0bb4d7fx7q5ch2kd75rzkfm")
@@ -19,7 +19,7 @@ buildEnv { name = "bower-env"; ignoreCollisions = true; paths = [
   (fetchbower "highlightjs" "9.1.0" "~9.1.0" "0ld1da3h416a5j8v3v50rrpm4xwvvq8k8y2vwncvaqm9cqddz4s3")
   (fetchbower "moment" "2.16.0" "~2.16.0" "1mji892i60f2aw3vhl6878acrcgh0ycn3r4af0ivnjf8az2b9n71")
   (fetchbower "moment-picker" "0.9.11" "~0.9.7" "0p2g6rp2kcixydrga9lfihg4bxb598rvpi8n8l59mp549diy7vsb")
-  (fetchbower "ua-parser-js" "0.7.14" "~0.7.12" "0bpyfbaixz2dhkc19r7zgm61n4rncrvfyvj61c5kn6fmj68fdbz3")
+  (fetchbower "ua-parser-js" "0.7.17" "~0.7.12" "1dx46rm9han9fj409rjxrlnrk9zxmaqbnn62ljnh32ihngd4yxh0")
   (fetchbower "jsoneditor" "5.5.11" "~5.5.10" "1gfsf8jqnd3hb3r9s9246mg40iqxk2ix8k4bjnrsbfmg6cd3xw6x")
   (fetchbower "jquery" "3.2.1" ">= 1.9.0" "03vn0kq07yxl3i5shc6b0mjck1vdbz1x0jspd3wwb169mvlsxxn3")
 ]; }
diff --git a/pkgs/servers/monitoring/uchiwa/src.nix b/pkgs/servers/monitoring/uchiwa/src.nix
index 4b14eea17ff8..924a92a2785e 100644
--- a/pkgs/servers/monitoring/uchiwa/src.nix
+++ b/pkgs/servers/monitoring/uchiwa/src.nix
@@ -1,4 +1,4 @@
 {
-  version = "0.26.0-1";
-  sha256  = "10f71wsv43jbbwvw3wicr8r1bml51smfakf4r10mi4zq1l37h77z";
+  version = "0.26.3-1";
+  sha256  = "13gklnrzhcj7s7j1ga5pa7ijwav0w9a96lqh4m7858mmm92v0bsk";
 }
diff --git a/pkgs/servers/monitoring/uchiwa/update.sh b/pkgs/servers/monitoring/uchiwa/update.sh
deleted file mode 100755
index 33e3dacdda5d..000000000000
--- a/pkgs/servers/monitoring/uchiwa/update.sh
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl.bin git.out jq.out nodePackages.bower2nix
-
-set -euo pipefail
-IFS=$'\n\t'
-
-# set -x
-
-REPO=sensu/uchiwa
-SHA="1111111111111111111111111111111111111111111111111111"
-
-write_src() {
-  cat <<_EOF > src.nix
-{
-  version = "${VERSION}";
-  sha256  = "${SHA}";
-}
-_EOF
-}
-
-t=$(mktemp -d)
-
-LATEST_VERSION=$(curl https://api.github.com/repos/${REPO}/tags -s | jq '.[0]' -r | jq .name -r)
-echo "Latest version: ${LATEST_VERSION}"
-
-VERSION=${1:-${LATEST_VERSION}}
-echo "Updating to: ${VERSION}"
-
-write_src
-
-curl https://raw.githubusercontent.com/${REPO}/${VERSION}/bower.json -s > $t/bower.json
-bower2nix $t/bower.json $t/bower-packages.nix
-mv $t/bower-packages.nix .
-# sed -i 's@/@-@g' bower-packages.nix
-
-pushd $(git rev-parse --show-toplevel)
-SHA=$(nix-prefetch-url -A uchiwa.src)
-popd
-
-write_src
-
-rm -r $t
diff --git a/pkgs/servers/nosql/apache-jena/binary.nix b/pkgs/servers/nosql/apache-jena/binary.nix
index 897ab3b49647..b028fcdf37d5 100644
--- a/pkgs/servers/nosql/apache-jena/binary.nix
+++ b/pkgs/servers/nosql/apache-jena/binary.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="apache-jena";
-    version = "3.2.0";
+    version = "3.5.0";
     name="${baseName}-${version}";
     url="http://archive.apache.org/dist/jena/binaries/apache-jena-${version}.tar.gz";
-    sha256 = "0n15mx8lnamkf3a1wlgx5slh6615m14wclv8fzkbb1xqq001c3j4";
+    sha256 = "08hfn359l9s4lckba9xgghkn32r12gqzjjr5s5hn3fzkbsig7njy";
   };
   buildInputs = [
     makeWrapper
diff --git a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
index 2cce6cff9020..6b15c165dfdf 100644
--- a/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
+++ b/pkgs/servers/nosql/apache-jena/fuseki-binary.nix
@@ -3,10 +3,10 @@ let
   s = # Generated upstream information
   rec {
     baseName="apache-jena-fuseki";
-    version = "2.5.0";
+    version = "3.5.0";
     name="${baseName}-${version}";
     url="http://archive.apache.org/dist/jena/binaries/apache-jena-fuseki-${version}.tar.gz";
-    sha256 = "0qkdpifv30138y7d6vj0dksk4fbgcnwl26dqm89q0d66sc0czfbv";
+    sha256 = "0pdq103vqpkbwi84yyigw4dy60ch7xzazaj3gfcbipg73v81wpvp";
   };
   buildInputs = [
     makeWrapper
diff --git a/pkgs/servers/nosql/influxdb/default.nix b/pkgs/servers/nosql/influxdb/default.nix
index b2cc7afb8045..5043c36f8c20 100644
--- a/pkgs/servers/nosql/influxdb/default.nix
+++ b/pkgs/servers/nosql/influxdb/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   name = "influxdb-${version}";
-  version = "1.0.2";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "influxdata";
     repo = "influxdb";
     rev = "v${version}";
-    sha256 = "0z8y995gm2hpxny7l5nx5fjc5c26hfgvghwmzva8d1mrlnapcsyc";
+    sha256 = "048ap70hdfkxhy0y8q1jsb0lql1i99jnf3cqaqar6qs2ynzsw9hd";
   };
 
   goPackagePath = "github.com/influxdata/influxdb";
diff --git a/pkgs/servers/nosql/influxdb/deps-1.0.2.nix b/pkgs/servers/nosql/influxdb/deps-1.0.2.nix
deleted file mode 100644
index f1c8103db331..000000000000
--- a/pkgs/servers/nosql/influxdb/deps-1.0.2.nix
+++ /dev/null
@@ -1,164 +0,0 @@
-[
-  {
-    goPackagePath= "collectd.org";
-    fetch= {
-      type= "git";
-      url= "https://github.com/collectd/go-collectd.git";
-      rev= "9fc824c70f713ea0f058a07b49a4c563ef2a3b98";
-      sha256= "0kjal6bsjpnppfnlqbg7g56xwssaj2ani499yykyj817zq56hi0w";
-    };
-  }
-  {
-    goPackagePath= "github.com/BurntSushi/toml";
-    fetch= {
-      type= "git";
-      url= "https://github.com/BurntSushi/toml.git";
-      rev= "99064174e013895bbd9b025c31100bd1d9b590ca";
-      sha256= "058qrar8rvw3wb0ci1mf1axnqq2729cvv9zmdr4ms2nn9s97yiz9";
-    };
-  }
-  {
-    goPackagePath= "github.com/bmizerany/pat";
-    fetch= {
-      type= "git";
-      url= "https://github.com/bmizerany/pat.git";
-      rev= "c068ca2f0aacee5ac3681d68e4d0a003b7d1fd2c";
-      sha256= "02ayddkp2b22rixw5jldw3kb6762zzkg5zhxwcv9v9yp0x39qw6r";
-    };
-  }
-  {
-    goPackagePath= "github.com/boltdb/bolt";
-    fetch= {
-      type= "git";
-      url= "https://github.com/boltdb/bolt.git";
-      rev= "5cc10bbbc5c141029940133bb33c9e969512a698";
-      sha256= "0m3icjqymqr9hmsss61fl9lmvspq8kv0bhynkqfwpdgc9wbb1a4n";
-    };
-  }
-  {
-    goPackagePath= "github.com/davecgh/go-spew";
-    fetch= {
-      type= "git";
-      url= "https://github.com/davecgh/go-spew.git";
-      rev= "5215b55f46b2b919f50a1df0eaa5886afe4e3b3d";
-      sha256= "15h9kl73rdbzlfmsdxp13jja5gs7sknvqkpq2qizq3qv3nr1x8dk";
-    };
-  }
-  {
-    goPackagePath= "github.com/dgrijalva/jwt-go";
-    fetch= {
-      type= "git";
-      url= "https://github.com/dgrijalva/jwt-go.git";
-      rev= "9b486c879bab3fde556ce8c27d9a2bb05d5b2c60";
-      sha256= "0rpinzvbhdy27b1rs7yxwsiqp5j5yd4lw8kbyrd0f5z2q1frchk3";
-    };
-  }
-  {
-    goPackagePath= "github.com/dgryski/go-bits";
-    fetch= {
-      type= "git";
-      url= "https://github.com/dgryski/go-bits.git";
-      rev= "2ad8d707cc05b1815ce6ff2543bb5e8d8f9298ef";
-      sha256= "08mxwa4c77dgpvz2ygwd0pc929qxwff95y680mjjgbvj8yifiag2";
-    };
-  }
-  {
-    goPackagePath= "github.com/dgryski/go-bitstream";
-    fetch= {
-      type= "git";
-      url= "https://github.com/dgryski/go-bitstream.git";
-      rev= "7d46cd22db7004f0cceb6f7975824b560cf0e486";
-      sha256= "1k9l16y7l2mkfvnp2ydv9cqly8179wqd20am4zy0q77qcsawkksx";
-    };
-  }
-  {
-    goPackagePath= "github.com/gogo/protobuf";
-    fetch= {
-      type= "git";
-      url= "https://github.com/gogo/protobuf.git";
-      rev= "6abcf94fd4c97dcb423fdafd42fe9f96ca7e421b";
-      sha256= "0w5ln92b57mnc26jwm3bsa320gzgis78l2x9bhrbfs99d45079rf";
-    };
-  }
-  {
-    goPackagePath= "github.com/golang/snappy";
-    fetch= {
-      type= "git";
-      url= "https://github.com/golang/snappy.git";
-      rev= "d9eb7a3d35ec988b8585d4a0068e462c27d28380";
-      sha256= "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn";
-    };
-  }
-  {
-    goPackagePath= "github.com/influxdata/usage-client";
-    fetch= {
-      type= "git";
-      url= "https://github.com/influxdata/usage-client.git";
-      rev= "475977e68d79883d9c8d67131c84e4241523f452";
-      sha256= "0yhywablqqpd2x70rax1kf7yaw1jpvrc2gks8360cwisda57d3qy";
-    };
-  }
-  {
-    goPackagePath= "github.com/jwilder/encoding";
-    fetch= {
-      type= "git";
-      url= "https://github.com/jwilder/encoding.git";
-      rev= "ac74639f65b2180a2e5eb5ff197f0c122441aed0";
-      sha256= "1zp0l4wlb8ngz8bsgzf2rhxfd0n3qj6149yjwwpwpj3mzz5rvspi";
-    };
-  }
-  {
-    goPackagePath= "github.com/kimor79/gollectd";
-    fetch= {
-      type= "git";
-      url= "https://github.com/kimor79/gollectd.git";
-      rev= "61d0deeb4ffcc167b2a1baa8efd72365692811bc";
-      sha256= "0als2v4d5hlw0sqam670p3fi471ikgl3l81bp31mf3s3jssdxwfs";
-    };
-  }
-  {
-    goPackagePath= "github.com/paulbellamy/ratecounter";
-    fetch= {
-      type= "git";
-      url= "https://github.com/paulbellamy/ratecounter.git";
-      rev= "5a11f585a31379765c190c033b6ad39956584447";
-      sha256= "137p62imi91zhkjcjigdd64n7f9z6djjpsxcyifgrcxs41jj9ra0";
-    };
-  }
-  {
-    goPackagePath= "github.com/peterh/liner";
-    fetch= {
-      type= "git";
-      url= "https://github.com/peterh/liner.git";
-      rev= "8975875355a81d612fafb9f5a6037bdcc2d9b073";
-      sha256= "17l7p6lxhlnna1w1drgh7g8afxcxxd5j472givm2g7l9v8yg4f17";
-    };
-  }
-  {
-    goPackagePath= "github.com/rakyll/statik";
-    fetch= {
-      type= "git";
-      url= "https://github.com/rakyll/statik.git";
-      rev= "274df120e9065bdd08eb1120e0375e3dc1ae8465";
-      sha256= "0llk7bxmk66wdiy42h32vj1jfk8zg351xq21hwhrq7gkfljghffp";
-    };
-  }
-  {
-    goPackagePath= "github.com/retailnext/hllpp";
-    fetch= {
-      type= "git";
-      url= "https://github.com/retailnext/hllpp.git";
-      rev= "38a7bb71b483e855d35010808143beaf05b67f9d";
-      sha256= "0zpq5yjqprzdw9ll6g9sqp8nzwkhjh4ngzhx5mxahmpajgnzz7a8";
-    };
-  }
-  {
-    goPackagePath= "golang.org/x/crypto";
-    fetch= {
-      type= "git";
-      url= "https://github.com/golang/crypto.git";
-      rev= "c197bcf24cde29d3f73c7b4ac6fd41f4384e8af6";
-      sha256= "1y2bbghi594m8p4pcm9pwrzql06179xj6zvhaghwcc6y0l48rbgp";
-    };
-  }
-]
diff --git a/pkgs/servers/nosql/influxdb/deps-1.4.1.nix b/pkgs/servers/nosql/influxdb/deps-1.4.1.nix
new file mode 100644
index 000000000000..edda6ff7c7dc
--- /dev/null
+++ b/pkgs/servers/nosql/influxdb/deps-1.4.1.nix
@@ -0,0 +1,227 @@
+[
+    {
+        goPackagePath = "collectd.org";
+        fetch = {
+            type = "git";
+            url = "https://github.com/collectd/go-collectd";
+            rev = "e84e8af5356e7f47485bbc95c96da6dd7984a67e";
+            sha256 = "0cfxg8iz7bdy3d74cqjns7x7lyrma5lkrqqpqk79a2gk0g2bhmnd";
+        };
+    }
+    {
+        goPackagePath = "github.com/bmizerany/pat";
+        fetch = {
+            type = "git";
+            url = "https://github.com/bmizerany/pat";
+            rev = "c068ca2f0aacee5ac3681d68e4d0a003b7d1fd2c";
+            sha256 = "02ayddkp2b22rixw5jldw3kb6762zzkg5zhxwcv9v9yp0x39qw6r";
+        };
+    }
+    {
+        goPackagePath = "github.com/boltdb/bolt";
+        fetch = {
+            type = "git";
+            url = "https://github.com/boltdb/bolt";
+            rev = "4b1ebc1869ad66568b313d0dc410e2be72670dda";
+            sha256 = "1narpch9fc2f4yj8asb981gyq7b3z6p41xb635xh2k75yv5g024w";
+        };
+    }
+    {
+        goPackagePath = "github.com/BurntSushi/toml";
+        fetch = {
+            type = "git";
+            url = "https://github.com/BurntSushi/toml";
+            rev = "a368813c5e648fee92e5f6c30e3944ff9d5e8895";
+            sha256 = "1sjxs2lwc8jpln80s4rlzp7nprbcljhy5mz4rf9995gq93wqnym5";
+        };
+    }
+    {
+        goPackagePath = "github.com/cespare/xxhash";
+        fetch = {
+            type = "git";
+            url = "https://github.com/cespare/xxhash";
+            rev = "1b6d2e40c16ba0dfce5c8eac2480ad6e7394819b";
+            sha256 = "1h7dym9fmk7rwrrc26lcwi7wmf4y4rxgg7byivg55yia9wlhy00m";
+        };
+    }
+    {
+        goPackagePath = "github.com/dgrijalva/jwt-go";
+        fetch = {
+            type = "git";
+            url = "https://github.com/dgrijalva/jwt-go";
+            rev = "24c63f56522a87ec5339cc3567883f1039378fdb";
+            sha256 = "1xjb3cj9qa66dk6sfrlggfm4a66qirqrp4qds90xzjj5sx51j4zk";
+        };
+    }
+  {
+        goPackagePath = "github.com/dgryski/go-bits";
+        fetch = {
+            type = "git";
+            url = "https://github.com/dgryski/go-bits";
+            rev = "2ad8d707cc05b1815ce6ff2543bb5e8d8f9298ef";
+            sha256 = "08mxwa4c77dgpvz2ygwd0pc929qxwff95y680mjjgbvj8yifiag2";
+        };
+    }
+    {
+        goPackagePath = "github.com/dgryski/go-bitstream";
+        fetch = {
+            type = "git";
+            url = "https://github.com/dgryski/go-bitstream";
+            rev = "7d46cd22db7004f0cceb6f7975824b560cf0e486";
+            sha256 = "1k9l16y7l2mkfvnp2ydv9cqly8179wqd20am4zy0q77qcsawkksx";
+        };
+    }
+    {
+        goPackagePath = "github.com/gogo/protobuf";
+        fetch = {
+            type = "git";
+            url = "https://github.com/gogo/protobuf";
+            rev = "1c2b16bc280d6635de6c52fc1471ab962dc36ec9";
+            sha256 = "0h9vkfy3ydz0d6x72853yg49r9k54cgjnlv6a7v12gzqw47p941i";
+        };
+    }
+    {
+        goPackagePath = "github.com/golang/snappy";
+        fetch = {
+            type = "git";
+            url = "https://github.com/golang/snappy";
+            rev = "d9eb7a3d35ec988b8585d4a0068e462c27d28380";
+            sha256 = "0wynarlr1y8sm9y9l29pm9dgflxriiialpwn01066snzjxnpmbyn";
+        };
+    }
+    {
+        goPackagePath = "github.com/influxdata/influxql";
+        fetch = {
+            type = "git";
+            url = "https://github.com/influxdata/influxql";
+            rev = "3921ab7858b6af8443fe0bef06b52608be72852c";
+            sha256 = "182ja5a9njlklavh5hzf7p06913pznp7j3chkrp0qwxj3jxysi2d";
+        };
+    }
+    {
+        goPackagePath = "github.com/influxdata/usage-client";
+        fetch = {
+            type = "git";
+            url = "https://github.com/influxdata/usage-client";
+            rev = "6d3895376368aa52a3a81d2a16e90f0f52371967";
+            sha256 = "0a5adnid42f9vpckgcpkj7v60fh147j7zlg1rhxcpq5vkw698ifl";
+        };
+    }
+    {
+        goPackagePath = "github.com/influxdata/yamux";
+        fetch = {
+            type = "git";
+            url = "https://github.com/influxdata/yamux";
+            rev = "1f58ded512de5feabbe30b60c7d33a7a896c5f16";
+            sha256 = "08y1lgcyyaa8zrg24ck64b5dfassgb2pp1fb9x5lw9q16fb170bx";
+        };
+    }
+    {
+        goPackagePath = "github.com/influxdata/yarpc";
+        fetch = {
+            type = "git";
+            url = "https://github.com/influxdata/yarpc";
+            rev = "036268cdec22b7074cd6d50cc6d7315c667063c7";
+            sha256 = "12xxwr451ya5h7kv7lg6lnwk04xazyxzv2g7bcgx9zifafxlhpxf";
+        };
+    }
+    {
+        goPackagePath = "github.com/jwilder/encoding";
+        fetch = {
+            type = "git";
+            url = "https://github.com/jwilder/encoding";
+            rev = "27894731927e49b0a9023f00312be26733744815";
+            sha256 = "0g4sdc5wj50js2hhrdcb7iik3wpd87gc0ivy4gwn49m8nxlpl7w3";
+        };
+    }
+    {
+        goPackagePath = "github.com/peterh/liner";
+        fetch = {
+            type = "git";
+            url = "https://github.com/peterh/liner";
+            rev = "88609521dc4b6c858fd4c98b628147da928ce4ac";
+            sha256 = "0jacb2fqgiccb98v1875j5xvj01l1z2laga1kgr8lhd0nl22r96k";
+        };
+    }
+    {
+        goPackagePath = "github.com/philhofer/fwd";
+        fetch = {
+            type = "git";
+            url = "https://github.com/philhofer/fwd";
+            rev = "1612a298117663d7bc9a760ae20d383413859798";
+            sha256 = "155l0nvvblpx0fy683q6bzins7csh8fw7yf64hbia8hc7wh0gjdl";
+        };
+    }
+    {
+        goPackagePath = "github.com/retailnext/hllpp";
+        fetch = {
+            type = "git";
+            url = "https://github.com/retailnext/hllpp";
+            rev = "38a7bb71b483e855d35010808143beaf05b67f9d";
+            sha256 = "0zpq5yjqprzdw9ll6g9sqp8nzwkhjh4ngzhx5mxahmpajgnzz7a8";
+        };
+    }
+    {
+        goPackagePath = "github.com/tinylib/msgp";
+        fetch = {
+            type = "git";
+            url = "https://github.com/tinylib/msgp";
+            rev = "ad0ff2e232ad2e37faf67087fb24bf8d04a8ce20";
+            sha256 = "1j3sqsmq8v40dp1qcv2dsy3aq3yl088hpd4fnrrnnl53g3a18p4d";
+        };
+    }
+    {
+        goPackagePath = "github.com/uber-go/atomic";
+        fetch = {
+            type = "git";
+            url = "https://github.com/uber-go/atomic";
+            rev = "74ca5ec650841aee9f289dce76e928313a37cbc6";
+            sha256 = "14a4k5z4p2iig6sf7as5ps1frdyzcr67b9bff0by4z1vg4nrxi7h";
+        };
+    }
+    {
+        goPackagePath = "github.com/uber-go/zap";
+        fetch = {
+            type = "git";
+            url = "https://github.com/uber-go/zap";
+            rev = "fbae0281ffd546fa6d1959fec6075ac5da7fb577";
+            sha256 = "0ys6cb2h3r0vbly36v8zqkqsfc5y7fjsw2qmvx5fvjh35ih4w738";
+        };
+    }
+    {
+        goPackagePath = "github.com/xlab/treeprint";
+        fetch = {
+            type = "git";
+            url = "https://github.com/xlab/treeprint";
+            rev = "06dfc6fa17cdde904617990a0c2d89e3e332dbb3";
+            sha256 = "04v2glr8wsgs8gr5qbcxyqn9s6569lmgqb7rcs6bkmdnr79xpwl5";
+        };
+    }
+    {
+        goPackagePath = "golang.org/x/crypto";
+        fetch = {
+            type = "git";
+            url = "https://go.googlesource.com/crypto";
+            rev = "9477e0b78b9ac3d0b03822fd95422e2fe07627cd";
+            sha256 = "1qcqai6nf1q50z9ga7r4ljnrh1qz49kwlcqpri4bknx732lqq0v5";
+        };
+    }
+    {
+        goPackagePath = "golang.org/x/sys";
+        fetch = {
+            type = "git";
+            url = "https://go.googlesource.com/sys";
+            rev = "1e2299c37cc91a509f1b12369872d27be0ce98a6";
+            sha256 = "1nh8v330pcwgk3h6nvfi12rlydl16v9ajv4s1giyx8wnfq8h6fm1";
+        };
+    }
+    {
+        goPackagePath = "golang.org/x/text";
+        fetch = {
+            type = "git";
+            url = "https://go.googlesource.com/text";
+            rev = "a71fd10341b064c10f4a81ceac72bcf70f26ea34";
+            sha256 = "1igxqrgnnb6983fl0yck0xal2hwnkcgbslr7cxyrg7a65vawd0q1";
+        };
+    }
+]
diff --git a/pkgs/servers/nosql/redis/default.nix b/pkgs/servers/nosql/redis/default.nix
index 60f132799fcc..9ef0987d9b96 100644
--- a/pkgs/servers/nosql/redis/default.nix
+++ b/pkgs/servers/nosql/redis/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, fetchurl, lua }:
+{ stdenv, fetchurl, fetchpatch, lua }:
 
 stdenv.mkDerivation rec {
   version = "4.0.2";
@@ -9,6 +9,14 @@ stdenv.mkDerivation rec {
     sha256 = "04s8cgvwjj1979s3hg8zkwc9pyn3jkjpz5zidp87kfcipifr385i";
   };
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2017-15047.patch";
+      url = https://github.com/antirez/redis/commit/ffcf7d5ab1e98d84c28af9bea7be76c6737820ad.patch;
+      sha256 = "0cgx3lm0n7jxhsly8v9hdvy6vlamj3ck2jsid4fwyapz6907h64l";
+    })
+  ];
+
   buildInputs = [ lua ];
   makeFlags = "PREFIX=$(out)";
 
diff --git a/pkgs/servers/openafs-client/default.nix b/pkgs/servers/openafs-client/default.nix
index 263df09ebb56..d7ed2849d604 100644
--- a/pkgs/servers/openafs-client/default.nix
+++ b/pkgs/servers/openafs-client/default.nix
@@ -1,5 +1,5 @@
 { stdenv, fetchurl, fetchgit, which, autoconf, automake, flex, yacc,
-  kernel, glibc, ncurses, perl, kerberos }:
+  kernel, glibc, ncurses, perl, kerberos, fetchpatch }:
 
 stdenv.mkDerivation rec {
   name = "openafs-${version}-${kernel.version}";
@@ -16,6 +16,14 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "pic" ];
 
+  patches = [
+   (fetchpatch {
+      name = "fix-stdint-include.patch";
+      url = "http://git.openafs.org/?p=openafs.git;a=patch;h=c193e5cba18273a062d4162118c7055b54f7eb5e";
+      sha256 = "1yc4gygcazwsslf6mzk1ai92as5jbsjv7212jcbb2dw83jydhc09";
+    })
+  ];
+
   preConfigure = ''
     ln -s "${kernel.dev}/lib/modules/"*/build $TMP/linux
 
diff --git a/pkgs/servers/plex/default.nix b/pkgs/servers/plex/default.nix
index fa944f5fd26d..29be86d16029 100644
--- a/pkgs/servers/plex/default.nix
+++ b/pkgs/servers/plex/default.nix
@@ -6,9 +6,9 @@
 let
   plexPass = throw "Plex pass has been removed at upstream's request; please unset nixpkgs.config.plex.pass";
   plexpkg = if enablePlexPass then plexPass else {
-    version = "1.9.5.4339";
-    vsnHash = "46276db8d";
-    sha256 = "09zc2wfpvan2j9h88x1f57lpfiqvml2m5m2azhphi4hb31sd3hch";
+    version = "1.9.6.4429";
+    vsnHash = "23901a099";
+    sha256 = "0bmqf8b2d9h2h5q3n4ahs8y6a9aihj63rch7wd82rcr1l9xnqk9d";
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/servers/radicale/default.nix b/pkgs/servers/radicale/default.nix
index 9c8ad94f61cb..6752e5b80b72 100644
--- a/pkgs/servers/radicale/default.nix
+++ b/pkgs/servers/radicale/default.nix
@@ -1,8 +1,8 @@
 { stdenv, fetchFromGitHub, python3Packages }:
 
 let
-  version = "2.1.6";
-  sha256 = "1x76nvxjhjpagniyh075hqia4sl06972alnhi7628cjrq3pr4v9i";
+  version = "2.1.8";
+  sha256 = "0fnsk61s328dg16iv0chqxayni8ahkbcb84z012w0d9417i806lc";
 in
 
 python3Packages.buildPythonApplication {
diff --git a/pkgs/servers/rpcbind/default.nix b/pkgs/servers/rpcbind/default.nix
index da59241bad3c..9e211b8df740 100644
--- a/pkgs/servers/rpcbind/default.nix
+++ b/pkgs/servers/rpcbind/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, pkgconfig, libtirpc
+{ fetchurl, stdenv, pkgconfig, libnsl, libtirpc
 , useSystemd ? true, systemd }:
 
 stdenv.mkDerivation rec {
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     ./sunrpc.patch
   ];
 
-  buildInputs = [ libtirpc ]
+  buildInputs = [ libnsl libtirpc ]
              ++ stdenv.lib.optional useSystemd systemd;
 
   configureFlags = [
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     description = "ONC RPC portmapper";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    homepage = http://sourceforge.net/projects/rpcbind/;
+    homepage = https://sourceforge.net/projects/rpcbind/;
     maintainers = with maintainers; [ abbradar ];
     longDescription = ''
       Universal addresses to RPC program number mapper.
diff --git a/pkgs/servers/search/groonga/default.nix b/pkgs/servers/search/groonga/default.nix
index 500913b5eecd..950056ccb1d2 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.3";
+  version = "7.0.8";
 
   src = fetchurl {
     url    = "http://packages.groonga.org/source/groonga/${name}.tar.gz";
-    sha256 = "17pp4sbfa6wpiiiqvdbnvd1qxrchmj7zh27zdrmmnbvwpyc5g2n6";
+    sha256 = "1j5biji86dicm8whbqjgjmyycxsfl5qfyxqfc4bxaspd6w18vj87";
   };
 
   buildInputs = with stdenv.lib;
diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix
index 2a36e1f67a26..70bf5c32b3d4 100644
--- a/pkgs/servers/shellinabox/default.nix
+++ b/pkgs/servers/shellinabox/default.nix
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = https://code.google.com/p/shellinabox;
+    homepage = https://github.com/shellinabox/shellinabox;
     description = "Web based AJAX terminal emulator";
     license = licenses.gpl2;
     maintainers = with maintainers; [ tomberek lihop ];
diff --git a/pkgs/servers/sonarr/default.nix b/pkgs/servers/sonarr/default.nix
index 8fe4b8df1ab3..f41676a79bc4 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.4949";
+  version = "2.0.0.5054";
 
   src = fetchurl {
     url = "http://download.sonarr.tv/v2/master/mono/NzbDrone.master.${version}.mono.tar.gz";
-    sha256 = "7e4e3a3668ee7485d0ee4009bcd1f2a7c3e8c25da7d9170272ef275a19c76ac4";
+    sha256 = "15qr8hwv89zv71h4q94nrxl8625viip7m185wqcyzma8wrx5i1zi";
   };
 
   buildInputs = [
diff --git a/pkgs/servers/sql/pgpool/default.nix b/pkgs/servers/sql/pgpool/default.nix
index 775621e64b44..781d25490d21 100644
--- a/pkgs/servers/sql/pgpool/default.nix
+++ b/pkgs/servers/sql/pgpool/default.nix
@@ -1,14 +1,16 @@
 { stdenv, fetchurl, postgresql, openssl, pam ? null, libmemcached ? null }:
 
 stdenv.mkDerivation rec {
-  name = "pgpool-II-3.4.2";
+  name = "pgpool-II-3.4.14";
 
   src = fetchurl {
     name = "${name}.tar.gz";
     url = "http://www.pgpool.net/download.php?f=${name}.tar.gz";
-    sha256 = "0lf3fvwc2ib4md25a3hnv822nhy9ac06vg0ndw8q9bry66hzwcfh";
+    sha256 = "1paak83f4lv48xckmf2znryrvhmdz86w4v97mcw2gxm50hcl74sw";
   };
 
+  patches = [ ./pgpool-II-3.4.14-glibc-2.26.patch ];
+
   buildInputs = [ postgresql openssl pam libmemcached ];
 
   configureFlags = [
@@ -22,6 +24,8 @@ stdenv.mkDerivation rec {
     "sysconfdir=\${out}/etc"
   ];
 
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     homepage = http://pgpool.net/mediawiki/index.php;
     description = "A middleware that works between postgresql servers and postgresql clients";
diff --git a/pkgs/servers/sql/pgpool/pgpool-II-3.4.14-glibc-2.26.patch b/pkgs/servers/sql/pgpool/pgpool-II-3.4.14-glibc-2.26.patch
new file mode 100644
index 000000000000..6efffff0c6d9
--- /dev/null
+++ b/pkgs/servers/sql/pgpool/pgpool-II-3.4.14-glibc-2.26.patch
@@ -0,0 +1,12 @@
+diff --git a/src/watchdog/wd_lifecheck.c b/src/watchdog/wd_lifecheck.c
+index 1e72307..5cf68a3 100644
+--- a/src/watchdog/wd_lifecheck.c
++++ b/src/watchdog/wd_lifecheck.c
+@@ -26,6 +26,7 @@
+ #include <ctype.h>
+ #include <time.h>
+ #include <string.h>
++#include <stdint.h>
+ #include <stdlib.h>
+ #include <unistd.h>
+ #include <netdb.h>
diff --git a/pkgs/servers/sql/postgresql/timescaledb/default.nix b/pkgs/servers/sql/postgresql/timescaledb/default.nix
index fbf0bfa19265..223bd6e470b9 100644
--- a/pkgs/servers/sql/postgresql/timescaledb/default.nix
+++ b/pkgs/servers/sql/postgresql/timescaledb/default.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   name = "timescaledb-${version}";
-  version = "0.5.0";
+  version = "0.6.0";
 
   buildInputs = [ postgresql ];
 
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     owner = "timescale";
     repo = "timescaledb";
     rev = version;
-    sha256 = "01swgjw563c42azxsg55ry7cyiipxkcvfrxmw71jil5dxl3s0fkz";
+    sha256 = "061z1ll3x7ca7fj12rl2difkdvmqykksqhpsql552qkkylg7iq4d";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/tt-rss/default.nix b/pkgs/servers/tt-rss/default.nix
index 2cc0cac8a60a..8724adfdad6d 100644
--- a/pkgs/servers/tt-rss/default.nix
+++ b/pkgs/servers/tt-rss/default.nix
@@ -10,8 +10,6 @@ stdenv.mkDerivation rec {
     sha256 = "07ng21n4pva56cxnxkzd6vzs381zn67psqpm51ym5wnl644jqh08";
   };
 
-  buildPhases = ["unpackPhase" "installPhase"];
-
   installPhase = ''
     mkdir $out
     cp -ra * $out/
diff --git a/pkgs/servers/tvheadend/default.nix b/pkgs/servers/tvheadend/default.nix
index 7ff0796811ad..d8cfadbfab2f 100644
--- a/pkgs/servers/tvheadend/default.nix
+++ b/pkgs/servers/tvheadend/default.nix
@@ -3,7 +3,7 @@
 , which, zlib }:
 
 let
-  version = "4.2.1";
+  version = "4.2.4";
 
 in stdenv.mkDerivation rec {
   name = "tvheadend-${version}";
@@ -12,7 +12,7 @@ in stdenv.mkDerivation rec {
     owner  = "tvheadend";
     repo   = "tvheadend";
     rev    = "v${version}";
-    sha256 = "1lhk8psvifmn4kjwyfxjj21z0apyr59zizzsfd4j22v7bk66rrl9";
+    sha256 = "1kydjmgv0nrllgi2s6aczq4x9ag01c8qm8w962qb52fzdfw7fs6k";
   };
 
   buildInputs = [
@@ -39,7 +39,8 @@ in stdenv.mkDerivation rec {
   preConfigure = ''
     patchShebangs ./configure
 
-    substituteInPlace src/config.c --replace /usr/bin/tar ${gnutar}/bin/tar
+    substituteInPlace src/config.c \
+      --replace /usr/bin/tar ${gnutar}/bin/tar
 
     # the version detection script `support/version` reads this file if it
     # exists, so let's just use that
diff --git a/pkgs/servers/unifi/default.nix b/pkgs/servers/unifi/default.nix
index 9afa7de912da..71bc0de6d910 100644
--- a/pkgs/servers/unifi/default.nix
+++ b/pkgs/servers/unifi/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   name = "unifi-controller-${version}";
-  version = "5.6.19";
+  version = "5.6.22";
 
   src = fetchurl {
-    url = "https://dl.ubnt.com/unifi/5.6.19/unifi_sysvinit_all.deb";
-    sha256 = "05xfm9k5r88j5hg4i80qxixs98rbmrsd1p1cdlczb18105lh5kxx";
+    url = "https://dl.ubnt.com/unifi/${version}/unifi_sysvinit_all.deb";
+    sha256 = "1ffphdi4df3jhlcl68amb90f5pj7cwyrql4qwbswynh9d623880l";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/servers/web-apps/selfoss/default.nix b/pkgs/servers/web-apps/selfoss/default.nix
index 1606cc9e76bf..14f1dffee64c 100644
--- a/pkgs/servers/web-apps/selfoss/default.nix
+++ b/pkgs/servers/web-apps/selfoss/default.nix
@@ -11,8 +11,6 @@ stdenv.mkDerivation rec {
     sha256 = "00vrpw7sb95x6lwpaxrlzxyj98k98xblqcrjr236ykv0ha97xv30";
   };
 
-  buildPhases = ["unpackPhase" "installPhase"];
-
   installPhase = ''
     mkdir $out
     cp -ra * $out/
diff --git a/pkgs/shells/fish-foreign-env/default.nix b/pkgs/shells/fish-foreign-env/default.nix
index 76a979bcda1b..445e961c6499 100644
--- a/pkgs/shells/fish-foreign-env/default.nix
+++ b/pkgs/shells/fish-foreign-env/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
         -i $out/share/fish-foreign-env/functions/*
   '';
 
-  patches = [ ./hide-path-warnings.patch ];
+  patches = [ ./suppress-harmless-warnings.patch ];
 
   meta = with stdenv.lib; {
     description = "A foreign environment interface for Fish shell";
diff --git a/pkgs/shells/fish-foreign-env/hide-path-warnings.patch b/pkgs/shells/fish-foreign-env/suppress-harmless-warnings.patch
index b7ac4edc5189..5e4569f0a15c 100644
--- a/pkgs/shells/fish-foreign-env/hide-path-warnings.patch
+++ b/pkgs/shells/fish-foreign-env/suppress-harmless-warnings.patch
@@ -1,16 +1,23 @@
 diff --git a/functions/fenv.apply.fish b/functions/fenv.apply.fish
-index 34a25e3..6837e7f 100644
+index 34a25e3..3d94135 100644
 --- a/functions/fenv.apply.fish
 +++ b/functions/fenv.apply.fish
-@@ -30,8 +30,9 @@ function fenv.apply
+@@ -27,11 +27,17 @@ function fenv.apply
+     for variable in $variables
+         set key (echo $variable | sed 's/=.*//')
+         set value (echo $variable | sed 's/[^=]*=//')
++        set ignore PATH _
  
          if test "$key" = 'PATH'
            set value (echo $value | tr ':' '\n')
+         end
+ 
+-        set -g -x $key $value
++        if contains $key $ignore
 +          set -g -x $key $value ^/dev/null
 +        else
 +          set -g -x $key $value
-         end
--
--        set -g -x $key $value
++        end
++
      end
  end
diff --git a/pkgs/shells/lambda-mod-zsh-theme/default.nix b/pkgs/shells/lambda-mod-zsh-theme/default.nix
index bef8915dd644..6dea51a487e9 100644
--- a/pkgs/shells/lambda-mod-zsh-theme/default.nix
+++ b/pkgs/shells/lambda-mod-zsh-theme/default.nix
@@ -10,8 +10,6 @@ stdenv.mkDerivation {
     rev = "61c373c8aa5556d51522290b82ad44e7166bced1";
   };
 
-  buildPhases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     mkdir -p $out/share/themes
     cp lambda-mod.zsh-theme $out/share/themes
diff --git a/pkgs/shells/nix-bash-completions/default.nix b/pkgs/shells/nix-bash-completions/default.nix
new file mode 100644
index 000000000000..be0ac14ca91e
--- /dev/null
+++ b/pkgs/shells/nix-bash-completions/default.nix
@@ -0,0 +1,26 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "0.4";
+  name = "nix-bash-completions-${version}";
+
+  src = fetchFromGitHub {
+    owner = "hedning";
+    repo = "nix-bash-completions";
+    rev = "v${version}";
+    sha256 = "08gl9xnk738p180hpn3l7ggrz5zlky4pam7v74kb0gavjxm4fa2f";
+  };
+
+  installPhase = ''
+    mkdir -p $out/share/bash-completion/completions
+    cp _nix $out/share/bash-completion/completions
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = http://github.com/hedning/nix-bash-completions;
+    description = "Bash completions for Nix, NixOS, and NixOps";
+    license = licenses.bsd3;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ hedning ];
+  };
+}
diff --git a/pkgs/shells/nix-zsh-completions/default.nix b/pkgs/shells/nix-zsh-completions/default.nix
index eaae85990b20..53888c30b941 100644
--- a/pkgs/shells/nix-zsh-completions/default.nix
+++ b/pkgs/shells/nix-zsh-completions/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchFromGitHub }:
 
 let
-  version = "0.3.1";
+  version = "0.3.3";
 in
 
 stdenv.mkDerivation rec {
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "spwhitt";
     repo = "nix-zsh-completions";
     rev = "${version}";
-    sha256 = "1sbc52f5818bcygljrji84dyvgw727x50m9v6qfrsdaji3zkqga1";
+    sha256 = "0gvqm6grz3s0llz20sa18n5d2anmsrk892lcv7blv8rai151whpw";
   };
 
   installPhase = ''
@@ -20,10 +20,10 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://github.com/spwhitt/nix-zsh-completions;
+    homepage = https://github.com/spwhitt/nix-zsh-completions;
     description = "ZSH completions for Nix, NixOS, and NixOps";
     license = stdenv.lib.licenses.bsd3;
     platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.spwhitt stdenv.lib.maintainers.olejorgenb ];
+    maintainers = [ stdenv.lib.maintainers.spwhitt stdenv.lib.maintainers.olejorgenb stdenv.lib.maintainers.hedning ];
   };
 }
diff --git a/pkgs/shells/zsh-autosuggestions/default.nix b/pkgs/shells/zsh-autosuggestions/default.nix
index 22ea54142513..4723a6abeb6d 100644
--- a/pkgs/shells/zsh-autosuggestions/default.nix
+++ b/pkgs/shells/zsh-autosuggestions/default.nix
@@ -15,8 +15,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ zsh ];
 
-  buildPhases = [ "unpackPhase" "installPhase" ];
-
   installPhase = ''
     install -D zsh-autosuggestions.zsh \
       $out/share/zsh-autosuggestions/zsh-autosuggestions.zsh
diff --git a/pkgs/shells/zsh-completions/default.nix b/pkgs/shells/zsh-completions/default.nix
index 4a5731b91523..92a9d293e84f 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.26.0";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "zsh-users";
     repo = "zsh-completions";
     rev = "${version}";
-    sha256 = "16yhwf42a11v8bhnfb7nda0svxmglzph3c0cknvf8p5m6mkqj9s2";
+    sha256 = "1c2xx9bkkvyy0c6aq9vv3fjw7snlm0m5bjygfk5391qgjpvchd29";
   };
 
   installPhase= ''
diff --git a/pkgs/shells/zsh-syntax-highlighting/default.nix b/pkgs/shells/zsh-syntax-highlighting/default.nix
index a97251d8e560..b7b44098fd7a 100644
--- a/pkgs/shells/zsh-syntax-highlighting/default.nix
+++ b/pkgs/shells/zsh-syntax-highlighting/default.nix
@@ -3,14 +3,14 @@
 # To make use of this derivation, use the `programs.zsh.enableSyntaxHighlighting` option
 
 stdenv.mkDerivation rec {
-  version = "0.5.0";
+  version = "0.6.0";
   name = "zsh-syntax-highlighting-${version}";
 
   src = fetchFromGitHub {
     owner = "zsh-users";
     repo = "zsh-syntax-highlighting";
     rev = version;
-    sha256 = "0k0m5aw67lhi4z143sdawx93y1892scvvdfdnjvljb4hf0vzs2ww";
+    sha256 = "0zmq66dzasmr5pwribyh4kbkk23jxbpdw4rjxx0i7dx8jjp2lzl4";
   };
 
   buildInputs = [ zsh ];
diff --git a/pkgs/stdenv/booter.nix b/pkgs/stdenv/booter.nix
index a1055708f995..7364a586fc2a 100644
--- a/pkgs/stdenv/booter.nix
+++ b/pkgs/stdenv/booter.nix
@@ -47,13 +47,13 @@ stageFuns: let
      same as
 
        let
-         f_-1  = lnul;
+         f_-1  = lnul f_0;
          f_0   = op f_-1   x_0  f_1;
          f_1   = op f_0    x_1  f_2;
          f_2   = op f_1    x_2  f_3;
          ...
          f_n   = op f_n-1  x_n  f_n+1;
-         f_n+1 = rnul;
+         f_n+1 = rnul f_n;
        in
          f_0
   */
@@ -62,13 +62,15 @@ stageFuns: let
       len = builtins.length list;
       go = pred: n:
         if n == len
-        then rnul
+        then rnul pred
         else let
           # Note the cycle -- call-by-need ensures finite fold.
           cur  = op pred (builtins.elemAt list n) succ;
           succ = go cur (n + 1);
         in cur;
-    in go lnul 0;
+      lapp = lnul cur;
+      cur = go lapp 0;
+    in cur;
 
   # Take the list and disallow custom overrides in all but the final stage,
   # and allow it in the final flag. Only defaults this boolean field if it
@@ -98,7 +100,18 @@ stageFuns: let
     then args'
     else allPackages ((builtins.removeAttrs args' ["selfBuild"]) // {
       buildPackages = if args.selfBuild or true then null else prevStage;
-      __targetPackages = if args.selfBuild or true then null else nextStage;
+      targetPackages = if args.selfBuild or true then null else nextStage;
     });
 
-in dfold folder {} {} withAllowCustomOverrides
+  # This is a hack for resolving cross-compiled compilers' run-time
+  # deps. (That is, compilers that are themselves cross-compiled, as
+  # opposed to used to cross-compile packages.)
+  postStage = buildPackages: {
+    __raw = true;
+    stdenv.cc =
+      if buildPackages.stdenv.cc.isClang or false
+      then buildPackages.clang
+      else buildPackages.gcc;
+  };
+
+in dfold folder postStage (_: {}) withAllowCustomOverrides
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index 65f0cba51f72..5d5a3a81d44b 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -34,7 +34,7 @@ in rec {
 
       cp -rL ${darwin.Libsystem}/include $out
       chmod -R u+w $out/include
-      cp -rL ${icu.dev}/include*             $out/include
+      cp -rL ${darwin.ICU}/include*             $out/include
       cp -rL ${libiconv}/include/*       $out/include
       cp -rL ${gnugrep.pcre.dev}/include/*   $out/include
       mv $out/include $out/include-Libsystem
@@ -84,7 +84,7 @@ in rec {
       mkdir $out/include
       cp -rd ${llvmPackages.libcxx}/include/c++     $out/include
 
-      cp -d ${icu.out}/lib/libicu*.dylib $out/lib
+      cp -d ${darwin.ICU}/lib/libicu*.dylib $out/lib
       cp -d ${zlib.out}/lib/libz.*       $out/lib
       cp -d ${gmpxx.out}/lib/libgmp*.*   $out/lib
       cp -d ${xz.out}/lib/liblzma*.*     $out/lib
diff --git a/pkgs/tools/X11/xbanish/default.nix b/pkgs/tools/X11/xbanish/default.nix
index cbf8f3a7ff1e..f78d3c2b924f 100644
--- a/pkgs/tools/X11/xbanish/default.nix
+++ b/pkgs/tools/X11/xbanish/default.nix
@@ -1,7 +1,7 @@
 {stdenv, fetchFromGitHub, libX11, libXi, libXt, libXfixes, libXext}:
 
 stdenv.mkDerivation rec {
-  version = "1.4";
+  version = "1.5";
   name = "xbanish-${version}";
 
   buildInputs = [
@@ -15,13 +15,10 @@ stdenv.mkDerivation rec {
     sha256 = "0n5aiqfwx9ga8qjszymfmbnmygcracrgvvpmgll7mflp2jnvzq6j";
   };
 
-  preBuild = ''
-    makeFlagsArray+=("PREFIX=$out")
-  '';
+  makeFlags=[ "PREFIX=$(out)" ];
 
   preInstall = ''
-    mkdir -p $out/bin
-    mkdir -p $out/man/man1
+    mkdir -p $out/bin $out/man/man1
   '';
 
   meta = {
diff --git a/pkgs/tools/X11/xosview2/default.nix b/pkgs/tools/X11/xosview2/default.nix
new file mode 100644
index 000000000000..c8b658d4350e
--- /dev/null
+++ b/pkgs/tools/X11/xosview2/default.nix
@@ -0,0 +1,41 @@
+{ stdenv, fetchurl, libX11 }:
+
+stdenv.mkDerivation rec {
+  name = "xosview2-${version}";
+  version = "2.2.2";
+
+  src = fetchurl {
+    url = "mirror://sourceforge/xosview/${name}.tar.gz";
+    sha256 = "3502e119a5305ff2396f559340132910807351c7d4e375f13b5c338404990406";
+  };
+
+  # The software failed to buid with this enabled; it seemed tests were not implemented
+  doCheck = false;
+
+  buildInputs = [ libX11 ];
+
+  meta = with stdenv.lib; {
+    description = "Lightweight program that gathers information from your operating system and displays it in graphical form";
+    longDescription = ''
+      xosview is a lightweight program that gathers information from your
+      operating system and displays it in graphical form. It attempts to show
+      you in a quick glance an overview of how your system resources are being
+      utilized.
+
+      It can be configured to be nothing more than a small strip showing a
+      couple of parameters on a desktop task bar. Or it can display dozens of
+      meters and rolling graphical charts over your entire screen.
+
+      Since xosview renders all graphics with core X11 drawing methods, you can
+      run it on one machine and display it on another. This works even if your
+      other host is an operating system not running an X server inside a
+      virtual machine running on a physically different host. If you can
+      connect to it on a network, then you can popup an xosview instance and
+      monitor what is going on.
+    '';
+    homepage = "http://xosview.sourceforge.net/index.html";
+    license = licenses.gpl1;
+    maintainers = [ maintainers.SeanZicari ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 00f28c2c7bab..a3aa7a0aa234 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -11,11 +11,12 @@ with lib;
 let
   inherit (python2Packages) python cython buildPythonApplication;
 in buildPythonApplication rec {
-  name = "xpra-2.0.2";
-  namePrefix = "";
+  name = "xpra-${version}";
+  version = "2.1.3";
+
   src = fetchurl {
     url = "http://xpra.org/src/${name}.tar.xz";
-    sha256 = "09hzgbsj9v5qyh41rbz968ipi7016jk66b60vm6piryna9kbnha3";
+    sha256 = "0r0l3p59q05fmvkp3jv8vmny2v8m1vyhqkg6b9r2qgxn1kcxx7rm";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -50,7 +51,7 @@ in buildPythonApplication rec {
 
   preBuild = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-2.0) $(pkg-config --cflags pygtk-2.0) $(pkg-config --cflags xtst)"
-    substituteInPlace xpra/server/auth/pam.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so"
+    substituteInPlace xpra/server/auth/pam_auth.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so"
   '';
   setupPyBuildFlags = ["--with-Xdummy" "--without-strict"];
 
@@ -74,6 +75,8 @@ in buildPythonApplication rec {
 
   meta = {
     homepage = http://xpra.org/;
+    downloadPage = "https://xpra.org/src/";
+    downloadURLRegexp = "xpra-.*[.]tar[.]xz$";
     description = "Persistent remote applications for X";
     platforms = platforms.linux;
     maintainers = with maintainers; [ tstrobel offline ];
diff --git a/pkgs/tools/X11/xpra/gtk3.nix b/pkgs/tools/X11/xpra/gtk3.nix
index 92f1827156b6..629c10f867fa 100644
--- a/pkgs/tools/X11/xpra/gtk3.nix
+++ b/pkgs/tools/X11/xpra/gtk3.nix
@@ -3,15 +3,15 @@
 , xorg, gtk3, glib, pango, cairo, gdk_pixbuf, atk, pygobject3, pycairo, gobjectIntrospection
 , makeWrapper, xkbcomp, xorgserver, getopt, xauth, utillinux, which, fontsConf
 , ffmpeg, x264, libvpx, libwebp
-, libfakeXinerama }:
+, libfakeXinerama, pam }:
 
 buildPythonApplication rec {
-  name = "xpra-0.16.2";
-  namePrefix = "";
+  name = "xpra-${version}";
+  version = "2.1.3";
 
   src = fetchurl {
     url = "http://xpra.org/src/${name}.tar.xz";
-    sha256 = "0h55rv46byzv2g8g77bm0a0py8jpz3gbr5fhr5jy9sisyr0vk6ff";
+    sha256 = "0r0l3p59q05fmvkp3jv8vmny2v8m1vyhqkg6b9r2qgxn1kcxx7rm";
   };
 
   patchPhase = ''
@@ -31,6 +31,8 @@ buildPythonApplication rec {
     ffmpeg libvpx x264 libwebp
 
     makeWrapper
+
+    pam
   ];
 
   propagatedBuildInputs = [
@@ -39,6 +41,7 @@ buildPythonApplication rec {
 
   preBuild = ''
     export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE $(pkg-config --cflags gtk+-3.0) $(pkg-config --cflags xtst)"
+    substituteInPlace xpra/server/auth/pam_auth.py --replace "/lib/libpam.so.1" "${pam}/lib/libpam.so"
   '';
   setupPyBuildFlags = [ "--without-strict" "--with-gtk3" "--without-gtk2" "--with-Xdummy" ];
 
@@ -67,6 +70,8 @@ buildPythonApplication rec {
 
   meta = {
     homepage = http://xpra.org/;
+    downloadPage = "https://xpra.org/src/";
+    downloadURLRegexp = "xpra-.*[.]tar[.]xz$";
     description = "Persistent remote applications for X";
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/admin/aws_shell/default.nix b/pkgs/tools/admin/aws_shell/default.nix
new file mode 100644
index 000000000000..6eee98269481
--- /dev/null
+++ b/pkgs/tools/admin/aws_shell/default.nix
@@ -0,0 +1,42 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, awscli
+, prompt_toolkit
+, boto3
+, configobj
+, pygments
+}:
+
+buildPythonPackage rec {
+  pname = "aws-shell";
+  version = "0.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1pw9lrdjl24n6lrs6lnqpyiyic8bdxgvhyqvb2rx6kkbjrfhhgv5";
+  };
+
+  # Why does it propagate packages that are used for testing?
+  propagatedBuildInputs = [
+    awscli
+    prompt_toolkit
+    boto3
+    configobj
+    pygments
+  ];
+
+  #Checks are failing due to missing TTY, which won't exist.
+  doCheck = false;
+  preCheck = ''
+    mkdir -p check-phase
+    export HOME=$(pwd)/check-phase
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://github.com/awslabs/aws-shell;
+    description = "An integrated shell for working with the AWS CLI";
+    license = licenses.asl20;
+    maintainers = [ ];
+  };
+}
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
new file mode 100644
index 000000000000..8061cbfded80
--- /dev/null
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -0,0 +1,68 @@
+{ stdenv
+, buildPythonPackage
+, fetchPypi
+, botocore
+, bcdoc
+, s3transfer
+, six
+, colorama
+, docutils
+, rsa
+, pyyaml
+, groff
+, less
+}:
+
+let
+  colorama_3_7 = 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.185";
+  namePrefix = "";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "18rskl6sla456z4hkq2gmmm03fqc4rqw5pfiqdyc7a2v9kljv4ah";
+  };
+
+  # No tests included
+  doCheck = false;
+
+  propagatedBuildInputs = [
+    botocore
+    bcdoc
+    s3transfer
+    six
+    colorama_3_7
+    docutils
+    rsa
+    pyyaml
+    groff
+    less
+  ];
+
+  postInstall = ''
+    mkdir -p $out/etc/bash_completion.d
+    echo "complete -C $out/bin/aws_completer aws" > $out/etc/bash_completion.d/awscli
+    mkdir -p $out/share/zsh/site-functions
+    mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions
+    rm $out/bin/aws.cmd
+  '';
+
+  meta = with stdenv.lib; {
+    homepage = https://aws.amazon.com/cli/;
+    description = "Unified tool to manage your AWS services";
+    license = stdenv.lib.licenses.asl20;
+    maintainers = with maintainers; [ muflax ];
+  };
+}
diff --git a/pkgs/tools/admin/bubblewrap/default.nix b/pkgs/tools/admin/bubblewrap/default.nix
index bda3cb83cf7e..4ccdbc204f0a 100644
--- a/pkgs/tools/admin/bubblewrap/default.nix
+++ b/pkgs/tools/admin/bubblewrap/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bubblewrap-${version}";
-  version = "0.1.8";
+  version = "0.2.0";
 
   src = fetchurl {
     url = "https://github.com/projectatomic/bubblewrap/releases/download/v${version}/${name}.tar.xz";
-    sha256 = "1gyy7paqwdrfgxamxya991588ryj9q9c3rhdh31qldqyh9qpy72c";
+    sha256 = "0ahw30ngpclk3ssa81cb7ydc6a4xc5dpqn6kmxfpc9xr30vimdnc";
   };
 
   nativeBuildInputs = [ libcap libxslt docbook_xsl ];
diff --git a/pkgs/tools/admin/certbot/default.nix b/pkgs/tools/admin/certbot/default.nix
index 9ac6ed17f66a..78a38e07cc29 100644
--- a/pkgs/tools/admin/certbot/default.nix
+++ b/pkgs/tools/admin/certbot/default.nix
@@ -4,13 +4,13 @@
 
 python2Packages.buildPythonApplication rec {
   name = "certbot-${version}";
-  version = "0.11.1";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "certbot";
     repo = "certbot";
     rev = "v${version}";
-    sha256 = "0f8s6wzj69gnqld6iaskmmwyg5zy5v3zwhp1n1izxixm0vhkzgrq";
+    sha256 = "14i3q59v7j0q2pa1dri420fhil4h0vgl4vb471hp81f4y14gq6h7";
   };
 
   propagatedBuildInputs = with python2Packages; [
diff --git a/pkgs/tools/admin/gixy/default.nix b/pkgs/tools/admin/gixy/default.nix
new file mode 100644
index 000000000000..77451a6bc9e3
--- /dev/null
+++ b/pkgs/tools/admin/gixy/default.nix
@@ -0,0 +1,41 @@
+{ lib, fetchFromGitHub, python }:
+
+python.pkgs.buildPythonApplication rec {
+  name = "gixy-${version}";
+  version = "0.1.8";
+
+  # package is only compatible with python 2.7 and 3.5+
+  disabled = with python.pkgs; !(pythonAtLeast "3.5" || isPy27);
+
+  src = fetchFromGitHub {
+    owner = "yandex";
+    repo = "gixy";
+    rev = "v${version}";
+    sha256 = "0dg8j8pqlzdvmyfkphrizfqzggr64npb9mnm1dcwm6c3z6k2b0ii";
+  };
+
+  postPatch = ''
+    sed -ie '/argparse/d' setup.py
+  '';
+
+  propagatedBuildInputs = with python.pkgs; [
+    cached-property
+    ConfigArgParse
+    pyparsing
+    jinja2
+    nose
+    six
+  ];
+
+  meta = with lib; {
+    description = "Nginx configuration static analyzer";
+    longDescription = ''
+      Gixy is a tool to analyze Nginx configuration.
+      The main goal of Gixy is to prevent security misconfiguration and automate flaw detection.
+    '';
+    homepage = https://github.com/yandex/gixy;
+    license = licenses.mpl20;
+    maintainers = [ maintainers.willibutz ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/admin/google-cloud-sdk/default.nix b/pkgs/tools/admin/google-cloud-sdk/default.nix
index 3622b981cc4f..6dec65892b0f 100644
--- a/pkgs/tools/admin/google-cloud-sdk/default.nix
+++ b/pkgs/tools/admin/google-cloud-sdk/default.nix
@@ -1,23 +1,34 @@
-{ stdenv, lib, fetchurl, python, cffi, cryptography, pyopenssl, crcmod, google-compute-engine, makeWrapper }:
+# Make sure that the "with-gce" flag is set when building `google-cloud-sdk`
+# for GCE hosts. This flag prevents "google-compute-engine" from being a
+# default dependency which is undesirable because this package is
+#
+#   1) available only on GNU/Linux (requires `systemd` in particular)
+#   2) intended only for GCE guests (and is useless elsewhere)
+#   3) used by `google-cloud-sdk` only on GCE guests
+#
+
+{ stdenv, lib, fetchurl, makeWrapper, python, cffi, cryptography, pyopenssl,
+  crcmod, google-compute-engine, with-gce ? false }:
 
-# other systems not supported yet
 let
-  pythonInputs = [ cffi cryptography pyopenssl crcmod google-compute-engine ];
+  pythonInputs = [ cffi cryptography pyopenssl crcmod ]
+                 ++ lib.optional (with-gce) google-compute-engine;
   pythonPath = lib.makeSearchPath python.sitePackages pythonInputs;
 
+  baseUrl = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads";
   sources = name: system: {
     i686-linux = {
-      url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86.tar.gz";
+      url = "${baseUrl}/${name}-linux-x86.tar.gz";
       sha256 = "0aq938s1w9mzj60avmcc68kgll54pl7635vl2mi89f6r56n0xslp";
     };
 
     x86_64-darwin = {
-      url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-darwin-x86_64.tar.gz";
+      url = "${baseUrl}/${name}-darwin-x86_64.tar.gz";
       sha256 = "13k2i1svry9q800s1jgf8jss0rzfxwk6qci3hsy1wrb9b2mwlz5g";
     };
 
     x86_64-linux = {
-      url = "https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/${name}-linux-x86_64.tar.gz";
+      url = "${baseUrl}/${name}-linux-x86_64.tar.gz";
       sha256 = "1kvaz8p1iflsi85wwi7lb6km6frj70xsricyz1ah0sw3q71zyqmc";
     };
   }.${system};
diff --git a/pkgs/tools/admin/simp_le/default.nix b/pkgs/tools/admin/simp_le/default.nix
index 4eb0cacdea97..f66fd6b00afb 100644
--- a/pkgs/tools/admin/simp_le/default.nix
+++ b/pkgs/tools/admin/simp_le/default.nix
@@ -2,12 +2,12 @@
 
 pythonPackages.buildPythonApplication rec {
   pname = "simp_le-client";
-  version = "0.2.0";
+  version = "0.6.1";
   name = "${pname}-${version}";
 
   src = pythonPackages.fetchPypi {
     inherit pname version;
-    sha256 = "1zg18jfry9mvkri3yd2f5mwfsl27ac9zmnll3bm93jb91jhd6ssh";
+    sha256 = "0x4fky9jizs3xi55cdy217cvm3ikpghiabysan71b07ackkdfj6k";
   };
 
   checkPhase = ''
diff --git a/pkgs/tools/archivers/sharutils/default.nix b/pkgs/tools/archivers/sharutils/default.nix
index 77ab8a1cb033..9f161ac7525a 100644
--- a/pkgs/tools/archivers/sharutils/default.nix
+++ b/pkgs/tools/archivers/sharutils/default.nix
@@ -13,6 +13,23 @@ stdenv.mkDerivation rec {
   # GNU Gettext is needed on non-GNU platforms.
   buildInputs = [ coreutils gettext ];
 
+  # These tests try to hit /etc/passwd to find out your username if pass in a submitter
+  # name on the command line. Since we block access to /etc/passwd on the Darwin sandbox
+  # that cause shar to just segfault. It isn't a problem on Linux because their sandbox
+  # remaps /etc/passwd to a trivial file, but we can't do that on Darwin so I do this
+  # instead. In this case, I pass in the very imaginative "submitter" as the submitter name
+
+  patchPhase = let
+      # This evaluates to a string containing:
+      #
+      #     substituteInPlace tests/shar-2 --replace '${SHAR}' '${SHAR} -s submitter'
+      #     substituteInPlace tests/shar-2 --replace '${SHAR}' '${SHAR} -s submitter'
+      shar_sub = "\${SHAR}";
+    in ''
+      substituteInPlace tests/shar-1 --replace '${shar_sub}' '${shar_sub} -s submitter'
+      substituteInPlace tests/shar-2 --replace '${shar_sub}' '${shar_sub} -s submitter'
+    '';
+
   doCheck = true;
 
   crossAttrs = {
diff --git a/pkgs/tools/archivers/xarchiver/default.nix b/pkgs/tools/archivers/xarchiver/default.nix
index a257ece48773..1c8d8367793a 100644
--- a/pkgs/tools/archivers/xarchiver/default.nix
+++ b/pkgs/tools/archivers/xarchiver/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, gtk2, pkgconfig, intltool }:
+{ stdenv, fetchFromGitHub, gtk3, pkgconfig, intltool, libxslt }:
 
 stdenv.mkDerivation rec {
-  version = "0.5.4.7";
+  version = "0.5.4.12";
   name = "xarchiver-${version}";
 
   src = fetchFromGitHub {
     owner = "ib";
     repo = "xarchiver";
-    rev = "${name}";
-    sha256 = "0w9lx8d8r50j48qfhn2r0dlcnwy3pjyy6xjvgpr0qagy5l1q1qj4";
+    rev = "${version}";
+    sha256 = "13d8slcx3frz0dhl1w4llj7001n57cjjb8r7dlaw5qacaas3xfwi";
   };
 
   nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ gtk2 intltool ];
+  buildInputs = [ gtk3 intltool libxslt ];
 
   meta = {
     description = "GTK+ frontend to 7z,zip,rar,tar,bzip2, gzip,arj, lha, rpm and deb (open and extract only)";
diff --git a/pkgs/tools/audio/abcm2ps/default.nix b/pkgs/tools/audio/abcm2ps/default.nix
index 6fad1f755aa9..aa3ab987bed3 100644
--- a/pkgs/tools/audio/abcm2ps/default.nix
+++ b/pkgs/tools/audio/abcm2ps/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   name = "abcm2ps-${version}";
-  version = "8.13.15";
+  version = "8.13.16";
 
   src = fetchFromGitHub {
     owner = "leesavide";
     repo = "abcm2ps";
     rev = "v${version}";
-    sha256 = "04j1s4ycd8siidj7xn7s0vwm5sj0qrhqr5qzpila2g8kjc4ldxml";
+    sha256 = "1xb37jh811b7h72wpaykck6nskwq4mvy833q6wkhcyr041p1gcp7";
   };
 
-  patchPhase = ''
+  prePatch = ''
     chmod +x configure
   '';
 
diff --git a/pkgs/tools/audio/mpdas/default.nix b/pkgs/tools/audio/mpdas/default.nix
new file mode 100644
index 000000000000..70ae1f846430
--- /dev/null
+++ b/pkgs/tools/audio/mpdas/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchFromGitHub, pkgconfig, mpd_clientlib, curl }:
+
+stdenv.mkDerivation rec {
+  name = "mpdas-${version}";
+  version = "0.4.4";
+
+  src = fetchFromGitHub {
+    owner = "hrkfdn";
+    repo = "mpdas";
+    rev = version;
+    sha256 = "1i6i36jd582y3nm5plcrswqljf528hd23whp8zw06hwqnsgca5b6";
+  };
+
+  nativeBuildInputs = [ pkgconfig ];
+
+  buildInputs = [ mpd_clientlib curl ];
+
+  makeFlags = [ "CONFIG=/etc" "DESTDIR=" "PREFIX=$(out)" ];
+
+  meta = with stdenv.lib; {
+    description = "Music Player Daemon AudioScrobbler";
+    homepage = http://50hz.ws/mpdas/;
+    license = licenses.bsd3;
+    maintainers = [ maintainers.taketwo ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/tools/backup/borg/default.nix b/pkgs/tools/backup/borg/default.nix
index 6395b91fa73a..867d2cf903a0 100644
--- a/pkgs/tools/backup/borg/default.nix
+++ b/pkgs/tools/backup/borg/default.nix
@@ -16,11 +16,11 @@ python3Packages.buildPythonApplication rec {
     sphinx guzzle_sphinx_theme
   ];
   buildInputs = [
-    acl lz4 openssl python3Packages.setuptools_scm
-  ];
+    lz4 openssl python3Packages.setuptools_scm
+  ] ++ stdenv.lib.optionals stdenv.isLinux [ acl ];
   propagatedBuildInputs = with python3Packages; [
-    cython llfuse msgpack
-  ];
+    cython msgpack
+  ] ++ stdenv.lib.optionals (!stdenv.isDarwin) [ llfuse ];
 
   preConfigure = ''
     export BORG_OPENSSL_PREFIX="${openssl.dev}"
diff --git a/pkgs/tools/backup/partclone/default.nix b/pkgs/tools/backup/partclone/default.nix
index 54756a29cd6d..681999e35d07 100644
--- a/pkgs/tools/backup/partclone/default.nix
+++ b/pkgs/tools/backup/partclone/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "partclone-${version}";
-  version = "0.2.89";
+  version = "0.3.11";
 
   src = fetchFromGitHub {
     owner = "Thomas-Tsai";
     repo = "partclone";
     rev = version;
-    sha256 = "0gw47pchqshhm00yf34qgxh6bh2jfryv0sm7ghwn77bv5gzwr481";
+    sha256 = "0bv15i0gxym4dv48rgaavh8p94waryn1l6viis6qh5zm9cd08skg";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/backup/wal-g/default.nix b/pkgs/tools/backup/wal-g/default.nix
new file mode 100644
index 000000000000..da39b2360bd6
--- /dev/null
+++ b/pkgs/tools/backup/wal-g/default.nix
@@ -0,0 +1,16 @@
+{ stdenv, buildGoPackage, fetchurl }:
+buildGoPackage rec {
+  name = "wal-g-${version}";
+  version = "0.1.2";
+  src = fetchurl {
+    url = https://github.com/wal-g/wal-g/archive/v0.1.2.tar.gz;
+    sha256 = "0zkjs72gq7sc9cqqzxr6ms1ibk8466zpwmrziq9p4jv9r4iq3bfb";
+  };
+  goPackagePath = "github.com/wal-g/wal-g";
+  meta = {
+    homepage = https://github.com/wal-g/wal-g;
+    license = stdenv.lib.licenses.asl20;
+    description = "An archival restoration tool for Postgres";
+    maintainers = [ stdenv.lib.maintainers.ocharles ];
+  };
+}
diff --git a/pkgs/tools/cd-dvd/bchunk/CVE-2017-15953.patch b/pkgs/tools/cd-dvd/bchunk/CVE-2017-15953.patch
deleted file mode 100644
index f78bb7178af2..000000000000
--- a/pkgs/tools/cd-dvd/bchunk/CVE-2017-15953.patch
+++ /dev/null
@@ -1,25 +0,0 @@
---- a/bchunk.c	2017-10-30 18:03:58.658741629 +0000
-+++ b/bchunk.c	2017-10-30 19:40:25.558131619 +0000
-@@ -18,6 +18,7 @@
-   *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-   */
-
-+#define _GNU_SOURCE
- #include <stdio.h>
- #include <stdlib.h>
- #include <string.h>
-@@ -271,11 +272,10 @@
- 	int16_t i;
- 	float fl;
- 	
--	if (!(fname = malloc(strlen(bname) + 8))) {
--		fprintf(stderr, "main(): malloc() failed, out of memory\n");
-+	if (asprintf(&fname, "%s%2.2d.%s", bname, track->num, track->extension) == -1) {
-+		fprintf(stderr, "writetrack(): asprintf() failed, out of memory\n");
- 		exit(4);
- 	}
--	sprintf(fname, "%s%2.2d.%s", bname, track->num, track->extension);
- 	
- 	printf("%2d: %s ", track->num, fname);
- 	
-
diff --git a/pkgs/tools/cd-dvd/bchunk/CVE-2017-15955.patch b/pkgs/tools/cd-dvd/bchunk/CVE-2017-15955.patch
deleted file mode 100644
index 80930ac69bc3..000000000000
--- a/pkgs/tools/cd-dvd/bchunk/CVE-2017-15955.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-diff -urNZ bchunk-1.2.0.orig/bchunk.c bchunk-1.2.0/bchunk.c
---- a/bchunk.c	2017-10-30 18:03:58.658741629 +0000
-+++ b/bchunk.c	2017-10-30 19:17:36.732855884 +0000
-@@ -426,11 +426,11 @@
- 			printf("\nTrack ");
- 			if (!(p = strchr(p, ' '))) {
- 				fprintf(stderr, "... ouch, no space after TRACK.\n");
--				continue;
-+				exit(3);
- 			}
- 			p++;
- 			if (!(t = strchr(p, ' '))) {
- 				fprintf(stderr, "... ouch, no space after track number.\n");
--				continue;
-+				exit(3);
- 			}
- 			*t = '\0';
-
-@@ -460,12 +460,12 @@
- 		} else if ((p = strstr(s, "INDEX"))) {
- 			if (!(p = strchr(p, ' '))) {
- 				printf("... ouch, no space after INDEX.\n");
--				continue;
-+				exit(3);
- 			}
- 			p++;
- 			if (!(t = strchr(p, ' '))) {
- 				printf("... ouch, no space after index number.\n");
--				continue;
-+				exit(3);
- 			}
- 			*t = '\0';
- 			t++;
\ No newline at end of file
diff --git a/pkgs/tools/cd-dvd/bchunk/default.nix b/pkgs/tools/cd-dvd/bchunk/default.nix
index ea4046f31f8c..a4298bf2920f 100644
--- a/pkgs/tools/cd-dvd/bchunk/default.nix
+++ b/pkgs/tools/cd-dvd/bchunk/default.nix
@@ -1,15 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "bchunk-1.2.0";
+  name = "bchunk-${version}";
+  version = "1.2.2";
 
   src = fetchurl {
     url = "http://he.fi/bchunk/${name}.tar.gz";
-    sha256 = "0pcbyx3689cbl23dcij497hb3q5f1wmki7cxic5nzldx71g9vp5g";
+    sha256 = "12dxx98kbpc5z4dgni25280088bhlsb677rp832r82zzc1drpng7";
   };
 
-  patches = [ ./CVE-2017-15953.patch ./CVE-2017-15955.patch ];
-
   installPhase = ''
     install -Dt $out/bin bchunk
     install -Dt $out/share/man/man1 bchunk.1    
diff --git a/pkgs/tools/cd-dvd/lsdvd/default.nix b/pkgs/tools/cd-dvd/lsdvd/default.nix
index 7cec791ecc5a..7d0fc5969bf2 100644
--- a/pkgs/tools/cd-dvd/lsdvd/default.nix
+++ b/pkgs/tools/cd-dvd/lsdvd/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation {
   nativeBuildInputs = [ pkgconfig ];
 
   meta = {
-    homepage = http://sourceforge.net/projects/lsdvd/;
+    homepage = https://sourceforge.net/projects/lsdvd/;
     shortDescription = "Display information about audio, video, and subtitle tracks on a DVD";
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/compression/lz4/default.nix b/pkgs/tools/compression/lz4/default.nix
index 4b2f0276d78c..bc8666a26907 100644
--- a/pkgs/tools/compression/lz4/default.nix
+++ b/pkgs/tools/compression/lz4/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
       multiple GB/s per core, typically reaching RAM speed limits on
       multi-core systems.
     '';
-    homepage = https://code.google.com/p/lz4/;
+    homepage = https://lz4.github.io/lz4/;
     license = with licenses; [ bsd2 gpl2Plus ];
     platforms = platforms.unix;
     maintainers = with maintainers; [ nckx ];
diff --git a/pkgs/tools/compression/rzip/default.nix b/pkgs/tools/compression/rzip/default.nix
index 2737966b83e5..ad1b80410419 100644
--- a/pkgs/tools/compression/rzip/default.nix
+++ b/pkgs/tools/compression/rzip/default.nix
@@ -1,4 +1,4 @@
-{stdenv, fetchurl, bzip2}:
+{stdenv, fetchurl, fetchpatch, bzip2}:
 
 stdenv.mkDerivation {
   name = "rzip-2.1";
@@ -8,6 +8,14 @@ stdenv.mkDerivation {
   };
   buildInputs = [ bzip2 ];
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2017-8364-fill-buffer.patch";
+      url = https://sources.debian.net/data/main/r/rzip/2.1-4.1/debian/patches/80-CVE-2017-8364-fill-buffer.patch;
+      sha256 = "0jcjlx9ksdvxvjyxmyzscx9ar9992iy5icw0sc3n0p09qi4d6x1r";
+    })
+  ];
+
   meta = {
     homepage = http://rzip.samba.org/;
     description = "Compression program";
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index 2be3bf167dad..aad9421305eb 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   name = "zstd-${version}";
-  version = "1.3.0";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
-    sha256 = "1rnxfhcmg8zsagyf70hiwm32mam60hq58pzgy7jn8c3iwv24mpz5";
+    sha256 = "1hwh6pw1z3y5kpwcwxrk8cwc83anigiqhy3z06ywy1jll8im57pz";
     rev = "v${version}";
     repo = "zstd";
     owner = "facebook";
diff --git a/pkgs/tools/filesystems/btrfs-progs/default.nix b/pkgs/tools/filesystems/btrfs-progs/default.nix
index 77411e0cc26d..4c8dc6218773 100644
--- a/pkgs/tools/filesystems/btrfs-progs/default.nix
+++ b/pkgs/tools/filesystems/btrfs-progs/default.nix
@@ -2,14 +2,14 @@
 , asciidoc, xmlto, docbook_xml_dtd_45, docbook_xsl, libxslt
 }:
 
-let version = "4.13.1"; in
+let version = "4.13.3"; in
 
 stdenv.mkDerivation rec {
   name = "btrfs-progs-${version}";
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/people/kdave/btrfs-progs/btrfs-progs-v${version}.tar.xz";
-    sha256 = "1clavvrlkswgicqsm2yfsxqw04lsn8dra0db84jqm6j2apz80kz0";
+    sha256 = "10yp0b4pwrw5mcd81yn3d0d87fnqpp4si5d25dfhl6n2640dnnw0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/filesystems/disorderfs/default.nix b/pkgs/tools/filesystems/disorderfs/default.nix
index ce44d7d6d4ed..0551198cded3 100644
--- a/pkgs/tools/filesystems/disorderfs/default.nix
+++ b/pkgs/tools/filesystems/disorderfs/default.nix
@@ -2,15 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "disorderfs-${version}";
-  version = "0.5.1";
+  version = "0.5.2";
 
   src = fetchurl {
-    url = "http://http.debian.net/debian/pool/main/d/disorderfs/disorderfs_${version}.orig.tar.gz";
-    sha256 = "0nnxk0qqww16ra52mi5giw50zpssvan62nkig5dcxvgcvv51akik";
+    url = "http://http.debian.net/debian/pool/main/d/disorderfs/disorderfs_${version}.orig.tar.bz2";
+    sha256 = "0jdadb1ppd5qrnngpjv14az32gwslag2wwv1k8rs29iqlfy38cjf";
   };
 
-  sourceRoot = ".";
-
   nativeBuildInputs = [ pkgconfig asciidoc ];
 
   buildInputs = [ fuse attr ];
diff --git a/pkgs/tools/filesystems/fatresize/default.nix b/pkgs/tools/filesystems/fatresize/default.nix
index f20f9aa2bab1..f929f354766c 100644
--- a/pkgs/tools/filesystems/fatresize/default.nix
+++ b/pkgs/tools/filesystems/fatresize/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
   
   meta = {
     description = "The FAT16/FAT32 non-destructive resizer";
-    homepage = http://sourceforge.net/projects/fatresize;
+    homepage = https://sourceforge.net/projects/fatresize;
     platforms = stdenv.lib.platforms.linux;
   };
 }
diff --git a/pkgs/tools/filesystems/fuseiso/default.nix b/pkgs/tools/filesystems/fuseiso/default.nix
index 3ca468513063..8a417cfe397d 100644
--- a/pkgs/tools/filesystems/fuseiso/default.nix
+++ b/pkgs/tools/filesystems/fuseiso/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
   ];
 
   meta = {
-    homepage = http://sourceforge.net/projects/fuseiso;
+    homepage = https://sourceforge.net/projects/fuseiso;
     description = "FUSE module to mount ISO filesystem images";
     platforms = stdenv.lib.platforms.linux;
     license = stdenv.lib.licenses.gpl2;
diff --git a/pkgs/tools/filesystems/genext2fs/default.nix b/pkgs/tools/filesystems/genext2fs/default.nix
index acb992b24ad2..0ef85abd2b77 100644
--- a/pkgs/tools/filesystems/genext2fs/default.nix
+++ b/pkgs/tools/filesystems/genext2fs/default.nix
@@ -8,6 +8,12 @@ stdenv.mkDerivation {
     sha256 = "1z7czvsf3ircvz2cw1cf53yifsq29ljxmj15hbgc79l6gbxbnka0";
   };
 
+  # https://sourceforge.net/p/genext2fs/bugs/2/
+  # Will be fixed in the next release, whenever this happens
+  postPatch = ''
+    sed -e 's@4 [*] (EXT2_TIND_BLOCK+1)@-1+&@' -i genext2fs.c
+  '';
+
   meta = with stdenv.lib; {
     homepage = http://genext2fs.sourceforge.net/;
     description = "A tool to generate ext2 filesystem images without requiring root privileges";
diff --git a/pkgs/tools/filesystems/glusterfs/default.upstream b/pkgs/tools/filesystems/glusterfs/default.upstream
deleted file mode 100644
index 29494eab87b9..000000000000
--- a/pkgs/tools/filesystems/glusterfs/default.upstream
+++ /dev/null
@@ -1,5 +0,0 @@
-url http://download.gluster.org/pub/gluster/glusterfs/
-version_link '/[0-9.]+/$'
-version_link '/[0-9.]+/$'
-version_link 'glusterfs-[0-9.]+[.]tar[.]'
-minimize_overwrite
diff --git a/pkgs/tools/filesystems/mtpfs/default.nix b/pkgs/tools/filesystems/mtpfs/default.nix
index 6d2b073d8696..ac1a7c1c1485 100644
--- a/pkgs/tools/filesystems/mtpfs/default.nix
+++ b/pkgs/tools/filesystems/mtpfs/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = https://code.google.com/p/mtpfs/;
+    homepage = https://github.com/cjd/mtpfs;
     description = "FUSE Filesystem providing access to MTP devices";
     platforms = stdenv.lib.platforms.all;
     maintainers = [ stdenv.lib.maintainers.qknight ];
diff --git a/pkgs/tools/filesystems/netatalk/default.nix b/pkgs/tools/filesystems/netatalk/default.nix
index 445e724e1a2a..33b473df5a22 100644
--- a/pkgs/tools/filesystems/netatalk/default.nix
+++ b/pkgs/tools/filesystems/netatalk/default.nix
@@ -1,21 +1,28 @@
-{ fetchurl, stdenv, pkgconfig, db, libgcrypt, avahi, libiconv, pam, openssl, acl, ed, glibc }:
+{ fetchurl, stdenv, autoreconfHook, pkgconfig, perl, python
+, db, libgcrypt, avahi, libiconv, pam, openssl, acl
+, ed, glibc
+}:
 
 stdenv.mkDerivation rec{
-  name = "netatalk-3.1.7";
+  name = "netatalk-3.1.11";
 
   src = fetchurl {
     url = "mirror://sourceforge/netatalk/netatalk/${name}.tar.bz2";
-    sha256 = "0wf09fyqzza024qr1s26z5x7rsvh9zb4pv598gw7gm77wjcr6174";
+    sha256 = "3434472ba96d3bbe3b024274438daad83b784ced720f7662a4c1d0a1078799a6";
   };
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ db libgcrypt avahi libiconv pam openssl acl ];
+  patches = [
+    ./no-suid.patch
+    ./omitLocalstatedirCreation.patch
+  ];
+
+  nativeBuildInputs = [ autoreconfHook pkgconfig perl python python.pkgs.wrapPython ];
 
-  patches = ./omitLocalstatedirCreation.patch;
+  buildInputs = [ db libgcrypt avahi libiconv pam openssl acl ];
 
   configureFlags = [
     "--with-bdb=${db}"
-    "--with-openssl=${openssl.dev}"
+    "--with-ssl-dir=${openssl.dev}"
     "--with-lockfile=/run/lock/netatalk"
     "--localstatedir=/var/lib"
   ];
@@ -36,6 +43,11 @@ stdenv.mkDerivation rec{
     EOF
   '';
 
+  postInstall = ''
+    buildPythonPath ${python.pkgs.dbus-python}
+    patchPythonScript $out/bin/afpstats
+  '';
+
   enableParallelBuilding = true;
 
   meta = {
diff --git a/pkgs/tools/filesystems/netatalk/no-suid.patch b/pkgs/tools/filesystems/netatalk/no-suid.patch
new file mode 100644
index 000000000000..194c1f5fac9f
--- /dev/null
+++ b/pkgs/tools/filesystems/netatalk/no-suid.patch
@@ -0,0 +1,11 @@
+diff --git a/bin/afppasswd/Makefile.am b/bin/afppasswd/Makefile.am
+index 578eac1..d17aa22 100644
+--- a/bin/afppasswd/Makefile.am
++++ b/bin/afppasswd/Makefile.am
+@@ -16,5 +16,5 @@ AM_CFLAGS = @SSL_CFLAGS@ -I$(top_srcdir)/sys \
+ 
+ install-exec-hook:
+ if HAVE_OPENSSL
+-	chmod u+s $(DESTDIR)$(bindir)/afppasswd
++#	chmod u+s $(DESTDIR)$(bindir)/afppasswd
+ endif
diff --git a/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch b/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch
index d1a9dcb0b3bf..01c4ee9ba478 100644
--- a/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch
+++ b/pkgs/tools/filesystems/netatalk/omitLocalstatedirCreation.patch
@@ -1,35 +1,19 @@
-diff -ur netatalk-3.1.7-old/config/Makefile.in netatalk-3.1.7-new/config/Makefile.in 
---- netatalk-3.1.7-old/config/Makefile.in	2014-08-29 03:33:35.000000000 -0700
-+++ netatalk-3.1.7-new/config/Makefile.in	2015-08-13 20:52:35.000000000 -0700
-@@ -699,7 +699,7 @@
- 
- info-am:
- 
--install-data-am: install-data-local install-dbusserviceDATA
-+install-data-am: install-dbusserviceDATA
- 
- install-dvi: install-dvi-recursive
- 
-@@ -754,7 +754,7 @@
- 	cscopelist cscopelist-recursive ctags ctags-recursive \
- 	distclean distclean-generic distclean-libtool distclean-tags \
- 	distdir dvi dvi-am html html-am info info-am install \
--	install-am install-data install-data-am install-data-local \
-+	install-am install-data install-data-am \
- 	install-dbusserviceDATA install-dvi install-dvi-am \
- 	install-exec install-exec-am install-html install-html-am \
- 	install-info install-info-am install-man install-pdf \
-@@ -782,12 +782,6 @@
- # install configuration files
+diff --git a/config/Makefile.am b/config/Makefile.am
+index c98a2ab..58b7f0a 100644
+--- a/config/Makefile.am
++++ b/config/Makefile.am
+@@ -36,10 +36,10 @@ endif
  #
  
--install-data-local: install-config-files
+ install-data-local: install-config-files
 -	mkdir -pm 0755 $(DESTDIR)$(localstatedir)/netatalk/
 -	mkdir -pm 0755 $(DESTDIR)$(localstatedir)/netatalk/CNID/
 -	$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(localstatedir)/netatalk/
 -	$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(localstatedir)/netatalk/CNID/
--
++#	mkdir -pm 0755 $(DESTDIR)$(localstatedir)/netatalk/
++#	mkdir -pm 0755 $(DESTDIR)$(localstatedir)/netatalk/CNID/
++#	$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(localstatedir)/netatalk/
++#	$(INSTALL_DATA) $(srcdir)/README $(DESTDIR)$(localstatedir)/netatalk/CNID/
+ 
  uninstall-local:
  	@for f in $(CONFFILES) $(GENFILES); do \
- 		echo rm -f $(DESTDIR)$(pkgconfdir)/$$f; \
-
diff --git a/pkgs/tools/filesystems/nilfs-utils/default.nix b/pkgs/tools/filesystems/nilfs-utils/default.nix
index 80a0d566edcb..977add39b94b 100644
--- a/pkgs/tools/filesystems/nilfs-utils/default.nix
+++ b/pkgs/tools/filesystems/nilfs-utils/default.nix
@@ -1,9 +1,9 @@
 { stdenv, fetchurl, libuuid, libselinux }:
 let 
   sourceInfo = rec {
-    version = "2.2.6";
+    version = "2.2.7";
     url = "http://nilfs.sourceforge.net/download/nilfs-utils-${version}.tar.bz2";
-    sha256 = "1rjj6pv7yx5wm7b3w6hv88v6r53jqaam5nrnkw2and4ifhsprf3y";
+    sha256 = "01f09bvjk2crx65pxmxiw362wkkl3v2v144dfn3i7bk5gz253xic";
     baseName = "nilfs-utils";
     name = "${baseName}-${version}";
   };
diff --git a/pkgs/tools/filesystems/s3backer/default.nix b/pkgs/tools/filesystems/s3backer/default.nix
index cc31a6680597..b39be214d89f 100644
--- a/pkgs/tools/filesystems/s3backer/default.nix
+++ b/pkgs/tools/filesystems/s3backer/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/s3backer/;
+    homepage = https://github.com/archiecobbs/s3backer;
     description = "FUSE-based single file backing store via Amazon S3";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ nckx ];
diff --git a/pkgs/tools/filesystems/smbnetfs/default.nix b/pkgs/tools/filesystems/smbnetfs/default.nix
index fc504b3208de..7ff42c4d1f99 100644
--- a/pkgs/tools/filesystems/smbnetfs/default.nix
+++ b/pkgs/tools/filesystems/smbnetfs/default.nix
@@ -19,6 +19,6 @@ stdenv.mkDerivation rec {
     downloadPage = "http://sourceforge.net/projects/smbnetfs/files/smbnetfs";
     updateWalker = true;
     inherit version;
-    homepage = http://sourceforge.net/projects/smbnetfs/;
+    homepage = https://sourceforge.net/projects/smbnetfs/;
   };
 }
diff --git a/pkgs/tools/filesystems/snapraid/default.nix b/pkgs/tools/filesystems/snapraid/default.nix
index c9f605ca69f0..597be1b0f42f 100644
--- a/pkgs/tools/filesystems/snapraid/default.nix
+++ b/pkgs/tools/filesystems/snapraid/default.nix
@@ -8,7 +8,7 @@ stdenv.mkDerivation rec {
     owner = "amadvance";
     repo = "snapraid";
     rev = "v${version}";
-    sha256 = "13v0gz22ng09gs87f7900z2sk2hg5543njl32rfn4cxxp0jncs3r";
+    sha256 = "1vgyiagn6qvyyz4jkf8pzlg0w9apb6mzza97a9x03p82fav2afx0";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/filesystems/sshfs-fuse/default.nix b/pkgs/tools/filesystems/sshfs-fuse/default.nix
index 7d251d2e00d0..eebe3076c98a 100644
--- a/pkgs/tools/filesystems/sshfs-fuse/default.nix
+++ b/pkgs/tools/filesystems/sshfs-fuse/default.nix
@@ -4,7 +4,6 @@
 
 let
   inherit (stdenv.lib) optional;
-  rpath = stdenv.lib.makeLibraryPath [ fuse3 glib ];
 in stdenv.mkDerivation rec {
   version = "3.3.1";
   name = "sshfs-fuse-${version}";
@@ -30,10 +29,6 @@ in stdenv.mkDerivation rec {
     ln -sf $out/bin/sshfs $out/sbin/mount.sshfs
   '';
 
-  postFixup = ''
-       patchelf --set-rpath '${rpath}' "$out/bin/sshfs"
-  '';
-
   meta = with stdenv.lib; {
     inherit (src.meta) homepage;
     description = "FUSE-based filesystem that allows remote filesystems to be mounted over SSH";
diff --git a/pkgs/tools/graphics/cuneiform/default.nix b/pkgs/tools/graphics/cuneiform/default.nix
index 7e639940d07e..0a48e947a48e 100644
--- a/pkgs/tools/graphics/cuneiform/default.nix
+++ b/pkgs/tools/graphics/cuneiform/default.nix
@@ -16,6 +16,10 @@ stdenv.mkDerivation rec {
   })
   ];
 
+  postPatch = ''
+    rm cuneiform_src/Kern/hhh/tigerh/h/strings.h
+  '';
+
   buildInputs = [ imagemagick ];
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/tools/graphics/gnuplot/default.nix b/pkgs/tools/graphics/gnuplot/default.nix
index 10170b41bbe4..7594474538d0 100644
--- a/pkgs/tools/graphics/gnuplot/default.nix
+++ b/pkgs/tools/graphics/gnuplot/default.nix
@@ -21,11 +21,11 @@ let
   withX = libX11 != null && !aquaterm && !stdenv.isDarwin;
 in
 stdenv.mkDerivation rec {
-  name = "gnuplot-5.2.0";
+  name = "gnuplot-5.2.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/gnuplot/${name}.tar.gz";
-    sha256 = "0hqyajcnlk822fk7hyl07sqk6a75n93awbdl3ydk9fd6l4jn9zkx";
+    sha256 = "123yh0ysahn71nlibsz5qkq18rlf18qqfhrlkvl925ijdgxv1ikx";
   };
 
   buildInputs =
diff --git a/pkgs/tools/graphics/logstalgia/default.nix b/pkgs/tools/graphics/logstalgia/default.nix
index abebc0fc4ca6..2f18857b2a16 100644
--- a/pkgs/tools/graphics/logstalgia/default.nix
+++ b/pkgs/tools/graphics/logstalgia/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
                   glm freetype ];
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/logstalgia;
+    homepage = http://logstalgia.io/;
     description = "Website traffic visualization tool";
     license = licenses.gpl3Plus;
 
diff --git a/pkgs/tools/graphics/lprof/default.nix b/pkgs/tools/graphics/lprof/default.nix
index e6773e42304b..d3a8d19dfe29 100644
--- a/pkgs/tools/graphics/lprof/default.nix
+++ b/pkgs/tools/graphics/lprof/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "Little CMS ICC profile construction set";
-    homepage = http://sourceforge.net/projects/lprof;
+    homepage = https://sourceforge.net/projects/lprof;
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
   };
diff --git a/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix b/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix
index 596b3ce15652..170ac4c6a26f 100644
--- a/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix
+++ b/pkgs/tools/inputmethods/fcitx-engines/fcitx-mozc/default.nix
@@ -33,7 +33,7 @@ in clangStdenv.mkDerivation rec {
   '';
 
   patch_version = "2.18.2612.102.1";
-  patches = [ 
+  patches = [
     (fetchpatch rec {
       name   = "fcitx-mozc-${patch_version}.patch";
       url    = "https://download.fcitx-im.org/fcitx-mozc/${name}";
@@ -43,7 +43,7 @@ in clangStdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace src/unix/fcitx/mozc.conf \
-      --replace "/usr/share/fcitx/mozc/icon/mozc.png" "mozc" 
+      --replace "/usr/share/fcitx/mozc/icon/mozc.png" "mozc"
   '';
 
   configurePhase = ''
@@ -91,7 +91,7 @@ in clangStdenv.mkDerivation rec {
   meta = with clangStdenv.lib; {
     isFcitxEngine = true;
     description   = "Fcitx engine for Google japanese input method";
-    homepage      = http://code.google.com/p/mozc/;
+    homepage      = https://github.com/google/mozc;
     downloadPage  = "http://download.fcitx-im.org/fcitx-mozc/";
     license       = licenses.free;
     platforms     = platforms.linux;
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
index 2e32075992c9..fd924cdd2a2b 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-mozc/default.nix
@@ -15,7 +15,7 @@ in clangStdenv.mkDerivation rec {
   meta = with clangStdenv.lib; {
     isIbusEngine = true;
     description  = "Japanese input method from Google";
-    homepage     = http://code.google.com/p/mozc/;
+    homepage     = https://github.com/google/mozc;
     license      = licenses.free;
     platforms    = platforms.linux;
     maintainers  = with maintainers; [ gebner ericsagnes ];
diff --git a/pkgs/tools/inputmethods/nabi/default.nix b/pkgs/tools/inputmethods/nabi/default.nix
index 7ca5af555f96..b93c59d9789b 100644
--- a/pkgs/tools/inputmethods/nabi/default.nix
+++ b/pkgs/tools/inputmethods/nabi/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation {
   name = "nabi-1.0.0";
 
   src = fetchurl {
-    url = "http://nabi.googlecode.com/files/nabi-1.0.0.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/nabi/nabi-1.0.0.tar.gz";
     sha256 = "0craa24pw7b70sh253arv9bg9sy4q3mhsjwfss3bnv5nf0xwnncw";
   };
 
@@ -13,7 +13,7 @@ stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "The Easy Hangul XIM";
-    homepage = https://code.google.com/p/nabi;
+    homepage = https://github.com/choehwanjin/nabi;
     license = licenses.gpl2;
     maintainers = [ maintainers.ianwookim ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/inputmethods/touchegg/default.nix b/pkgs/tools/inputmethods/touchegg/default.nix
index b32d0c78a1b7..bdcbc939a07b 100644
--- a/pkgs/tools/inputmethods/touchegg/default.nix
+++ b/pkgs/tools/inputmethods/touchegg/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "touchegg-${version}";
   version = "1.1.1";
   src = fetchurl {
-    url = "https://touchegg.googlecode.com/files/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/touchegg/${name}.tar.gz";
     sha256 = "95734815c7219d9a71282f3144b3526f2542b4fa270a8e69d644722d024b4038";
   };
 
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = https://code.google.com/p/touchegg/;
+    homepage = https://github.com/JoseExposito/touchegg;
     description = "Macro binding for touch surfaces";
     license = stdenv.lib.licenses.gpl2;
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/inputmethods/uim/default.nix b/pkgs/tools/inputmethods/uim/default.nix
index 9af5de0476a7..3f37c1a2ab0c 100644
--- a/pkgs/tools/inputmethods/uim/default.nix
+++ b/pkgs/tools/inputmethods/uim/default.nix
@@ -38,12 +38,12 @@ stdenv.mkDerivation rec {
   dontUseCmakeConfigure = true;
 
   src = fetchurl {
-    url = "http://uim.googlecode.com/files/uim-${version}.tar.bz2";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/uim/uim-${version}.tar.bz2";
     sha1 = "43b9dbdead6797880e6cfc9c032ecb2d37d42777";
   };
 
   meta = with stdenv.lib; {
-    homepage    = "http://code.google.com/p/uim/";
+    homepage    = "https://github.com/uim/uim";
     description = "A multilingual input method framework";
     license     = stdenv.lib.licenses.bsd3;
     platforms   = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/misc/bdf2psf/default.nix b/pkgs/tools/misc/bdf2psf/default.nix
index bf1377419a5c..b8b01a7c0fc7 100644
--- a/pkgs/tools/misc/bdf2psf/default.nix
+++ b/pkgs/tools/misc/bdf2psf/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   name = "bdf2psf-${version}";
-  version = "1.158";
+  version = "1.170";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/c/console-setup/bdf2psf_${version}_all.deb";
-    sha256 = "12zaj7hi5gzdh9r7rcyqnkwik1ljw1qzj6j7rw80bgw6fn611rs9";
+    sha256 = "0xh743cr21qk8cmc6ijp59d61dqra4ggdlgbin9v991xqa0mqdxb";
   };
 
   buildInputs = [ dpkg ];
diff --git a/pkgs/tools/misc/bepasty/default.nix b/pkgs/tools/misc/bepasty/default.nix
index 67faf925a278..be1df0510d7b 100644
--- a/pkgs/tools/misc/bepasty/default.nix
+++ b/pkgs/tools/misc/bepasty/default.nix
@@ -26,7 +26,7 @@ buildPythonApplication rec {
   };
 
   meta = {
-    homepage = http://github.com/bepasty/bepasty-server;
+    homepage = https://github.com/bepasty/bepasty-server;
     description = "Binary pastebin server";
     license = lib.licenses.mit;
     maintainers = [ lib.maintainers.makefu ];
diff --git a/pkgs/tools/misc/bibutils/default.nix b/pkgs/tools/misc/bibutils/default.nix
index 65a5b718e5f4..eaa2c6e4942f 100644
--- a/pkgs/tools/misc/bibutils/default.nix
+++ b/pkgs/tools/misc/bibutils/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Bibliography format interconversion";
     longDescription = "The bibutils program set interconverts between various bibliography formats using a common MODS-format XML intermediate. For example, one can convert RIS-format files to Bibtex by doing two transformations: RIS->MODS->Bibtex. By using a common intermediate for N formats, only 2N programs are required and not N²-N. These programs operate on the command line and are styled after standard UNIX-like filters.";
-    homepage = http://sourceforge.net/p/bibutils/home/Bibutils/;
+    homepage = https://sourceforge.net/p/bibutils/home/Bibutils/;
     license = licenses.gpl2;
     maintainers = [ maintainers.garrison ];
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 40ea672296d8..020599e17a81 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,51 +1,44 @@
 { stdenv, fetchurl, bash-completion
-, glib, polkit, pkgconfig, intltool, gusb, libusb1, lcms2, sqlite, systemd, dbus
-, gtk_doc, gobjectIntrospection, argyllcms, autoreconfHook
+, glib, polkit, pkgconfig, gettext, gusb, lcms2, sqlite, systemd, dbus
+, gobjectIntrospection, argyllcms, meson, ninja, libxml2, vala_0_38
 , libgudev, sane-backends }:
 
 stdenv.mkDerivation rec {
-  name = "colord-1.2.12";
+  name = "colord-1.4.1";
 
   src = fetchurl {
     url = "http://www.freedesktop.org/software/colord/releases/${name}.tar.xz";
-    sha256 = "0flcsr148xshjbff030pgyk9ar25an901m9q1pjgjdvaq5j1h96m";
+    sha256 = "0m854clp8szvq38z16jpazzlqfb3lb3icxcfnsisfrc25748y1ib";
   };
 
   enableParallelBuilding = true;
 
-  # Version mismatch requires intltoolize to overwrite
-  # with newer version.
-  preConfigure = ''
-    intltoolize --force
-  '';
-
-  configureFlags = [
-    "--enable-sane"
-    "--with-udevrulesdir=$(out)/lib/udev/rules.d"
-    "--with-systemdsystemunitdir=$(out)/etc/systemd/system"
+  mesonFlags = [
+    "-Denable-sane=true"
+    "-Denable-vala=true"
     "--localstatedir=/var"
-    "--disable-bash-completion"
+    "-Denable-bash-completion=true"
+    # TODO: man page cannot be build with docbook2x
+    "-Denable-man=false"
+    "-Denable-docs=false"
   ];
 
+  patches = [
+    ./fix-build-paths.patch
+  ];
 
-  # don't touch /var at install time, colord creates what it needs at runtime
-  postPatch = ''
-    sed -e "s|if test -w .*;|if false;|" -i src/Makefile.{am,in}
-  '';
-
-  nativeBuildInputs = [ autoreconfHook intltool pkgconfig ];
+  nativeBuildInputs = [ meson pkgconfig vala_0_38 ninja gettext libxml2 gobjectIntrospection ];
 
-  buildInputs = [ glib polkit gusb libusb1 lcms2 sqlite systemd dbus gobjectIntrospection
+  buildInputs = [ glib polkit gusb lcms2 sqlite systemd dbus
                   bash-completion argyllcms libgudev sane-backends ];
 
   postInstall = ''
-    mkdir -p $out/etc/bash_completion.d
-    cp -v data/colormgr $out/etc/bash_completion.d
+    glib-compile-schemas $out/share/glib-2.0/schemas
   '';
 
   meta = {
     description = "System service to manage, install and generate color profiles to accurately color manage input and output devices";
-    homepage = http://www.freedesktop.org/software/colord/intro.html;
+    homepage = https://www.freedesktop.org/software/colord/;
     license = stdenv.lib.licenses.lgpl2Plus;
     maintainers = [stdenv.lib.maintainers.marcweber];
     platforms = stdenv.lib.platforms.linux;
diff --git a/pkgs/tools/misc/colord/fix-build-paths.patch b/pkgs/tools/misc/colord/fix-build-paths.patch
new file mode 100644
index 000000000000..7eb66a0b34be
--- /dev/null
+++ b/pkgs/tools/misc/colord/fix-build-paths.patch
@@ -0,0 +1,56 @@
+--- a/contrib/session-helper/meson.build
++++ b/contrib/session-helper/meson.build
+@@ -21,7 +21,7 @@
+     output : 'colord-session.service',
+     configuration : con2,
+     install: true,
+-    install_dir: systemd.get_pkgconfig_variable('systemduserunitdir'),
++    install_dir: join_paths(get_option('prefix'), 'etc', 'systemd', 'user'),
+   )
+ endif
+ 
+--- a/data/meson.build
++++ b/data/meson.build
+@@ -8,13 +8,13 @@
+ 
+ if get_option('enable-systemd')
+   install_data('colord.conf',
+-    install_dir: systemd.get_pkgconfig_variable('tmpfilesdir')
++    install_dir: join_paths(get_option('prefix'), 'lib', 'tmpfiles.d')
+   )
+ endif
+ 
+ if get_option('enable-bash-completion')
+   install_data('colormgr',
+-    install_dir: bash_completion.get_pkgconfig_variable('completionsdir')
++    install_dir: join_paths(get_option('prefix'), 'etc', 'bash_completion.d')
+   )
+ endif
+ 
+@@ -31,7 +31,7 @@
+     output : 'colord.service',
+     configuration : con2,
+     install: true,
+-    install_dir: systemd.get_pkgconfig_variable('systemdsystemunitdir'),
++    install_dir: join_paths(get_option('prefix'), 'etc', 'systemd', 'system'),
+   )
+ endif
+ 
+--- a/meson.build
++++ b/meson.build
+@@ -258,6 +258,3 @@
+ subdir('policy')
+ subdir('rules')
+ subdir('src')
+-
+-meson.add_install_script('meson_post_install.sh',
+-                         localstatedir, get_option('with-daemon-user'))
+--- a/rules/meson.build
++++ b/rules/meson.build
+@@ -9,5 +9,5 @@
+     sensor_rules_in,
+     '95-cd-devices.rules',
+   ],
+-  install_dir : join_paths(udev.get_pkgconfig_variable('udevdir'), 'rules.d')
++  install_dir : join_paths(get_option('prefix'), 'lib', 'udev', 'rules.d')
+ )
diff --git a/pkgs/tools/misc/ddcutil/default.nix b/pkgs/tools/misc/ddcutil/default.nix
index c45c85e4271d..53755c8a19d2 100644
--- a/pkgs/tools/misc/ddcutil/default.nix
+++ b/pkgs/tools/misc/ddcutil/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   name = "ddcutil-${version}";
-  version = "0.8.2";
+  version = "0.8.4";
 
   src = fetchFromGitHub {
     owner  = "rockowitz";
     repo   = "ddcutil";
     rev    = "v${version}";
-    sha256 = "1hcdg54xyb1pfl03iqll14y9yglwmyvxyvhbql87hd9q0dywah6m";
+    sha256 = "1w9bkrlxlgc58rpf03xfd2qbkj73rlbiqrhy8nhwxqqhsj1kkdb0";
   };
 
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
diff --git a/pkgs/tools/misc/debootstrap/default.nix b/pkgs/tools/misc/debootstrap/default.nix
index e70efe6c4f11..a65862a78451 100644
--- a/pkgs/tools/misc/debootstrap/default.nix
+++ b/pkgs/tools/misc/debootstrap/default.nix
@@ -4,13 +4,13 @@
 # There is also cdebootstrap now. Is that easier to maintain?
 stdenv.mkDerivation rec {
   name = "debootstrap-${version}";
-  version = "1.0.87";
+  version = "1.0.92";
 
   src = fetchurl {
     # git clone git://git.debian.org/d-i/debootstrap.git
     # I'd like to use the source. However it's lacking the lanny script ? (still true?)
     url = "mirror://debian/pool/main/d/debootstrap/debootstrap_${version}.tar.gz";
-    sha256 = "1amk3wghx4f7zfp7d8r0hgqn5gvph50qa6nvh32q2j8aihdr7374";
+    sha256 = "06gp6ivmfh0ks4mibx1mz0pwzjyxqas319s741pp9b3k091jkip1";
   };
 
   buildInputs = [ dpkg gettext gawk perl ];
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 2ea29196ed66..3fd5bb7daa61 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -8,12 +8,12 @@
 
 python3Packages.buildPythonApplication rec {
   name = "diffoscope-${version}";
-  version = "86";
+  version = "87";
 
   src = fetchgit {
     url    = "git://anonscm.debian.org/reproducible/diffoscope.git";
     rev    = "refs/tags/${version}";
-    sha256 = "0jj3gn7pw7him12bxf0wbs6wkz32ydv909v5gi681p0dyzajd0zr";
+    sha256 = "0j3pljwmggrpaghbamvr24x4cg5yj7hl2ll27405p7970scnpngv";
   };
 
   patches = [
diff --git a/pkgs/tools/misc/ethtool/default.nix b/pkgs/tools/misc/ethtool/default.nix
index ae6ea6e3f538..85672619d61c 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.11";
+  version = "4.13";
 
   src = fetchurl {
     url = "mirror://kernel/software/network/ethtool/${name}.tar.xz";
-    sha256 = "1cp132kk2xd2cwn1ysjv0cl8i9lnq3n4zi4wy676p5k4h2mfvn0j";
+    sha256 = "1flwz4x76ajxigadq9knxgwr778g03y3qfx6c7rflc3x020a7hdp";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/execline/default.nix b/pkgs/tools/misc/execline/default.nix
index 5010343d3c71..6a13d289efc0 100644
--- a/pkgs/tools/misc/execline/default.nix
+++ b/pkgs/tools/misc/execline/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.2.0.0";
+  version = "2.3.0.3";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/execline";
     rev = "refs/tags/v${version}";
-    sha256 = "1795n6s0sp9hw8amx2hs9r395gv4c5sn63g077g1gal1vcpkcssn";
+    sha256 = "1q0izb8ajzxl36fjpy4rn63sz01055r9s33fga99jprdmkkfzz6x";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/tools/misc/fd/default.nix b/pkgs/tools/misc/fd/default.nix
index 09debd461dc4..5ac5233c9165 100644
--- a/pkgs/tools/misc/fd/default.nix
+++ b/pkgs/tools/misc/fd/default.nix
@@ -16,6 +16,11 @@ rustPlatform.buildRustPackage rec {
   preFixup = ''
     mkdir -p "$out/man/man1"
     cp "$src/doc/fd.1" "$out/man/man1"
+
+    mkdir -p "$out/share/"{bash-completion/completions,fish/completions,zsh/site-functions}
+    cp target/release/build/fd-find-*/out/fd.bash-completion "$out/share/bash-completion/completions/"
+    cp target/release/build/fd-find-*/out/fd.fish "$out/share/fish/completions/"
+    cp target/release/build/fd-find-*/out/_fd "$out/share/zsh/site-functions/"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/fdupes/default.nix b/pkgs/tools/misc/fdupes/default.nix
index 0ab97a7e6715..84b61f9aae92 100644
--- a/pkgs/tools/misc/fdupes/default.nix
+++ b/pkgs/tools/misc/fdupes/default.nix
@@ -1,31 +1,28 @@
-{stdenv, fetchFromGitHub}:
+{ stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "fdupes-20150902";
+  name = "fdupes-${version}";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
-    owner = "jbruchon";
-    repo  = "fdupes-jody";
-    rev   = "414b1fd64c0a739d4c52228eb72487782855b939";
-    sha256 = "1q6jcj79pljm1f24fqgk8x53xz2x0p1986znw75iljxqyzbvw0ap";
+    owner = "adrianlopezroche";
+    repo  = "fdupes";
+    rev   = "v${version}";
+    sha256 = "19b6vqblddaw8ccw4sn0qsqzbswlhrz8ia6n4m3hymvcxn8skpz9";
   };
 
-  makeFlags = "PREFIX=\${out}";
+  makeFlags = "PREFIX=$(out)";
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "Identifies duplicate files residing within specified directories";
     longDescription = ''
-      FDUPES compares inodes' stats, hash sums, and byte by byte file
-      contents to find duplicate files within a set of directories and
-      then applies various actions to those sets, e.g.:
-      * remove some of the duplicates,
-      * turn all the files in a set into hardlinks.
+      fdupes searches the given path for duplicate files.
+      Such files are found by comparing file sizes and MD5 signatures,
+      followed by a byte-by-byte comparison.
     '';
-    homepage = src.meta.homepage;
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [
-      stdenv.lib.maintainers.z77z
-    ];
+    homepage = https://github.com/adrianlopezroche/fdupes;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.z77z ];
   };
 }
diff --git a/pkgs/tools/misc/fwup/default.nix b/pkgs/tools/misc/fwup/default.nix
index 8937de88c38d..82b3a1d963d4 100644
--- a/pkgs/tools/misc/fwup/default.nix
+++ b/pkgs/tools/misc/fwup/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   name = "fwup-${version}";
-  version = "0.14.3";
+  version = "0.16.1";
 
   src = fetchFromGitHub {
     owner = "fhunleth";
     repo = "fwup";
     rev = "v${version}";
-    sha256 = "15sjpxw1llpipshriivpha6470lkvhcgs5wh5mlaabjbvrgxygqh";
+    sha256 = "1hphgpwxzdbfswzxbx0jm7lma1xkkwxvm8ll3jp2ljmimqzzb7jf";
   };
 
   doCheck = true;
diff --git a/pkgs/tools/misc/fzf/default.nix b/pkgs/tools/misc/fzf/default.nix
index e0367dc915d3..830f9cb878be 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.17.0-2";
+  version = "0.17.1";
   rev = "${version}";
 
   goPackagePath = "github.com/junegunn/fzf";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     inherit rev;
     owner = "junegunn";
     repo = "fzf";
-    sha256 = "0j4m3xf6qxfymfq6y5ml5rgz2rr1glh54k3b5xa9zi4cl5wg43qv";
+    sha256 = "0zxav6kfifppj49kif8917djq1vqjznqzmviqj4iiar8jmyrn2fy";
   };
 
   outputs = [ "bin" "out" "man" ];
diff --git a/pkgs/tools/misc/hexd/default.nix b/pkgs/tools/misc/hexd/default.nix
new file mode 100644
index 000000000000..b080e23b265a
--- /dev/null
+++ b/pkgs/tools/misc/hexd/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "hexd-${version}";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "FireyFly";
+    repo = "hexd";
+    rev = "v${version}";
+    sha256 = "1lm0mj5c71id5kpqar8n44023s1kymb3q45nsz0hjh9v7p8libp0";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    description = "Colourful, human-friendly hexdump tool";
+    homepage = https://github.com/FireyFly/hexd;
+    maintainers = [ maintainers.FireyFly ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/jdupes/default.nix b/pkgs/tools/misc/jdupes/default.nix
new file mode 100644
index 000000000000..35d93a3d57cb
--- /dev/null
+++ b/pkgs/tools/misc/jdupes/default.nix
@@ -0,0 +1,32 @@
+{ stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  name = "jdupes-${version}";
+  version = "1.8";
+
+  src = fetchFromGitHub {
+    owner = "jbruchon";
+    repo  = "jdupes";
+    rev   = "v${version}";
+    sha256 = "17cgh3j6z4rl8ay06s8387a2c49awfv1w3b2a11z4hidwry37aiq";
+    # Unicode file names lead to different checksums on HFS+ vs. other
+    # filesystems because of unicode normalisation. The testdir
+    # directories have such files and will be removed.
+    extraPostFetch = "rm -r $out/testdir";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ] ++ stdenv.lib.optional stdenv.isLinux "ENABLE_BTRFS=1";
+
+  meta = with stdenv.lib; {
+    description = "A powerful duplicate file finder and an enhanced fork of 'fdupes'";
+    longDescription = ''
+      jdupes is a program for identifying and taking actions upon
+      duplicate files. This fork known as 'jdupes' is heavily modified
+      from and improved over the original.
+    '';
+    homepage = https://github.com/jbruchon/jdupes;
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.romildo ];
+  };
+}
diff --git a/pkgs/tools/misc/ncdu/default.nix b/pkgs/tools/misc/ncdu/default.nix
index c309c8229747..1cb71ce9dd67 100644
--- a/pkgs/tools/misc/ncdu/default.nix
+++ b/pkgs/tools/misc/ncdu/default.nix
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Ncurses disk usage analyzer";
-    homepage = http://dev.yorhel.nl/ncdu;
+    homepage = https://dev.yorhel.nl/ncdu;
     license = licenses.mit;
     platforms = platforms.all;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index 82abb5c9bbcf..a8332ad494da 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -1,24 +1,24 @@
 { stdenv, fetchFromGitHub, autoreconfHook, pkgconfig, gtk_doc, gobjectIntrospection
 , libgsystem, xz, e2fsprogs, libsoup, gpgme, which, autoconf, automake, libtool, fuse
-, libcap, yacc, libxslt, docbook_xsl, docbook_xml_dtd_42
+, libarchive, libcap, bzip2, yacc, libxslt, docbook_xsl, docbook_xml_dtd_42
 }:
 
 let
   libglnx-src = fetchFromGitHub {
     owner  = "GNOME";
     repo   = "libglnx";
-    rev    = "50a0feaba03ffa5a1980d3a14487276b8f49f8a6";
-    sha256 = "1rn5jdh84y1yfpqmvidx82lkm0jr7scjzdrps57r37ksxvrk3ibs";
+    rev    = "5362f6bc3ff3e30f379e767b203d15c9e56d6f08";
+    sha256 = "1l4vm7bx3cf4q44n3a1i2gszyryqyimcxvx54gna72q7dw130mrr";
   };
 
   bsdiff-src = fetchFromGitHub {
     owner  = "mendsley";
     repo   = "bsdiff";
-    rev    = "7d70d8f4ff48345bc76e314c9d98da91f78873fa";
-    sha256 = "0ai2kykj8i4bqcy3gry36r3n4ax0fldncfhksl5b293nf2fihnws";
+    rev    = "1edf9f656850c0c64dae260960fabd8249ea9c60";
+    sha256 = "1h71d2h2d3anp4msvpaff445rnzdxii3id2yglqk7af9i43kdsn1";
   };
 
-  version = "2017.9";
+  version = "2017.12";
 in stdenv.mkDerivation {
   name = "ostree-${version}";
 
@@ -26,7 +26,7 @@ in stdenv.mkDerivation {
     rev    = "v${version}";
     owner  = "ostreedev";
     repo   = "ostree";
-    sha256 = "1040xcw8qcs6xq8x4wg47hha3915qzb6lndb38wjyn6wzl1680q3";
+    sha256 = "0gxvpzwz7z4zihz5hkn6ajv7f6gas4zi2pznhi5v6wy7cw06if68";
   };
 
   nativeBuildInputs = [
@@ -34,7 +34,7 @@ in stdenv.mkDerivation {
     libxslt docbook_xsl docbook_xml_dtd_42
   ];
 
-  buildInputs = [ libgsystem xz e2fsprogs libsoup gpgme fuse libcap ];
+  buildInputs = [ libgsystem xz e2fsprogs libsoup gpgme fuse libarchive libcap bzip2 ];
 
   prePatch = ''
     rmdir libglnx bsdiff
@@ -50,7 +50,7 @@ in stdenv.mkDerivation {
 
   meta = with stdenv.lib; {
     description = "Git for operating system binaries";
-    homepage    = "http://live.gnome.org/OSTree/";
+    homepage    = https://ostree.readthedocs.io/en/latest/;
     license     = licenses.lgpl2Plus;
     platforms   = platforms.linux;
     maintainers = with maintainers; [ copumpkin ];
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 648d09b42654..676db3ab69c8 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -1,11 +1,11 @@
 { fetchurl, stdenv, perl, makeWrapper, procps }:
 
 stdenv.mkDerivation rec {
-  name = "parallel-20170722";
+  name = "parallel-20171022";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${name}.tar.bz2";
-    sha256 = "117g50bx1kcbrqix0f1539z5rzhvgsni2wddjv939wcxkrdb1idx";
+    sha256 = "18pq10npl7g764ww7cy9r5n5s3kiy984jclf932qfgndcxsbpqpp";
   };
 
   nativeBuildInputs = [ makeWrapper perl ];
diff --git a/pkgs/tools/misc/pixd/default.nix b/pkgs/tools/misc/pixd/default.nix
new file mode 100644
index 000000000000..ececef398501
--- /dev/null
+++ b/pkgs/tools/misc/pixd/default.nix
@@ -0,0 +1,25 @@
+{ stdenv, fetchFromGitHub }:
+
+with stdenv.lib;
+
+stdenv.mkDerivation rec {
+  name = "pixd-${version}";
+  version = "1.0.0";
+
+  src = fetchFromGitHub {
+    owner = "FireyFly";
+    repo = "pixd";
+    rev = "v${version}";
+    sha256 = "1vmkbs39mg5vwmkzfcrxqm6p8zr9sj4qdwng9icmyf5k34c34xdg";
+  };
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  meta = {
+    description = "Colourful visualization tool for binary files";
+    homepage = https://github.com/FireyFly/pixd;
+    maintainers = [ maintainers.FireyFly ];
+    license = licenses.mit;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/qt5ct/default.nix b/pkgs/tools/misc/qt5ct/default.nix
index 86750518bb5a..9da2ebc07fc0 100644
--- a/pkgs/tools/misc/qt5ct/default.nix
+++ b/pkgs/tools/misc/qt5ct/default.nix
@@ -1,5 +1,7 @@
 { stdenv, fetchurl, qtbase, qtsvg, qttools, qmake }:
 
+let inherit (stdenv.lib) getDev; in
+
 stdenv.mkDerivation rec {
   name = "qt5ct-${version}";
   version = "0.33";
@@ -14,6 +16,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ qtbase qtsvg ];
 
+  qmakeFlags = [ ''LRELEASE_EXECUTABLE=${getDev qttools}/bin/lrelease'' ];
+
   preConfigure = ''
     qmakeFlags="$qmakeFlags PLUGINDIR=$out/$qtPluginPrefix"
   '';
diff --git a/pkgs/tools/misc/quota/default.nix b/pkgs/tools/misc/quota/default.nix
index 9ba138bf0e9d..a13f7160aa69 100644
--- a/pkgs/tools/misc/quota/default.nix
+++ b/pkgs/tools/misc/quota/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Tools to manage kernel-level quotas in Linux";
-    homepage = http://sourceforge.net/projects/linuxquota/;
+    homepage = https://sourceforge.net/projects/linuxquota/;
     license = licenses.gpl2; # With some files being BSD as an exception
     platforms = platforms.linux;
     maintainers = [ maintainers.dezgeg ];
diff --git a/pkgs/tools/misc/radeon-profile/default.nix b/pkgs/tools/misc/radeon-profile/default.nix
index 63f32763f223..6af33691a07d 100644
--- a/pkgs/tools/misc/radeon-profile/default.nix
+++ b/pkgs/tools/misc/radeon-profile/default.nix
@@ -1,18 +1,18 @@
-{ stdenv, fetchFromGitHub, qtbase, qmake, libXrandr }:
+{ stdenv, fetchFromGitHub, qtbase, qtcharts, qmake, libXrandr, libdrm }:
 
 stdenv.mkDerivation rec {
 
   name = "radeon-profile-${version}";
-  version = "20161221";
+  version = "20170714";
 
   nativeBuildInputs = [ qmake ];
-  buildInputs = [ qtbase libXrandr ];
+  buildInputs = [ qtbase qtcharts libXrandr libdrm ];
 
   src = (fetchFromGitHub {
     owner  = "marazmista";
     repo   = "radeon-profile";
     rev    = version;
-    sha256 = "0zdmpc0rx6i0y32dcbz02whp95hpbmmbkmcp39f00byvjm5cprgg";
+    sha256 = "08fv824iq00zbl9xk9zsfs8gkk8rsy6jlxbmszrjfx7ji28hansd";
   }) + "/radeon-profile";
 
   postInstall = ''
diff --git a/pkgs/tools/misc/rkflashtool/default.nix b/pkgs/tools/misc/rkflashtool/default.nix
index 5c56f9accfc1..ff606c6b72bb 100644
--- a/pkgs/tools/misc/rkflashtool/default.nix
+++ b/pkgs/tools/misc/rkflashtool/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = {
-    homepage = http://sourceforge.net/projects/rkflashtool/;
+    homepage = https://sourceforge.net/projects/rkflashtool/;
     description = "Tools for flashing Rockchip devices";
     platforms = stdenv.lib.platforms.linux;
     maintainers = [ stdenv.lib.maintainers.viric ];
diff --git a/pkgs/tools/misc/rlwrap/default.nix b/pkgs/tools/misc/rlwrap/default.nix
index 86d81fd25856..bd60e786036f 100644
--- a/pkgs/tools/misc/rlwrap/default.nix
+++ b/pkgs/tools/misc/rlwrap/default.nix
@@ -1,11 +1,12 @@
 { stdenv, fetchurl, readline }:
 
 stdenv.mkDerivation rec {
-  name = "rlwrap-0.42";
+  name = "rlwrap-${version}";
+  version = "0.43";
 
   src = fetchurl {
-    url = "http://utopia.knoware.nl/~hlub/uck/rlwrap/${name}.tar.gz";
-    sha256 = "0i3yz303wscrysyzpdq04h4nrl9ajz9dbwi80risdl5rkm3dhw2s";
+    url = "https://github.com/hanslub42/rlwrap/releases/download/v${version}/${name}.tar.gz";
+    sha256 = "0bzb7ylk2770iv59v2d0gypb21y2xn87m299s9rqm6rdi2vx11lf";
   };
 
   buildInputs = [ readline ];
@@ -17,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "Readline wrapper for console programs";
-    homepage = http://utopia.knoware.nl/~hlub/uck/rlwrap/;
+    homepage = https://github.com/hanslub42/rlwrap;
     license = stdenv.lib.licenses.gpl2Plus;
     platforms = stdenv.lib.platforms.unix;
     maintainers = with stdenv.lib.maintainers; [ fuuzetsu ];
diff --git a/pkgs/tools/misc/rockbox-utility/default.nix b/pkgs/tools/misc/rockbox-utility/default.nix
index f84b9563967f..32f5a551dfe3 100644
--- a/pkgs/tools/misc/rockbox-utility/default.nix
+++ b/pkgs/tools/misc/rockbox-utility/default.nix
@@ -2,6 +2,8 @@
 , qtbase, qttools, makeWrapper, qmake
 , withEspeak ? false, espeak ? null }:
 
+let inherit (stdenv.lib) getDev; in
+
 stdenv.mkDerivation  rec {
   name = "rockbox-utility-${version}";
   version = "1.4.0";
@@ -15,6 +17,11 @@ stdenv.mkDerivation  rec {
     ++ stdenv.lib.optional withEspeak espeak;
   nativeBuildInputs = [ makeWrapper pkgconfig qmake ];
 
+  postPatch = ''
+    sed -i rbutil/rbutilqt/rbutilqt.pro \
+        -e '/^lrelease.commands =/ s|$$\[QT_INSTALL_BINS\]/lrelease -silent|${getDev qttools}/bin/lrelease|'
+  '';
+
   preConfigure = ''
     cd rbutil/rbutilqt
   '';
diff --git a/pkgs/tools/misc/rrdtool/default.nix b/pkgs/tools/misc/rrdtool/default.nix
index ee5c37ef6bb1..671dba0d548b 100644
--- a/pkgs/tools/misc/rrdtool/default.nix
+++ b/pkgs/tools/misc/rrdtool/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://oss.oetiker.ch/rrdtool/;
+    homepage = https://oss.oetiker.ch/rrdtool/;
     description = "High performance logging in Round Robin Databases";
     license = licenses.gpl2;
     platforms = platforms.linux ++ platforms.darwin;
diff --git a/pkgs/tools/misc/s6-portable-utils/default.nix b/pkgs/tools/misc/s6-portable-utils/default.nix
index bf5a158625c5..a9fefe446fe0 100644
--- a/pkgs/tools/misc/s6-portable-utils/default.nix
+++ b/pkgs/tools/misc/s6-portable-utils/default.nix
@@ -4,11 +4,11 @@ with stdenv.lib;
 
 stdenv.mkDerivation rec {
   name = "s6-portable-utils-${version}";
-  version = "2.1.0.0";
+  version = "2.2.1.1";
 
   src = fetchurl {
     url = "http://www.skarnet.org/software/s6-portable-utils/${name}.tar.gz";
-    sha256 = "0khw5ljmlghvl4hyrf4vd0hl5rrmsspchi8w4xgniwfip6vlbqfd";
+    sha256 = "0ca5iiq3n6isj64jb81xpwjzjx1q8jg145nnnn91ra2qqk93kqka";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/tools/misc/time/default.nix b/pkgs/tools/misc/time/default.nix
index 911f0ff50bf3..cce7614b904e 100644
--- a/pkgs/tools/misc/time/default.nix
+++ b/pkgs/tools/misc/time/default.nix
@@ -1,15 +1,14 @@
 {stdenv, fetchurl}:
 
-stdenv.mkDerivation {
-  name = "time-1.7";
+stdenv.mkDerivation rec {
+  name = "time-${version}";
+  version = "1.8";
 
   src = fetchurl {
-    url = mirror://gnu/time/time-1.7.tar.gz;
-    sha256 = "0va9063fcn7xykv658v2s9gilj2fq4rcdxx2mn2mmy1v4ndafzp3";
+    url = "mirror://gnu/time/${name}.tar.gz";
+    sha256 = "06rfg8dn0q2r8pdq8i6brrs6rqrsgvkwbbl4kfx3a6lnal0m8bwa";
   };
 
-  patches = [ ./max-resident.patch ];
-
   meta = {
     description = "Tool that runs programs and summarizes the system resources they use";
 
@@ -27,7 +26,7 @@ stdenv.mkDerivation {
       `time' reports unavailable information as zero values.
     '';
 
-    license = stdenv.lib.licenses.gpl2Plus;
+    license = stdenv.lib.licenses.gpl3Plus;
     homepage = http://www.gnu.org/software/time/;
     platforms = stdenv.lib.platforms.unix;
   };
diff --git a/pkgs/tools/misc/time/max-resident.patch b/pkgs/tools/misc/time/max-resident.patch
deleted file mode 100644
index e593d833d5e4..000000000000
--- a/pkgs/tools/misc/time/max-resident.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix the "max resident" size reported by ‘time’ being off by a factor of 4. 
-
-From http://lists.gnu.org/archive/html/help-gnu-utils/2010-10/msg00002.html
-
-diff -ru -x '*~' time-1.7-orig/time.c time-1.7/time.c
---- time-1.7-orig/time.c	1996-06-13 15:38:21.000000000 -0400
-+++ time-1.7/time.c	2011-10-31 10:40:27.000000000 -0400
-@@ -392,7 +392,7 @@
- 		       ptok ((UL) resp->ru.ru_ixrss) / MSEC_TO_TICKS (v));
- 	      break;
- 	    case 'M':		/* Maximum resident set size.  */
--	      fprintf (fp, "%lu", ptok ((UL) resp->ru.ru_maxrss));
-+              fprintf (fp, "%lu", (UL) resp->ru.ru_maxrss);
- 	      break;
- 	    case 'O':		/* Outputs.  */
- 	      fprintf (fp, "%ld", resp->ru.ru_oublock);
diff --git a/pkgs/tools/misc/timidity/default.nix b/pkgs/tools/misc/timidity/default.nix
index 24a7e8d3f714..f30fdb1f1192 100644
--- a/pkgs/tools/misc/timidity/default.nix
+++ b/pkgs/tools/misc/timidity/default.nix
@@ -28,7 +28,7 @@ stdenv.mkDerivation {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://sourceforge.net/projects/timidity/;
+    homepage = https://sourceforge.net/projects/timidity/;
     license = licenses.gpl2;
     description = "A software MIDI renderer";
     maintainers = [ maintainers.marcweber ];
diff --git a/pkgs/tools/misc/tmuxp/default.nix b/pkgs/tools/misc/tmuxp/default.nix
index 9faa36c13f02..24486980b4ba 100644
--- a/pkgs/tools/misc/tmuxp/default.nix
+++ b/pkgs/tools/misc/tmuxp/default.nix
@@ -2,13 +2,13 @@
 
 pythonPackages.buildPythonApplication rec {
   name = "tmuxp-${version}";
-  version = "1.3.1";
+  version = "1.3.4";
 
   namePrefix = "";
 
   src = fetchurl {
     url = "mirror://pypi/t/tmuxp/${name}.tar.gz";
-    sha256 = "189mxnb2pxj3wjijn56j8y5x1r23fil00fn2q7d6bd13vgr0f85s";
+    sha256 = "149n35rr27n2c6yna1bla20x3w1zz9gxnjj3m3xxdfp4fbsd2y31";
   };
 
   patchPhase = ''
diff --git a/pkgs/tools/misc/ttwatch/default.nix b/pkgs/tools/misc/ttwatch/default.nix
index 2924da5f89a9..3ea58546acec 100644
--- a/pkgs/tools/misc/ttwatch/default.nix
+++ b/pkgs/tools/misc/ttwatch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "ttwatch-${version}";
-  version = "2017-09-26";
+  version = "2017-10-31";
 
   src = fetchFromGitHub {
     owner = "ryanbinns";
     repo = "ttwatch";
-    rev = "31fb7ca6ac992d131a3f5ea6acf49f0c52a128c5";
-    sha256 = "1sxjx593jqbq45jn2dkjz07zq9kkgsbcj971phimlm6dj6g75wxq";
+    rev = "f4103bdeb612a216ac21747941b3df943d67c48c";
+    sha256 = "0fylycdi0g119d21l11yz23cjjhr3qdxjv02vz86zkc15kyvgsas";
   };
 
   nativeBuildInputs = [ cmake perl ];
diff --git a/pkgs/tools/misc/vorbisgain/default.nix b/pkgs/tools/misc/vorbisgain/default.nix
index 567783f63138..1c108af27f88 100644
--- a/pkgs/tools/misc/vorbisgain/default.nix
+++ b/pkgs/tools/misc/vorbisgain/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://sjeng.org/vorbisgain.html;
+    homepage = https://sjeng.org/vorbisgain.html;
     description = "A utility that corrects the volume of an Ogg Vorbis file to a predefined standardized loudness";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index 0e7cd49b543d..c1091d47c5a8 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -1,17 +1,14 @@
-{ stdenv, pythonPackages, fetchFromGitHub }:
+{ stdenv, buildPythonApplication, fetchFromGitHub }:
 
-with pythonPackages;
-
-buildPythonPackage rec {
-  namePrefix = "";
+buildPythonApplication rec {
   name = "wakatime-${version}";
-  version = "7.0.4";
+  version = "10.0.1";
 
   src = fetchFromGitHub {
-    sha256 = "1cddabx9x11d2nxxcqlf4piysjnpfici0n5qy3n9gw81asz1djhf";
-    rev = version;
-    repo = "wakatime";
     owner = "wakatime";
+    repo = "wakatime";
+    rev = version;
+    sha256 = "1bg8fzd3rdc6na0a7z1d55m2gbnfq6d72mf2jlyzc817r6dr4bfx";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/misc/youtube-dl/default.nix b/pkgs/tools/misc/youtube-dl/default.nix
index ccedec968e4b..13d5dec91cee 100644
--- a/pkgs/tools/misc/youtube-dl/default.nix
+++ b/pkgs/tools/misc/youtube-dl/default.nix
@@ -15,11 +15,11 @@ with stdenv.lib;
 buildPythonApplication rec {
 
   name = "youtube-dl-${version}";
-  version = "2017.10.20";
+  version = "2017.11.06";
 
   src = fetchurl {
     url = "https://yt-dl.org/downloads/${version}/${name}.tar.gz";
-    sha256 = "0npr8b1xg1dylz717kfllw433h1y16251npzch48lchq69bhm4iy";
+    sha256 = "1djq3sf16il6y7n175gv7xwdz2s9lvsvzs38k95cj579l4k0433d";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/networking/airfield/default.nix b/pkgs/tools/networking/airfield/default.nix
index 3c8e96547259..93535e935dc8 100644
--- a/pkgs/tools/networking/airfield/default.nix
+++ b/pkgs/tools/networking/airfield/default.nix
@@ -1,39 +1,70 @@
-{ stdenv, fetchgit, callPackage, python, utillinux }:
+{ stdenv, fetchFromGitHub, callPackage, python, utillinux
+, pkgs, makeWrapper, buildEnv
+, nodejs
+}:
 
-with stdenv.lib;
+let
+  nodePackages = import ./node.nix {
+    inherit pkgs;
+    system = stdenv.system;
+  };
 
-let 
-  nodePackages = callPackage (import ../../../top-level/node-packages.nix) {
-    neededNatives = [python] ++ optional (stdenv.isLinux) utillinux;
-    self = nodePackages;
-    generated = ./package.nix;
+  runtimeEnv = buildEnv {
+    name = "airfield-runtime";
+    paths = with nodePackages; [
+      nodePackages."express-3.0.5" nodePackages."swig-0.14.0"
+      nodePackages."consolidate-0.10.0" redis connect-redis
+      async request
+    ];
   };
 
-in nodePackages.buildNodePackage rec {
   name = "airfield-${version}";
-  version = "5ae816562a";
+  version = "2015-01-04";
+
+  src = stdenv.mkDerivation {
+    name = "${name}-src";
+    inherit version;
 
-  src = [(fetchgit {
-    url = https://github.com/emblica/airfield.git;
-    rev = version;
-    sha256 = "0rv05pq0xdm0d977dc3hg6dam78acymzrdvkxs8ga8xj4vfs5npk";
-  })];
+    src = fetchFromGitHub {
+      owner = "emblica";
+      repo = "airfield";
+      rev = "f021b19a35be3db9be7780318860f3b528c48641";
+      sha256 = "1xk69x89kgg98hm7c2ysyfmg7pkvgkpg4wym6v5cmdkdid08fsgs";
+    };
 
-  deps = (filter (v: nixType v == "derivation") (attrValues nodePackages));
+    dontBuild = true;
+
+    installPhase = ''
+      mkdir $out
+      cp -R . $out
+    '';
+  };
+in stdenv.mkDerivation {
+  inherit name version src;
 
-  preInstall = ''
-    substituteInPlace node_modules/Airfield/airfield.js \
-        --replace "'./settings'" "process.env.NODE_CONFIG"
+  buildInputs = [ makeWrapper nodejs ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cat >$out/bin/airfield <<EOF
+      #!${stdenv.shell}/bin/sh
+      ${nodejs}/bin/node ${src}/airfield.js
+    EOF
   '';
 
-  passthru.names = ["Airfield"];
+  postFixup = ''
+    chmod +x $out/bin/airfield
+    wrapProgram $out/bin/airfield \
+      --set NODE_PATH "${runtimeEnv}/lib/node_modules"
+  '';
 
-  meta = {
+  meta = with stdenv.lib; {
     description = "A web-interface for hipache-proxy";
     license = licenses.mit;
     homepage = https://github.com/emblica/airfield;
-    maintainers = with maintainers; [offline];
+    maintainers = with maintainers; [ offline ma27 ];
     platforms = platforms.linux;
-    broken = true;
   };
 }
diff --git a/pkgs/tools/networking/airfield/deps.json b/pkgs/tools/networking/airfield/deps.json
new file mode 100644
index 000000000000..f6b3c5a91468
--- /dev/null
+++ b/pkgs/tools/networking/airfield/deps.json
@@ -0,0 +1,8 @@
+[ { "express": "3.0.5" }
+, { "swig": "0.14.0" }
+, { "consolidate": "0.10.0" }
+, "redis"
+, "connect-redis"
+, "async"
+, "request"
+]
diff --git a/pkgs/tools/networking/airfield/deps.sh b/pkgs/tools/networking/airfield/deps.sh
new file mode 100755
index 000000000000..216e3c11a9a2
--- /dev/null
+++ b/pkgs/tools/networking/airfield/deps.sh
@@ -0,0 +1,6 @@
+#!/usr/bin/env nix-shell
+#! nix-shell -i bash -p nodePackages.node2nix
+
+node2nix -6 -i deps.json \
+  --no-copy-node-env \
+  -e ../../../development/node-packages/node-env.nix -c node.nix
diff --git a/pkgs/tools/networking/airfield/node-packages.nix b/pkgs/tools/networking/airfield/node-packages.nix
new file mode 100644
index 000000000000..e92921e15b83
--- /dev/null
+++ b/pkgs/tools/networking/airfield/node-packages.nix
@@ -0,0 +1,883 @@
+# This file has been generated by node2nix 1.4.0. Do not edit!
+
+{nodeEnv, fetchurl, fetchgit, globalBuildInputs ? []}:
+
+let
+  sources = {
+    "connect-2.7.1" = {
+      name = "connect";
+      packageName = "connect";
+      version = "2.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect/-/connect-2.7.1.tgz";
+        sha1 = "b869df9acf3dd8a0af7523c7c6f1aa8b4b761daa";
+      };
+    };
+    "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";
+      };
+    };
+    "range-parser-0.0.4" = {
+      name = "range-parser";
+      packageName = "range-parser";
+      version = "0.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
+        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
+      };
+    };
+    "mkdirp-0.3.3" = {
+      name = "mkdirp";
+      packageName = "mkdirp";
+      version = "0.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz";
+        sha1 = "595e251c1370c3a68bab2136d0e348b8105adf13";
+      };
+    };
+    "cookie-0.0.5" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
+        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
+      };
+    };
+    "buffer-crc32-0.1.1" = {
+      name = "buffer-crc32";
+      packageName = "buffer-crc32";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
+        sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
+      };
+    };
+    "fresh-0.1.0" = {
+      name = "fresh";
+      packageName = "fresh";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
+        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
+      };
+    };
+    "methods-0.0.1" = {
+      name = "methods";
+      packageName = "methods";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
+        sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
+      };
+    };
+    "send-0.1.0" = {
+      name = "send";
+      packageName = "send";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/send/-/send-0.1.0.tgz";
+        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
+      };
+    };
+    "cookie-signature-0.0.1" = {
+      name = "cookie-signature";
+      packageName = "cookie-signature";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-0.0.1.tgz";
+        sha1 = "13d3603b5cf63befbf85a8801e37aa900db46985";
+      };
+    };
+    "debug-3.1.0" = {
+      name = "debug";
+      packageName = "debug";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz";
+        sha512 = "3g1hqsahr1ks2kpvdxrwzr57fj90nnr0hvwwrw8yyyzcv3i11sym8zwibxx67bl1mln0acddrzpkkdjjxnc6n2cm9fazmgzzsl1fzrr";
+      };
+    };
+    "qs-0.5.1" = {
+      name = "qs";
+      packageName = "qs";
+      version = "0.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
+        sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
+      };
+    };
+    "formidable-1.0.11" = {
+      name = "formidable";
+      packageName = "formidable";
+      version = "1.0.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
+        sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
+      };
+    };
+    "crc-0.2.0" = {
+      name = "crc";
+      packageName = "crc";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
+        sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
+      };
+    };
+    "bytes-0.1.0" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
+        sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
+      };
+    };
+    "pause-0.0.1" = {
+      name = "pause";
+      packageName = "pause";
+      version = "0.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
+        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
+      };
+    };
+    "mime-1.2.6" = {
+      name = "mime";
+      packageName = "mime";
+      version = "1.2.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
+        sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
+      };
+    };
+    "ms-2.0.0" = {
+      name = "ms";
+      packageName = "ms";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz";
+        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
+      };
+    };
+    "underscore-1.8.3" = {
+      name = "underscore";
+      packageName = "underscore";
+      version = "1.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
+        sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
+      };
+    };
+    "double-ended-queue-2.1.0-0" = {
+      name = "double-ended-queue";
+      packageName = "double-ended-queue";
+      version = "2.1.0-0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz";
+        sha1 = "103d3527fd31528f40188130c841efdd78264e5c";
+      };
+    };
+    "redis-commands-1.3.1" = {
+      name = "redis-commands";
+      packageName = "redis-commands";
+      version = "1.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.3.1.tgz";
+        sha1 = "81d826f45fa9c8b2011f4cd7a0fe597d241d442b";
+      };
+    };
+    "redis-parser-2.6.0" = {
+      name = "redis-parser";
+      packageName = "redis-parser";
+      version = "2.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz";
+        sha1 = "52ed09dacac108f1a631c07e9b69941e7a19504b";
+      };
+    };
+    "redis-2.8.0" = {
+      name = "redis";
+      packageName = "redis";
+      version = "2.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz";
+        sha512 = "3a3044ax6qdvss83xgjfx10h5q91ls0mwgs3wpsnxcdsiipq3cnmqzsh6glyq0r7vsmpw49jp84c2jnfrhi2bgycrkd9hhhf6ia8lrk";
+      };
+    };
+    "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";
+      };
+    };
+    "aws-sign2-0.7.0" = {
+      name = "aws-sign2";
+      packageName = "aws-sign2";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz";
+        sha1 = "b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8";
+      };
+    };
+    "aws4-1.6.0" = {
+      name = "aws4";
+      packageName = "aws4";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/aws4/-/aws4-1.6.0.tgz";
+        sha1 = "83ef5ca860b2b32e4a0deedee8c771b9db57471e";
+      };
+    };
+    "caseless-0.12.0" = {
+      name = "caseless";
+      packageName = "caseless";
+      version = "0.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz";
+        sha1 = "1b681c21ff84033c826543090689420d187151dc";
+      };
+    };
+    "combined-stream-1.0.5" = {
+      name = "combined-stream";
+      packageName = "combined-stream";
+      version = "1.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
+        sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
+      };
+    };
+    "extend-3.0.1" = {
+      name = "extend";
+      packageName = "extend";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extend/-/extend-3.0.1.tgz";
+        sha1 = "a755ea7bc1adfcc5a31ce7e762dbaadc5e636444";
+      };
+    };
+    "forever-agent-0.6.1" = {
+      name = "forever-agent";
+      packageName = "forever-agent";
+      version = "0.6.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
+        sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
+      };
+    };
+    "form-data-2.3.1" = {
+      name = "form-data";
+      packageName = "form-data";
+      version = "2.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/form-data/-/form-data-2.3.1.tgz";
+        sha1 = "6fb94fbd71885306d73d15cc497fe4cc4ecd44bf";
+      };
+    };
+    "har-validator-5.0.3" = {
+      name = "har-validator";
+      packageName = "har-validator";
+      version = "5.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-validator/-/har-validator-5.0.3.tgz";
+        sha1 = "ba402c266194f15956ef15e0fcf242993f6a7dfd";
+      };
+    };
+    "hawk-6.0.2" = {
+      name = "hawk";
+      packageName = "hawk";
+      version = "6.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hawk/-/hawk-6.0.2.tgz";
+        sha512 = "1nl2hjr2mnhj5jlaz8mh54z7acwz5j5idkch04qgjk78756gw5d0fjk4a2immil5ij9ijdssb9ndpryvnh2xpcbgcjv8lxybn330als";
+      };
+    };
+    "http-signature-1.2.0" = {
+      name = "http-signature";
+      packageName = "http-signature";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz";
+        sha1 = "9aecd925114772f3d95b65a60abb8f7c18fbace1";
+      };
+    };
+    "is-typedarray-1.0.0" = {
+      name = "is-typedarray";
+      packageName = "is-typedarray";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
+        sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
+      };
+    };
+    "isstream-0.1.2" = {
+      name = "isstream";
+      packageName = "isstream";
+      version = "0.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
+        sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
+      };
+    };
+    "json-stringify-safe-5.0.1" = {
+      name = "json-stringify-safe";
+      packageName = "json-stringify-safe";
+      version = "5.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
+        sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
+      };
+    };
+    "mime-types-2.1.17" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.17.tgz";
+        sha1 = "09d7a393f03e995a79f8af857b70a9e0ab16557a";
+      };
+    };
+    "oauth-sign-0.8.2" = {
+      name = "oauth-sign";
+      packageName = "oauth-sign";
+      version = "0.8.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
+        sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
+      };
+    };
+    "performance-now-2.1.0" = {
+      name = "performance-now";
+      packageName = "performance-now";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz";
+        sha1 = "6309f4e0e5fa913ec1c69307ae364b4b377c9e7b";
+      };
+    };
+    "qs-6.5.1" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.1.tgz";
+        sha512 = "3waqapyj1k4g135sgj636rmswiaixq19is1rw0rpv4qp6k7dl0a9nwy06m7yl5lbdk9p6xpwwngnggbzlzaz6rh11c86j2nvnnf273r";
+      };
+    };
+    "safe-buffer-5.1.1" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.1.tgz";
+        sha512 = "1p28rllll1w65yzq5azi4izx962399xdsdlfbaynn7vmp981hiss05jhiy9hm7sbbfk3b4dhlcv0zy07fc59mnc07hdv6wcgqkcvawh";
+      };
+    };
+    "stringstream-0.0.5" = {
+      name = "stringstream";
+      packageName = "stringstream";
+      version = "0.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
+        sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
+      };
+    };
+    "tough-cookie-2.3.3" = {
+      name = "tough-cookie";
+      packageName = "tough-cookie";
+      version = "2.3.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.3.3.tgz";
+        sha1 = "0b618a5565b6dea90bf3425d04d55edc475a7561";
+      };
+    };
+    "tunnel-agent-0.6.0" = {
+      name = "tunnel-agent";
+      packageName = "tunnel-agent";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
+        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+      };
+    };
+    "uuid-3.1.0" = {
+      name = "uuid";
+      packageName = "uuid";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/uuid/-/uuid-3.1.0.tgz";
+        sha512 = "3x5mi85l1559nkb35pfksjjgiyfyqrcvmcf0nly1xjl1kb0d37jnxd6sk0b8d331waadnqbf60nfssb563x9pvnjcw87lrh976sv18c";
+      };
+    };
+    "delayed-stream-1.0.0" = {
+      name = "delayed-stream";
+      packageName = "delayed-stream";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
+        sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
+      };
+    };
+    "asynckit-0.4.0" = {
+      name = "asynckit";
+      packageName = "asynckit";
+      version = "0.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz";
+        sha1 = "c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79";
+      };
+    };
+    "ajv-5.3.0" = {
+      name = "ajv";
+      packageName = "ajv";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ajv/-/ajv-5.3.0.tgz";
+        sha1 = "4414ff74a50879c208ee5fdc826e32c303549eda";
+      };
+    };
+    "har-schema-2.0.0" = {
+      name = "har-schema";
+      packageName = "har-schema";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz";
+        sha1 = "a94c2224ebcac04782a0d9035521f24735b7ec92";
+      };
+    };
+    "co-4.6.0" = {
+      name = "co";
+      packageName = "co";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/co/-/co-4.6.0.tgz";
+        sha1 = "6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184";
+      };
+    };
+    "fast-deep-equal-1.0.0" = {
+      name = "fast-deep-equal";
+      packageName = "fast-deep-equal";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-1.0.0.tgz";
+        sha1 = "96256a3bc975595eb36d82e9929d060d893439ff";
+      };
+    };
+    "fast-json-stable-stringify-2.0.0" = {
+      name = "fast-json-stable-stringify";
+      packageName = "fast-json-stable-stringify";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz";
+        sha1 = "d5142c0caee6b1189f87d3a76111064f86c8bbf2";
+      };
+    };
+    "json-schema-traverse-0.3.1" = {
+      name = "json-schema-traverse";
+      packageName = "json-schema-traverse";
+      version = "0.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.3.1.tgz";
+        sha1 = "349a6d44c53a51de89b40805c5d5e59b417d3340";
+      };
+    };
+    "hoek-4.2.0" = {
+      name = "hoek";
+      packageName = "hoek";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/hoek/-/hoek-4.2.0.tgz";
+        sha512 = "2cz0q3nnv67drgaw2rm7q57r9rgdax1qa0n4z46is7db1w8vwmh574xcr0d73xl5lg80vb85xg2gdhxzh9gbllagp7xk2q228pw4idz";
+      };
+    };
+    "boom-4.3.1" = {
+      name = "boom";
+      packageName = "boom";
+      version = "4.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boom/-/boom-4.3.1.tgz";
+        sha1 = "4f8a3005cb4a7e3889f749030fd25b96e01d2e31";
+      };
+    };
+    "cryptiles-3.1.2" = {
+      name = "cryptiles";
+      packageName = "cryptiles";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cryptiles/-/cryptiles-3.1.2.tgz";
+        sha1 = "a89fbb220f5ce25ec56e8c4aa8a4fd7b5b0d29fe";
+      };
+    };
+    "sntp-2.1.0" = {
+      name = "sntp";
+      packageName = "sntp";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sntp/-/sntp-2.1.0.tgz";
+        sha512 = "0k2smmr24w5hb1cpql6vcgh58vzp4pmh9anf0bgz3arlsgq1mapnlq9fjqr6xs10aq1cmxaw987fwknqi62frax0fvs9bj3q3kmpg8l";
+      };
+    };
+    "boom-5.2.0" = {
+      name = "boom";
+      packageName = "boom";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/boom/-/boom-5.2.0.tgz";
+        sha512 = "19h20yqpvca08dns1rs4f057f10w63v0snxfml4h5khsk266x3x1im0w72bza4k2xn0kfz6jlv001dhcvxsjr09bmbqnysils9m7437";
+      };
+    };
+    "assert-plus-1.0.0" = {
+      name = "assert-plus";
+      packageName = "assert-plus";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
+        sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
+      };
+    };
+    "jsprim-1.4.1" = {
+      name = "jsprim";
+      packageName = "jsprim";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
+        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+      };
+    };
+    "sshpk-1.13.1" = {
+      name = "sshpk";
+      packageName = "sshpk";
+      version = "1.13.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.13.1.tgz";
+        sha1 = "512df6da6287144316dc4c18fe1cf1d940739be3";
+      };
+    };
+    "extsprintf-1.3.0" = {
+      name = "extsprintf";
+      packageName = "extsprintf";
+      version = "1.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
+        sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
+      };
+    };
+    "json-schema-0.2.3" = {
+      name = "json-schema";
+      packageName = "json-schema";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
+        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+      };
+    };
+    "verror-1.10.0" = {
+      name = "verror";
+      packageName = "verror";
+      version = "1.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz";
+        sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
+      };
+    };
+    "core-util-is-1.0.2" = {
+      name = "core-util-is";
+      packageName = "core-util-is";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
+        sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
+      };
+    };
+    "asn1-0.2.3" = {
+      name = "asn1";
+      packageName = "asn1";
+      version = "0.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
+        sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
+      };
+    };
+    "dashdash-1.14.1" = {
+      name = "dashdash";
+      packageName = "dashdash";
+      version = "1.14.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz";
+        sha1 = "853cfa0f7cbe2fed5de20326b8dd581035f6e2f0";
+      };
+    };
+    "getpass-0.1.7" = {
+      name = "getpass";
+      packageName = "getpass";
+      version = "0.1.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz";
+        sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
+      };
+    };
+    "jsbn-0.1.1" = {
+      name = "jsbn";
+      packageName = "jsbn";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz";
+        sha1 = "a5e654c2e5a2deb5f201d96cefbca80c0ef2f513";
+      };
+    };
+    "tweetnacl-0.14.5" = {
+      name = "tweetnacl";
+      packageName = "tweetnacl";
+      version = "0.14.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz";
+        sha1 = "5ae68177f192d4456269d108afa93ff8743f4f64";
+      };
+    };
+    "ecc-jsbn-0.1.1" = {
+      name = "ecc-jsbn";
+      packageName = "ecc-jsbn";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
+        sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
+      };
+    };
+    "bcrypt-pbkdf-1.0.1" = {
+      name = "bcrypt-pbkdf";
+      packageName = "bcrypt-pbkdf";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.1.tgz";
+        sha1 = "63bc5dcb61331b92bc05fd528953c33462a06f8d";
+      };
+    };
+    "mime-db-1.30.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.30.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.30.0.tgz";
+        sha1 = "74c643da2dd9d6a45399963465b26d5ca7d71f01";
+      };
+    };
+    "punycode-1.4.1" = {
+      name = "punycode";
+      packageName = "punycode";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
+        sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
+      };
+    };
+  };
+in
+{
+  "express-3.0.5" = nodeEnv.buildNodePackage {
+    name = "express";
+    packageName = "express";
+    version = "3.0.5";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/express/-/express-3.0.5.tgz";
+      sha1 = "4c6e5850e6b5e8ca2af57f21ed7097de50948b73";
+    };
+    dependencies = [
+      sources."connect-2.7.1"
+      sources."commander-0.6.1"
+      sources."range-parser-0.0.4"
+      sources."mkdirp-0.3.3"
+      sources."cookie-0.0.5"
+      sources."buffer-crc32-0.1.1"
+      sources."fresh-0.1.0"
+      sources."methods-0.0.1"
+      sources."send-0.1.0"
+      sources."cookie-signature-0.0.1"
+      sources."debug-3.1.0"
+      sources."qs-0.5.1"
+      sources."formidable-1.0.11"
+      sources."crc-0.2.0"
+      sources."bytes-0.1.0"
+      sources."pause-0.0.1"
+      sources."mime-1.2.6"
+      sources."ms-2.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Sinatra inspired web development framework";
+    };
+    production = true;
+  };
+  "swig-0.14.0" = nodeEnv.buildNodePackage {
+    name = "swig";
+    packageName = "swig";
+    version = "0.14.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
+      sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
+    };
+    dependencies = [
+      sources."underscore-1.8.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A fast django-like templating engine for node.js and browsers.";
+    };
+    production = true;
+  };
+  "consolidate-0.10.0" = nodeEnv.buildNodePackage {
+    name = "consolidate";
+    packageName = "consolidate";
+    version = "0.10.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/consolidate/-/consolidate-0.10.0.tgz";
+      sha1 = "81f1a6ceba1247df9cef7a261ce527c2ce538f7a";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Template engine consolidation library";
+      homepage = https://github.com/visionmedia/consolidate.js;
+    };
+    production = true;
+  };
+  redis = nodeEnv.buildNodePackage {
+    name = "redis";
+    packageName = "redis";
+    version = "2.8.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz";
+      sha512 = "3a3044ax6qdvss83xgjfx10h5q91ls0mwgs3wpsnxcdsiipq3cnmqzsh6glyq0r7vsmpw49jp84c2jnfrhi2bgycrkd9hhhf6ia8lrk";
+    };
+    dependencies = [
+      sources."double-ended-queue-2.1.0-0"
+      sources."redis-commands-1.3.1"
+      sources."redis-parser-2.6.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Redis client library";
+      homepage = https://github.com/NodeRedis/node_redis;
+      license = "MIT";
+    };
+    production = true;
+  };
+  connect-redis = nodeEnv.buildNodePackage {
+    name = "connect-redis";
+    packageName = "connect-redis";
+    version = "3.3.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/connect-redis/-/connect-redis-3.3.2.tgz";
+      sha512 = "3w8bsdsqpz407jwgac2qa2lp08551xlqmsfyps1q7p0c80lx1dwip148rjc5fgm5w845al5c30i6rypggp4h6nhqzdk1jf0vyagbrkc";
+    };
+    dependencies = [
+      sources."debug-3.1.0"
+      sources."redis-2.8.0"
+      sources."ms-2.0.0"
+      sources."double-ended-queue-2.1.0-0"
+      sources."redis-commands-1.3.1"
+      sources."redis-parser-2.6.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Redis session store for Connect";
+      homepage = "https://github.com/visionmedia/connect-redis#readme";
+      license = "MIT";
+    };
+    production = true;
+  };
+  async = nodeEnv.buildNodePackage {
+    name = "async";
+    packageName = "async";
+    version = "2.6.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/async/-/async-2.6.0.tgz";
+      sha512 = "0zp4b5788400npi1ixjry5x3a4m21c8pnknk8v731rgnwnjbp5ijmfcf5ppmn1ap4a04md1s9dr8n9ygdvrmiai590v0k6dby1wc1y4";
+    };
+    dependencies = [
+      sources."lodash-4.17.4"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Higher-order functions and common patterns for asynchronous code";
+      homepage = https://caolan.github.io/async/;
+      license = "MIT";
+    };
+    production = true;
+  };
+  request = nodeEnv.buildNodePackage {
+    name = "request";
+    packageName = "request";
+    version = "2.83.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/request/-/request-2.83.0.tgz";
+      sha512 = "0by1djkn836sqd9pk2c777wcjvp34qbk1plx7s4lmykljrblpjc64dvn6ni2vyxsbyk33wnl6avym8vgw0ggr4226xakck8mw7y07cm";
+    };
+    dependencies = [
+      sources."aws-sign2-0.7.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.3.1"
+      sources."har-validator-5.0.3"
+      sources."hawk-6.0.2"
+      sources."http-signature-1.2.0"
+      sources."is-typedarray-1.0.0"
+      sources."isstream-0.1.2"
+      sources."json-stringify-safe-5.0.1"
+      sources."mime-types-2.1.17"
+      sources."oauth-sign-0.8.2"
+      sources."performance-now-2.1.0"
+      sources."qs-6.5.1"
+      sources."safe-buffer-5.1.1"
+      sources."stringstream-0.0.5"
+      sources."tough-cookie-2.3.3"
+      sources."tunnel-agent-0.6.0"
+      sources."uuid-3.1.0"
+      sources."delayed-stream-1.0.0"
+      sources."asynckit-0.4.0"
+      sources."ajv-5.3.0"
+      sources."har-schema-2.0.0"
+      sources."co-4.6.0"
+      sources."fast-deep-equal-1.0.0"
+      sources."fast-json-stable-stringify-2.0.0"
+      sources."json-schema-traverse-0.3.1"
+      sources."hoek-4.2.0"
+      sources."boom-5.2.0"
+      sources."cryptiles-3.1.2"
+      sources."sntp-2.1.0"
+      sources."assert-plus-1.0.0"
+      sources."jsprim-1.4.1"
+      sources."sshpk-1.13.1"
+      sources."extsprintf-1.3.0"
+      sources."json-schema-0.2.3"
+      sources."verror-1.10.0"
+      sources."core-util-is-1.0.2"
+      sources."asn1-0.2.3"
+      sources."dashdash-1.14.1"
+      sources."getpass-0.1.7"
+      sources."jsbn-0.1.1"
+      sources."tweetnacl-0.14.5"
+      sources."ecc-jsbn-0.1.1"
+      sources."bcrypt-pbkdf-1.0.1"
+      sources."mime-db-1.30.0"
+      sources."punycode-1.4.1"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Simplified HTTP request client.";
+      homepage = "https://github.com/request/request#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/airfield/node.nix b/pkgs/tools/networking/airfield/node.nix
new file mode 100644
index 000000000000..7460cf4ca6c4
--- /dev/null
+++ b/pkgs/tools/networking/airfield/node.nix
@@ -0,0 +1,16 @@
+# This file has been generated by node2nix 1.4.0. Do not edit!
+
+{pkgs ? import <nixpkgs> {
+    inherit system;
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-6_x"}:
+
+let
+  nodeEnv = import ../../../development/node-packages/node-env.nix {
+    inherit (pkgs) stdenv python2 utillinux runCommand writeTextFile;
+    inherit nodejs;
+  };
+in
+import ./node-packages.nix {
+  inherit (pkgs) fetchurl fetchgit;
+  inherit nodeEnv;
+}
\ No newline at end of file
diff --git a/pkgs/tools/networking/airfield/package.nix b/pkgs/tools/networking/airfield/package.nix
deleted file mode 100644
index 705061919e90..000000000000
--- a/pkgs/tools/networking/airfield/package.nix
+++ /dev/null
@@ -1,1495 +0,0 @@
-{ self, fetchurl, fetchgit ? null, lib }:
-
-{
-  by-spec."asn1"."0.1.11" =
-    self.by-version."asn1"."0.1.11";
-  by-version."asn1"."0.1.11" = lib.makeOverridable self.buildNodePackage {
-    name = "asn1-0.1.11";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
-        name = "asn1-0.1.11.tgz";
-        sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."asn1" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "asn1" ];
-  };
-  by-spec."assert-plus"."0.1.2" =
-    self.by-version."assert-plus"."0.1.2";
-  by-version."assert-plus"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "assert-plus-0.1.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
-        name = "assert-plus-0.1.2.tgz";
-        sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."assert-plus" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "assert-plus" ];
-  };
-  by-spec."async"."*" =
-    self.by-version."async"."0.9.0";
-  by-version."async"."0.9.0" = lib.makeOverridable self.buildNodePackage {
-    name = "async-0.9.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/async/-/async-0.9.0.tgz";
-        name = "async-0.9.0.tgz";
-        sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."async" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "async" ];
-  };
-  "async" = self.by-version."async"."0.9.0";
-  by-spec."async"."~0.9.0" =
-    self.by-version."async"."0.9.0";
-  by-spec."aws-sign2"."~0.5.0" =
-    self.by-version."aws-sign2"."0.5.0";
-  by-version."aws-sign2"."0.5.0" = lib.makeOverridable self.buildNodePackage {
-    name = "aws-sign2-0.5.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
-        name = "aws-sign2-0.5.0.tgz";
-        sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."aws-sign2" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "aws-sign2" ];
-  };
-  by-spec."base64-url"."1" =
-    self.by-version."base64-url"."1.0.0";
-  by-version."base64-url"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "base64-url-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/base64-url/-/base64-url-1.0.0.tgz";
-        name = "base64-url-1.0.0.tgz";
-        sha1 = "ab694376f2801af6c9260899ffef02f86b40ee2c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."base64-url" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "base64-url" ];
-  };
-  by-spec."bl"."~0.9.0" =
-    self.by-version."bl"."0.9.3";
-  by-version."bl"."0.9.3" = lib.makeOverridable self.buildNodePackage {
-    name = "bl-0.9.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bl/-/bl-0.9.3.tgz";
-        name = "bl-0.9.3.tgz";
-        sha1 = "c41eff3e7cb31bde107c8f10076d274eff7f7d44";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bl" or []);
-    deps = {
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "bl" ];
-  };
-  by-spec."boom"."0.4.x" =
-    self.by-version."boom"."0.4.2";
-  by-version."boom"."0.4.2" = lib.makeOverridable self.buildNodePackage {
-    name = "boom-0.4.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
-        name = "boom-0.4.2.tgz";
-        sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."boom" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "boom" ];
-  };
-  by-spec."buffer-crc32"."0.1.1" =
-    self.by-version."buffer-crc32"."0.1.1";
-  by-version."buffer-crc32"."0.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "buffer-crc32-0.1.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
-        name = "buffer-crc32-0.1.1.tgz";
-        sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."buffer-crc32" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "buffer-crc32" ];
-  };
-  by-spec."bytes"."0.1.0" =
-    self.by-version."bytes"."0.1.0";
-  by-version."bytes"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "bytes-0.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
-        name = "bytes-0.1.0.tgz";
-        sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."bytes" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "bytes" ];
-  };
-  by-spec."caseless"."~0.6.0" =
-    self.by-version."caseless"."0.6.0";
-  by-version."caseless"."0.6.0" = lib.makeOverridable self.buildNodePackage {
-    name = "caseless-0.6.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz";
-        name = "caseless-0.6.0.tgz";
-        sha1 = "8167c1ab8397fb5bb95f96d28e5a81c50f247ac4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."caseless" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "caseless" ];
-  };
-  by-spec."combined-stream"."~0.0.4" =
-    self.by-version."combined-stream"."0.0.5";
-  by-version."combined-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "combined-stream-0.0.5";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/combined-stream/-/combined-stream-0.0.5.tgz";
-        name = "combined-stream-0.0.5.tgz";
-        sha1 = "29ed76e5c9aad07c4acf9ca3d32601cce28697a2";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."combined-stream" or []);
-    deps = {
-      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "combined-stream" ];
-  };
-  by-spec."commander"."0.6.1" =
-    self.by-version."commander"."0.6.1";
-  by-version."commander"."0.6.1" = lib.makeOverridable self.buildNodePackage {
-    name = "commander-0.6.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-        name = "commander-0.6.1.tgz";
-        sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."commander" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "commander" ];
-  };
-  by-spec."connect"."2.7.1" =
-    self.by-version."connect"."2.7.1";
-  by-version."connect"."2.7.1" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-2.7.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect/-/connect-2.7.1.tgz";
-        name = "connect-2.7.1.tgz";
-        sha1 = "b869df9acf3dd8a0af7523c7c6f1aa8b4b761daa";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect" or []);
-    deps = {
-      "qs-0.5.1" = self.by-version."qs"."0.5.1";
-      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
-      "cookie-signature-0.0.1" = self.by-version."cookie-signature"."0.0.1";
-      "crc-0.2.0" = self.by-version."crc"."0.2.0";
-      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
-      "bytes-0.1.0" = self.by-version."bytes"."0.1.0";
-      "send-0.1.0" = self.by-version."send"."0.1.0";
-      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
-      "pause-0.0.1" = self.by-version."pause"."0.0.1";
-      "debug-2.0.0" = self.by-version."debug"."2.0.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect" ];
-  };
-  by-spec."connect-redis"."*" =
-    self.by-version."connect-redis"."2.1.0";
-  by-version."connect-redis"."2.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "connect-redis-2.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/connect-redis/-/connect-redis-2.1.0.tgz";
-        name = "connect-redis-2.1.0.tgz";
-        sha1 = "bc20aab9791288c605f39f572f8cbb1fa8ab7cc4";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."connect-redis" or []);
-    deps = {
-      "debug-1.0.4" = self.by-version."debug"."1.0.4";
-      "express-session-1.8.2" = self.by-version."express-session"."1.8.2";
-      "redis-0.12.1" = self.by-version."redis"."0.12.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "connect-redis" ];
-  };
-  "connect-redis" = self.by-version."connect-redis"."2.1.0";
-  by-spec."consolidate"."*" =
-    self.by-version."consolidate"."0.10.0";
-  by-version."consolidate"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "consolidate-0.10.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/consolidate/-/consolidate-0.10.0.tgz";
-        name = "consolidate-0.10.0.tgz";
-        sha1 = "81f1a6ceba1247df9cef7a261ce527c2ce538f7a";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."consolidate" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "consolidate" ];
-  };
-  "consolidate" = self.by-version."consolidate"."0.10.0";
-  by-spec."cookie"."0.0.5" =
-    self.by-version."cookie"."0.0.5";
-  by-version."cookie"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-0.0.5";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
-        name = "cookie-0.0.5.tgz";
-        sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie" ];
-  };
-  by-spec."cookie"."0.1.2" =
-    self.by-version."cookie"."0.1.2";
-  by-version."cookie"."0.1.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-0.1.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
-        name = "cookie-0.1.2.tgz";
-        sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie" ];
-  };
-  by-spec."cookie-signature"."0.0.1" =
-    self.by-version."cookie-signature"."0.0.1";
-  by-version."cookie-signature"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-signature-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-0.0.1.tgz";
-        name = "cookie-signature-0.0.1.tgz";
-        sha1 = "13d3603b5cf63befbf85a8801e37aa900db46985";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-signature" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-signature" ];
-  };
-  by-spec."cookie-signature"."1.0.5" =
-    self.by-version."cookie-signature"."1.0.5";
-  by-version."cookie-signature"."1.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "cookie-signature-1.0.5";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.5.tgz";
-        name = "cookie-signature-1.0.5.tgz";
-        sha1 = "a122e3f1503eca0f5355795b0711bb2368d450f9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cookie-signature" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cookie-signature" ];
-  };
-  by-spec."core-util-is"."~1.0.0" =
-    self.by-version."core-util-is"."1.0.1";
-  by-version."core-util-is"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "core-util-is-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/core-util-is/-/core-util-is-1.0.1.tgz";
-        name = "core-util-is-1.0.1.tgz";
-        sha1 = "6b07085aef9a3ccac6ee53bf9d3df0c1521a5538";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."core-util-is" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "core-util-is" ];
-  };
-  by-spec."crc"."0.2.0" =
-    self.by-version."crc"."0.2.0";
-  by-version."crc"."0.2.0" = lib.makeOverridable self.buildNodePackage {
-    name = "crc-0.2.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
-        name = "crc-0.2.0.tgz";
-        sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crc" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "crc" ];
-  };
-  by-spec."crc"."3.0.0" =
-    self.by-version."crc"."3.0.0";
-  by-version."crc"."3.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "crc-3.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/crc/-/crc-3.0.0.tgz";
-        name = "crc-3.0.0.tgz";
-        sha1 = "d11e97ec44a844e5eb15a74fa2c7875d0aac4b22";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."crc" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "crc" ];
-  };
-  by-spec."cryptiles"."0.2.x" =
-    self.by-version."cryptiles"."0.2.2";
-  by-version."cryptiles"."0.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "cryptiles-0.2.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
-        name = "cryptiles-0.2.2.tgz";
-        sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."cryptiles" or []);
-    deps = {
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "cryptiles" ];
-  };
-  by-spec."ctype"."0.5.2" =
-    self.by-version."ctype"."0.5.2";
-  by-version."ctype"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ctype-0.5.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ctype/-/ctype-0.5.2.tgz";
-        name = "ctype-0.5.2.tgz";
-        sha1 = "fe8091d468a373a0b0c9ff8bbfb3425c00973a1d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ctype" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ctype" ];
-  };
-  by-spec."debug"."*" =
-    self.by-version."debug"."2.0.0";
-  by-version."debug"."2.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-2.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
-        name = "debug-2.0.0.tgz";
-        sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = {
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  by-spec."debug"."^1.0.4" =
-    self.by-version."debug"."1.0.4";
-  by-version."debug"."1.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "debug-1.0.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
-        name = "debug-1.0.4.tgz";
-        sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."debug" or []);
-    deps = {
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "debug" ];
-  };
-  by-spec."debug"."~2.0.0" =
-    self.by-version."debug"."2.0.0";
-  by-spec."delayed-stream"."0.0.5" =
-    self.by-version."delayed-stream"."0.0.5";
-  by-version."delayed-stream"."0.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "delayed-stream-0.0.5";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
-        name = "delayed-stream-0.0.5.tgz";
-        sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."delayed-stream" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "delayed-stream" ];
-  };
-  by-spec."depd"."0.4.5" =
-    self.by-version."depd"."0.4.5";
-  by-version."depd"."0.4.5" = lib.makeOverridable self.buildNodePackage {
-    name = "depd-0.4.5";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/depd/-/depd-0.4.5.tgz";
-        name = "depd-0.4.5.tgz";
-        sha1 = "1a664b53388b4a6573e8ae67b5f767c693ca97f1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."depd" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "depd" ];
-  };
-  by-spec."express"."3.0.5" =
-    self.by-version."express"."3.0.5";
-  by-version."express"."3.0.5" = lib.makeOverridable self.buildNodePackage {
-    name = "express-3.0.5";
-    bin = true;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express/-/express-3.0.5.tgz";
-        name = "express-3.0.5.tgz";
-        sha1 = "4c6e5850e6b5e8ca2af57f21ed7097de50948b73";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express" or []);
-    deps = {
-      "connect-2.7.1" = self.by-version."connect"."2.7.1";
-      "commander-0.6.1" = self.by-version."commander"."0.6.1";
-      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
-      "mkdirp-0.3.3" = self.by-version."mkdirp"."0.3.3";
-      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
-      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
-      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
-      "methods-0.0.1" = self.by-version."methods"."0.0.1";
-      "send-0.1.0" = self.by-version."send"."0.1.0";
-      "cookie-signature-0.0.1" = self.by-version."cookie-signature"."0.0.1";
-      "debug-2.0.0" = self.by-version."debug"."2.0.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "express" ];
-  };
-  "express" = self.by-version."express"."3.0.5";
-  by-spec."express-session"."^1.7.6" =
-    self.by-version."express-session"."1.8.2";
-  by-version."express-session"."1.8.2" = lib.makeOverridable self.buildNodePackage {
-    name = "express-session-1.8.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/express-session/-/express-session-1.8.2.tgz";
-        name = "express-session-1.8.2.tgz";
-        sha1 = "c4011e728a2349b3c18f117a5409908985e83483";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."express-session" or []);
-    deps = {
-      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
-      "cookie-signature-1.0.5" = self.by-version."cookie-signature"."1.0.5";
-      "crc-3.0.0" = self.by-version."crc"."3.0.0";
-      "debug-2.0.0" = self.by-version."debug"."2.0.0";
-      "depd-0.4.5" = self.by-version."depd"."0.4.5";
-      "on-headers-1.0.0" = self.by-version."on-headers"."1.0.0";
-      "parseurl-1.3.0" = self.by-version."parseurl"."1.3.0";
-      "uid-safe-1.0.1" = self.by-version."uid-safe"."1.0.1";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "express-session" ];
-  };
-  by-spec."forever-agent"."~0.5.0" =
-    self.by-version."forever-agent"."0.5.2";
-  by-version."forever-agent"."0.5.2" = lib.makeOverridable self.buildNodePackage {
-    name = "forever-agent-0.5.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
-        name = "forever-agent-0.5.2.tgz";
-        sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."forever-agent" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "forever-agent" ];
-  };
-  by-spec."form-data"."~0.1.0" =
-    self.by-version."form-data"."0.1.4";
-  by-version."form-data"."0.1.4" = lib.makeOverridable self.buildNodePackage {
-    name = "form-data-0.1.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
-        name = "form-data-0.1.4.tgz";
-        sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."form-data" or []);
-    deps = {
-      "combined-stream-0.0.5" = self.by-version."combined-stream"."0.0.5";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "async-0.9.0" = self.by-version."async"."0.9.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "form-data" ];
-  };
-  by-spec."formidable"."1.0.11" =
-    self.by-version."formidable"."1.0.11";
-  by-version."formidable"."1.0.11" = lib.makeOverridable self.buildNodePackage {
-    name = "formidable-1.0.11";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
-        name = "formidable-1.0.11.tgz";
-        sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."formidable" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "formidable" ];
-  };
-  by-spec."fresh"."0.1.0" =
-    self.by-version."fresh"."0.1.0";
-  by-version."fresh"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "fresh-0.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
-        name = "fresh-0.1.0.tgz";
-        sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."fresh" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "fresh" ];
-  };
-  by-spec."hawk"."1.1.1" =
-    self.by-version."hawk"."1.1.1";
-  by-version."hawk"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "hawk-1.1.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
-        name = "hawk-1.1.1.tgz";
-        sha1 = "87cd491f9b46e4e2aeaca335416766885d2d1ed9";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hawk" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
-      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "hawk" ];
-  };
-  by-spec."hoek"."0.9.x" =
-    self.by-version."hoek"."0.9.1";
-  by-version."hoek"."0.9.1" = lib.makeOverridable self.buildNodePackage {
-    name = "hoek-0.9.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
-        name = "hoek-0.9.1.tgz";
-        sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."hoek" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "hoek" ];
-  };
-  by-spec."http-signature"."~0.10.0" =
-    self.by-version."http-signature"."0.10.0";
-  by-version."http-signature"."0.10.0" = lib.makeOverridable self.buildNodePackage {
-    name = "http-signature-0.10.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/http-signature/-/http-signature-0.10.0.tgz";
-        name = "http-signature-0.10.0.tgz";
-        sha1 = "1494e4f5000a83c0f11bcc12d6007c530cb99582";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."http-signature" or []);
-    deps = {
-      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
-      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
-      "ctype-0.5.2" = self.by-version."ctype"."0.5.2";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "http-signature" ];
-  };
-  by-spec."inherits"."~2.0.1" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "inherits-2.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-        name = "inherits-2.0.1.tgz";
-        sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."inherits" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "inherits" ];
-  };
-  by-spec."isarray"."0.0.1" =
-    self.by-version."isarray"."0.0.1";
-  by-version."isarray"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "isarray-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
-        name = "isarray-0.0.1.tgz";
-        sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."isarray" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "isarray" ];
-  };
-  by-spec."json-stringify-safe"."~5.0.0" =
-    self.by-version."json-stringify-safe"."5.0.0";
-  by-version."json-stringify-safe"."5.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "json-stringify-safe-5.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.0.tgz";
-        name = "json-stringify-safe-5.0.0.tgz";
-        sha1 = "4c1f228b5050837eba9d21f50c2e6e320624566e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."json-stringify-safe" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "json-stringify-safe" ];
-  };
-  by-spec."methods"."0.0.1" =
-    self.by-version."methods"."0.0.1";
-  by-version."methods"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "methods-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
-        name = "methods-0.0.1.tgz";
-        sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."methods" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "methods" ];
-  };
-  by-spec."mime"."1.2.6" =
-    self.by-version."mime"."1.2.6";
-  by-version."mime"."1.2.6" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.6";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
-        name = "mime-1.2.6.tgz";
-        sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  by-spec."mime"."~1.2.11" =
-    self.by-version."mime"."1.2.11";
-  by-version."mime"."1.2.11" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-1.2.11";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-        name = "mime-1.2.11.tgz";
-        sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime" ];
-  };
-  by-spec."mime-types"."~1.0.1" =
-    self.by-version."mime-types"."1.0.2";
-  by-version."mime-types"."1.0.2" = lib.makeOverridable self.buildNodePackage {
-    name = "mime-types-1.0.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
-        name = "mime-types-1.0.2.tgz";
-        sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mime-types" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mime-types" ];
-  };
-  by-spec."mkdirp"."0.3.3" =
-    self.by-version."mkdirp"."0.3.3";
-  by-version."mkdirp"."0.3.3" = lib.makeOverridable self.buildNodePackage {
-    name = "mkdirp-0.3.3";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mkdirp/-/mkdirp-0.3.3.tgz";
-        name = "mkdirp-0.3.3.tgz";
-        sha1 = "595e251c1370c3a68bab2136d0e348b8105adf13";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mkdirp" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mkdirp" ];
-  };
-  by-spec."ms"."0.6.2" =
-    self.by-version."ms"."0.6.2";
-  by-version."ms"."0.6.2" = lib.makeOverridable self.buildNodePackage {
-    name = "ms-0.6.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
-        name = "ms-0.6.2.tgz";
-        sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."ms" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "ms" ];
-  };
-  by-spec."mz"."1" =
-    self.by-version."mz"."1.0.1";
-  by-version."mz"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "mz-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/mz/-/mz-1.0.1.tgz";
-        name = "mz-1.0.1.tgz";
-        sha1 = "5ce1d3fe5cb3267c9c3141fb6a070f8d17f215d8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."mz" or []);
-    deps = {
-      "native-or-bluebird-1.1.1" = self.by-version."native-or-bluebird"."1.1.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "mz" ];
-  };
-  by-spec."native-or-bluebird"."1" =
-    self.by-version."native-or-bluebird"."1.1.1";
-  by-version."native-or-bluebird"."1.1.1" = lib.makeOverridable self.buildNodePackage {
-    name = "native-or-bluebird-1.1.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/native-or-bluebird/-/native-or-bluebird-1.1.1.tgz";
-        name = "native-or-bluebird-1.1.1.tgz";
-        sha1 = "9131a6d6532afdfb5635f9703734cc6652c905ee";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."native-or-bluebird" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "native-or-bluebird" ];
-  };
-  by-spec."node-uuid"."~1.4.0" =
-    self.by-version."node-uuid"."1.4.1";
-  by-version."node-uuid"."1.4.1" = lib.makeOverridable self.buildNodePackage {
-    name = "node-uuid-1.4.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
-        name = "node-uuid-1.4.1.tgz";
-        sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."node-uuid" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "node-uuid" ];
-  };
-  by-spec."oauth-sign"."~0.4.0" =
-    self.by-version."oauth-sign"."0.4.0";
-  by-version."oauth-sign"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "oauth-sign-0.4.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz";
-        name = "oauth-sign-0.4.0.tgz";
-        sha1 = "f22956f31ea7151a821e5f2fb32c113cad8b9f69";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."oauth-sign" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "oauth-sign" ];
-  };
-  by-spec."on-headers"."~1.0.0" =
-    self.by-version."on-headers"."1.0.0";
-  by-version."on-headers"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "on-headers-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/on-headers/-/on-headers-1.0.0.tgz";
-        name = "on-headers-1.0.0.tgz";
-        sha1 = "2c75b5da4375513d0161c6052e7fcbe4953fca5d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."on-headers" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "on-headers" ];
-  };
-  by-spec."parseurl"."~1.3.0" =
-    self.by-version."parseurl"."1.3.0";
-  by-version."parseurl"."1.3.0" = lib.makeOverridable self.buildNodePackage {
-    name = "parseurl-1.3.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/parseurl/-/parseurl-1.3.0.tgz";
-        name = "parseurl-1.3.0.tgz";
-        sha1 = "b58046db4223e145afa76009e61bac87cc2281b3";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."parseurl" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "parseurl" ];
-  };
-  by-spec."pause"."0.0.1" =
-    self.by-version."pause"."0.0.1";
-  by-version."pause"."0.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "pause-0.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
-        name = "pause-0.0.1.tgz";
-        sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."pause" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "pause" ];
-  };
-  by-spec."punycode".">=0.2.0" =
-    self.by-version."punycode"."1.3.1";
-  by-version."punycode"."1.3.1" = lib.makeOverridable self.buildNodePackage {
-    name = "punycode-1.3.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/punycode/-/punycode-1.3.1.tgz";
-        name = "punycode-1.3.1.tgz";
-        sha1 = "710afe5123c20a1530b712e3e682b9118fe8058e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."punycode" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "punycode" ];
-  };
-  by-spec."qs"."0.5.1" =
-    self.by-version."qs"."0.5.1";
-  by-version."qs"."0.5.1" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-0.5.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
-        name = "qs-0.5.1.tgz";
-        sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."qs"."~1.2.0" =
-    self.by-version."qs"."1.2.2";
-  by-version."qs"."1.2.2" = lib.makeOverridable self.buildNodePackage {
-    name = "qs-1.2.2";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
-        name = "qs-1.2.2.tgz";
-        sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."qs" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "qs" ];
-  };
-  by-spec."range-parser"."0.0.4" =
-    self.by-version."range-parser"."0.0.4";
-  by-version."range-parser"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "range-parser-0.0.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
-        name = "range-parser-0.0.4.tgz";
-        sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."range-parser" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "range-parser" ];
-  };
-  by-spec."readable-stream"."~1.0.26" =
-    self.by-version."readable-stream"."1.0.31";
-  by-version."readable-stream"."1.0.31" = lib.makeOverridable self.buildNodePackage {
-    name = "readable-stream-1.0.31";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz";
-        name = "readable-stream-1.0.31.tgz";
-        sha1 = "8f2502e0bc9e3b0da1b94520aabb4e2603ecafae";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."readable-stream" or []);
-    deps = {
-      "core-util-is-1.0.1" = self.by-version."core-util-is"."1.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "readable-stream" ];
-  };
-  by-spec."redis"."*" =
-    self.by-version."redis"."0.12.1";
-  by-version."redis"."0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "redis-0.12.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
-        name = "redis-0.12.1.tgz";
-        sha1 = "64df76ad0fc8acebaebd2a0645e8a48fac49185e";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."redis" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "redis" ];
-  };
-  "redis" = self.by-version."redis"."0.12.1";
-  by-spec."redis"."^0.12.1" =
-    self.by-version."redis"."0.12.1";
-  by-spec."request"."*" =
-    self.by-version."request"."2.44.0";
-  by-version."request"."2.44.0" = lib.makeOverridable self.buildNodePackage {
-    name = "request-2.44.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/request/-/request-2.44.0.tgz";
-        name = "request-2.44.0.tgz";
-        sha1 = "78d62454d68853cadfb07ad31f58b9ec98072ea8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."request" or []);
-    deps = {
-      "bl-0.9.3" = self.by-version."bl"."0.9.3";
-      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "qs-1.2.2" = self.by-version."qs"."1.2.2";
-      "json-stringify-safe-5.0.0" = self.by-version."json-stringify-safe"."5.0.0";
-      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
-      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
-      "tunnel-agent-0.4.0" = self.by-version."tunnel-agent"."0.4.0";
-      "tough-cookie-0.12.1" = self.by-version."tough-cookie"."0.12.1";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-      "http-signature-0.10.0" = self.by-version."http-signature"."0.10.0";
-      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
-      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.4" = self.by-version."stringstream"."0.0.4";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "request" ];
-  };
-  "request" = self.by-version."request"."2.44.0";
-  by-spec."send"."0.1.0" =
-    self.by-version."send"."0.1.0";
-  by-version."send"."0.1.0" = lib.makeOverridable self.buildNodePackage {
-    name = "send-0.1.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/send/-/send-0.1.0.tgz";
-        name = "send-0.1.0.tgz";
-        sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."send" or []);
-    deps = {
-      "debug-2.0.0" = self.by-version."debug"."2.0.0";
-      "mime-1.2.6" = self.by-version."mime"."1.2.6";
-      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
-      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "send" ];
-  };
-  by-spec."sntp"."0.2.x" =
-    self.by-version."sntp"."0.2.4";
-  by-version."sntp"."0.2.4" = lib.makeOverridable self.buildNodePackage {
-    name = "sntp-0.2.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
-        name = "sntp-0.2.4.tgz";
-        sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."sntp" or []);
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "sntp" ];
-  };
-  by-spec."string_decoder"."~0.10.x" =
-    self.by-version."string_decoder"."0.10.31";
-  by-version."string_decoder"."0.10.31" = lib.makeOverridable self.buildNodePackage {
-    name = "string_decoder-0.10.31";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
-        name = "string_decoder-0.10.31.tgz";
-        sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."string_decoder" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "string_decoder" ];
-  };
-  by-spec."stringstream"."~0.0.4" =
-    self.by-version."stringstream"."0.0.4";
-  by-version."stringstream"."0.0.4" = lib.makeOverridable self.buildNodePackage {
-    name = "stringstream-0.0.4";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/stringstream/-/stringstream-0.0.4.tgz";
-        name = "stringstream-0.0.4.tgz";
-        sha1 = "0f0e3423f942960b5692ac324a57dd093bc41a92";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."stringstream" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "stringstream" ];
-  };
-  by-spec."swig"."0.14.0" =
-    self.by-version."swig"."0.14.0";
-  by-version."swig"."0.14.0" = lib.makeOverridable self.buildNodePackage {
-    name = "swig-0.14.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
-        name = "swig-0.14.0.tgz";
-        sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."swig" or []);
-    deps = {
-      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "swig" ];
-  };
-  "swig" = self.by-version."swig"."0.14.0";
-  by-spec."tough-cookie".">=0.12.0" =
-    self.by-version."tough-cookie"."0.12.1";
-  by-version."tough-cookie"."0.12.1" = lib.makeOverridable self.buildNodePackage {
-    name = "tough-cookie-0.12.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tough-cookie/-/tough-cookie-0.12.1.tgz";
-        name = "tough-cookie-0.12.1.tgz";
-        sha1 = "8220c7e21abd5b13d96804254bd5a81ebf2c7d62";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tough-cookie" or []);
-    deps = {
-      "punycode-1.3.1" = self.by-version."punycode"."1.3.1";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tough-cookie" ];
-  };
-  by-spec."tunnel-agent"."~0.4.0" =
-    self.by-version."tunnel-agent"."0.4.0";
-  by-version."tunnel-agent"."0.4.0" = lib.makeOverridable self.buildNodePackage {
-    name = "tunnel-agent-0.4.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.0.tgz";
-        name = "tunnel-agent-0.4.0.tgz";
-        sha1 = "b1184e312ffbcf70b3b4c78e8c219de7ebb1c550";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."tunnel-agent" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "tunnel-agent" ];
-  };
-  by-spec."uid-safe"."1.0.1" =
-    self.by-version."uid-safe"."1.0.1";
-  by-version."uid-safe"."1.0.1" = lib.makeOverridable self.buildNodePackage {
-    name = "uid-safe-1.0.1";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/uid-safe/-/uid-safe-1.0.1.tgz";
-        name = "uid-safe-1.0.1.tgz";
-        sha1 = "5bd148460a2e84f54f193fd20352c8c3d7de6ac8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."uid-safe" or []);
-    deps = {
-      "mz-1.0.1" = self.by-version."mz"."1.0.1";
-      "base64-url-1.0.0" = self.by-version."base64-url"."1.0.0";
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "uid-safe" ];
-  };
-  by-spec."underscore".">=1.1.7" =
-    self.by-version."underscore"."1.7.0";
-  by-version."underscore"."1.7.0" = lib.makeOverridable self.buildNodePackage {
-    name = "underscore-1.7.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
-        name = "underscore-1.7.0.tgz";
-        sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."underscore" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "underscore" ];
-  };
-  by-spec."utils-merge"."1.0.0" =
-    self.by-version."utils-merge"."1.0.0";
-  by-version."utils-merge"."1.0.0" = lib.makeOverridable self.buildNodePackage {
-    name = "utils-merge-1.0.0";
-    bin = false;
-    src = [
-      (fetchurl {
-        url = "http://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
-        name = "utils-merge-1.0.0.tgz";
-        sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
-      })
-    ];
-    buildInputs =
-      (self.nativeDeps."utils-merge" or []);
-    deps = {
-    };
-    peerDependencies = [
-    ];
-    passthru.names = [ "utils-merge" ];
-  };
-}
diff --git a/pkgs/tools/networking/curl-unix-socket/default.nix b/pkgs/tools/networking/curl-unix-socket/default.nix
index 985cb0c3015a..d145e1e12c3a 100644
--- a/pkgs/tools/networking/curl-unix-socket/default.nix
+++ b/pkgs/tools/networking/curl-unix-socket/default.nix
@@ -11,8 +11,8 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ go ];
-  buildPhase = "go build";
-  installPhase = "install -D curl-unix-socket* $out/bin/curl-unix-socket";
+  buildPhase = "go build -o curl-unix-socket";
+  installPhase = "install -D curl-unix-socket $out/bin/curl-unix-socket";
 
   meta = with stdenv.lib; {
     description = "Run HTTP requests over UNIX socket";
diff --git a/pkgs/tools/networking/dirb/default.nix b/pkgs/tools/networking/dirb/default.nix
index daad7993cfe3..d4837d28c825 100644
--- a/pkgs/tools/networking/dirb/default.nix
+++ b/pkgs/tools/networking/dirb/default.nix
@@ -1,4 +1,4 @@
-{ fetchurl, stdenv, automake, autoconf, curl, autoreconfHook }:
+{ fetchurl, stdenv, autoreconfHook, curl }:
 
 let
   major = "2";
@@ -6,19 +6,29 @@ let
 in stdenv.mkDerivation rec {
   name = "dirb-${version}";
   version = "${major}.${minor}";
+
   src = fetchurl {
     url = "mirror://sourceforge/dirb/${version}/dirb${major}${minor}.tar.gz";
     sha256 = "0b7wc2gvgnyp54rxf1n9arn6ymrvdb633v6b3ah138hw4gg8lx7k";
   };
 
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ curl ];
+
   unpackPhase = ''
     tar -xf $src
     find . -exec chmod +x "{}" ";"
     export sourceRoot="dirb222"
   '';
 
-  buildInputs = [ automake autoconf curl ];
-  preConfigure = "chmod +x configure";
+  postPatch = ''
+    sed -i "s#/usr#$out#" src/dirb.c
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/dirb/
+    cp -r wordlists/ $out/share/dirb/
+  '';
 
   meta = {
     description = "A web content scanner";
diff --git a/pkgs/tools/networking/fdm/default.nix b/pkgs/tools/networking/fdm/default.nix
index 0061620b58d1..3984922abe28 100644
--- a/pkgs/tools/networking/fdm/default.nix
+++ b/pkgs/tools/networking/fdm/default.nix
@@ -1,45 +1,31 @@
-{ stdenv, fetchurl
-  , openssl, tdb, zlib, flex, bison
-  }:
-let 
-  buildInputs = [ openssl tdb zlib flex bison ];
-  sourceInfo = rec {
-    baseName="fdm";
-    version = "1.8";
-    name="${baseName}-${version}";
-    url="mirror://sourceforge/${baseName}/${baseName}/${name}.tar.gz";
-    sha256 = "0hi39f31ipv8f9wxb41pajvl61w6vaapl39wq8v1kl9c7q6h0k2g";
-  };
+{ stdenv, fetchFromGitHub, autoreconfHook, openssl, tdb, zlib, flex, bison }:
+
+let
+
+  baseName = "fdm";
+  version = "1.9.0.20170124";
+
 in
-stdenv.mkDerivation {
-  src = fetchurl {
-    inherit (sourceInfo) url sha256;
+
+stdenv.mkDerivation rec {
+  name = "${baseName}-${version}";
+
+  src = fetchFromGitHub {
+    owner = "nicm";
+    repo = baseName;
+    rev = "cae4ea37b6b296d1b2e48f62934ea3a7f6085e33";
+    sha256 = "048191wdv1yprwinipmx2152gvd2iq1ssv7xfb1bzh6zirh1ya3n";
   };
 
-  inherit (sourceInfo) name version;
-  inherit buildInputs;
-
-  preBuild = ''
-    export makeFlags="$makeFlags PREFIX=$out"
-    export NIX_CFLAGS_COMPILE="$NIX_CFLAGS_COMPILE -Dbool=int"
-
-    sed -i */Makefile -i Makefile -e 's@ -g bin @ @'
-    sed -i */Makefile -i Makefile -e 's@ -o root @ @'
-    sed -i GNUmakefile -e 's@ -g $(BIN_OWNER) @ @'
-    sed -i GNUmakefile -e 's@ -o $(BIN_GROUP) @ @'
-    sed -i */Makefile -i Makefile -i GNUmakefile -e 's@-I-@@g'
-  '';
-      
-  meta = {
+  nativeBuildInputs = [ autoreconfHook ];
+  buildInputs = [ openssl tdb zlib flex bison ];
+
+
+  meta = with stdenv.lib; {
     description = "Mail fetching and delivery tool - should do the job of getmail and procmail";
-    maintainers = with stdenv.lib.maintainers;
-    [
-      raskin
-    ];
-    platforms = with stdenv.lib.platforms;
-      linux;
-    homepage = http://fdm.sourceforge.net/;
-    inherit (sourceInfo) version;
-    updateWalker = true;
+    maintainers = with maintainers; [ raskin ];
+    platforms = with platforms; linux;
+    homepage = https://github.com/nicm/fdm;
+    downloadPage = https://github.com/nicm/fdm/releases;
   };
 }
diff --git a/pkgs/tools/networking/getmail/default.nix b/pkgs/tools/networking/getmail/default.nix
index b8bd9c0910a4..ff5a6c1eaeea 100644
--- a/pkgs/tools/networking/getmail/default.nix
+++ b/pkgs/tools/networking/getmail/default.nix
@@ -1,13 +1,13 @@
 { stdenv, fetchurl, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
-  version = "4.54.0";
+  version = "5.4";
   name = "getmail-${version}";
   namePrefix = "";
 
   src = fetchurl {
     url = "http://pyropus.ca/software/getmail/old-versions/${name}.tar.gz";
-    sha256 = "0r9s91zrdm6xklnj1fwzz74cxhkbmrgrrp86n62qgijkafa5fmnl";
+    sha256 = "1iwss9z94p165gxr2yw7s9q12a0bn71fcdbikzkykr5s7xxnz2ds";
   };
 
   doCheck = false;
diff --git a/pkgs/tools/networking/gvpe/default.nix b/pkgs/tools/networking/gvpe/default.nix
index 6a9a34da9f8c..2317a4e2216c 100644
--- a/pkgs/tools/networking/gvpe/default.nix
+++ b/pkgs/tools/networking/gvpe/default.nix
@@ -9,6 +9,8 @@ stdenv.mkDerivation rec {
     sha256 = "1v61mj25iyd91z0ir7cmradkkcm1ffbk52c96v293ibsvjs2s2hf";
   };
 
+  patches = [ ./gvpe-3.0-glibc-2.26.patch ];
+
   buildInputs = [ openssl gmp zlib ];
 
   configureFlags = [
diff --git a/pkgs/tools/networking/gvpe/gvpe-3.0-glibc-2.26.patch b/pkgs/tools/networking/gvpe/gvpe-3.0-glibc-2.26.patch
new file mode 100644
index 000000000000..9cfb6472c4e1
--- /dev/null
+++ b/pkgs/tools/networking/gvpe/gvpe-3.0-glibc-2.26.patch
@@ -0,0 +1,18 @@
+diff --git a/lib/getopt.h b/lib/getopt.h
+index 2d02142..5e7d8d4 100644
+--- a/lib/getopt.h
++++ b/lib/getopt.h
+@@ -101,13 +101,6 @@ struct option
+ #define optional_argument	2
+ 
+ #if defined (__STDC__) && __STDC__
+-#ifdef __GNU_LIBRARY__
+-/* Many other libraries have conflicting prototypes for getopt, with
+-   differences in the consts, in stdlib.h.  To avoid compilation
+-   errors, only prototype getopt for the GNU C library.  */
+-extern int getopt (int argc, char *const *argv, const char *shortopts);
+-#else /* not __GNU_LIBRARY__ */
+-#endif /* __GNU_LIBRARY__ */
+ extern int getopt_long (int argc, char *const *argv, const char *shortopts,
+ 		        const struct option *longopts, int *longind);
+ extern int getopt_long_only (int argc, char *const *argv,
diff --git a/pkgs/tools/networking/htpdate/default.nix b/pkgs/tools/networking/htpdate/default.nix
index d937f3c2f0b9..47163b94dc52 100644
--- a/pkgs/tools/networking/htpdate/default.nix
+++ b/pkgs/tools/networking/htpdate/default.nix
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "INSTALL=install"
-    "STRIP=strip"
+    "STRIP=${stdenv.cc.bintools.prefix}strip"
     "prefix=$(out)"
   ];
 
diff --git a/pkgs/tools/networking/inadyn/default.nix b/pkgs/tools/networking/inadyn/default.nix
index 3495d2d56f0a..219a993b8a29 100644
--- a/pkgs/tools/networking/inadyn/default.nix
+++ b/pkgs/tools/networking/inadyn/default.nix
@@ -1,33 +1,28 @@
-{ stdenv, fetchurl, fetchpatch, autoreconfHook, pkgconfig
+{ stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pkgconfig
 , gnutls, libite, libconfuse }:
 
-let
-  version = "2.1";
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   name = "inadyn-${version}";
+  version = "2.2.1";
 
-  src = fetchurl {
-    url = "https://github.com/troglobit/inadyn/releases/download/v${version}/inadyn-${version}.tar.xz";
-    sha256 = "1b5khr2y5q1x2mn08zrnjf9hsals4y403mhsc1s7016w3my9lqw7";
+  src = fetchFromGitHub {
+    owner = "troglobit";
+    repo = "inadyn";
+    rev = "v${version}";
+    sha256 = "1nkrvd33mnj98m86g3xs27l88l2678qjzjhwpq1k9n8v9k255pd6";
   };
 
-  patches = [
-    ./remove-unused-macro.patch
-    (fetchpatch {
-      url = "https://github.com/troglobit/inadyn/commit/ed3a7761015441b5d5cacd691b7aa114da048bef.patch";
-      sha256 = "1passghmjd7gmrfcqkfqw9lvg8l22s91nm65ys3n3rylzsgaaq8i";
-     })
-  ];
-
   nativeBuildInputs = [ autoreconfHook pkgconfig ];
+
   buildInputs = [ gnutls libite libconfuse ];
 
-  meta = {
-    homepage = http://inadyn.sourceforge.net/;
+  enableParallelBuilding = true;
+
+  meta = with stdenv.lib; {
+    homepage = http://troglobit.com/project/inadyn/;
     description = "Free dynamic DNS client";
-    license = stdenv.lib.licenses.gpl2Plus;
-    maintainers = with stdenv.lib.maintainers; [viric];
-    platforms = with stdenv.lib.platforms; linux;
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ viric ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/lftp/default.nix b/pkgs/tools/networking/lftp/default.nix
index aa5a7b514cb8..3e4f1eaeeefe 100644
--- a/pkgs/tools/networking/lftp/default.nix
+++ b/pkgs/tools/networking/lftp/default.nix
@@ -2,15 +2,15 @@
 
 stdenv.mkDerivation rec {
   name = "lftp-${version}";
-  version = "4.8.2";
+  version = "4.8.3";
 
   src = fetchurl {
     urls = [
-      "https://lftp.tech/ftp/${name}.tar.bz2"
-      "ftp://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.bz2"
-      "http://lftp.yar.ru/ftp/old/${name}.tar.bz2"
+      "https://lftp.tech/ftp/${name}.tar.xz"
+      "https://ftp.st.ryukoku.ac.jp/pub/network/ftp/lftp/${name}.tar.xz"
+      "http://lftp.yar.ru/ftp/${name}.tar.xz"
       ];
-    sha256 = "0a4sp9khqgny1md0b2c9vvg4c7sz0g31w3sfdslxw7dsvijin3mn";
+    sha256 = "12y77jlfs4x4zvcah92mw2h2sb4j0bvbaxkh3wwsm8gs392ywyny";
   };
 
   nativeBuildInputs = [ pkgconfig ];
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A file transfer program supporting a number of network protocols";
-    homepage = http://lftp.tech/;
+    homepage = https://lftp.tech/;
     license = licenses.gpl3;
     platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/tools/networking/libreswan/default.nix b/pkgs/tools/networking/libreswan/default.nix
index 59e33e818702..b2024f55c4ea 100644
--- a/pkgs/tools/networking/libreswan/default.nix
+++ b/pkgs/tools/networking/libreswan/default.nix
@@ -24,6 +24,9 @@ stdenv.mkDerivation {
     sha256 = "0zginnakxw7m79zrdvfdvliaiyg78zgqfqkks9z5d1rjj5w13xig";
   };
 
+  # These flags were added to compile v3.18. Try to lift them when updating.
+  NIX_CFLAGS_COMPILE = [ "-Wno-error=redundant-decls" "-Wno-error=format-nonliteral" ];
+
   nativeBuildInputs = [ makeWrapper pkgconfig ];
   buildInputs = [ bash iproute iptables systemd coreutils gnused gawk gmp unbound bison flex pam libevent
                   libcap_ng curl nspr nss python ]
@@ -42,11 +45,13 @@ stdenv.mkDerivation {
     # Fix python script to use the correct python
     sed -i -e 's|#!/usr/bin/python|#!/usr/bin/env python|' -e 's/^\(\W*\)installstartcheck()/\1sscmd = "ss"\n\0/' programs/verify/verify.in
   '';
-  
+
+  patches = [ ./libreswan-3.18-glibc-2.26.patch ];
+
   # Set appropriate paths for build
   preBuild = "export INC_USRLOCAL=\${out}";
 
-  makeFlags = [ 
+  makeFlags = [
     "INITSYSTEM=systemd"
     (if docs then "all" else "base")
   ];
@@ -64,7 +69,7 @@ stdenv.mkDerivation {
     done
   '';
 
-  enableParallelBuilding = false;
+  enableParallelBuilding = true;
 
   meta = {
     homepage = https://libreswan.org;
diff --git a/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch b/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch
new file mode 100644
index 000000000000..33c44f617a0a
--- /dev/null
+++ b/pkgs/tools/networking/libreswan/libreswan-3.18-glibc-2.26.patch
@@ -0,0 +1,36 @@
+diff --git a/lib/libswan/id.c b/lib/libswan/id.c
+index 8f06275..efb0394 100644
+--- a/lib/libswan/id.c
++++ b/lib/libswan/id.c
+@@ -22,6 +22,7 @@
+ #include <sys/socket.h>
+ #include <netinet/in.h>
+ #include <arpa/inet.h>
++#include <limits.h>
+ #include <unistd.h>
+ #ifndef HOST_NAME_MAX	/* POSIX 1003.1-2001 says <unistd.h> defines this */
+ #define HOST_NAME_MAX 255	/* upper bound, according to SUSv2 */
+diff --git a/linux/include/libreswan.h b/linux/include/libreswan.h
+index c5efc6a..b0af4d7 100644
+--- a/linux/include/libreswan.h
++++ b/linux/include/libreswan.h
+@@ -211,6 +211,7 @@ static inline deltatime_t monotimediff(monotime_t a, monotime_t b) {
+ #include <assert.h>
+ #define user_assert(foo) assert(foo)
+ #include <stdio.h>
++#include <stdint.h>
+ 
+ #  define uint8_t u_int8_t
+ #  define uint16_t u_int16_t
+diff --git a/programs/pluto/rcv_whack.c b/programs/pluto/rcv_whack.c
+index 588c66c..4fc6289 100644
+--- a/programs/pluto/rcv_whack.c
++++ b/programs/pluto/rcv_whack.c
+@@ -24,6 +24,7 @@
+ #include <stddef.h>
+ #include <stdlib.h>
+ #include <string.h>
++#include <limits.h>
+ #include <unistd.h>
+ #ifndef HOST_NAME_MAX           /* POSIX 1003.1-2001 says <unistd.h> defines this */
+ # define HOST_NAME_MAX  255     /* upper bound, according to SUSv2 */
diff --git a/pkgs/tools/networking/mitmproxy/default.nix b/pkgs/tools/networking/mitmproxy/default.nix
index 7348cd7f1165..f96987a1300b 100644
--- a/pkgs/tools/networking/mitmproxy/default.nix
+++ b/pkgs/tools/networking/mitmproxy/default.nix
@@ -1,82 +1,32 @@
 { stdenv, fetchpatch, fetchFromGitHub, fetchurl, python3, glibcLocales }:
 
-let
-  p = python3.override {
-    packageOverrides = self: super: {
-      cryptography = super.cryptography.overridePythonAttrs (oldAttrs: rec {
-        version = "1.8.2";
-        name = "${oldAttrs.pname}-${version}";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "8e88ebac371a388024dab3ccf393bf3c1790d21bc3c299d5a6f9f83fb823beda";
-        };
-      });
-      cryptography_vectors = super.cryptography_vectors.overridePythonAttrs (oldAttrs: rec {
-        version = self.cryptography.version;
-        name = "${oldAttrs.pname}-${version}";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "00daa04c9870345f56605d91d7d4897bc1b16f6fff7c74cb602b08ef16c0fb43";
-        };
-      });
-      pyopenssl = super.pyopenssl.overridePythonAttrs (oldAttrs: rec {
-        version = "17.0.0";
-        name = "${oldAttrs.pname}-${version}";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1pdg1gpmkzj8yasg6cmkhcivxcdp4c12nif88y4qvsxq5ffzxas8";
-        };
-        patches = fetchpatch {
-          url = "https://github.com/pyca/pyopenssl/commit/"
-              + "a40898b5f1d472f9449a344f703fa7f90cddc21d.patch";
-          sha256 = "0bdfrhfvdfxhfknn46s4db23i3hww6ami2r1l5rfrri0pn8b8mh7";
-        };
-      });
-    };
-  };
-in p.pkgs.buildPythonPackage rec {
+python3.pkgs.buildPythonPackage rec {
   baseName = "mitmproxy";
-  name = "${baseName}-${version}";
-  version = "2.0.2";
+  name = "${baseName}-unstable-2017-10-31";
 
   src = fetchFromGitHub {
     owner = baseName;
     repo = baseName;
-    rev = "v${version}";
-    sha256 = "1x1a28al5clpfd69rjcpw26gjjnpsm1vfl4scrwpdd1jhkw044h9";
+    rev = "80a8eaa708ea31dd9c5e7e1ab6b02c69079039c0";
+    sha256 = "0rvwm11yryzlp3c1i42rk2iv1m38yn6r83k41jb51hwg6wzbwzvw";
   };
 
-  patches = [
-    # fix tests
-    (fetchpatch {
-      url = "https://github.com/mitmproxy/mitmproxy/commit/b3525570929ba47c10d9d08696876c39487f7000.patch";
-      sha256 = "111fld5gqdii7rs1jhqaqrxgbyhfn6qd0y7l15k4npamsnvdnv20";
-    })
-    # bump pyOpenSSL
-    (fetchpatch {
-      url = https://github.com/mitmproxy/mitmproxy/commit/6af72160bf98b58682b8f9fc5aabf51928d2b1d3.patch;
-      sha256 = "1q4ml81pq9c8j9iscq8janbxf4s37w3bqskbs6r30yqzy63v54f2";
-    })
-    # https://github.com/mitmproxy/mitmproxy/commit/3d7cde058b7e6242d93b9bc9d3e17520ffb578a5
-    ./tornado-4.6.patch
-  ];
-
   checkPhase = ''
     export HOME=$(mktemp -d)
     # test_echo resolves hostnames
-    LC_CTYPE=en_US.UTF-8 pytest -k 'not test_echo'
+    LC_CTYPE=en_US.UTF-8 pytest -k 'not test_echo and not test_find_unclaimed_URLs '
   '';
 
-  propagatedBuildInputs = with p.pkgs; [
-    blinker click certifi construct cryptography
-    cssutils editorconfig h2 html2text hyperframe
-    jsbeautifier kaitaistruct passlib pyasn1 pyopenssl
+  propagatedBuildInputs = with python3.pkgs; [
+    blinker click certifi cryptography
+    h2 hyperframe
+    kaitaistruct passlib pyasn1 pyopenssl
     pyparsing pyperclip requests ruamel_yaml tornado
-    urwid watchdog brotlipy sortedcontainers
+    urwid brotlipy sortedcontainers ldap3
   ];
 
-  buildInputs = with p.pkgs; [
-    beautifulsoup4 flask pytz pytest pytestrunner protobuf glibcLocales
+  buildInputs = with python3.pkgs; [
+    beautifulsoup4 flask pytest pytestrunner glibcLocales
   ];
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/nat-traverse/default.nix b/pkgs/tools/networking/nat-traverse/default.nix
new file mode 100644
index 000000000000..a352596eed05
--- /dev/null
+++ b/pkgs/tools/networking/nat-traverse/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, fetchurl, perl }:
+
+stdenv.mkDerivation rec {
+  name = "nat-traverse-${version}";
+  version = "0.7";
+
+  src = fetchurl {
+    url = "https://www.speicherleck.de/iblech/nat-traverse/nat-traverse-${version}.tar.bz2";
+    sha256 = "0knwnqsjwv7sa5wjb863ghabs7s269a73qwkmxpsbngjw9s0j2ih";
+  };
+
+  nativeBuildInputs = [ perl ];
+
+  installPhase = ''
+    mkdir -p $out/bin $out/share/man/man1
+    cp nat-traverse $out/bin
+    gzip -c nat-traverse.1 > $out/share/man/man1/nat-traverse.1.gz
+  '';
+
+  meta = with stdenv.lib; {
+    description = "NAT gateway traversal utility";
+    longDescription = ''
+      nat-traverse establishes direct connections between nodes which are
+      behind NAT gateways, i.e. hosts which do not have public IP addresses.
+      This is done using an UDP NAT traversal technique. Additionally, it's
+      possible to setup a small VPN by using pppd on top of nat-traverse.
+
+      nat-traverse does not need an external server on the Internet, and it
+      isn't necessary to reconfigure the involved NAT gateways, either.
+      nat-traverse works out-of-the-box.
+    '';
+    homepage = https://www.speicherleck.de/iblech/nat-traverse/;
+    license = licenses.gpl3Plus;
+    platforms = platforms.all;
+    maintainers = [ maintainers.iblech ];
+  };
+}
diff --git a/pkgs/tools/networking/netsniff-ng/default.nix b/pkgs/tools/networking/netsniff-ng/default.nix
index 5ca3079a084f..b0921375849d 100644
--- a/pkgs/tools/networking/netsniff-ng/default.nix
+++ b/pkgs/tools/networking/netsniff-ng/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
     sha256 = "1lz4hwgwdq3znlqjmvl7cw3g3ilbayn608h0hwqdf7v2jq6n67kg";
   };
 
+  patches = [ ./glibc-2.26.patch ];
+
   buildInputs = [ bison flex geoip geolite-legacy libcli libnet libnl
     libnetfilter_conntrack libpcap libsodium liburcu ncurses perl
     pkgconfig zlib ];
diff --git a/pkgs/tools/networking/netsniff-ng/glibc-2.26.patch b/pkgs/tools/networking/netsniff-ng/glibc-2.26.patch
new file mode 100644
index 000000000000..2ee7b478e9b2
--- /dev/null
+++ b/pkgs/tools/networking/netsniff-ng/glibc-2.26.patch
@@ -0,0 +1,24 @@
+diff --git a/built_in.h b/built_in.h
+index da04dbd..7acc183 100644
+--- a/built_in.h
++++ b/built_in.h
+@@ -10,6 +10,7 @@
+ #include <endian.h>
+ #include <byteswap.h>
+ #include <asm/byteorder.h>
++#include <string.h>
+ 
+ typedef uint64_t	u64;
+ typedef uint32_t	u32;
+diff --git a/staging/tools.c b/staging/tools.c
+index 9d2d1be..909b059 100644
+--- a/staging/tools.c
++++ b/staging/tools.c
+@@ -55,6 +55,7 @@
+ ////////////////////////////////////////////////////////////////////////////////////////////
+ 
+ #include "mz.h"
++#include <stdint.h>
+ 
+ #define CMP_INT(a, b) ((a) < (b) ? -1 : (a) > (b))
+ #define IPV6_MAX_RANGE_LEN strlen("ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff-ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff/128")
diff --git a/pkgs/tools/networking/network-manager-applet/default.nix b/pkgs/tools/networking/network-manager-applet/default.nix
index 3220aebdfe49..fc320ba2fb96 100644
--- a/pkgs/tools/networking/network-manager-applet/default.nix
+++ b/pkgs/tools/networking/network-manager-applet/default.nix
@@ -1,7 +1,7 @@
 { stdenv, fetchurl, intltool, pkgconfig, libglade, networkmanager, gnome3
-, libnotify, libsecret, polkit, isocodes, modemmanager, librsvg
+, libnotify, libsecret, polkit, isocodes, modemmanager
 , mobile_broadband_provider_info, glib_networking, gsettings_desktop_schemas
-, makeWrapper, udev, libgudev, hicolor_icon_theme, jansson, wrapGAppsHook, webkitgtk
+, udev, libgudev, hicolor_icon_theme, jansson, wrapGAppsHook, webkitgtk
 , withGnome ? false }:
 
 stdenv.mkDerivation rec {
@@ -24,13 +24,13 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     gnome3.gtk libglade networkmanager libnotify libsecret gsettings_desktop_schemas
-    polkit isocodes makeWrapper udev libgudev gnome3.gconf gnome3.libgnome_keyring
-    modemmanager jansson librsvg glib_networking gnome3.dconf
+    polkit isocodes udev libgudev gnome3.libgnome_keyring
+    modemmanager jansson glib_networking
   ] ++ stdenv.lib.optional withGnome webkitgtk;
 
   nativeBuildInputs = [ intltool pkgconfig wrapGAppsHook ];
 
-  propagatedUserEnvPkgs = [ gnome3.gconf gnome3.gnome_keyring hicolor_icon_theme ];
+  propagatedUserEnvPkgs = [ gnome3.gnome_keyring hicolor_icon_theme ];
 
   makeFlags = [
     ''CFLAGS=-DMOBILE_BROADBAND_PROVIDER_INFO=\"${mobile_broadband_provider_info}/share/mobile-broadband-provider-info/serviceproviders.xml\"''
diff --git a/pkgs/tools/networking/network-manager/default.nix b/pkgs/tools/networking/network-manager/default.nix
index ace568d6900b..6005314ea97b 100644
--- a/pkgs/tools/networking/network-manager/default.nix
+++ b/pkgs/tools/networking/network-manager/default.nix
@@ -8,12 +8,12 @@
 stdenv.mkDerivation rec {
   name    = "network-manager-${version}";
   pname   = "NetworkManager";
-  major   = "1.8";
-  version = "${major}.2";
+  major   = "1.10";
+  version = "${major}.0";
 
   src = fetchurl {
     url    = "mirror://gnome/sources/${pname}/${major}/${pname}-${version}.tar.xz";
-    sha256 = "1x0vzxvrck0snga2n3pc7g74m20zz74cr4r8gfspl8sckv6yz9bi";
+    sha256 = "1ph45rqpl8p9k4rirhss0hpf104clm8fp322p6kh6q75y06ddfwa";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/tools/networking/openntpd/default.nix b/pkgs/tools/networking/openntpd/default.nix
index 2b2b441f2f98..7e1c257ec4b6 100644
--- a/pkgs/tools/networking/openntpd/default.nix
+++ b/pkgs/tools/networking/openntpd/default.nix
@@ -17,6 +17,7 @@ stdenv.mkDerivation rec {
     "--with-privsep-user=${privsepUser}"
     "--sysconfdir=/etc"
     "--localstatedir=/var"
+    "--with-cacert=/etc/ssl/certs/ca-certificates.crt"
   ];
 
   buildInputs = [ libressl ];
diff --git a/pkgs/tools/networking/openssh/default.nix b/pkgs/tools/networking/openssh/default.nix
index 79f203f77470..663e7be7e5f3 100644
--- a/pkgs/tools/networking/openssh/default.nix
+++ b/pkgs/tools/networking/openssh/default.nix
@@ -13,11 +13,11 @@ assert withGssapiPatches -> withKerberos;
 let
 
   # **please** update this patch when you update to a new openssh release.
-  gssapiSrc = fetchpatch {
+  gssapiPatch = fetchpatch {
     name = "openssh-gssapi.patch";
     url = "https://anonscm.debian.org/cgit/pkg-ssh/openssh.git/plain/debian"
-        + "/patches/gssapi.patch?id=db2122d97eb1ecdd8d99b7bf79b0dd2b5addfd92";
-    sha256 = "1rw10pmvjw55521ys59x1kabvbvmla506znakwwjijggdsakvsjm";
+        + "/patches/gssapi.patch?id=1e0d55f9163793742d20eaadd4784db16fd3459d";
+    sha256 = "130phj87q87p9crigd6852nnaqsqkfg09h45a32lk4524h9kkxgb";
   };
 
 in
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
   # Please ensure that openssh_with_kerberos still builds when
   # bumping the version here!
   name = "openssh-${version}";
-  version = "7.5p1";
+  version = if hpnSupport then "7.5p1" else "7.6p1";
 
   src = if hpnSupport then
       fetchurl {
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     else
       fetchurl {
         url = "mirror://openbsd/OpenSSH/portable/${name}.tar.gz";
-        sha256 = "1w7rb5gbrikxdkp8w7zxnci4549gk4bw1lml01s59w5rzb2y6ilq";
+        sha256 = "08qpsb8mrzcx8wgvz9insiyvq7sbg26yj5nvl2m5n57yvppcl8x3";
       };
 
   patches =
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
       # See discussion in https://github.com/NixOS/nixpkgs/pull/16966
       ./dont_create_privsep_path.patch
     ]
-    ++ optional withGssapiPatches gssapiSrc;
+    ++ optional withGssapiPatches gssapiPatch;
 
   postPatch =
     # On Hydra this makes installation fail (sometimes?),
diff --git a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
index 901d84b46926..f63c1d474c05 100644
--- a/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
+++ b/pkgs/tools/networking/p2p/gtk-gnutella/default.nix
@@ -13,8 +13,8 @@ stdenv.mkDerivation {
     sha256 = "1zvadgsskmpm82id9mbj24a2lyq38qv768ixv7nmfjl3d4wr2biv";
   };
 
-  nativeBuildInputs = [ bison binutils gettext pkgconfig ];
-  buildInputs = [ glib gnutls gtk2 libxml2 zlib ];
+  nativeBuildInputs = [ bison gettext pkgconfig ];
+  buildInputs = [ binutils glib gnutls gtk2 libxml2 zlib ];
 
   hardeningDisable = [ "bindnow" "fortify" "pic" "relro" ];
 
diff --git a/pkgs/tools/networking/pdsh/default.nix b/pkgs/tools/networking/pdsh/default.nix
index 0c8ca56024bf..9239b9e118dc 100644
--- a/pkgs/tools/networking/pdsh/default.nix
+++ b/pkgs/tools/networking/pdsh/default.nix
@@ -1,14 +1,11 @@
-{stdenv, fetchurl, perl, readline, rsh, ssh, pam}:
+{ stdenv, fetchurl, perl, readline, rsh, ssh, pam }:
 
-let
-  name = "pdsh-2.29";
-in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  name = "pdsh-2.33";
 
   src = fetchurl {
-    url = "http://pdsh.googlecode.com/files/${name}.tar.bz2";
-    sha256 = "1kvzz01fyaxfqmbh53f4ljfsgvxdykh5jyr6fh4f1bw2ywxr1w2p";
+    url = "https://github.com/chaos/pdsh/releases/download/${name}/${name}.tar.gz";
+    sha256 = "0bwlkl9inj66iwvafg00pi3sk9n673phdi0kcc59y9nn55s0hs3k";
   };
 
   buildInputs = [perl readline ssh pam];
@@ -34,7 +31,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://code.google.com/p/pdsh/;
+    homepage = https://github.com/chaos/pdsh;
     description = "High-performance, parallel remote shell utility";
     license = stdenv.lib.licenses.gpl2;
 
diff --git a/pkgs/tools/networking/reaver-wps-t6x/default.nix b/pkgs/tools/networking/reaver-wps-t6x/default.nix
index 6e4a5561f07a..dd8347717319 100644
--- a/pkgs/tools/networking/reaver-wps-t6x/default.nix
+++ b/pkgs/tools/networking/reaver-wps-t6x/default.nix
@@ -1,31 +1,24 @@
-{ stdenv, fetchFromGitHub, libpcap, sqlite, pixiewps, makeWrapper }:
+{ stdenv, fetchFromGitHub, libpcap, pixiewps, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "1.5.2";
+  version = "1.6.3";
   name = "reaver-wps-t6x-${version}";
-  confdir = "/var/db/${name}"; # the sqlite database is at "${confdir}/reaver/reaver.db"
 
   src = fetchFromGitHub {
     owner = "t6x";
     repo = "reaver-wps-fork-t6x";
     rev = "v${version}";
-    sha256 = "0zhlms89ncqz1f1hc22yw9x1s837yv76f1zcjizhgn5h7vp17j4b";
+    sha256 = "1bccwp67q1q0h5m38gqxn9imq5rb75jbmv7fjr2n38v10jcga2pb";
   };
 
   nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ libpcap sqlite pixiewps ];
+  buildInputs = [ libpcap pixiewps ];
 
-  sourceRoot = "reaver-wps-fork-t6x-v${version}-src/src";
-
-  configureFlags = "--sysconfdir=${confdir}";
+  preConfigure = "cd src";
 
   installPhase = ''
-    mkdir -p $out/{bin,etc}
-    cp reaver.db $out/etc/
+    mkdir -p $out/bin
     cp reaver wash $out/bin/
-
-    wrapProgram $out/bin/reaver --run "[ -s ${confdir}/reaver/reaver.db ] || install -D $out/etc/reaver.db ${confdir}/reaver/reaver.db"
-    wrapProgram $out/bin/wash   --run "[ -s ${confdir}/reaver/reaver.db ] || install -D $out/etc/reaver.db ${confdir}/reaver/reaver.db"
   '';
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/networking/reaver-wps/default.nix b/pkgs/tools/networking/reaver-wps/default.nix
index 667cbfbceadc..6cbee7d2a851 100644
--- a/pkgs/tools/networking/reaver-wps/default.nix
+++ b/pkgs/tools/networking/reaver-wps/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "Brute force attack against Wifi Protected Setup";
-    homepage = http://code.google.com/p/reaver-wps;
+    homepage = https://code.google.com/archive/p/reaver-wps/;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ nico202 volth ];
diff --git a/pkgs/tools/networking/s6-dns/default.nix b/pkgs/tools/networking/s6-dns/default.nix
index 8ea134843c3e..7134e969fd08 100644
--- a/pkgs/tools/networking/s6-dns/default.nix
+++ b/pkgs/tools/networking/s6-dns/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.1.0.0";
+  version = "2.2.0.1";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/s6-dns";
     rev = "refs/tags/v${version}";
-    sha256 = "126ikznsw0hlk4mmf03yxzfnvcw823g5il1vfs3a5fa9q26xyc72";
+    sha256 = "10qvkh608nsx8gqs3pj4pb8aivwpshbmjw2766grgmrb35d31brl";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/tools/networking/s6-networking/default.nix b/pkgs/tools/networking/s6-networking/default.nix
index 6574a02bb921..3239a8f49e65 100644
--- a/pkgs/tools/networking/s6-networking/default.nix
+++ b/pkgs/tools/networking/s6-networking/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.2.1.0";
+  version = "2.3.0.2";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/s6-networking";
     rev = "refs/tags/v${version}";
-    sha256 = "0msfssd42pdwch0z8rhrm7hd4ps9d730az92vg0pnz769xs8kjx0";
+    sha256 = "1qrhca8yjaysrqf7nx3yjfyfi9yly3rxpgrd2sqj0a0ckk73rv42";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/tools/networking/slimrat/default.nix b/pkgs/tools/networking/slimrat/default.nix
index 14283c279e46..ef2c91ee2fab 100644
--- a/pkgs/tools/networking/slimrat/default.nix
+++ b/pkgs/tools/networking/slimrat/default.nix
@@ -3,7 +3,7 @@
 stdenv.mkDerivation {
   name = "slimrat-1.0";
   src = fetchurl {
-    url = http://slimrat.googlecode.com/files/slimrat-1.0.tar.bz2;
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/slimrat/slimrat-1.0.tar.bz2";
     sha256 = "139b71d45k4b1y47iq62a9732cnaqqbh8s4knkrgq2hx0jxpsk5a";
   };
 
@@ -24,9 +24,10 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://code.google.com/p/slimrat/;
+    homepage = https://code.google.com/archive/p/slimrat/;
     description = "Linux Rapidshare downloader";
     license = stdenv.lib.licenses.mit;
     platforms = stdenv.lib.platforms.unix;
+    broken = true; # officially abandonned upstream
   };
 }
diff --git a/pkgs/tools/networking/sshpass/default.nix b/pkgs/tools/networking/sshpass/default.nix
index f87cecaf4d27..aedb89ce4891 100644
--- a/pkgs/tools/networking/sshpass/default.nix
+++ b/pkgs/tools/networking/sshpass/default.nix
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   meta = {
-    homepage = http://sourceforge.net/projects/sshpass/;
+    homepage = https://sourceforge.net/projects/sshpass/;
     description = "Non-interactive ssh password auth";
     maintainers = [ stdenv.lib.maintainers.madjar ];
     platforms = stdenv.lib.platforms.unix;
diff --git a/pkgs/tools/networking/statsd/default.nix b/pkgs/tools/networking/statsd/default.nix
deleted file mode 100644
index 6f909a915ae3..000000000000
--- a/pkgs/tools/networking/statsd/default.nix
+++ /dev/null
@@ -1,13 +0,0 @@
-{ recurseIntoAttrs, callPackage, nodejs
-}:
-
-let
-  self = recurseIntoAttrs (
-    callPackage ../../../top-level/node-packages.nix {
-      inherit nodejs self;
-      generated = callPackage ./node-packages.nix { inherit self; };
-      overrides = {
-        "statsd" = { passthru.nodePackages = self; };
-      };
-    });
-in self.statsd
diff --git a/pkgs/tools/networking/statsd/node-packages.json b/pkgs/tools/networking/statsd/node-packages.json
deleted file mode 100644
index f75224e79f92..000000000000
--- a/pkgs/tools/networking/statsd/node-packages.json
+++ /dev/null
@@ -1,6 +0,0 @@
-[
-  "statsd"
-, "statsd-librato-backend"
-, "stackdriver-statsd-backend"
-, "statsd-influxdb-backend"
-]
diff --git a/pkgs/tools/networking/statsd/node-packages.nix b/pkgs/tools/networking/statsd/node-packages.nix
deleted file mode 100644
index fd196c249ae1..000000000000
--- a/pkgs/tools/networking/statsd/node-packages.nix
+++ /dev/null
@@ -1,284 +0,0 @@
-{ self, fetchurl, fetchgit ? null, lib }:
-
-{
-  by-spec."commander"."1.3.1" =
-    self.by-version."commander"."1.3.1";
-  by-version."commander"."1.3.1" = self.buildNodePackage {
-    name = "commander-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-1.3.1.tgz";
-      name = "commander-1.3.1.tgz";
-      sha1 = "02443e02db96f4b32b674225451abb6e9510000e";
-    };
-    deps = {
-      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connection-parse"."0.0.x" =
-    self.by-version."connection-parse"."0.0.7";
-  by-version."connection-parse"."0.0.7" = self.buildNodePackage {
-    name = "connection-parse-0.0.7";
-    version = "0.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connection-parse/-/connection-parse-0.0.7.tgz";
-      name = "connection-parse-0.0.7.tgz";
-      sha1 = "18e7318aab06a699267372b10c5226d25a1c9a69";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."generic-pool"."2.2.0" =
-    self.by-version."generic-pool"."2.2.0";
-  by-version."generic-pool"."2.2.0" = self.buildNodePackage {
-    name = "generic-pool-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/generic-pool/-/generic-pool-2.2.0.tgz";
-      name = "generic-pool-2.2.0.tgz";
-      sha1 = "8b465c1a7588ea9dd2bb133bda0bb66bfef8a63e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hashring"."3.2.0" =
-    self.by-version."hashring"."3.2.0";
-  by-version."hashring"."3.2.0" = self.buildNodePackage {
-    name = "hashring-3.2.0";
-    version = "3.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hashring/-/hashring-3.2.0.tgz";
-      name = "hashring-3.2.0.tgz";
-      sha1 = "fda4efde8aa22cdb97fb1d2a65e88401e1c144ce";
-    };
-    deps = {
-      "connection-parse-0.0.7" = self.by-version."connection-parse"."0.0.7";
-      "simple-lru-cache-0.0.2" = self.by-version."simple-lru-cache"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keypress"."0.1.x" =
-    self.by-version."keypress"."0.1.0";
-  by-version."keypress"."0.1.0" = self.buildNodePackage {
-    name = "keypress-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
-      name = "keypress-0.1.0.tgz";
-      sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."modern-syslog"."1.1.2" =
-    self.by-version."modern-syslog"."1.1.2";
-  by-version."modern-syslog"."1.1.2" = self.buildNodePackage {
-    name = "modern-syslog-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/modern-syslog/-/modern-syslog-1.1.2.tgz";
-      name = "modern-syslog-1.1.2.tgz";
-      sha1 = "f1fa58899f3f452d788f1573401212a4ef898de5";
-    };
-    deps = {
-      "nan-2.4.0" = self.by-version."nan"."2.4.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ "!win32" ];
-    cpu = [ ];
-  };
-  by-spec."nan"."^2.0.5" =
-    self.by-version."nan"."2.4.0";
-  by-version."nan"."2.4.0" = self.buildNodePackage {
-    name = "nan-2.4.0";
-    version = "2.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-2.4.0.tgz";
-      name = "nan-2.4.0.tgz";
-      sha1 = "fb3c59d45fe4effe215f0b890f8adf6eb32d2232";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sequence"."2.2.1" =
-    self.by-version."sequence"."2.2.1";
-  by-version."sequence"."2.2.1" = self.buildNodePackage {
-    name = "sequence-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sequence/-/sequence-2.2.1.tgz";
-      name = "sequence-2.2.1.tgz";
-      sha1 = "7f5617895d44351c0a047e764467690490a16b03";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simple-lru-cache"."0.0.x" =
-    self.by-version."simple-lru-cache"."0.0.2";
-  by-version."simple-lru-cache"."0.0.2" = self.buildNodePackage {
-    name = "simple-lru-cache-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simple-lru-cache/-/simple-lru-cache-0.0.2.tgz";
-      name = "simple-lru-cache-0.0.2.tgz";
-      sha1 = "d59cc3a193c1a5d0320f84ee732f6e4713e511dd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stackdriver-statsd-backend"."*" =
-    self.by-version."stackdriver-statsd-backend"."0.2.3";
-  by-version."stackdriver-statsd-backend"."0.2.3" = self.buildNodePackage {
-    name = "stackdriver-statsd-backend-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stackdriver-statsd-backend/-/stackdriver-statsd-backend-0.2.3.tgz";
-      name = "stackdriver-statsd-backend-0.2.3.tgz";
-      sha1 = "6ffead71e5655d4d787c39da8d1c9eaaa59c91d7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "stackdriver-statsd-backend" = self.by-version."stackdriver-statsd-backend"."0.2.3";
-  by-spec."statsd"."*" =
-    self.by-version."statsd"."0.8.0";
-  by-version."statsd"."0.8.0" = self.buildNodePackage {
-    name = "statsd-0.8.0";
-    version = "0.8.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/statsd/-/statsd-0.8.0.tgz";
-      name = "statsd-0.8.0.tgz";
-      sha1 = "92041479e174a214df7147f2fab1348af0839052";
-    };
-    deps = {
-      "generic-pool-2.2.0" = self.by-version."generic-pool"."2.2.0";
-    };
-    optionalDependencies = {
-      "modern-syslog-1.1.2" = self.by-version."modern-syslog"."1.1.2";
-      "hashring-3.2.0" = self.by-version."hashring"."3.2.0";
-      "winser-0.1.6" = self.by-version."winser"."0.1.6";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "statsd" = self.by-version."statsd"."0.8.0";
-  by-spec."statsd-influxdb-backend"."*" =
-    self.by-version."statsd-influxdb-backend"."0.6.0";
-  by-version."statsd-influxdb-backend"."0.6.0" = self.buildNodePackage {
-    name = "statsd-influxdb-backend-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/statsd-influxdb-backend/-/statsd-influxdb-backend-0.6.0.tgz";
-      name = "statsd-influxdb-backend-0.6.0.tgz";
-      sha1 = "25fb83cf0b3af923dfc7d506eb1208def8790d78";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "statsd-influxdb-backend" = self.by-version."statsd-influxdb-backend"."0.6.0";
-  by-spec."statsd-librato-backend"."*" =
-    self.by-version."statsd-librato-backend"."0.1.7";
-  by-version."statsd-librato-backend"."0.1.7" = self.buildNodePackage {
-    name = "statsd-librato-backend-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/statsd-librato-backend/-/statsd-librato-backend-0.1.7.tgz";
-      name = "statsd-librato-backend-0.1.7.tgz";
-      sha1 = "270dc406481c0e6a6f4e72957681a73015f478f6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "statsd-librato-backend" = self.by-version."statsd-librato-backend"."0.1.7";
-  by-spec."winser"."=0.1.6" =
-    self.by-version."winser"."0.1.6";
-  by-version."winser"."0.1.6" = self.buildNodePackage {
-    name = "winser-0.1.6";
-    version = "0.1.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winser/-/winser-0.1.6.tgz";
-      name = "winser-0.1.6.tgz";
-      sha1 = "08663dc32878a12bbce162d840da5097b48466c9";
-    };
-    deps = {
-      "sequence-2.2.1" = self.by-version."sequence"."2.2.1";
-      "commander-1.3.1" = self.by-version."commander"."1.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-}
diff --git a/pkgs/tools/networking/strongswan/default.nix b/pkgs/tools/networking/strongswan/default.nix
index 7ef278e359cc..89019986bca2 100644
--- a/pkgs/tools/networking/strongswan/default.nix
+++ b/pkgs/tools/networking/strongswan/default.nix
@@ -35,6 +35,8 @@ stdenv.mkDerivation rec {
     # the configuration files. In the absence of that we patch swanctl to look
     # for configuration files in /etc/swanctl.
     substituteInPlace src/swanctl/swanctl.h --replace "SWANCTLDIR" "\"/etc/swanctl\""
+    # glibc-2.26 reorganized internal includes
+    sed '1i#include <stdint.h>' -i src/libstrongswan/utils/utils/memory.h
     '';
 
   preConfigure = ''
diff --git a/pkgs/tools/networking/tcpflow/default.nix b/pkgs/tools/networking/tcpflow/default.nix
index 52727f1c49e7..1df0f2c37fc2 100644
--- a/pkgs/tools/networking/tcpflow/default.nix
+++ b/pkgs/tools/networking/tcpflow/default.nix
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ openssl zlib libpcap boost automake autoconf ] ++ lib.optional useCairo cairo;
 
   postUnpack = ''
-    pushd tcpflow-*-src/src
+    pushd "$sourceRoot/src"
     cp -rv ${be13_api}/* be13_api/
     cp -rv ${dfxml}/* dfxml/
     cp -rv ${httpparser}/* http-parser/
diff --git a/pkgs/tools/networking/udptunnel/default.nix b/pkgs/tools/networking/udptunnel/default.nix
index b12ce573d1c4..4ee4fa418335 100644
--- a/pkgs/tools/networking/udptunnel/default.nix
+++ b/pkgs/tools/networking/udptunnel/default.nix
@@ -4,8 +4,8 @@ stdenv.mkDerivation {
   name = "udptunnel-19";
 
   src = fetchurl {
-    url = http://udptunnel.googlecode.com/files/udptunnel-r19.tar.gz;
-    sha1 = "51edec3b63b659229bcf92f6157568d3b074ede0";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/udptunnel/udptunnel-r19.tar.gz";
+    sha256 = "1hkrn153rdyrp9g15z4d5dq44cqlnby2bfplp6z0g3862lnv7m3l";
   };
 
   installPhase = ''
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
   '';
 
   meta = {
-    homepage = http://code.google.com/p/udptunnel/;
+    homepage = https://code.google.com/archive/p/udptunnel/;
     description = "Tunnels TCP over UDP packets";
     license = stdenv.lib.licenses.gpl3Plus;
     maintainers = with stdenv.lib.maintainers; [viric];
diff --git a/pkgs/tools/networking/urlwatch/default.nix b/pkgs/tools/networking/urlwatch/default.nix
index 8161f700ce18..6a322f649ac4 100644
--- a/pkgs/tools/networking/urlwatch/default.nix
+++ b/pkgs/tools/networking/urlwatch/default.nix
@@ -2,19 +2,21 @@
 
 python3Packages.buildPythonApplication rec {
   name = "urlwatch-${version}";
-  version = "2.5";
+  version = "2.7";
 
   src = fetchFromGitHub {
     owner  = "thp";
     repo   = "urlwatch";
     rev    = version;
-    sha256 = "0irz54nvyq3cxa3fvjc5k2836a5nmly4wiiy4s5cwib1rnwg6r94";
+    sha256 = "0fx964z73yv08b1lpymmjsigf6929zx9ax5bp34rcf2c5gk11l5m";
   };
 
   propagatedBuildInputs = with python3Packages; [
+    appdirs
     keyring
     minidb
     pyyaml
+    pycodestyle
     requests
   ];
 
diff --git a/pkgs/tools/networking/wrk/default.nix b/pkgs/tools/networking/wrk/default.nix
index 7c72c2cd210c..05dcf6dc594c 100644
--- a/pkgs/tools/networking/wrk/default.nix
+++ b/pkgs/tools/networking/wrk/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
   
   meta = with stdenv.lib; {
     description = "HTTP benchmarking tool";
-    homepage = http://github.com/wg/wrk;
+    homepage = https://github.com/wg/wrk;
     longDescription = ''
       wrk is a modern HTTP benchmarking tool capable of generating
       significant load when run on a single multi-core CPU. It
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index 4359682d96a0..fe7818691779 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -160,13 +160,13 @@ in rec {
   }) // { perl-bindings = nixStable; };
 
   nixUnstable = (lib.lowPrio (common rec {
-    name = "nix-1.12${suffix}";
-    suffix = "pre5663_c7af84ce";
+    name = "nix-unstable-1.12${suffix}";
+    suffix = "pre5732_fd10f6f2";
     src = fetchFromGitHub {
       owner = "NixOS";
       repo = "nix";
-      rev = "c7af84ce846a9deefa5b4db1b1bce1c091ca2a1e";
-      sha256 = "1sc6rkx0500jz4fyfqm7443s1q24whmpx10mfs12wdk516f0q8qh";
+      rev = "fd10f6f2414521947ca60b9d1508d909f50e9faa";
+      sha256 = "17561jll94c8hdpxnyvdbjslnwr9g7ii4wqvrla7gfza236j9hff";
     };
     fromGit = true;
   })) // { perl-bindings = perl-bindings { nix = nixUnstable; }; };
diff --git a/pkgs/tools/package-management/nixui/generate.sh b/pkgs/tools/package-management/nixui/generate.sh
index 915497208fac..e3a7d9f69e4f 100755
--- a/pkgs/tools/package-management/nixui/generate.sh
+++ b/pkgs/tools/package-management/nixui/generate.sh
@@ -1,3 +1,3 @@
 #!/bin/sh -e
 
-node2nix -i pkg.json -c nixui.nix -e ../../../development/node-packages/node-env.nix
+node2nix -i pkg.json -c nixui.nix -e ../../../development/node-packages/node-env.nix --no-copy-node-env
diff --git a/pkgs/tools/package-management/nox/default.nix b/pkgs/tools/package-management/nox/default.nix
index ed7ec74483f3..f6c5c7b53e13 100644
--- a/pkgs/tools/package-management/nox/default.nix
+++ b/pkgs/tools/package-management/nox/default.nix
@@ -25,6 +25,7 @@ pythonPackages.buildPythonApplication rec {
     homepage = https://github.com/madjar/nox;
     description = "Tools to make nix nicer to use";
     maintainers = [ lib.maintainers.madjar ];
+    license = lib.licenses.mit;
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/package-management/opkg/default.nix b/pkgs/tools/package-management/opkg/default.nix
index e1e57a84b555..a0368b0df89e 100644
--- a/pkgs/tools/package-management/opkg/default.nix
+++ b/pkgs/tools/package-management/opkg/default.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   meta = with stdenv.lib; {
     description = "A lightweight package management system based upon ipkg";
-    homepage = http://code.google.com/p/opkg/;
+    homepage = https://git.yoctoproject.org/cgit/cgit.cgi/opkg/;
     license = licenses.gpl2;
     platforms = platforms.linux;
     maintainers = with maintainers; [ pSub ];
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index 180395571b22..d4e6885d8f36 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -1,6 +1,6 @@
 { stdenv, fetchFromGitHub, lib
 , intltool, glib, pkgconfig, polkit, python, sqlite, systemd
-, gobjectIntrospection, vala_0_23, gtk_doc, autoreconfHook, autoconf-archive
+, gobjectIntrospection, vala_0_38, gtk_doc, autoreconfHook, autoconf-archive
 # TODO: set enableNixBackend to true, as soon as it builds
 , nix, enableNixBackend ? false, boost
 , enableCommandNotFound ? false
@@ -8,16 +8,16 @@
 
 stdenv.mkDerivation rec {
   name = "packagekit-${version}";
-  version = "1.1.3";
+  version = "1.1.7";
 
   src = fetchFromGitHub {
     owner = "hughsie";
     repo = "PackageKit";
     rev = "PACKAGEKIT_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "150mpar7bhlvwfpwsr6zrjn3yggvklzr6nlhk0shaxnrfkfxvvb6";
+    sha256 = "076rrczmyhapj87pxqldsar5pbz4mid6cm9l1n91zh2q403chdkb";
   };
 
-  buildInputs = [ glib polkit systemd python gobjectIntrospection vala_0_23 ]
+  buildInputs = [ glib polkit systemd python gobjectIntrospection vala_0_38 ]
                   ++ lib.optional enableBashCompletion bash-completion;
   propagatedBuildInputs = [ sqlite nix boost ];
   nativeBuildInputs = [ intltool pkgconfig autoreconfHook autoconf-archive gtk_doc ];
diff --git a/pkgs/tools/security/afl/default.nix b/pkgs/tools/security/afl/default.nix
index ae80b5ec0b50..51701590b8e9 100644
--- a/pkgs/tools/security/afl/default.nix
+++ b/pkgs/tools/security/afl/default.nix
@@ -11,11 +11,11 @@ in
 
 stdenv.mkDerivation rec {
   name    = "afl-${version}";
-  version = "2.51b";
+  version = "2.52b";
 
   src = fetchurl {
     url    = "http://lcamtuf.coredump.cx/afl/releases/${name}.tgz";
-    sha256 = "15xvjma2lpawg1wasnja9wmgrpss5mnm3f5xmh5yli5q6m5vjdfl";
+    sha256 = "0ig0ij4n1pwry5dw1hk4q88801jzzy2cric6y2gd6560j55lnqa3";
   };
 
   # Note: libcgroup isn't needed for building, just for the afl-cgroup
@@ -58,6 +58,10 @@ stdenv.mkDerivation rec {
     done
   '';
 
+  passthru = {
+    qemu = afl-qemu;
+  };
+
   meta = {
     description = "Powerful fuzzer via genetic algorithms and instrumentation";
     longDescription = ''
diff --git a/pkgs/tools/security/afl/qemu-patches/qemu-2.3.0-glibc-2.26.patch b/pkgs/tools/security/afl/qemu-patches/qemu-2.3.0-glibc-2.26.patch
new file mode 100644
index 000000000000..1c447c4051e8
--- /dev/null
+++ b/pkgs/tools/security/afl/qemu-patches/qemu-2.3.0-glibc-2.26.patch
@@ -0,0 +1,121 @@
+diff --git a/user-exec.c b/user-exec.c
+index 8f57e8a..957f9f7 100644
+--- a/user-exec.c
++++ b/user-exec.c
+@@ -57,7 +57,7 @@ static void exception_action(CPUState *cpu)
+ void cpu_resume_from_signal(CPUState *cpu, void *puc)
+ {
+ #ifdef __linux__
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+ #elif defined(__OpenBSD__)
+     struct sigcontext *uc = puc;
+ #endif
+@@ -171,7 +171,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+ #elif defined(__OpenBSD__)
+     struct sigcontext *uc = puc;
+ #else
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+ #endif
+     unsigned long pc;
+     int trapno;
+@@ -226,7 +226,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+ #elif defined(__OpenBSD__)
+     struct sigcontext *uc = puc;
+ #else
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+ #endif
+ 
+     pc = PC_sig(uc);
+@@ -288,7 +288,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+ 
+ #ifdef __APPLE__
+ #include <sys/ucontext.h>
+-typedef struct ucontext SIGCONTEXT;
++typedef ucontext_t SIGCONTEXT;
+ /* All Registers access - only for local access */
+ #define REG_sig(reg_name, context)              \
+     ((context)->uc_mcontext->ss.reg_name)
+@@ -331,7 +331,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+ #if defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
+     ucontext_t *uc = puc;
+ #else
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+ #endif
+     unsigned long pc;
+     int is_write;
+@@ -358,7 +358,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+                            void *puc)
+ {
+     siginfo_t *info = pinfo;
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+     uint32_t *pc = uc->uc_mcontext.sc_pc;
+     uint32_t insn = *pc;
+     int is_write = 0;
+@@ -456,7 +456,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+ #if defined(__NetBSD__)
+     ucontext_t *uc = puc;
+ #else
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+ #endif
+     unsigned long pc;
+     int is_write;
+@@ -483,7 +483,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+ int cpu_signal_handler(int host_signum, void *pinfo, void *puc)
+ {
+     siginfo_t *info = pinfo;
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+     uintptr_t pc = uc->uc_mcontext.pc;
+     uint32_t insn = *(uint32_t *)pc;
+     bool is_write;
+@@ -512,7 +512,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+                        void *puc)
+ {
+     siginfo_t *info = pinfo;
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+     unsigned long pc;
+     int is_write;
+ 
+@@ -534,7 +534,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+ int cpu_signal_handler(int host_signum, void *pinfo, void *puc)
+ {
+     siginfo_t *info = pinfo;
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+     unsigned long ip;
+     int is_write = 0;
+ 
+@@ -565,7 +565,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+                        void *puc)
+ {
+     siginfo_t *info = pinfo;
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+     unsigned long pc;
+     uint16_t *pinsn;
+     int is_write = 0;
+@@ -618,7 +618,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+                        void *puc)
+ {
+     siginfo_t *info = pinfo;
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+     greg_t pc = uc->uc_mcontext.pc;
+     int is_write;
+ 
+@@ -634,7 +634,7 @@ int cpu_signal_handler(int host_signum, void *pinfo,
+                        void *puc)
+ {
+     siginfo_t *info = pinfo;
+-    struct ucontext *uc = puc;
++    ucontext_t *uc = puc;
+     unsigned long pc = uc->uc_mcontext.sc_iaoq[0];
+     uint32_t insn = *(uint32_t *)pc;
+     int is_write = 0;
diff --git a/pkgs/tools/security/afl/qemu.nix b/pkgs/tools/security/afl/qemu.nix
index 0e91e2871237..d21500960fec 100644
--- a/pkgs/tools/security/afl/qemu.nix
+++ b/pkgs/tools/security/afl/qemu.nix
@@ -43,6 +43,7 @@ stdenv.mkDerivation rec {
       ./qemu-patches/no-etc-install.patch
       ./qemu-patches/translate-all.patch
       ./qemu-patches/syscall.patch
+      ./qemu-patches/qemu-2.3.0-glibc-2.26.patch
     ];
 
   preConfigure = ''
diff --git a/pkgs/tools/security/browserpass/default.nix b/pkgs/tools/security/browserpass/default.nix
index c078c3a21c5a..7230d30c7955 100644
--- a/pkgs/tools/security/browserpass/default.nix
+++ b/pkgs/tools/security/browserpass/default.nix
@@ -3,15 +3,17 @@
 
 buildGoPackage rec {
   name = "browserpass-${version}";
-  version = "1.0.6";
+  version = "2.0.7";
 
   goPackagePath = "github.com/dannyvankooten/browserpass";
 
+  goDeps = ./deps.nix;
+
   src = fetchFromGitHub {
     repo = "browserpass";
     owner = "dannyvankooten";
     rev = version;
-    sha256 = "07wkvwb9klzxnlrm9a07kxzj3skpy0lymc9ijr8ykfbz6l0bpbqy";
+    sha256 = "1dbp5za5qh6xmgh3w2cx5fbw13mh1szgj2y7ilmq0jh2ik09fbnd";
   };
 
   postInstall = ''
diff --git a/pkgs/tools/security/browserpass/deps.nix b/pkgs/tools/security/browserpass/deps.nix
new file mode 100644
index 000000000000..4a86966a9fc0
--- /dev/null
+++ b/pkgs/tools/security/browserpass/deps.nix
@@ -0,0 +1,30 @@
+# This file was generated by https://github.com/kamilchm/go2nix v1.2.1
+[
+  {
+    goPackagePath = "github.com/gokyle/twofactor";
+    fetch = {
+      type = "git";
+      url = "https://github.com/gokyle/twofactor";
+      rev = "eaad1884d40f9cabff98a57a524c17afd00c9fe7";
+      sha256 = "07kvga6f2b56kpy52a3xk16garvlqz950s350dax97x7cayba95g";
+    };
+  }
+  {
+    goPackagePath = "github.com/mattn/go-zglob";
+    fetch = {
+      type = "git";
+      url = "https://github.com/mattn/go-zglob";
+      rev = "4b74c24375b3b1ee226867156e01996f4e19a8d6";
+      sha256 = "1qc502an4q3wgvrd9zw6zprgm28d90d2f98bdamdf4js03jj22xn";
+    };
+  }
+  {
+    goPackagePath = "rsc.io/qr";
+    fetch = {
+      type = "git";
+      url = "https://github.com/rsc/qr";
+      rev = "48b2ede4844e13f1a2b7ce4d2529c9af7e359fc5";
+      sha256 = "1npxy32glnkvsp0871972jzjzgkwaqmbv6jsj9wgqsa1s2jr004p";
+    };
+  }
+]
diff --git a/pkgs/tools/security/chaps/default.nix b/pkgs/tools/security/chaps/default.nix
index 6e9ad260aa98..3c6f52a4c7f6 100644
--- a/pkgs/tools/security/chaps/default.nix
+++ b/pkgs/tools/security/chaps/default.nix
@@ -16,7 +16,7 @@ let
   src_platform2 = fetchgit {
     url = "https://chromium.googlesource.com/chromiumos/platform2";
     rev = "e999e989eaa71c3db7314fc7b4e20829b2b5473b";
-    sha256 = "bb43ef7918ec6219711cbba3ce91236413738f1341261a1845256b3d6cc9f843";
+    sha256 = "15n1bsv6r7cny7arx0hdb223xzzbk7vkxg2r7xajhl4nsj39adjh";
   };
 
 in
diff --git a/pkgs/tools/security/doas/default.nix b/pkgs/tools/security/doas/default.nix
new file mode 100644
index 000000000000..55335927b36a
--- /dev/null
+++ b/pkgs/tools/security/doas/default.nix
@@ -0,0 +1,31 @@
+{ stdenv, lib, fetchFromGitHub, bison, pam }:
+
+stdenv.mkDerivation rec {
+  name = "doas-${version}";
+
+  version = "6.0";
+
+  src = fetchFromGitHub {
+    owner = "Duncaen";
+    repo = "OpenDoas";
+    rev = "v${version}";
+    sha256 = "1j50l3jvbgvg8vmp1nx6vrjxkbj5bvfh3m01bymzfn25lkwwhz1x";
+  };
+
+  # otherwise confuses ./configure
+  dontDisableStatic = true;
+
+  postPatch = ''
+    sed -i '/\(chown\|chmod\)/d' bsd.prog.mk
+  '';
+
+  buildInputs = [ bison pam ];
+
+  meta = with lib; {
+    description = "Executes the given command as another user";
+    homepage = "https://github.com/Duncaen/OpenDoas";
+    license = licenses.isc;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ cstrahan ];
+  };
+}
diff --git a/pkgs/tools/security/gnupg/22.nix b/pkgs/tools/security/gnupg/22.nix
index 18d784a59bb7..826667c26faf 100644
--- a/pkgs/tools/security/gnupg/22.nix
+++ b/pkgs/tools/security/gnupg/22.nix
@@ -15,11 +15,11 @@ assert guiSupport -> pinentry != null;
 stdenv.mkDerivation rec {
   name = "gnupg-${version}";
 
-  version = "2.2.1";
+  version = "2.2.2";
 
   src = fetchurl {
     url = "mirror://gnupg/gnupg/${name}.tar.bz2";
-    sha256 = "1yv2pwf3vhv9dpbf51fnm0wy03va1cg5r7qaz7rg75cwbgb0rmrl";
+    sha256 = "15w1q0bib742jqnir67bk07mc6ph9yik8wbc5i1bkcyf29s2rdmz";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/security/masscan/default.nix b/pkgs/tools/security/masscan/default.nix
index 46c90481628d..22a452ccabdd 100644
--- a/pkgs/tools/security/masscan/default.nix
+++ b/pkgs/tools/security/masscan/default.nix
@@ -1,17 +1,17 @@
-{ stdenv, fetchFromGitHub, libpcap }:
+{ stdenv, fetchFromGitHub, makeWrapper, libpcap }:
 
 stdenv.mkDerivation rec {
   name = "masscan-${version}";
-  version = "2016-11-03";
+  version = "1.0.4";
 
   src = fetchFromGitHub {
     owner  = "robertdavidgraham";
     repo   = "masscan";
-    rev    = "dc88677a11dc3d9a5f6aa55cc1377bc17dba1496";
-    sha256 = "1mdjqkn4gnbwr5nci6i6xn7qzkjgq7dx37fzd6gghv87xgw7cdbg";
+    rev    = "39061a5e9ef158dde1e6618f6fbf379739934a73";
+    sha256 = "0mjvwh4i0ncsa3ywavw2s55v5bfv7pyga028c8m8xfash9764wwf";
   };
 
-  buildInputs = [ libpcap ];
+  buildInputs = [ makeWrapper ];
 
   makeFlags = [ "PREFIX=$(out)" "CC=cc" "-j" ];
 
@@ -24,13 +24,15 @@ stdenv.mkDerivation rec {
     cp -t $out/share/doc/masscan doc/algorithm.js doc/howto-afl.md doc/bot.hml
     cp doc/masscan.8 $out/share/man/man8/masscan.8
     cp LICENSE $out/share/licenses/masscan/LICENSE
+
+    wrapProgram $out/bin/masscan --prefix LD_LIBRARY_PATH : "${libpcap}/lib"
   '';
 
   meta = with stdenv.lib; {
     description = "Fast scan of the Internet";
     homepage    = https://github.com/robertdavidgraham/masscan;
     license     = licenses.agpl3;
-    platforms   = with platforms; allBut darwin;
+    platforms   = platforms.unix;
     maintainers = with maintainers; [ rnhmjoj ];
   };
 }
diff --git a/pkgs/tools/security/mfcuk/default.nix b/pkgs/tools/security/mfcuk/default.nix
index ebd9a6d5e7ee..3d4bdd2edf17 100644
--- a/pkgs/tools/security/mfcuk/default.nix
+++ b/pkgs/tools/security/mfcuk/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.3.8";
 
   src = fetchurl {
-    url = "http://mfcuk.googlecode.com/files/mfcuk-0.3.8.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mfcuk/mfcuk-0.3.8.tar.gz";
     sha256 = "0m9sy61rsbw63xk05jrrmnyc3xda0c3m1s8pg3sf8ijbbdv9axcp";
   };
 
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "MiFare Classic Universal toolKit";
     license = licenses.gpl2;
-    homepage = http://code.google.com/p/mfcuk/;
+    homepage = https://github.com/nfc-tools/mfcuk;
     maintainers = with maintainers; [ offline ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/security/mfoc/default.nix b/pkgs/tools/security/mfoc/default.nix
index 8a454ca67fde..278818e88b54 100644
--- a/pkgs/tools/security/mfoc/default.nix
+++ b/pkgs/tools/security/mfoc/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.10.6";
 
   src = fetchurl {
-    url = "http://mfoc.googlecode.com/files/${name}.tar.gz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mfoc/${name}.tar.gz";
     sha1 = "3adce3029dce9124ff3bc7d0fad86fa0c374a9e3";
   };
 
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
   meta = with stdenv.lib; {
     description = "Mifare Classic Offline Cracker";
     license = licenses.gpl2;
-    homepage = http://code.google.com/p/mfoc/;
+    homepage = https://github.com/nfc-tools/mfoc;
     maintainers = with maintainers; [ offline ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/security/mpw/default.nix b/pkgs/tools/security/mpw/default.nix
index e30866021da6..3e1e3a882839 100644
--- a/pkgs/tools/security/mpw/default.nix
+++ b/pkgs/tools/security/mpw/default.nix
@@ -1,50 +1,39 @@
-{ stdenv, fetchzip, autoconf, automake, openssl, libxml2, fetchFromGitHub, ncurses }:
+{ stdenv, cmake, fetchFromGitHub, ncurses, libsodium, json_c }:
 
-let
-  scrypt_src = fetchzip {
-    url = "http://www.tarsnap.com/scrypt/scrypt-1.2.0.tgz";
-    sha256 = "0ahylib2pimlhjcm566kpim6n16jci5v749xwdkr9ivgfjrv3xn4";
-  };
-
-in stdenv.mkDerivation {
-  name = "mpw-2.1-6834f36";
+stdenv.mkDerivation rec {
+  name = "mpw-2.6-f8043ae";
 
   src = fetchFromGitHub {
     owner = "Lyndir";
     repo = "MasterPassword";
-    rev = "6834f3689f5dfd4e59ad6959961d349c224977ee";
-    sha256 = "0zlpx3hb1y2l60hg961h05lb9yf3xb5phnyycvazah2674gkwb2p";
+    rev = "f8043ae16d73ddfb205aadd25c35cd9c5e95b228";
+    sha256 = "0hy02ri7y3sca85z3ff5i68crwav5cjd7rrdqj7jrnpp1bw4yapi";
   };
 
   postUnpack = ''
-    sourceRoot+=/MasterPassword/C
+    sourceRoot+=/platform-independent/cli-c
   '';
 
-  prePatch = ''
-    patchShebangs .
-    mkdir lib/scrypt/src
-    cp -R --no-preserve=ownership ${scrypt_src}/* lib/scrypt/src
-    chmod +w -R lib/scrypt/src
-    substituteInPlace lib/scrypt/src/libcperciva/cpusupport/Build/cpusupport.sh \
-      --replace dirname "$(type -P dirname)"
-    substituteInPlace lib/scrypt/src/Makefile.in --replace "command -p mv" "mv"
+  preConfigure = ''
+    substituteInPlace CMakeLists.txt --replace curses ncurses
+    echo ${name} > VERSION
   '';
 
-  NIX_CFLAGS_COMPILE = "-I${libxml2.dev}/include/libxml2";
+  dontUseCmakeBuildDir = true;
 
-  buildInputs = [ autoconf automake openssl libxml2 ncurses ];
+  nativeBuildInputs = [ cmake ];
 
-  buildPhase = ''
-    substituteInPlace build --replace '"curses"' '"ncurses"'
-    targets="mpw mpw-tests" ./build
-  '';
+  buildInputs = [ ncurses libsodium json_c ];
 
   installPhase = ''
     mkdir -p $out/bin
     mv mpw $out/bin/mpw
   '';
 
-  meta = {
-    platforms = stdenv.lib.platforms.unix;
+  meta = with stdenv.lib; {
+    homepage = http://masterpasswordapp.com/;
+    description = "A stateless password management solution";
+    license = licenses.gpl3;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/security/nsjail/default.nix b/pkgs/tools/security/nsjail/default.nix
index a9763b07b71f..8f087ef3d93c 100644
--- a/pkgs/tools/security/nsjail/default.nix
+++ b/pkgs/tools/security/nsjail/default.nix
@@ -3,29 +3,31 @@
 
 stdenv.mkDerivation rec {
   name = "nsjail-${version}";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner           = "google";
     repo            = "nsjail";
     rev             = version;
     fetchSubmodules = true;
-    sha256          = "1wkhy86d0vgzngdvv593yhcghjh63chb8s67v891zll6bwgwg5h2";
+    sha256          = "11323j5wd02nm8ibvzbzq7dla70bmcldc71lv5bpk4x7h64ai14v";
   };
 
   nativeBuildInputs = [ autoconf libtool pkgconfig ];
   buildInputs = [ bison flex libnl protobuf protobufc ];
+  enableParallelBuilding = true;
 
   installPhase = ''
-    mkdir -p $out/bin
-    cp nsjail $out/bin
+    mkdir -p $out/bin $out/share/man/man1
+    install nsjail $out/bin/
+    install nsjail.1 $out/share/man/man1/
   '';
 
   meta = with stdenv.lib; {
     description = "A light-weight process isolation tool, making use of Linux namespaces and seccomp-bpf syscall filters";
     homepage    = http://nsjail.com/;
-    license     = licenses.apsl20;
-    maintainers = [ maintainers.bosu ];
+    license     = licenses.asl20;
+    maintainers = with maintainers; [ bosu c0bw3b ];
     platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/tools/security/omapd/default.nix b/pkgs/tools/security/omapd/default.nix
index 9e01e8f0a9f3..91df7f3fbb0a 100644
--- a/pkgs/tools/security/omapd/default.nix
+++ b/pkgs/tools/security/omapd/default.nix
@@ -5,7 +5,7 @@ stdenv.mkDerivation rec {
   version = "0.9.2";
 
   src = fetchurl {
-    url = "http://omapd.googlecode.com/files/${name}.tgz";
+    url = "https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/omapd/${name}.tgz";
     sha256 = "0d7lgv957jhbsav60j50jhdy3rpcqgql74qsniwnnpm3yqj9p0xc";
   };
 
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with stdenv.lib; {
-    homepage = http://code.google.com/p/omapd;
+    homepage = https://code.google.com/archive/p/omapd/;
     description = "IF-MAP Server that implements the IF-MAP v1.1 and v2.0 specifications published by the Trusted Computing Group (TCG)";
     license = licenses.gpl3;
     maintainers = [ maintainers.tstrobel ];
diff --git a/pkgs/tools/security/opensc/default.nix b/pkgs/tools/security/opensc/default.nix
index ce310eec5aed..e727180fa3f0 100644
--- a/pkgs/tools/security/opensc/default.nix
+++ b/pkgs/tools/security/opensc/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   name = "opensc-${version}";
-  version = "0.15.0";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "OpenSC";
     rev = version;
-    sha256 = "16y3ryx606nry2li05hm88bllrragdj3sfl3yh7pf71777n4lsk4";
+    sha256 = "1mgcf698zhpqzamd52547scdws7mhdva377kc3chpr455n0mw8g0";
   };
 
   nativeBuildInputs = [ pkgconfig ];
diff --git a/pkgs/tools/security/pass/rofi-pass.nix b/pkgs/tools/security/pass/rofi-pass.nix
index 919ad9791a2c..61f51973ed32 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.5.2";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "carnager";
     repo = "rofi-pass";
     rev = version;
-    sha256 = "1sc4b1g2z7402akk96rqbnwjd66n6qn046ihpwxdb03bv2qahiap";
+    sha256 = "1fn1j2rf3abc5qb44zfc8z8ffw6rva4xfp7597hwr1g3szacazpq";
   };
 
   buildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/pgpdump/default.nix b/pkgs/tools/security/pgpdump/default.nix
index 93b53c3ad4a3..09b5b5f58ca4 100644
--- a/pkgs/tools/security/pgpdump/default.nix
+++ b/pkgs/tools/security/pgpdump/default.nix
@@ -1,4 +1,6 @@
-{ stdenv, fetchFromGitHub }:
+{ stdenv, fetchFromGitHub
+, supportCompressedPackets ? true, zlib, bzip2
+}:
 
 stdenv.mkDerivation rec {
   name = "pgpdump-${version}";
@@ -11,6 +13,8 @@ stdenv.mkDerivation rec {
     sha256 = "1ip7q5sgh3nwdqbrzpp6sllkls5kma98kns53yspw1830xi1n8xc";
   };
 
+  buildInputs = stdenv.lib.optionals supportCompressedPackets [ zlib bzip2 ];
+
   meta = with stdenv.lib; {
     description = "A PGP packet visualizer";
     longDescription = ''
diff --git a/pkgs/tools/security/qdigidoc/default.nix b/pkgs/tools/security/qdigidoc/default.nix
index 1e626084ee3a..87c9fc59a5bd 100644
--- a/pkgs/tools/security/qdigidoc/default.nix
+++ b/pkgs/tools/security/qdigidoc/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     sha256 = "1a7nsi28q57ic99hrb6x83qlvpqvzvk6acbfl6ncny2j4yaxa4jl";
   };
 
-  patches = [ ./certs.patch ];
+  patches = [ ./certs.patch ./glibc-2_26.patch ];
 
   unpackPhase = ''
     mkdir src
@@ -30,7 +30,9 @@ stdenv.mkDerivation rec {
                   hicolor_icon_theme libdigidocpp opensc shared_mime_info
                   openldap gettext desktop_file_utils makeWrapper
                 ];
-  
+
+  enableParallelBuilding = true;
+
   meta = with stdenv.lib; {
     description = "Qt based UI application for verifying and signing digital signatures";
     homepage = http://www.id.ee/;
diff --git a/pkgs/tools/security/qdigidoc/glibc-2_26.patch b/pkgs/tools/security/qdigidoc/glibc-2_26.patch
new file mode 100644
index 000000000000..1d99538e72d9
--- /dev/null
+++ b/pkgs/tools/security/qdigidoc/glibc-2_26.patch
@@ -0,0 +1,221 @@
+diff --git a/common/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc b/common/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+index b20a68b..38f1375 100644
+--- a/common/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
++++ b/common/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.cc
+@@ -36,19 +36,19 @@ namespace google_breakpad {
+ 
+ // Minidump defines register structures which are different from the raw
+ // structures which we get from the kernel. These are platform specific
+-// functions to juggle the ucontext and user structures into minidump format.
++// functions to juggle the ucontext_t and user structures into minidump format.
+ 
+ #if defined(__i386__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_ESP];
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_EIP];
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                                     const struct _libc_fpstate* fp) {
+   const greg_t* regs = uc->uc_mcontext.gregs;
+ 
+@@ -88,15 +88,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ 
+ #elif defined(__x86_64)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_RSP];
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[REG_RIP];
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                                     const struct _libc_fpstate* fpregs) {
+   const greg_t* regs = uc->uc_mcontext.gregs;
+ 
+@@ -145,15 +145,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ 
+ #elif defined(__ARM_EABI__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.arm_sp;
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.arm_pc;
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+   out->context_flags = MD_CONTEXT_ARM_FULL;
+ 
+   out->iregs[0] = uc->uc_mcontext.arm_r0;
+@@ -184,15 +184,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
+ 
+ #elif defined(__aarch64__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.sp;
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.pc;
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                                     const struct fpsimd_context* fpregs) {
+   out->context_flags = MD_CONTEXT_ARM64_FULL;
+ 
+@@ -210,15 +210,15 @@ void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc,
+ 
+ #elif defined(__mips__)
+ 
+-uintptr_t UContextReader::GetStackPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetStackPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.gregs[MD_CONTEXT_MIPS_REG_SP];
+ }
+ 
+-uintptr_t UContextReader::GetInstructionPointer(const struct ucontext* uc) {
++uintptr_t UContextReader::GetInstructionPointer(const ucontext_t* uc) {
+   return uc->uc_mcontext.pc;
+ }
+ 
+-void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext *uc) {
++void UContextReader::FillCPUContext(RawContextCPU *out, const ucontext_t *uc) {
+   out->context_flags = MD_CONTEXT_MIPS_FULL;
+ 
+   for (int i = 0; i < MD_CONTEXT_MIPS_GPR_COUNT; ++i)
+diff --git a/common/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.h b/common/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+index b6e77b4..2de80b7 100644
+--- a/common/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
++++ b/common/google-breakpad/src/client/linux/dump_writer_common/ucontext_reader.h
+@@ -39,23 +39,23 @@
+ 
+ namespace google_breakpad {
+ 
+-// Wraps platform-dependent implementations of accessors to ucontext structs.
++// Wraps platform-dependent implementations of accessors to ucontext_t structs.
+ struct UContextReader {
+-  static uintptr_t GetStackPointer(const struct ucontext* uc);
++  static uintptr_t GetStackPointer(const ucontext_t* uc);
+ 
+-  static uintptr_t GetInstructionPointer(const struct ucontext* uc);
++  static uintptr_t GetInstructionPointer(const ucontext_t* uc);
+ 
+-  // Juggle a arch-specific ucontext into a minidump format
++  // Juggle a arch-specific ucontext_t into a minidump format
+   //   out: the minidump structure
+   //   info: the collection of register structures.
+ #if defined(__i386__) || defined(__x86_64)
+-  static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                              const struct _libc_fpstate* fp);
+ #elif defined(__aarch64__)
+-  static void FillCPUContext(RawContextCPU *out, const ucontext *uc,
++  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc,
+                              const struct fpsimd_context* fpregs);
+ #else
+-  static void FillCPUContext(RawContextCPU *out, const ucontext *uc);
++  static void FillCPUContext(RawContextCPU *out, const ucontext_t *uc);
+ #endif
+ };
+ 
+diff --git a/common/google-breakpad/src/client/linux/handler/exception_handler.cc b/common/google-breakpad/src/client/linux/handler/exception_handler.cc
+index 3e2d196..b6d02ef 100644
+--- a/common/google-breakpad/src/client/linux/handler/exception_handler.cc
++++ b/common/google-breakpad/src/client/linux/handler/exception_handler.cc
+@@ -404,9 +404,9 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
+   // Fill in all the holes in the struct to make Valgrind happy.
+   memset(&context, 0, sizeof(context));
+   memcpy(&context.siginfo, info, sizeof(siginfo_t));
+-  memcpy(&context.context, uc, sizeof(struct ucontext));
++  memcpy(&context.context, uc, sizeof(ucontext_t));
+ #if defined(__aarch64__)
+-  struct ucontext *uc_ptr = (struct ucontext*)uc;
++  ucontext_t* uc_ptr = (ucontext_t*)uc;
+   struct fpsimd_context *fp_ptr =
+       (struct fpsimd_context*)&uc_ptr->uc_mcontext.__reserved;
+   if (fp_ptr->head.magic == FPSIMD_MAGIC) {
+@@ -414,9 +414,9 @@ bool ExceptionHandler::HandleSignal(int sig, siginfo_t* info, void* uc) {
+   }
+ #elif !defined(__ARM_EABI__)  && !defined(__mips__)
+   // FP state is not part of user ABI on ARM Linux.
+-  // In case of MIPS Linux FP state is already part of struct ucontext
++  // In case of MIPS Linux FP state is already part of ucontext_t
+   // and 'float_state' is not a member of CrashContext.
+-  struct ucontext *uc_ptr = (struct ucontext*)uc;
++  ucontext_t* uc_ptr = (ucontext_t*)uc;
+   if (uc_ptr->uc_mcontext.fpregs) {
+     memcpy(&context.float_state,
+            uc_ptr->uc_mcontext.fpregs,
+@@ -440,7 +440,7 @@ bool ExceptionHandler::SimulateSignalDelivery(int sig) {
+   // ExceptionHandler::HandleSignal().
+   siginfo.si_code = SI_USER;
+   siginfo.si_pid = getpid();
+-  struct ucontext context;
++  ucontext_t context;
+   getcontext(&context);
+   return HandleSignal(sig, &siginfo, &context);
+ }
+diff --git a/common/google-breakpad/src/client/linux/handler/exception_handler.h b/common/google-breakpad/src/client/linux/handler/exception_handler.h
+index 591c310..42f4055 100644
+--- a/common/google-breakpad/src/client/linux/handler/exception_handler.h
++++ b/common/google-breakpad/src/client/linux/handler/exception_handler.h
+@@ -191,11 +191,11 @@ class ExceptionHandler {
+   struct CrashContext {
+     siginfo_t siginfo;
+     pid_t tid;  // the crashing thread.
+-    struct ucontext context;
++    ucontext_t context;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+     // #ifdef this out because FP state is not part of user ABI for Linux ARM.
+-    // In case of MIPS Linux FP state is already part of struct
+-    // ucontext so 'float_state' is not required.
++    // In case of MIPS Linux FP state is already part of ucontext_t so
++    // 'float_state' is not required.
+     fpstate_t float_state;
+ #endif
+   };
+diff --git a/common/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc b/common/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+index 494e2a2..c00436b 100644
+--- a/common/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
++++ b/common/google-breakpad/src/client/linux/microdump_writer/microdump_writer.cc
+@@ -328,7 +328,7 @@ class MicrodumpWriter {
+ 
+   void* Alloc(unsigned bytes) { return dumper_->allocator()->Alloc(bytes); }
+ 
+-  const struct ucontext* const ucontext_;
++  const ucontext_t* const ucontext_;
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+   const google_breakpad::fpstate_t* const float_state_;
+ #endif
+diff --git a/common/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc b/common/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+index 8406ffe..7e6fe52 100644
+--- a/common/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc
++++ b/common/google-breakpad/src/client/linux/minidump_writer/minidump_writer.cc
+@@ -1221,7 +1221,7 @@ class MinidumpWriter {
+   const int fd_;  // File descriptor where the minidum should be written.
+   const char* path_;  // Path to the file where the minidum should be written.
+ 
+-  const struct ucontext* const ucontext_;  // also from the signal handler
++  const ucontext_t* const ucontext_;  // also from the signal handler
+ #if !defined(__ARM_EABI__) && !defined(__mips__)
+   const google_breakpad::fpstate_t* const float_state_;  // ditto
+ #endif
diff --git a/pkgs/tools/security/radamsa/default.nix b/pkgs/tools/security/radamsa/default.nix
index 4a770f86e5cb..3a6c09b9291d 100644
--- a/pkgs/tools/security/radamsa/default.nix
+++ b/pkgs/tools/security/radamsa/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A general purpose fuzzer";
     longDescription = "Radamsa is a general purpose data fuzzer. It reads data from given sample files, or standard input if none are given, and outputs modified data. It is usually used to generate malformed data for testing programs.";
-    homepage = http://github.com/aoh/radamsa;
+    homepage = https://github.com/aoh/radamsa;
     maintainers = [ stdenv.lib.maintainers.markWot ];
     platforms = stdenv.lib.platforms.all;
   };
diff --git a/pkgs/tools/security/rng-tools/default.nix b/pkgs/tools/security/rng-tools/default.nix
index 75a865917ec1..1885940e7f31 100644
--- a/pkgs/tools/security/rng-tools/default.nix
+++ b/pkgs/tools/security/rng-tools/default.nix
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   meta = {
     description = "A random number generator daemon";
 
-    homepage = http://sourceforge.net/projects/gkernel;
+    homepage = https://sourceforge.net/projects/gkernel;
 
     license = stdenv.lib.licenses.gpl2;
 
diff --git a/pkgs/tools/security/sshguard/default.nix b/pkgs/tools/security/sshguard/default.nix
index bb165e53c73d..6db16c95fc88 100644
--- a/pkgs/tools/security/sshguard/default.nix
+++ b/pkgs/tools/security/sshguard/default.nix
@@ -1,13 +1,12 @@
 { stdenv, fetchurl, autoreconfHook, yacc, flex}:
 
-
 stdenv.mkDerivation rec {
-  version = "2.0.0";
+  version = "2.1.0";
   name = "sshguard-${version}";
 
   src = fetchurl {
-    url = "mirror://sourceforge/sshguard/sshguard-2.0.0.tar.gz";
-    sha256 = "e87c6c4a6dddf06f440ea76464eb6197869c0293f0a60ffa51f8a6a0d7b0cb06";
+    url = "mirror://sourceforge/sshguard/${name}.tar.gz";
+    sha256 = "12h2rx40lf3p3kgazmgakkgajjk2d3sdvr2f73ghi15d6i42l991";
   };
 
   doCheck = true;
@@ -16,8 +15,6 @@ stdenv.mkDerivation rec {
 
   configureFlags = [ "--sysconfdir=/etc" ];
 
-  patches = [ ./0001-Remove-the-unnecessary-from-ipset-cmds.patch ];
-
   meta = with stdenv.lib; {
     description = "SSHGuard protects hosts from brute-force attacks";
     longDescription = ''
diff --git a/pkgs/tools/security/tmin/default.nix b/pkgs/tools/security/tmin/default.nix
deleted file mode 100644
index 2c16e936a695..000000000000
--- a/pkgs/tools/security/tmin/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{ stdenv, fetchurl, bash }:
-
-stdenv.mkDerivation rec {
-  name    = "tmin-${version}";
-  version = "0.05";
-
-  src = fetchurl {
-    url    = "https://tmin.googlecode.com/files/${name}.tar.gz";
-    sha256 = "0166kcfs4b0da4hs2aqyn41f5l09i8rwxpi20k7x17qsxbmjbpd5";
-  };
-
-  buildPhase   = ''
-    gcc -O3 -funroll-loops -fno-strict-aliasing -Wno-pointer-sign tmin.c -o tmin
-  '';
-  installPhase = "mkdir -p $out/bin && mv tmin $out/bin";
-
-  meta = {
-    description = "Fuzzing tool test-case optimizer";
-    homepage    = "https://code.google.com/p/tmin";
-    license     = stdenv.lib.licenses.asl20;
-    platforms   = stdenv.lib.platforms.linux;
-    maintainers = [ stdenv.lib.maintainers.thoughtpolice ];
-  };
-}
diff --git a/pkgs/tools/security/tor/torsocks.nix b/pkgs/tools/security/tor/torsocks.nix
index 466dc4b4e46c..ebc567f54cea 100644
--- a/pkgs/tools/security/tor/torsocks.nix
+++ b/pkgs/tools/security/tor/torsocks.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description      = "Wrapper to safely torify applications";
-    homepage         = http://code.google.com/p/torsocks/;
+    homepage         = https://github.com/dgoulet/torsocks;
     repositories.git = https://git.torproject.org/torsocks.git;
     license          = stdenv.lib.licenses.gpl2;
     platforms        = stdenv.lib.platforms.unix;
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index 34eb5583c455..7423c2d435bf 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.6.0";
+  version = "3.6.3";
   name = "yara-${version}";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
     repo = "yara";
     rev = "v${version}";
-    sha256 = "05nadqpvihdyxym11mn6n02rzv2ng8ga7j9l0g5gnjx366gcai42";
+    sha256 = "13znbdwin9lvql43wpms5hh13h8rk5x5wajgmphz18rxwp8h7j78";
   };
 
   # FIXME: this is probably not the right way to make it work
diff --git a/pkgs/tools/system/dd_rescue/default.nix b/pkgs/tools/system/dd_rescue/default.nix
index 69cd8da4aefe..ee82af1a4707 100644
--- a/pkgs/tools/system/dd_rescue/default.nix
+++ b/pkgs/tools/system/dd_rescue/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, autoconf }:
 
 stdenv.mkDerivation rec {
-  version = "1.99.5";
+  version = "1.99.7";
   name = "dd_rescue-${version}";
 
   src = fetchurl {
-    sha256 = "0db94piwcdyqhnlhgfs0bfp0gp2mqyrcr2l5nljapgni31qk4p8j";
+    sha256 = "0d318i1i5d7hbj06wmb3xag14x542cv7fpkh5zjf5ccm64nyzir4";
     url="http://www.garloff.de/kurt/linux/ddrescue/${name}.tar.bz2";
   };
 
diff --git a/pkgs/tools/system/hwinfo/default.nix b/pkgs/tools/system/hwinfo/default.nix
index 09dfb6e47a57..08b6b480ef82 100644
--- a/pkgs/tools/system/hwinfo/default.nix
+++ b/pkgs/tools/system/hwinfo/default.nix
@@ -2,30 +2,33 @@
 
 stdenv.mkDerivation rec {
   name = "hwinfo-${version}";
-  version = "21.38";
+  version = "21.50";
 
   src = fetchFromGitHub {
     owner = "opensuse";
     repo = "hwinfo";
     rev = "${version}";
-    sha256 = "17a1nx906gdl9br1wf6xmhjy195szaxxmyb119vayw4q112rjdql";
+    sha256 = "1kkq979qqdalxdm6f0gyl3l9nk5rm6i6rbms43rmy52jfda5f5bv";
   };
 
   patchPhase = ''
-    # VERSION and changelog is usually generated using Git
-    echo "${version}" > VERSION
+    # VERSION and changelog are usually generated using Git
+    # unless HWINFO_VERSION is defined (see Makefile)
+    export HWINFO_VERSION="${version}"
     sed -i 's|^\(TARGETS\s*=.*\)\<changelog\>\(.*\)$|\1\2|g' Makefile
 
-    sed -i 's|lex isdn_cdb.lex|${flex}/bin/flex isdn_cdb.lex|g' src/isdn/cdb/Makefile
-    sed -i 's|/sbin|/bin|g' Makefile
-    sed -i 's|/usr/|/|g' Makefile
+    substituteInPlace Makefile --replace "/sbin" "/bin" --replace "/usr/" "/"
+    substituteInPlace src/isdn/cdb/Makefile --replace "lex isdn_cdb.lex" "flex isdn_cdb.lex"
+    substituteInPlace hwinfo.pc.in --replace "prefix=/usr" "prefix=$out"
   '';
 
-  installPhase = ''
-    make install DESTDIR=$out
-  '';
+  nativeBuildInputs = [ flex ];
+  buildInputs = [ libx86emu perl ];
+
+  makeFlags = [ "LIBDIR=/lib" ];
+  #enableParallelBuilding = true;
 
-  buildInputs = [ libx86emu flex perl ];
+  installFlags = [ "DESTDIR=$(out)" ];
 
   meta = with stdenv.lib; {
     description = "Hardware detection tool from openSUSE";
diff --git a/pkgs/tools/system/ipmiutil/default.nix b/pkgs/tools/system/ipmiutil/default.nix
index 90feb381ae57..ae8a1b449374 100644
--- a/pkgs/tools/system/ipmiutil/default.nix
+++ b/pkgs/tools/system/ipmiutil/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   baseName = "ipmiutil";
-  version = "3.0.5";
+  version = "3.0.7";
   name = "${baseName}-${version}";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${baseName}/${name}.tar.gz";
-    sha256 = "0ppfxh04c0aj9dxpkzj3xv1kylc17k1kvqabp8r7h70k6ljzgmxj";
+    sha256 = "0bsl4czbwmz1f42b15y0fabys50bbfll4z73nm9xk161i2njzz6y";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/system/lr/default.nix b/pkgs/tools/system/lr/default.nix
index 5510ec0e9486..d638a1c16b5d 100644
--- a/pkgs/tools/system/lr/default.nix
+++ b/pkgs/tools/system/lr/default.nix
@@ -2,22 +2,22 @@
 
 stdenv.mkDerivation rec {
   name = "lr-${version}";
-  version = "0.4";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "chneukirchen";
     repo = "lr";
     rev = "v${version}";
-    sha256 = "16qp0791s652yi86x472wwr62w6nhiyb1i662d85y5zyfagdf7dd";
+    sha256 = "171h353238s9wmhirvs2yc1151vds83a71p7wgn96wa3jpl248by";
   };
 
   makeFlags = "PREFIX=$(out)";
 
-  meta = {
-    homepage = http://github.com/chneukirchen/lr;
+  meta = with stdenv.lib; {
+    homepage = https://github.com/chneukirchen/lr;
     description = "List files recursively";
-    license = stdenv.lib.licenses.mit;
-    platforms = stdenv.lib.platforms.all;
-    maintainers = [ stdenv.lib.maintainers.globin ];
+    license = licenses.mit;
+    platforms = platforms.all;
+    maintainers = [ maintainers.globin ];
   };
 }
diff --git a/pkgs/tools/system/procodile/Gemfile b/pkgs/tools/system/procodile/Gemfile
new file mode 100644
index 000000000000..77e4bb430e96
--- /dev/null
+++ b/pkgs/tools/system/procodile/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'procodile'
diff --git a/pkgs/tools/system/procodile/Gemfile.lock b/pkgs/tools/system/procodile/Gemfile.lock
new file mode 100644
index 000000000000..51ab44a762ab
--- /dev/null
+++ b/pkgs/tools/system/procodile/Gemfile.lock
@@ -0,0 +1,15 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    json (2.1.0)
+    procodile (1.0.17)
+      json
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  procodile
+
+BUNDLED WITH
+   1.14.6
diff --git a/pkgs/tools/system/procodile/default.nix b/pkgs/tools/system/procodile/default.nix
new file mode 100644
index 000000000000..3a5cb1b4965d
--- /dev/null
+++ b/pkgs/tools/system/procodile/default.nix
@@ -0,0 +1,22 @@
+{ lib, bundlerEnv, ruby, stdenv }:
+
+bundlerEnv rec {
+  name = "procodile-${version}";
+
+  gemfile = ./Gemfile;
+  lockfile = ./Gemfile.lock;
+  gemset = ./gemset.nix;
+
+  version = (import gemset).procodile.version;
+  inherit ruby;
+
+  gemdir = ./.;
+
+  meta = with lib; {
+    description = "Run processes in the background (and foreground) on Mac & Linux from a Procfile (for production and/or development environments)";
+    homepage    = https://adam.ac/procodile;
+    license     = with licenses; mit;
+    maintainers = [ maintainers.ravloony ];
+    platforms   = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/system/procodile/gemset.nix b/pkgs/tools/system/procodile/gemset.nix
new file mode 100644
index 000000000000..8216159ad940
--- /dev/null
+++ b/pkgs/tools/system/procodile/gemset.nix
@@ -0,0 +1,19 @@
+{
+  json = {
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "01v6jjpvh3gnq6sgllpfqahlgxzj50ailwhj9b3cd20hi2dx0vxp";
+      type = "gem";
+    };
+    version = "2.1.0";
+  };
+  procodile = {
+    dependencies = ["json"];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1gfms2h4k9zqq7jn04nphibcsjykgxiqwdyyz2r4kq428a25kqsf";
+      type = "gem";
+    };
+    version = "1.0.17";
+  };
+}
\ No newline at end of file
diff --git a/pkgs/tools/system/s6-rc/default.nix b/pkgs/tools/system/s6-rc/default.nix
index 763d44066685..13ce2414abf0 100644
--- a/pkgs/tools/system/s6-rc/default.nix
+++ b/pkgs/tools/system/s6-rc/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "0.1.0.0";
+  version = "0.3.0.0";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/s6-rc";
     rev = "refs/tags/v${version}";
-    sha256 = "1izjss1vfmkrkbgpzxlh0krkd2zin9d77ykr6i08rhixz7c2am0r";
+    sha256 = "174a3l92nkhxrx8gq36xmb5a7krj40iz1xdiii25nxwjfiw5ynfb";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/tools/system/s6/default.nix b/pkgs/tools/system/s6/default.nix
index 67acb8ac3dca..b8607a983570 100644
--- a/pkgs/tools/system/s6/default.nix
+++ b/pkgs/tools/system/s6/default.nix
@@ -2,7 +2,7 @@
 
 let
 
-  version = "2.4.0.0";
+  version = "2.6.1.1";
 
 in stdenv.mkDerivation rec {
 
@@ -11,7 +11,7 @@ in stdenv.mkDerivation rec {
   src = fetchgit {
     url = "git://git.skarnet.org/s6";
     rev = "refs/tags/v${version}";
-    sha256 = "0yf9apl05g1gxqwh01yd1iyg0xm50ywnlwp4szd08sg0srmvys16";
+    sha256 = "162hng8xcwjp8pr4d78zq3f82lm9c6ldbcfll0mjsmnxdds5hrsg";
   };
 
   dontDisableStatic = true;
diff --git a/pkgs/tools/system/smartmontools/default.nix b/pkgs/tools/system/smartmontools/default.nix
index 6ef1f54c23b7..5fa55b275fe1 100644
--- a/pkgs/tools/system/smartmontools/default.nix
+++ b/pkgs/tools/system/smartmontools/default.nix
@@ -2,7 +2,7 @@
 , IOKit ? null , ApplicationServices ? null }:
 
 let
-  version = "6.5";
+  version = "6.6";
 
   dbrev = "4548";
   drivedbBranch = "RELEASE_${builtins.replaceStrings ["."] ["_"] version}_DRIVEDB";
@@ -17,7 +17,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/smartmontools/${name}.tar.gz";
-    sha256 = "1g25r6sx85b5lay5n6sbnqv05qxzj6xsafsp93hnrg1h044bps49";
+    sha256 = "0m1hllbb78rr6cxkbalmz1gqkl0psgq8rrmv4gwcmz34n07kvx2i";
   };
 
   patches = [ ./smartmontools.patch ];
diff --git a/pkgs/tools/system/vboot_reference/default.nix b/pkgs/tools/system/vboot_reference/default.nix
index 0b8933bb7af3..e410ef1cee50 100644
--- a/pkgs/tools/system/vboot_reference/default.nix
+++ b/pkgs/tools/system/vboot_reference/default.nix
@@ -17,17 +17,17 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  buildPhase = ''
+  patches = [ ./dont_static_link.patch ];
+
+  preBuild = ''
     patchShebangs scripts
-    make -j''${NIX_BUILD_CORES:-1} \
-         `pwd`/build/cgpt/cgpt \
-         `pwd`/build/futility/futility
   '';
 
-  installPhase = ''
-    mkdir -p $out/bin
-    cp build/cgpt/cgpt $out/bin
-    cp build/futility/futility $out/bin
+  makeFlags = [
+    "DESTDIR=$(out)"
+  ];
+
+  postInstall = ''
     mkdir -p $out/share/vboot
     cp -r tests/devkeys* $out/share/vboot/
   '';
diff --git a/pkgs/tools/system/vboot_reference/dont_static_link.patch b/pkgs/tools/system/vboot_reference/dont_static_link.patch
new file mode 100644
index 000000000000..506b942e246e
--- /dev/null
+++ b/pkgs/tools/system/vboot_reference/dont_static_link.patch
@@ -0,0 +1,30 @@
+---
+--- a/Makefile
++++ b/Makefile
+@@ -964,7 +964,7 @@ ${UTILLIB21}: ${UTILLIB21_OBJS} ${FWLIB2
+ # Link tests for external repos
+ ${BUILD}/host/linktest/extern: ${HOSTLIB}
+ ${BUILD}/host/linktest/extern: LIBS = ${HOSTLIB}
+-${BUILD}/host/linktest/extern: LDLIBS += -static
++#${BUILD}/host/linktest/extern: LDLIBS += -static
+ TEST_OBJS += ${BUILD}/host/linktest/extern.o
+ 
+ .PHONY: hostlib
+@@ -1056,7 +1056,7 @@ ${UTIL_BINS} ${UTIL_BINS_STATIC}: ${UTIL
+ ${UTIL_BINS} ${UTIL_BINS_STATIC}: LIBS = ${UTILLIB}
+ 
+ # Utilities for auto-update toolkits must be statically linked.
+-${UTIL_BINS_STATIC}: LDFLAGS += -static
++${UTIL_BINS_STATIC}:
+ 
+ 
+ .PHONY: utils
+@@ -1089,7 +1089,7 @@ futil: ${FUTIL_STATIC_BIN} ${FUTIL_BIN}
+ 
+ ${FUTIL_STATIC_BIN}: ${FUTIL_STATIC_OBJS} ${UTILLIB}
+ 	@${PRINTF} "    LD            $(subst ${BUILD}/,,$@)\n"
+-	${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} -static $^ ${LDLIBS}
++	${Q}${LD} -o $@ ${CFLAGS} ${LDFLAGS} $^ ${LDLIBS}
+ 
+ ${FUTIL_BIN}: LDLIBS += ${CRYPTO_LIBS}
+ ${FUTIL_BIN}: ${FUTIL_OBJS} ${UTILLIB}
diff --git a/pkgs/tools/text/gawk/default.nix b/pkgs/tools/text/gawk/default.nix
index 415a2ade28db..65d0a1e4c00a 100644
--- a/pkgs/tools/text/gawk/default.nix
+++ b/pkgs/tools/text/gawk/default.nix
@@ -19,11 +19,11 @@ let
   inherit (stdenv.lib) optional;
 in
 stdenv.mkDerivation rec {
-  name = "gawk-4.1.4";
+  name = "gawk-4.2.0";
 
   src = fetchurl {
     url = "mirror://gnu/gawk/${name}.tar.xz";
-    sha256 = "0rn2mmjxm767zliqzd67j7h2ncjn4j0321c60y9fy3grs3i89qak";
+    sha256 = "1wm9lqj77y7xz07zi0n187aqm8zavzxzpm1j53ahxz81q0qwvwyl";
   };
 
   # When we do build separate interactive version, it makes sense to always include man.
diff --git a/pkgs/tools/text/mawk/default.nix b/pkgs/tools/text/mawk/default.nix
index 8840130dde50..a8657c3ea2f9 100644
--- a/pkgs/tools/text/mawk/default.nix
+++ b/pkgs/tools/text/mawk/default.nix
@@ -1,11 +1,14 @@
 { stdenv, fetchurl }:
 
 stdenv.mkDerivation rec {
-  name = "mawk-1.3.4-20161120";
+  name = "mawk-1.3.4-20171017";
 
   src = fetchurl {
-    url = "ftp://invisible-island.net/mawk/${name}.tgz";
-    sha256 = "07hc33g2ip7463dravsiz0zwfc8vy4y4jxqvp7rz3hb896xw27in";
+    urls = [
+      "https://invisible-mirror.net/archives/mawk/${name}.tgz"
+      "ftp://invisible-island.net/mawk/${name}.tgz"
+    ];
+    sha256 = "0nwyxhipn4jx7j695lih1xggxm6cp4fjk4wbgihd33ni3rfi25yv";
   };
 
   meta = with stdenv.lib; {
diff --git a/pkgs/tools/text/xml/jing-trang/default.nix b/pkgs/tools/text/xml/jing-trang/default.nix
index 162f7e1a397b..3c2b4f5e8854 100644
--- a/pkgs/tools/text/xml/jing-trang/default.nix
+++ b/pkgs/tools/text/xml/jing-trang/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   name = "jing-trang-${version}";
-  version = "20150603";
+  version = "20151127";
 
   src = fetchFromGitHub {
     owner = "relaxng";
     repo = "jing-trang";
-    rev = "54b9b1f4e67cd79c7987750d8c9dcfc014af98c3"; # needed to compile with jdk8
-    sha256 = "0wa569xjb7ihhcaazz32y2b0dv092lisjz77isz1gfb1wvf53di5";
+    rev = "47a0cbdaec2d48824b78a1c19879ac7875509598"; # needed to compile with jdk8
+    sha256 = "1hhn52z9mv1x9nyvyqnmzg5yrs2lzm9xac7i15izppv02wp32qha";
   };
 
   buildInputs = [ jdk ant saxon ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
     description = "A RELAX NG validator in Java";
     # The homepage is www.thaiopensource.com, but it links to googlecode.com
     # for downloads and call it the "project site".
-    homepage = http://www.thaiopensource.com/relaxng/jing.html;
+    homepage = "http://www.thaiopensource.com/relaxng/trang.html";
     platforms = platforms.unix;
     maintainers = [ maintainers.bjornfor ];
   };
diff --git a/pkgs/tools/text/xml/xml2/default.nix b/pkgs/tools/text/xml/xml2/default.nix
index e96644b6d3cf..40013c7f46d5 100644
--- a/pkgs/tools/text/xml/xml2/default.nix
+++ b/pkgs/tools/text/xml/xml2/default.nix
@@ -4,7 +4,7 @@ stdenv.mkDerivation rec {
   name = "xml2-0.5";
 
   src = fetchurl {
-    url = "http://download.ofb.net/gale/${name}.tar.gz";
+    url = https://web.archive.org/web/20160427221603/http://download.ofb.net/gale/xml2-0.5.tar.gz;
     sha256 = "01cps980m99y99cnmvydihga9zh3pvdsqag2fi1n6k2x7rfkl873";
   };
 
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
   buildInputs = [ libxml2 ];
 
   meta = with stdenv.lib; {
-    homepage = http://ofb.net/~egnor/xml2/;
+    homepage = https://web.archive.org/web/20160515005047/http://dan.egnor.name:80/xml2;
     description = "Tools for command line processing of XML, HTML, and CSV";
     license = licenses.gpl2Plus;
     platforms = platforms.all;
diff --git a/pkgs/tools/typesetting/pygmentex/default.nix b/pkgs/tools/typesetting/pygmentex/default.nix
index c19447cc0c4a..fef6c9087c53 100644
--- a/pkgs/tools/typesetting/pygmentex/default.nix
+++ b/pkgs/tools/typesetting/pygmentex/default.nix
@@ -1,12 +1,14 @@
-{ stdenv, fetchzip, python2Packages }:
+{ stdenv, fetchFromBitbucket, python2Packages }:
 
 python2Packages.buildPythonApplication rec {
   name = "pygmentex-${version}";
   version = "0.8";
 
-  src = fetchzip {
-      url = "http://mirrors.ctan.org/macros/latex/contrib/pygmentex.zip";
-      sha256 = "1nm19pvhlv51mv2sdankndhw64ys9r7ch6szzd6i4jz8zr86kn9v";
+  src = fetchFromBitbucket {
+    owner = "romildo";
+    repo = "pygmentex";
+    rev = version;
+    sha256 = "07dnv7hgppy15bda2kcbrlvfqzl6lhza80klc7133dwg8q92hm6m";
   };
 
   pythonPath = [ python2Packages.pygments python2Packages.chardet ];
@@ -38,7 +40,7 @@ python2Packages.buildPythonApplication rec {
       texlive.combine.
     '';
     license = licenses.lppl13c;
-    maintainers = with maintainers; [ romildo ];
     platforms = platforms.unix;
+    maintainers = with maintainers; [ romildo ];
   };
 }
diff --git a/pkgs/tools/virtualization/nixos-container/nixos-container.pl b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
index 207177133a57..fefdcd614a56 100755
--- a/pkgs/tools/virtualization/nixos-container/nixos-container.pl
+++ b/pkgs/tools/virtualization/nixos-container/nixos-container.pl
@@ -331,7 +331,7 @@ elsif ($action eq "run") {
 
 elsif ($action eq "show-ip") {
     my $s = read_file($confFile) or die;
-    $s =~ /^LOCAL_ADDRESS=([0-9\.]+)$/m or die "$0: cannot get IP address\n";
+    $s =~ /^LOCAL_ADDRESS=([0-9\.]+)(\/[0-9]+)?$/m or die "$0: cannot get IP address\n";
     print "$1\n";
 }
 
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index 20d9ba833549..defac535532c 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -83,6 +83,7 @@ mapAliases (rec {
   kdiff3-qt5 = kdiff3; # added 2017-02-18
   keepassx2-http = keepassx-reboot; # added 2016-10-17
   keepassx-reboot = keepassx-community; # added 2017-02-01
+  keepassx-community = keepassxc; # added 2017-11
   keybase-go = keybase;  # added 2016-08-24
   krename-qt5 = krename; # added 2017-02-18
   letsencrypt = certbot; # added 2016-05-16
@@ -116,6 +117,7 @@ mapAliases (rec {
   pgp-tools = signing-party; # added 2017-03-26
   pidgin-with-plugins = pidgin; # added 2016-06
   pidginlatexSF = pidginlatex; # added 2014-11-02
+  postage = pgmanage; # added 2017-11-03
   poppler_qt5 = libsForQt5.poppler;  # added 2015-12-19
   PPSSPP = ppsspp; # added 2017-10-01
   prometheus-statsd-bridge = prometheus-statsd-exporter;  # added 2017-08-27
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 7383df20c0ec..dc5d798349c4 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -122,6 +122,10 @@ with pkgs;
 
   dispad = callPackage ../tools/X11/dispad { };
 
+  dump1090 = callPackage ../applications/misc/dump1090 { };
+
+  ebook2cw = callPackage ../applications/misc/ebook2cw { };
+
   vsenv = callPackage ../build-support/vsenv {
     vs = vs90wrapper;
   };
@@ -177,6 +181,10 @@ with pkgs;
 
   fetchRepoProject = callPackage ../build-support/fetchrepoproject { };
 
+  fetchipfs = import ../build-support/fetchipfs {
+    inherit curl stdenv;
+  };
+
   # fetchurlBoot is used for curl and its dependencies in order to
   # prevent a cyclic dependency (curl depends on curl.tar.bz2,
   # curl.tar.bz2 depends on fetchurl, fetchurl depends on curl).  It
@@ -505,13 +513,13 @@ with pkgs;
 
   avfs = callPackage ../tools/filesystems/avfs { };
 
-  awscli = pythonPackages.awscli; # Should be moved out of python-packages.nix
+  awscli = pythonPackages.callPackage ../tools/admin/awscli { };
 
   awsebcli = callPackage ../tools/virtualization/awsebcli {};
 
   awslogs = callPackage ../tools/admin/awslogs { };
 
-  aws_shell = python2Packages.aws_shell; # Should be moved out of python-packages.nix
+  aws_shell = pythonPackages.callPackage ../tools/admin/aws_shell { };
 
   azure-cli = nodePackages.azure-cli;
 
@@ -879,6 +887,8 @@ with pkgs;
 
   clib = callPackage ../tools/package-management/clib { };
 
+  clingo = callPackage ../applications/science/logic/potassco/clingo.nix { };
+
   colord-kde = libsForQt5.callPackage ../tools/misc/colord-kde {};
 
   colpack = callPackage ../applications/science/math/colpack { };
@@ -1074,6 +1084,8 @@ with pkgs;
 
   go-dependency-manager = callPackage ../development/tools/gdm { };
 
+  geckodriver = callPackage ../development/tools/geckodriver { };
+
   geekbench = callPackage ../tools/misc/geekbench { };
 
   gencfsm = callPackage ../tools/security/gencfsm { };
@@ -1084,6 +1096,8 @@ with pkgs;
 
   gist = callPackage ../tools/text/gist { };
 
+  gixy = callPackage ../tools/admin/gixy { };
+
   glide = callPackage ../development/tools/glide { };
 
   glock = callPackage ../development/tools/glock { };
@@ -1150,6 +1164,8 @@ with pkgs;
 
   mp3fs = callPackage ../tools/filesystems/mp3fs { };
 
+  mpdas = callPackage ../tools/audio/mpdas { };
+
   mpdcron = callPackage ../tools/audio/mpdcron { };
 
   mpdris2 = callPackage ../tools/audio/mpdris2 { };
@@ -1394,7 +1410,6 @@ with pkgs;
   cksfv = callPackage ../tools/networking/cksfv { };
 
   clementine = callPackage ../applications/audio/clementine {
-    boost = boost155;
     gst_plugins =
       with gst_all_1; [ gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav ];
   };
@@ -1735,6 +1750,14 @@ with pkgs;
 
   disper = callPackage ../tools/misc/disper { };
 
+  dleyna-connector-dbus = callPackage ../development/libraries/dleyna-connector-dbus { };
+
+  dleyna-core = callPackage ../development/libraries/dleyna-core { };
+
+  dleyna-renderer = callPackage ../development/libraries/dleyna-renderer { };
+
+  dleyna-server = callPackage ../development/libraries/dleyna-server { };
+
   dmd_2_067_1 = callPackage ../development/compilers/dmd/2.067.1.nix {
     stdenv = if stdenv.hostPlatform.isDarwin then
                stdenv
@@ -1753,6 +1776,8 @@ with pkgs;
     inherit (perlPackages) PerlMagick;
   };
 
+  doas = callPackage ../tools/security/doas { };
+
   docbook2x = callPackage ../tools/typesetting/docbook2x {
     inherit (perlPackages) XMLSAX XMLParser XMLNamespaceSupport;
   };
@@ -2340,6 +2365,7 @@ with pkgs;
   google-authenticator = callPackage ../os-specific/linux/google-authenticator { };
 
   google-cloud-sdk = python2.pkgs.google-cloud-sdk;
+  google-cloud-sdk-gce = python2.pkgs.google-cloud-sdk-gce;
 
   google-fonts = callPackage ../data/fonts/google-fonts { };
 
@@ -2480,6 +2506,8 @@ with pkgs;
 
   gupnp_av = callPackage ../development/libraries/gupnp-av {};
 
+  gupnp_dlna = callPackage ../development/libraries/gupnp-dlna {};
+
   gupnp_igd = callPackage ../development/libraries/gupnp-igd {};
 
   gupnp-tools = callPackage ../tools/networking/gupnp-tools {};
@@ -2583,6 +2611,9 @@ with pkgs;
 
   hevea = callPackage ../tools/typesetting/hevea { };
 
+  hexd = callPackage ../tools/misc/hexd { };
+  pixd = callPackage ../tools/misc/pixd { };
+
   hhpc = callPackage ../tools/misc/hhpc { };
 
   hiera-eyaml = callPackage ../tools/system/hiera-eyaml { };
@@ -2678,15 +2709,13 @@ with pkgs;
   };
 
 
-  # ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
-  #   inherit (haskellPackages) ihaskell ghcWithPackages;
+  ihaskell = callPackage ../development/tools/haskell/ihaskell/wrapper.nix {
+    inherit (haskellPackages) ihaskell ghcWithPackages;
 
-  #   ipython = python3.buildEnv.override {
-  #     extraLibs = with python3Packages; [ ipython ipykernel jupyter_client notebook ];
-  #   };
+    jupyter = python3.withPackages (ps: [ ps.jupyter ps.notebook ]);
 
-  #   packages = config.ihaskell.packages or (self: []);
-  # };
+    packages = config.ihaskell.packages or (self: []);
+  };
 
   imapproxy = callPackage ../tools/networking/imapproxy { };
 
@@ -2769,7 +2798,9 @@ with pkgs;
 
   jaaa = callPackage ../applications/audio/jaaa { };
 
-  jackett = callPackage ../servers/jackett { };
+  jackett = callPackage ../servers/jackett {
+    mono = mono50;
+  };
 
   jade = callPackage ../tools/text/sgml/jade { };
 
@@ -2971,6 +3002,8 @@ with pkgs;
 
   mkcast = callPackage ../applications/video/mkcast { };
 
+  mtail = callPackage ../servers/monitoring/mtail { };
+
   multitail = callPackage ../tools/misc/multitail { };
 
   mxt-app = callPackage ../misc/mxt-app { };
@@ -3439,6 +3472,8 @@ with pkgs;
 
   nasty = callPackage ../tools/security/nasty { };
 
+  nat-traverse = callPackage ../tools/networking/nat-traverse { };
+
   nawk = callPackage ../tools/text/nawk { };
 
   nbd = callPackage ../tools/networking/nbd { };
@@ -4359,7 +4394,7 @@ with pkgs;
 
   shotwell = callPackage ../applications/graphics/shotwell { };
 
-  shout = callPackage ../applications/networking/irc/shout { };
+  shout = nodePackages.shout;
 
   shellinabox = callPackage ../servers/shellinabox { };
 
@@ -4371,6 +4406,8 @@ with pkgs;
 
   sigil = libsForQt56.callPackage ../applications/editors/sigil { };
 
+  signal-desktop = callPackage ../applications/networking/instant-messengers/signal-desktop { };
+
   # aka., pgp-tools
   signing-party = callPackage ../tools/security/signing-party { };
 
@@ -4673,8 +4710,6 @@ with pkgs;
 
   tmuxinator = callPackage ../tools/misc/tmuxinator { };
 
-  tmin = callPackage ../tools/security/tmin { };
-
   tmsu = callPackage ../tools/filesystems/tmsu { };
 
   toilet = callPackage ../tools/misc/toilet { };
@@ -4811,6 +4846,8 @@ with pkgs;
 
   usbmuxd = callPackage ../tools/misc/usbmuxd {};
 
+  usync = callPackage ../applications/misc/usync { };
+
   uwsgi = callPackage ../servers/uwsgi {
     plugins = [];
     withPAM = stdenv.isLinux;
@@ -4827,6 +4864,8 @@ with pkgs;
 
   vboot_reference = callPackage ../tools/system/vboot_reference { };
 
+  vcftools = callPackage ../applications/science/biology/vcftools { };
+
   vcsh = callPackage ../applications/version-management/vcsh {
     inherit (perlPackages) ShellCommand TestMost;
   };
@@ -4890,7 +4929,7 @@ with pkgs;
 
   vtun = callPackage ../tools/networking/vtun { };
 
-  wakatime = callPackage ../tools/misc/wakatime { };
+  wakatime = pythonPackages.callPackage ../tools/misc/wakatime { };
 
   weather = callPackage ../applications/misc/weather { };
 
@@ -5133,7 +5172,7 @@ with pkgs;
   xbursttools = assert stdenv ? glibc; callPackage ../tools/misc/xburst-tools rec {
     # It needs a cross compiler for mipsel to build the firmware it will
     # load into the Ben Nanonote
-    crossPrefix = "mipsel-unknown-linux";
+    crossPrefix = "mips64el-unknown-linux-gnu";
     gccCross =
       let
         pkgsCross = nixpkgsFun {
@@ -5297,6 +5336,8 @@ with pkgs;
 
   bash-completion = callPackage ../shells/bash-completion { };
 
+  nix-bash-completions = callPackage ../shells/nix-bash-completions { };
+
   dash = callPackage ../shells/dash { };
 
   es = callPackage ../shells/es { };
@@ -5456,6 +5497,8 @@ with pkgs;
 
   devpi-client = callPackage ../development/tools/devpi-client {};
 
+  dotty = callPackage ../development/compilers/scala/dotty.nix { jre = jre8;};
+
   drumstick = callPackage ../development/libraries/drumstick { };
 
   ecl = callPackage ../development/compilers/ecl { };
@@ -5525,7 +5568,7 @@ with pkgs;
   # built with, and use, that cross-compiled libc.
   gccCrossStageStatic = assert targetPlatform != buildPlatform; let
     libcCross1 =
-      if targetPlatform.libc == "msvcrt" then __targetPackages.windows.mingw_w64_headers
+      if targetPlatform.libc == "msvcrt" then targetPackages.windows.mingw_w64_headers
       else if targetPlatform.libc == "libSystem" then darwin.xcode
       else null;
     in wrapCCWith {
@@ -5794,9 +5837,7 @@ with pkgs;
   haxePackages = recurseIntoAttrs (callPackage ./haxe-packages.nix { });
   inherit (haxePackages) hxcpp;
 
-  hhvm = callPackage ../development/compilers/hhvm {
-    boost = boost160;
-  };
+  hhvm = callPackage ../development/compilers/hhvm { };
 
   hop = callPackage ../development/compilers/hop { };
 
@@ -5866,7 +5907,8 @@ with pkgs;
   icedtea_web = icedtea8_web;
 
   idrisPackages = callPackage ../development/idris-modules {
-    idris =
+
+    idris-no-deps =
       let
         inherit (self.haskell) lib;
         haskellPackages = self.haskellPackages.override {
@@ -5883,6 +5925,8 @@ with pkgs;
         haskellPackages.idris;
   };
 
+  idris = idrisPackages.with-packages [ idrisPackages.base ] ;
+
   intercal = callPackage ../development/compilers/intercal { };
 
   irony-server = callPackage ../development/tools/irony-server/default.nix {
@@ -6009,6 +6053,7 @@ with pkgs;
 
   julia_05 = callPackage ../development/compilers/julia/0.5.nix {
     gmp = gmp6;
+    libgit2 = libgit2_0_25;
     openblas = openblasCompat;
     inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
     llvm = llvm_38;
@@ -6134,6 +6179,11 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Foundation;
   });
 
+  mono48 = lowPrio (callPackage ../development/compilers/mono/4.8.nix {
+    inherit (darwin) libobjc;
+    inherit (darwin.apple_sdk.frameworks) Foundation;
+  });
+
   mono50 = lowPrio (callPackage ../development/compilers/mono/5.0.nix {
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) Foundation;
@@ -6210,13 +6260,9 @@ with pkgs;
         inherit rust;
       };
 
-      rustcSrc = stdenv.mkDerivation {
-        name = "rust-src";
-        src = rust.rustc.src;
-        phases = ["unpackPhase" "installPhase"];
-        installPhase = "mv src $out";
+      rustcSrc = callPackage ../development/compilers/rust/rust-src.nix {
+        inherit (rust) rustc;
       };
-
     });
 
   cargo-edit = callPackage ../tools/package-management/cargo-edit { };
@@ -6232,12 +6278,6 @@ with pkgs;
 
   sbclBootstrap = callPackage ../development/compilers/sbcl/bootstrap.nix {};
   sbcl = callPackage ../development/compilers/sbcl {};
-  # For Maxima
-  sbcl_1_3_12 = callPackage ../development/compilers/sbcl/1.3.12.nix { };
-  # For ACL2
-  sbcl_1_2_0 = callPackage ../development/compilers/sbcl/1.2.0.nix {
-    clisp = clisp;
-  };
 
   scala_2_9 = callPackage ../development/compilers/scala/2.9.nix { };
   scala_2_10 = callPackage ../development/compilers/scala/2.10.nix { };
@@ -6360,9 +6400,7 @@ with pkgs;
 
   ### DEVELOPMENT / INTERPRETERS
 
-  acl2 = callPackage ../development/interpreters/acl2 {
-    sbcl = sbcl_1_2_0;
-  };
+  acl2 = callPackage ../development/interpreters/acl2 { };
 
   angelscript = callPackage ../development/interpreters/angelscript {};
 
@@ -6377,13 +6415,6 @@ with pkgs;
   clisp = callPackage ../development/interpreters/clisp { };
   clisp-tip = callPackage ../development/interpreters/clisp/hg.nix { };
 
-  # compatibility issues in 2.47 - at list 2.44.1 is known good
-  # for sbcl bootstrap.
-  # SBCL page recommends 2.33.2, though. Not sure when was it last tested
-  clisp_2_44_1 = callPackage ../development/interpreters/clisp/2.44.1.nix {
-    libsigsegv = libsigsegv_25;
-  };
-
   clojure = callPackage ../development/interpreters/clojure { };
 
   clooj = callPackage ../development/interpreters/clojure/clooj.nix { };
@@ -6434,6 +6465,8 @@ with pkgs;
 
   jmeter = callPackage ../applications/networking/jmeter {};
 
+  joker = callPackage ../development/interpreters/joker {};
+
   davmail = callPackage ../applications/networking/davmail {};
 
   kanif = callPackage ../applications/networking/cluster/kanif { };
@@ -6674,7 +6707,12 @@ with pkgs;
 
   pyrex096 = callPackage ../development/interpreters/pyrex/0.9.6.nix { };
 
-  racket = callPackage ../development/interpreters/racket { };
+  racket = callPackage ../development/interpreters/racket {
+    # racket 6.11 doesn't build with gcc6 + recent glibc:
+    # https://github.com/racket/racket/pull/1886
+    # https://github.com/NixOS/nixpkgs/pull/31017#issuecomment-343574769
+    stdenv = overrideCC stdenv gcc7;
+  };
 
   rakudo = callPackage ../development/interpreters/rakudo {
     inherit (darwin.apple_sdk.frameworks) CoreServices ApplicationServices;
@@ -6723,14 +6761,15 @@ with pkgs;
 
   self = callPackage_i686 ../development/interpreters/self { };
 
-  spark = spark_21;
+  spark = spark_22;
   spark_16 = callPackage ../applications/networking/cluster/spark { version = "1.6.3"; };
-  spark_21 = callPackage ../applications/networking/cluster/spark { version = "2.1.0"; };
+  spark_22 = callPackage ../applications/networking/cluster/spark { version = "2.2.0"; };
 
   spidermonkey_1_8_5 = callPackage ../development/interpreters/spidermonkey/1.8.5.nix { };
   spidermonkey_17 = callPackage ../development/interpreters/spidermonkey/17.nix { };
   spidermonkey_31 = callPackage ../development/interpreters/spidermonkey/31.nix { };
   spidermonkey_38 = callPackage ../development/interpreters/spidermonkey/38.nix { };
+  spidermonkey_52 = callPackage ../development/interpreters/spidermonkey/52.nix { };
   spidermonkey = spidermonkey_31;
 
   ssm-agent = callPackage ../applications/networking/cluster/ssm-agent { };
@@ -6867,10 +6906,11 @@ with pkgs;
 
   apacheAnt = callPackage ../development/tools/build-managers/apache-ant { };
 
-  apacheKafka = apacheKafka_0_10;
-  apacheKafka_0_8 = callPackage ../servers/apache-kafka { majorVersion = "0.8"; };
+  apacheKafka = apacheKafka_1_0;
   apacheKafka_0_9 = callPackage ../servers/apache-kafka { majorVersion = "0.9"; };
   apacheKafka_0_10 = callPackage ../servers/apache-kafka { majorVersion = "0.10"; };
+  apacheKafka_0_11 = callPackage ../servers/apache-kafka { majorVersion = "0.11"; };
+  apacheKafka_1_0 = callPackage ../servers/apache-kafka { majorVersion = "1.0"; };
 
   kt = callPackage ../tools/misc/kt {};
 
@@ -7027,7 +7067,7 @@ with pkgs;
 
   complexity = callPackage ../development/tools/misc/complexity { };
 
-  conan = callPackage ../development/tools/build-managers/conan { };
+  conan = pythonPackages.callPackage ../development/tools/build-managers/conan { };
 
   cookiecutter = pythonPackages.cookiecutter;
 
@@ -7193,9 +7233,7 @@ with pkgs;
     inherit (ocamlPackages) ocaml findlib camlp4 sedlex ocamlbuild;
   };
 
-  framac = callPackage ../development/tools/analysis/frama-c {
-    ocamlPackages = ocamlPackages_4_03;
-  };
+  framac = callPackage ../development/tools/analysis/frama-c { };
 
   frame = callPackage ../development/libraries/frame { };
 
@@ -7421,9 +7459,7 @@ with pkgs;
 
   obuild = callPackage ../development/tools/ocaml/obuild { };
 
-  omake = callPackage ../development/tools/ocaml/omake {
-    inherit (ocamlPackages_4_02) ocaml;
-  };
+  omake = callPackage ../development/tools/ocaml/omake { };
 
   inherit (ocamlPackages) omake_rc1;
 
@@ -7476,6 +7512,8 @@ with pkgs;
 
   premake = premake4;
 
+  procodile = callPackage ../tools/system/procodile { };
+
   qtcreator = libsForQt5.callPackage ../development/qtcreator { };
 
   r10k = callPackage ../tools/system/r10k { };
@@ -7538,7 +7576,7 @@ with pkgs;
   selendroid = callPackage ../development/tools/selenium/selendroid { };
 
   sconsPackages = callPackage ../development/tools/build-managers/scons { };
-  scons = sconsPackages.scons_3_0_0;
+  scons = sconsPackages.scons_3_0_1;
   scons_2_5_1 = sconsPackages.scons_2_5_1;
 
   sbt = callPackage ../development/tools/build-managers/sbt { };
@@ -7588,7 +7626,7 @@ with pkgs;
     flex = flex_2_5_35;
   };
 
-  sqlitebrowser = libsForQt56.callPackage ../development/tools/database/sqlitebrowser { };
+  sqlitebrowser = libsForQt5.callPackage ../development/tools/database/sqlitebrowser { };
 
   sselp = callPackage ../tools/X11/sselp{ };
 
@@ -7698,7 +7736,7 @@ with pkgs;
 
   ycmd = callPackage ../development/tools/misc/ycmd {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
-    llvmPackages = llvmPackages_4;
+    llvmPackages = llvmPackages_5;
     python = python2;
   };
 
@@ -7832,8 +7870,6 @@ with pkgs;
 
   box2d = callPackage ../development/libraries/box2d { };
 
-  breakpad = callPackage ../development/libraries/breakpad { };
-
   buddy = callPackage ../development/libraries/buddy { };
 
   bwidget = callPackage ../development/libraries/bwidget { };
@@ -8288,11 +8324,15 @@ with pkgs;
 
   icon-lang = callPackage ../development/interpreters/icon-lang { };
 
-  libgit2 = callPackage ../development/libraries/git2 (
-    stdenv.lib.optionalAttrs stdenv.isDarwin {
-      inherit (darwin) libiconv;
-    }
-  );
+  libgit2 = callPackage ../development/libraries/git2 {
+    inherit (darwin) libiconv;
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
+  libgit2_0_25 = callPackage ../development/libraries/git2/0.25.nix {
+    inherit (darwin) libiconv;
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   gle = callPackage ../development/libraries/gle { };
 
@@ -8324,9 +8364,9 @@ with pkgs;
   libcCrossChooser = name:
     # libc is hackily often used from the previous stage. This `or`
     # hack fixes the hack, *sigh*.
-    /**/ if name == "glibc" then __targetPackages.glibcCross or glibcCross
+    /**/ if name == "glibc" then targetPackages.glibcCross or glibcCross
     else if name == "uclibc" then uclibcCross
-    else if name == "msvcrt" then __targetPackages.windows.mingw_w64 or windows.mingw_w64
+    else if name == "msvcrt" then targetPackages.windows.mingw_w64 or windows.mingw_w64
     else if name == "libSystem" then darwin.xcode
     else throw "Unknown libc";
 
@@ -9227,7 +9267,6 @@ with pkgs;
   libmtp = callPackage ../development/libraries/libmtp { };
 
   libmsgpack = callPackage ../development/libraries/libmsgpack { };
-  libmsgpack_1_4 = callPackage ../development/libraries/libmsgpack/1.4.nix { };
 
   libmysqlconnectorcpp = callPackage ../development/libraries/libmysqlconnectorcpp {
     mysql = mysql57;
@@ -9249,6 +9288,8 @@ with pkgs;
 
   libnice = callPackage ../development/libraries/libnice { };
 
+  libnsl = callPackage ../development/libraries/libnsl { };
+
   liboping = callPackage ../development/libraries/liboping { };
 
   libplist = callPackage ../development/libraries/libplist { };
@@ -9521,9 +9562,6 @@ with pkgs;
 
   libsigsegv = callPackage ../development/libraries/libsigsegv { };
 
-  # To bootstrap SBCL, I need CLisp 2.44.1; it needs libsigsegv 2.5
-  libsigsegv_25 = callPackage ../development/libraries/libsigsegv/2.5.nix { };
-
   libsndfile = callPackage ../development/libraries/libsndfile {
     inherit (darwin.apple_sdk.frameworks) Carbon AudioToolbox;
   };
@@ -10574,6 +10612,7 @@ with pkgs;
     openglSupport = mesaSupported;
     alsaSupport = stdenv.isLinux;
     x11Support = !stdenv.isCygwin;
+    waylandSupport = stdenv.isLinux;
     udevSupport = stdenv.isLinux;
     pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
     inherit (darwin.apple_sdk.frameworks) AudioUnit Cocoa CoreAudio CoreServices ForceFeedback OpenGL;
@@ -10915,6 +10954,8 @@ with pkgs;
 
   vmime = callPackage ../development/libraries/vmime { };
 
+  vrb = callPackage ../development/libraries/vrb { };
+
   vrpn = callPackage ../development/libraries/vrpn { };
 
   vsqlite = callPackage ../development/libraries/vsqlite { };
@@ -11435,9 +11476,7 @@ with pkgs;
 
   charybdis = callPackage ../servers/irc/charybdis {};
 
-  clickhouse = callPackage ../servers/clickhouse {
-    boost = boost160;
-  };
+  clickhouse = callPackage ../servers/clickhouse { };
 
   couchdb = callPackage ../servers/http/couchdb {
     spidermonkey = spidermonkey_1_8_5;
@@ -11486,6 +11525,8 @@ with pkgs;
 
   exhibitor = callPackage ../servers/exhibitor { };
 
+  hyp = callPackage ../servers/http/hyp/default.nix { };
+
   prosody = callPackage ../servers/xmpp/prosody {
     lua5 = lua5_1;
     inherit (lua51Packages) luasocket luasec luaexpat luafilesystem luabitop luaevent luazlib;
@@ -12390,6 +12431,15 @@ with pkgs;
 
   klibcShrunk = lowPrio (callPackage ../os-specific/linux/klibc/shrunk.nix { });
 
+  linux_beagleboard = callPackage ../os-specific/linux/kernel/linux-beagleboard.nix {
+    kernelPatches =
+      [ kernelPatches.bridge_stp_helper
+        kernelPatches.p9_fixes
+        kernelPatches.cpu-cgroup-v2."4.9"
+        kernelPatches.modinst_arg_list_too_long
+      ];
+  };
+
   linux_hardened_copperhead = callPackage ../os-specific/linux/kernel/linux-hardened-copperhead.nix {
     kernelPatches = with kernelPatches; [
       kernelPatches.bridge_stp_helper
@@ -12409,7 +12459,8 @@ with pkgs;
     kernelPatches =
       [ kernelPatches.bridge_stp_helper
         kernelPatches.p9_fixes
-        kernelPatches.cpu-cgroup-v2."4.4"
+        kernelPatches.cpu-cgroup-v2."4.9"
+        kernelPatches.modinst_arg_list_too_long
       ]
       ++ lib.optionals ((platform.kernelArch or null) == "mips")
       [ kernelPatches.mips_fpureg_emu
@@ -12468,6 +12519,25 @@ with pkgs;
       ];
   };
 
+  linux_4_14 = callPackage ../os-specific/linux/kernel/linux-4.14.nix {
+    kernelPatches =
+      [ kernelPatches.bridge_stp_helper
+        kernelPatches.p9_fixes
+        # See pkgs/os-specific/linux/kernel/cpu-cgroup-v2-patches/README.md
+        # when adding a new linux version
+        kernelPatches.cpu-cgroup-v2."4.11"
+        kernelPatches.modinst_arg_list_too_long
+
+        # https://bugzilla.kernel.org/show_bug.cgi?id=197591#c6
+        kernelPatches.iwlwifi_mvm_support_version_7_scan_req_umac_fw_command
+      ]
+      ++ lib.optionals ((platform.kernelArch or null) == "mips")
+      [ kernelPatches.mips_fpureg_emu
+        kernelPatches.mips_fpu_sigill
+        kernelPatches.mips_ext3_n32
+      ];
+  };
+
   linux_testing = callPackage ../os-specific/linux/kernel/linux-testing.nix {
     kernelPatches = [
       kernelPatches.bridge_stp_helper
@@ -12653,16 +12723,18 @@ with pkgs;
   linux = linuxPackages.kernel;
 
   # Update this when adding the newest kernel major version!
-  linuxPackages_latest = linuxPackages_4_13;
+  linuxPackages_latest = linuxPackages_4_14;
   linux_latest = linuxPackages_latest.kernel;
 
   # Build the kernel modules for the some of the kernels.
+  linuxPackages_beagleboard = linuxPackagesFor pkgs.linux_beagleboard;
   linuxPackages_hardened_copperhead = linuxPackagesFor pkgs.linux_hardened_copperhead;
   linuxPackages_mptcp = linuxPackagesFor pkgs.linux_mptcp;
   linuxPackages_rpi = linuxPackagesFor pkgs.linux_rpi;
   linuxPackages_4_4 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_4);
   linuxPackages_4_9 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_9);
   linuxPackages_4_13 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_13);
+  linuxPackages_4_14 = recurseIntoAttrs (linuxPackagesFor pkgs.linux_4_14);
   # Don't forget to update linuxPackages_latest!
 
   # Intentionally lacks recurseIntoAttrs, as -rc kernels will quite likely break out-of-tree modules and cause failed Hydra builds.
@@ -12739,8 +12811,6 @@ with pkgs;
     python3 = null; # Currently not using the python3 bindings
   };
 
-  libnscd = callPackage ../os-specific/linux/libnscd { };
-
   libnotify = callPackage ../development/libraries/libnotify { };
 
   libvolume_id = callPackage ../os-specific/linux/libvolume_id { };
@@ -12971,11 +13041,7 @@ with pkgs;
 
   systemd = callPackage ../os-specific/linux/systemd {
     utillinux = utillinuxMinimal; # break the cyclic dependency
-  }
-    // {
-      udev.bin = systemd;     # ${systemd.udev.bin}/bin/udevadm
-      udev.lib = libudev.out; # ${systemd.udev.lib}/lib/libudev.*
-    };
+  };
 
   # standalone cryptsetup generator for systemd
   systemd-cryptsetup-generator = callPackage ../os-specific/linux/systemd/cryptsetup-generator.nix { };
@@ -13005,9 +13071,6 @@ with pkgs;
 
   tunctl = callPackage ../os-specific/linux/tunctl { };
 
-  # TODO(dezgeg): either refactor & use ubootTools directly, or remove completely
-  ubootChooser = name: ubootTools;
-
   # Upstream U-Boots:
   inherit (callPackage ../misc/uboot {})
     buildUBoot
@@ -13360,6 +13423,8 @@ with pkgs;
 
   libertine = callPackage ../data/fonts/libertine { };
 
+  libertinus = callPackage ../data/fonts/libertinus { };
+
   libre-baskerville = callPackage ../data/fonts/libre-baskerville { };
 
   libre-bodoni = callPackage ../data/fonts/libre-bodoni { };
@@ -13581,6 +13646,8 @@ with pkgs;
 
   vistafonts = callPackage ../data/fonts/vista-fonts { };
 
+  vistafonts-chs = callPackage ../data/fonts/vista-fonts-chs { };
+
   wireless-regdb = callPackage ../data/misc/wireless-regdb { };
 
   wqy_microhei = callPackage ../data/fonts/wqy-microhei { };
@@ -13653,6 +13720,8 @@ with pkgs;
 
   adobe-reader = callPackage_i686 ../applications/misc/adobe-reader { };
 
+  masterpdfeditor = libsForQt5.callPackage ../applications/misc/masterpdfeditor { };
+
   aeolus = callPackage ../applications/audio/aeolus { };
 
   aewan = callPackage ../applications/editors/aewan { };
@@ -13686,13 +13755,15 @@ with pkgs;
     stdenv = overrideCC stdenv gcc5;
   };
 
+  amarok-kf5 = libsForQt5.callPackage ../applications/audio/amarok/kf5.nix { };
+
   AMB-plugins = callPackage ../applications/audio/AMB-plugins { };
 
   ams-lv2 = callPackage ../applications/audio/ams-lv2 { };
 
   amsn = callPackage ../applications/networking/instant-messengers/amsn { };
 
-  androidStudioPackages = callPackage ../applications/editors/android-studio/packages.nix {};
+  androidStudioPackages = callPackage ../applications/editors/android-studio { };
   android-studio = androidStudioPackages.stable;
   android-studio-preview = androidStudioPackages.preview;
 
@@ -14026,7 +14097,7 @@ with pkgs;
 
   confclerk = callPackage ../applications/misc/confclerk { };
 
-  copyq = callPackage ../applications/misc/copyq { };
+  copyq = libsForQt5.callPackage ../applications/misc/copyq { };
 
   coriander = callPackage ../applications/video/coriander {
     inherit (gnome2) libgnomeui GConf;
@@ -14480,7 +14551,7 @@ with pkgs;
 
   keepassx = callPackage ../applications/misc/keepassx { };
   keepassx2 = callPackage ../applications/misc/keepassx/2.0.nix { };
-  keepassx-community = libsForQt5.callPackage ../applications/misc/keepassx/community.nix { };
+  keepassxc = libsForQt5.callPackage ../applications/misc/keepassx/community.nix { };
 
   inherit (gnome3) evince;
   evolution_data_server = gnome3.evolution_data_server;
@@ -14739,9 +14810,7 @@ with pkgs;
 
   fomp = callPackage ../applications/audio/fomp { };
 
-  freecad = callPackage ../applications/graphics/freecad {
-    boost = boost155;
-  };
+  freecad = callPackage ../applications/graphics/freecad { };
 
   freemind = callPackage ../applications/misc/freemind { };
 
@@ -14811,7 +14880,7 @@ with pkgs;
 
   gitAndTools = recurseIntoAttrs (callPackage ../applications/version-management/git-and-tools {});
 
-  inherit (gitAndTools) git gitFull gitSVN git-cola svn2git git-radar transcrypt git-crypt;
+  inherit (gitAndTools) git gitFull gitSVN git-cola svn2git git-radar git-secret transcrypt git-crypt;
 
   gitMinimal = git.override {
     withManual = false;
@@ -15037,6 +15106,8 @@ with pkgs;
 
   ht = callPackage ../applications/editors/ht { };
 
+  hubstaff = callPackage ../applications/misc/hubstaff { };
+
   hue-cli = callPackage ../tools/networking/hue-cli { };
 
   hugin = callPackage ../applications/graphics/hugin {
@@ -15098,6 +15169,8 @@ with pkgs;
 
   i3status = callPackage ../applications/window-managers/i3/status.nix { };
 
+  i3status-rust = callPackage ../applications/window-managers/i3/status-rust.nix { };
+
   i810switch = callPackage ../os-specific/linux/i810switch { };
 
   icewm = callPackage ../applications/window-managers/icewm {};
@@ -15233,8 +15306,12 @@ with pkgs;
 
   japa = callPackage ../applications/audio/japa { };
 
+  jdupes = callPackage ../tools/misc/jdupes { };
+
   jedit = callPackage ../applications/editors/jedit { };
 
+  jgmenu = callPackage ../applications/misc/jgmenu { };
+
   jigdo = callPackage ../applications/misc/jigdo { };
 
   jitsi = callPackage ../applications/networking/instant-messengers/jitsi { };
@@ -15254,7 +15331,6 @@ with pkgs;
 
   k3d = callPackage ../applications/graphics/k3d {
     inherit (pkgs.gnome2) gtkglext;
-    boost = boost155;
   };
 
   k9copy = libsForQt5.callPackage ../applications/video/k9copy {};
@@ -15439,6 +15515,8 @@ with pkgs;
     inherit (gnome3) libpeas gsettings_desktop_schemas dconf;
   };
 
+  lightworks = callPackage ../applications/video/lightworks { };
+
   lingot = callPackage ../applications/audio/lingot {
     inherit (gnome2) libglade;
   };
@@ -15468,8 +15546,10 @@ with pkgs;
 
   llpp = ocaml-ng.ocamlPackages.callPackage ../applications/misc/llpp { };
 
-  lmms = callPackage ../applications/audio/lmms {
-    stdenv = overrideCC stdenv gcc5;
+  lmms = libsForQt5.callPackage ../applications/audio/lmms {
+    lame = null;
+    libsoundio = null;
+    portaudio = null;
   };
 
   loxodo = callPackage ../applications/misc/loxodo { };
@@ -16031,7 +16111,7 @@ with pkgs;
 
   pflask = callPackage ../os-specific/linux/pflask {};
 
-  photoqt = libsForQt56.callPackage ../applications/graphics/photoqt { };
+  photoqt = libsForQt5.callPackage ../applications/graphics/photoqt { };
 
   phototonic = libsForQt5.callPackage ../applications/graphics/phototonic { };
 
@@ -16162,7 +16242,7 @@ with pkgs;
 
   ptask = callPackage ../applications/misc/ptask { };
 
-  pulseview = callPackage ../applications/science/electronics/pulseview { };
+  pulseview = libsForQt5.callPackage ../applications/science/electronics/pulseview { };
 
   puredata = callPackage ../applications/audio/puredata { };
   puredata-with-plugins = plugins: callPackage ../applications/audio/puredata/wrapper.nix { inherit plugins; };
@@ -16176,7 +16256,6 @@ with pkgs;
   pythonmagick = callPackage ../applications/graphics/PythonMagick { };
 
   qbittorrent = libsForQt5.callPackage ../applications/networking/p2p/qbittorrent {
-    boost = boost;
     libtorrentRasterbar = libtorrentRasterbar_1_0;
   };
 
@@ -16227,7 +16306,7 @@ with pkgs;
 
   qtbitcointrader = callPackage ../applications/misc/qtbitcointrader { };
 
-  qtox = libsForQt5.callPackage ../applications/networking/instant-messengers/qtox { };
+  qtox = libsForQt5.callPackage ../applications/networking/instant-messengers/qtox { ffmpeg = ffmpeg_2; };
 
   qtpass = libsForQt5.callPackage ../applications/misc/qtpass { };
 
@@ -16259,20 +16338,43 @@ with pkgs;
     withKDE = false;
   };
 
-  quassel-webserver = callPackage ../applications/networking/irc/quassel-webserver { };
+  quassel-webserver = nodePackages.quassel-webserver;
 
   quirc = callPackage ../tools/graphics/quirc {};
 
   quiterss = libsForQt5.callPackage ../applications/networking/newsreaders/quiterss {};
 
-  quodlibet-without-gst-plugins = callPackage ../applications/audio/quodlibet { };
+  falkon = libsForQt5.callPackage ../applications/networking/browsers/falkon { };
 
   quodlibet = callPackage ../applications/audio/quodlibet {
-    withGstPlugins = true;
-    gst-plugins-bad = null;
+    keybinder3 = null;
+    libmodplug = null;
+    kakasi = null;
+    libappindicator-gtk3 = null;
   };
 
-  falkon = libsForQt5.callPackage ../applications/networking/browsers/falkon { };
+  quodlibet-without-gst-plugins = quodlibet.override {
+    withGstPlugins = false;
+    tag = "-without-gst-plugins";
+  };
+
+  quodlibet-xine = quodlibet.override { xineBackend = true; tag = "-xine"; };
+
+  quodlibet-full = callPackage ../applications/audio/quodlibet {
+    inherit (gnome2) gtksourceview;
+    withDbusPython = true;
+    withPyInotify = true;
+    withMusicBrainzNgs = true;
+    withPahoMqtt = true;
+    keybinder3 = keybinder3;
+    libmodplug = libmodplug;
+    kakasi = kakasi;
+    webkitgtk = webkitgtk24x-gtk3;
+    libappindicator-gtk3 = libappindicator-gtk3;
+    tag = "-full";
+  };
+
+  quodlibet-xine-full = quodlibet-full.override { xineBackend = true; tag = "-xine-full"; };
 
   qutebrowser = libsForQt5.callPackage ../applications/networking/browsers/qutebrowser {
     inherit (python3Packages) buildPythonApplication pyqt5 jinja2 pygments pyyaml pypeg2 cssutils pyopengl attrs;
@@ -16329,6 +16431,8 @@ with pkgs;
 
   recode = callPackage ../tools/text/recode { };
 
+  rednotebook = python3Packages.callPackage ../applications/editors/rednotebook { };
+
   remotebox = callPackage ../applications/virtualization/remotebox { };
 
   retroshare = libsForQt5.callPackage ../applications/networking/p2p/retroshare { };
@@ -16404,9 +16508,7 @@ with pkgs;
 
   sbagen = callPackage ../applications/misc/sbagen { };
 
-  scantailor = callPackage ../applications/graphics/scantailor {
-    boost = boost155;
-  };
+  scantailor = callPackage ../applications/graphics/scantailor { };
 
   sc-im = callPackage ../applications/misc/sc-im { };
 
@@ -16506,9 +16608,7 @@ with pkgs;
 
   stella = callPackage ../misc/emulators/stella { };
 
-  statsd = callPackage ../tools/networking/statsd {
-    nodejs = nodejs-4_x;
-  };
+  statsd = nodePackages.statsd;
 
   linuxstopmotion = callPackage ../applications/video/linuxstopmotion { };
 
@@ -16790,6 +16890,8 @@ with pkgs;
 
   tint2 = callPackage ../applications/misc/tint2 { };
 
+  tixati = callPackage ../applications/networking/p2p/tixati { };
+
   tkcvs = callPackage ../applications/version-management/tkcvs { };
 
   tla = callPackage ../applications/version-management/arch { };
@@ -16946,7 +17048,9 @@ with pkgs;
 
   vimpc = callPackage ../applications/audio/vimpc { };
 
-  neovim = callPackage ../applications/editors/neovim { };
+  neovim = callPackage ../applications/editors/neovim {
+    luaPackages = luajitPackages;
+  };
 
   neovim-qt = libsForQt5.callPackage ../applications/editors/neovim/qt.nix { };
 
@@ -17157,6 +17261,8 @@ with pkgs;
 
   wordnet = callPackage ../applications/misc/wordnet { };
 
+  wordgrinder = callPackage ../applications/office/wordgrinder { };
+
   worker = callPackage ../applications/misc/worker { };
 
   workrave = callPackage ../applications/misc/workrave {
@@ -17530,9 +17636,7 @@ with pkgs;
 
   zoom-us = callPackage ../applications/networking/instant-messengers/zoom-us { };
 
-  zotero = callPackage ../applications/office/zotero {
-    firefox = firefox-esr-unwrapped;
-  };
+  zotero = callPackage ../applications/office/zotero { };
 
   zscroll = callPackage ../applications/misc/zscroll {};
 
@@ -17557,7 +17661,7 @@ with pkgs;
 
   angband = callPackage ../games/angband { };
 
-  anki = callPackage ../games/anki { };
+  anki = python2Packages.callPackage ../games/anki { };
 
   armagetronad = callPackage ../games/armagetronad { };
 
@@ -17600,6 +17704,8 @@ with pkgs;
 
   blobby = callPackage ../games/blobby { };
 
+  braincurses = callPackage ../games/braincurses { };
+
   brogue = callPackage ../games/brogue { };
 
   bsdgames = callPackage ../games/bsdgames { };
@@ -17610,6 +17716,8 @@ with pkgs;
 
   cataclysm-dda = callPackage ../games/cataclysm-dda { };
 
+  cataclysm-dda-git = callPackage ../games/cataclysm-dda/git.nix { };
+
   chessdb = callPackage ../games/chessdb { };
 
   chessx = libsForQt5.callPackage ../games/chessx { };
@@ -17761,6 +17869,10 @@ with pkgs;
 
   gogui = callPackage ../games/gogui {};
 
+  gtetrinet = callPackage ../games/gtetrinet {
+    inherit (gnome2) GConf libgnome libgnomeui;
+  };
+
   gtypist = callPackage ../games/gtypist { };
 
   gzdoom = callPackage ../games/gzdoom { };
@@ -17983,6 +18095,8 @@ with pkgs;
 
   sdlmame = callPackage ../games/sdlmame { };
 
+  service-wrapper = callPackage ../os-specific/linux/service-wrapper { };
+
   sgtpuzzles = callPackage (callPackage ../games/sgt-puzzles) { };
 
   sienna = callPackage ../games/sienna { love = love_0_10; };
@@ -18093,7 +18207,9 @@ with pkgs;
 
   ultrastar-manager = libsForQt5.callPackage ../tools/misc/ultrastar-manager { };
 
-  ultrastardx = callPackage ../games/ultrastardx/default.nix { };
+  ultrastardx = callPackage ../games/ultrastardx/default.nix {
+    ffmpeg = ffmpeg_2;
+  };
 
   unnethack = callPackage ../games/unnethack { };
 
@@ -18559,9 +18675,7 @@ with pkgs;
 
   acgtk = callPackage ../applications/science/logic/acgtk { };
 
-  alt-ergo = callPackage ../applications/science/logic/alt-ergo {
-    ocamlPackages = ocamlPackages_4_02;
-  };
+  alt-ergo = callPackage ../applications/science/logic/alt-ergo { };
 
   aspino = callPackage ../applications/science/logic/aspino {};
 
@@ -18623,6 +18737,9 @@ with pkgs;
     coqPackages = self;
 
     autosubst = callPackage ../development/coq-modules/autosubst {};
+    bignums = if stdenv.lib.versionAtLeast coq.coq-version "8.6"
+      then callPackage ../development/coq-modules/bignums {}
+      else null;
     coq-ext-lib = callPackage ../development/coq-modules/coq-ext-lib {};
     coquelicot = callPackage ../development/coq-modules/coquelicot {};
     dpdgraph = callPackage ../development/coq-modules/dpdgraph {};
@@ -18631,12 +18748,14 @@ with pkgs;
     HoTT = callPackage ../development/coq-modules/HoTT {};
     interval = callPackage ../development/coq-modules/interval {};
     mathcomp = callPackage ../development/coq-modules/mathcomp { };
+    metalib = callPackage ../development/coq-modules/metalib { };
     paco = callPackage ../development/coq-modules/paco {};
     ssreflect = callPackage ../development/coq-modules/ssreflect { };
     QuickChick = callPackage ../development/coq-modules/QuickChick {};
     CoLoR = callPackage ../development/coq-modules/CoLoR {};
     math-classes = callPackage ../development/coq-modules/math-classes { };
     fiat_HEAD = callPackage ../development/coq-modules/fiat/HEAD.nix {};
+    equations = callPackage ../development/coq-modules/equations { };
   };
 
   coqPackages_8_4 = mkCoqPackages_8_4 coqPackages_8_4;
@@ -19317,7 +19436,7 @@ with pkgs;
 
   opkg-utils = callPackage ../tools/package-management/opkg-utils { };
 
-  postage = callPackage ../applications/misc/postage { };
+  pgmanage = callPackage ../applications/misc/pgmanage { };
 
   pgadmin = callPackage ../applications/misc/pgadmin { };
 
@@ -19657,6 +19776,8 @@ with pkgs;
 
   xosd = callPackage ../misc/xosd { };
 
+  xosview2 = callPackage ../tools/X11/xosview2 { };
+
   xpad = callPackage ../applications/misc/xpad {
     inherit (gnome3) gtksourceview;
   };
@@ -19824,4 +19945,6 @@ with pkgs;
   dnstracer = callPackage ../tools/networking/dnstracer {
     inherit (darwin) libresolv;
   };
+
+  wal-g = callPackage ../tools/backup/wal-g {};
 }
diff --git a/pkgs/top-level/emacs-packages.nix b/pkgs/top-level/emacs-packages.nix
index 4ff8d23424c7..3acc6d0ebec6 100644
--- a/pkgs/top-level/emacs-packages.nix
+++ b/pkgs/top-level/emacs-packages.nix
@@ -75,24 +75,14 @@ let
 
   ## START HERE
 
-  tablist = melpaBuild rec {
-    pname = "tablist";
-    inherit (pdf-tools) src version;
-    fileSpecs = [ "lisp/tablist.el" "lisp/tablist-filter.el" ];
-    meta = {
-      description = "Extended tabulated-list-mode";
-      license = gpl3;
-    };
-  };
-
   pdf-tools = melpaBuild rec {
     pname = "pdf-tools";
-    version = "0.70";
+    version = "0.80";
     src = fetchFromGitHub {
       owner = "politza";
       repo = "pdf-tools";
       rev = "v${version}";
-      sha256 = "19sy49r3ijh36m7hl4vspw5c4i8pnfqdn4ldm2sqchxigkw56ayl";
+      sha256 = "1i4647vax5na73basc5dz4lh9kprir00fh8ps4i0l1y3ippnjs2s";
     };
     nativeBuildInputs = [ external.pkgconfig ];
     buildInputs = with external; [ autoconf automake libpng zlib poppler ];
@@ -206,6 +196,9 @@ let
     };
   };
 
+  ess-R-object-popup =
+    callPackage ../applications/editors/emacs-modes/ess-R-object-popup { };
+
   find-file-in-project = melpaBuild rec {
     pname = "find-file-in-project";
     version = "3.5";
@@ -226,6 +219,10 @@ let
     };
   };
 
+  filesets-plus = callPackage ../applications/editors/emacs-modes/filesets-plus { };
+
+  font-lock-plus = callPackage ../applications/editors/emacs-modes/font-lock-plus { };
+
   ghc-mod = melpaBuild rec {
     pname = "ghc";
     version = external.ghc-mod.version;
@@ -255,6 +252,12 @@ let
     };
   };
 
+  hexrgb = callPackage ../applications/editors/emacs-modes/hexrgb { };
+
+  header2 = callPackage ../applications/editors/emacs-modes/header2 { };
+
+  helm-words = callPackage ../applications/editors/emacs-modes/helm-words { };
+
   hindent = melpaBuild rec {
     pname = "hindent";
     version = external.hindent.version;
@@ -270,6 +273,8 @@ let
 
   icicles = callPackage ../applications/editors/emacs-modes/icicles { };
 
+  redshank = callPackage ../applications/editors/emacs-modes/redshank { };
+
   rtags = melpaBuild rec {
     pname = "rtags";
     version = "2.12";
@@ -293,6 +298,9 @@ let
     };
   };
 
+  lib-requires =
+    callPackage ../applications/editors/emacs-modes/lib-requires { };
+
   lui = melpaBuild rec {
     pname   = "lui";
     version = circe.version;
@@ -309,6 +317,14 @@ let
     inherit lib;
   };
 
+  org-mac-link =
+    callPackage ../applications/editors/emacs-modes/org-mac-link { };
+
+  perl-completion =
+    callPackage ../applications/editors/emacs-modes/perl-completion { };
+
+  railgun = callPackage ../applications/editors/emacs-modes/railgun { };
+
   gn = callPackage ../applications/editors/emacs-modes/gn { };
 
   shorten = melpaBuild rec {
@@ -322,6 +338,8 @@ let
     };
   };
 
+  stgit = callPackage ../applications/editors/emacs-modes/stgit { };
+
   structured-haskell-mode = melpaBuild rec {
     pname = "shm";
     version = external.structured-haskell-mode.version;
@@ -337,6 +355,8 @@ let
     };
   };
 
+  thingatpt-plus = callPackage ../applications/editors/emacs-modes/thingatpt-plus { };
+
   tramp = callPackage ../applications/editors/emacs-modes/tramp { };
 
   weechat = melpaBuild rec {
@@ -358,6 +378,10 @@ let
     };
   };
 
+  yaoddmuse = callPackage ../applications/editors/emacs-modes/yaoddmuse { };
+
+  zeitgeist = callPackage ../applications/editors/emacs-modes/zeitgeist { };
+
   };
 
 in
diff --git a/pkgs/top-level/haskell-packages.nix b/pkgs/top-level/haskell-packages.nix
index b3bbb0d5b643..111893f93b78 100644
--- a/pkgs/top-level/haskell-packages.nix
+++ b/pkgs/top-level/haskell-packages.nix
@@ -78,6 +78,13 @@ in rec {
       sphinx = pkgs.python3Packages.sphinx;
       selfPkgs = packages.ghc821;
     };
+    ghc822 = callPackage ../development/compilers/ghc/8.2.2.nix rec {
+      bootPkgs = packages.ghc802;
+      inherit (bootPkgs) hscolour alex happy;
+      inherit buildPlatform targetPlatform;
+      sphinx = pkgs.python3Packages.sphinx;
+      selfPkgs = packages.ghc822;
+    };
     ghcHEAD = callPackage ../development/compilers/ghc/head.nix rec {
       bootPkgs = packages.ghc802;
       inherit (bootPkgs) alex happy;
@@ -166,6 +173,10 @@ in rec {
       ghc = compiler.ghc821;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
     };
+    ghc822 = callPackage ../development/haskell-modules {
+      ghc = compiler.ghc822;
+      compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-8.2.x.nix { };
+    };
     ghcHEAD = callPackage ../development/haskell-modules {
       ghc = compiler.ghcHEAD;
       compilerConfig = callPackage ../development/haskell-modules/configuration-ghc-head.nix { };
diff --git a/pkgs/top-level/lua-packages.nix b/pkgs/top-level/lua-packages.nix
index f233ae43ad10..ef58b7988dfe 100644
--- a/pkgs/top-level/lua-packages.nix
+++ b/pkgs/top-level/lua-packages.nix
@@ -614,12 +614,16 @@ let
   };
 
   mpack = buildLuaPackage rec {
-    name = "lua-mpack-${libmpack.version}";
+    name = "lua-mpack-${version}";
+    version = "1.0.7_${rev}";
+    rev = "ef025224a799066b818120fb1f30a308543a6e99";
 
-    # NOTE: For updating, new Lua mpack bindings live at:
-    # https://github.com/libmpack/libmpack-lua.
-    src = libmpack.src;
-    sourceRoot = "${src.name}/binding/lua";
+    src = fetchFromGitHub {
+      owner = "libmpack";
+      repo = "libmpack-lua";
+      inherit rev;
+      sha256 = "1nydi6xbmxwl1fmi32v5v8n74msnmzblzqaqnb102w6vkinampsb";
+    };
 
     nativeBuildInputs = [ pkgconfig ];
     buildInputs = [ libmpack ]; # ++ [ libtool lua ];
@@ -627,19 +631,19 @@ let
 
     preInstall = ''
       mkdir -p $out/lib/lua/${lua.luaversion}
+      export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:${libmpack}
     '';
 
     NIX_CFLAGS_COMPILE = "-Wno-error -fpic";
 
     installFlags = [
       "USE_SYSTEM_LUA=yes"
-      "LUA_VERSION_MAJ_MIN="
+      "USE_SYSTEM_MPACK=yes"
+      "MPACK_LUA_VERSION=${(builtins.parseDrvName lua.name).version}"
+      "LUA_INCLUDE=-I${lua}/include"
       "LUA_CMOD_INSTALLDIR=$$out/lib/lua/${lua.luaversion}"
     ];
 
-    # gcc -llua fails with luajit.
-    disabled = isLuaJIT;
-
     meta = with stdenv.lib; {
       description = "Lua bindings for libmpack";
       homepage = "https://github.com/libmpack/libmpack-lua";
diff --git a/pkgs/top-level/node-packages-generated.nix b/pkgs/top-level/node-packages-generated.nix
deleted file mode 100644
index 3014273e5c3a..000000000000
--- a/pkgs/top-level/node-packages-generated.nix
+++ /dev/null
@@ -1,53358 +0,0 @@
-{ self, fetchurl, fetchgit ? null, lib }:
-
-{
-  by-spec."Base64"."~0.2.0" =
-    self.by-version."Base64"."0.2.1";
-  by-version."Base64"."0.2.1" = self.buildNodePackage {
-    name = "Base64-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/Base64/-/Base64-0.2.1.tgz";
-      name = "Base64-0.2.1.tgz";
-      sha1 = "ba3a4230708e186705065e66babdd4c35cf60028";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."CSSselect"."~0.4.0" =
-    self.by-version."CSSselect"."0.4.1";
-  by-version."CSSselect"."0.4.1" = self.buildNodePackage {
-    name = "CSSselect-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/CSSselect/-/CSSselect-0.4.1.tgz";
-      name = "CSSselect-0.4.1.tgz";
-      sha1 = "f8ab7e1f8418ce63cda6eb7bd778a85d7ec492b2";
-    };
-    deps = {
-      "CSSwhat-0.4.7" = self.by-version."CSSwhat"."0.4.7";
-      "domutils-1.4.3" = self.by-version."domutils"."1.4.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."CSSwhat"."0.4" =
-    self.by-version."CSSwhat"."0.4.7";
-  by-version."CSSwhat"."0.4.7" = self.buildNodePackage {
-    name = "CSSwhat-0.4.7";
-    version = "0.4.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/CSSwhat/-/CSSwhat-0.4.7.tgz";
-      name = "CSSwhat-0.4.7.tgz";
-      sha1 = "867da0ff39f778613242c44cfea83f0aa4ebdf9b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."JSON2"."^0.1.0" =
-    self.by-version."JSON2"."0.1.0";
-  by-version."JSON2"."0.1.0" = self.buildNodePackage {
-    name = "JSON2-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/JSON2/-/JSON2-0.1.0.tgz";
-      name = "JSON2-0.1.0.tgz";
-      sha1 = "8d7493040a63d5835af75f47decb83ab6c8c0790";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."JSONPath"."^0.10.0" =
-    self.by-version."JSONPath"."0.10.0";
-  by-version."JSONPath"."0.10.0" = self.buildNodePackage {
-    name = "JSONPath-0.10.0";
-    version = "0.10.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/JSONPath/-/JSONPath-0.10.0.tgz";
-      name = "JSONPath-0.10.0.tgz";
-      sha1 = "44959bdd94e3641858e7f2147d93c732f3505b1c";
-    };
-    deps = {
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."JSONStream"."1.x" =
-    self.by-version."JSONStream"."1.1.2";
-  by-version."JSONStream"."1.1.2" = self.buildNodePackage {
-    name = "JSONStream-1.1.2";
-    version = "1.1.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/JSONStream/-/JSONStream-1.1.2.tgz";
-      name = "JSONStream-1.1.2.tgz";
-      sha1 = "7c01816613d7e5fe41e913edb3b7f359fddbfbf8";
-    };
-    deps = {
-      "jsonparse-1.2.0" = self.by-version."jsonparse"."1.2.0";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."JSONStream"."^0.8.4" =
-    self.by-version."JSONStream"."0.8.4";
-  by-version."JSONStream"."0.8.4" = self.buildNodePackage {
-    name = "JSONStream-0.8.4";
-    version = "0.8.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/JSONStream/-/JSONStream-0.8.4.tgz";
-      name = "JSONStream-0.8.4.tgz";
-      sha1 = "91657dfe6ff857483066132b4618b62e8f4887bd";
-    };
-    deps = {
-      "jsonparse-0.0.5" = self.by-version."jsonparse"."0.0.5";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."JSONStream"."^1.0.3" =
-    self.by-version."JSONStream"."1.1.2";
-  by-spec."abbrev"."1" =
-    self.by-version."abbrev"."1.0.7";
-  by-version."abbrev"."1.0.7" = self.buildNodePackage {
-    name = "abbrev-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/abbrev/-/abbrev-1.0.7.tgz";
-      name = "abbrev-1.0.7.tgz";
-      sha1 = "5b6035b2ee9d4fb5cf859f08a9be81b208491843";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."abbrev"."1.0.x" =
-    self.by-version."abbrev"."1.0.7";
-  by-spec."abbrev"."~1.0.7" =
-    self.by-version."abbrev"."1.0.7";
-  by-spec."abstract-leveldown"."~0.12.1" =
-    self.by-version."abstract-leveldown"."0.12.4";
-  by-version."abstract-leveldown"."0.12.4" = self.buildNodePackage {
-    name = "abstract-leveldown-0.12.4";
-    version = "0.12.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/abstract-leveldown/-/abstract-leveldown-0.12.4.tgz";
-      name = "abstract-leveldown-0.12.4.tgz";
-      sha1 = "29e18e632e60e4e221d5810247852a63d7b2e410";
-    };
-    deps = {
-      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."abstract-leveldown"."~0.12.2" =
-    self.by-version."abstract-leveldown"."0.12.4";
-  by-spec."accepts"."1.1.4" =
-    self.by-version."accepts"."1.1.4";
-  by-version."accepts"."1.1.4" = self.buildNodePackage {
-    name = "accepts-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/accepts/-/accepts-1.1.4.tgz";
-      name = "accepts-1.1.4.tgz";
-      sha1 = "d71c96f7d41d0feda2c38cd14e8a27c04158df4a";
-    };
-    deps = {
-      "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14";
-      "negotiator-0.4.9" = self.by-version."negotiator"."0.4.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."accepts"."~1.0.4" =
-    self.by-version."accepts"."1.0.7";
-  by-version."accepts"."1.0.7" = self.buildNodePackage {
-    name = "accepts-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/accepts/-/accepts-1.0.7.tgz";
-      name = "accepts-1.0.7.tgz";
-      sha1 = "5b501fb4f0704309964ccdb048172541208dab1a";
-    };
-    deps = {
-      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
-      "negotiator-0.4.7" = self.by-version."negotiator"."0.4.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."accepts"."~1.0.7" =
-    self.by-version."accepts"."1.0.7";
-  by-spec."accepts"."~1.2.10" =
-    self.by-version."accepts"."1.2.13";
-  by-version."accepts"."1.2.13" = self.buildNodePackage {
-    name = "accepts-1.2.13";
-    version = "1.2.13";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/accepts/-/accepts-1.2.13.tgz";
-      name = "accepts-1.2.13.tgz";
-      sha1 = "e5f1f3928c6d95fd96558c36ec3d9d0de4a6ecea";
-    };
-    deps = {
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."accepts"."~1.2.12" =
-    self.by-version."accepts"."1.2.13";
-  by-spec."accepts"."~1.2.13" =
-    self.by-version."accepts"."1.2.13";
-  by-spec."accepts"."~1.3.0" =
-    self.by-version."accepts"."1.3.3";
-  by-version."accepts"."1.3.3" = self.buildNodePackage {
-    name = "accepts-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/accepts/-/accepts-1.3.3.tgz";
-      name = "accepts-1.3.3.tgz";
-      sha1 = "c3ca7434938648c3e0d9c1e328dd68b622c284ca";
-    };
-    deps = {
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "negotiator-0.6.1" = self.by-version."negotiator"."0.6.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."accepts"."~1.3.3" =
-    self.by-version."accepts"."1.3.3";
-  by-spec."acorn"."0.11.0" =
-    self.by-version."acorn"."0.11.0";
-  by-version."acorn"."0.11.0" = self.buildNodePackage {
-    name = "acorn-0.11.0";
-    version = "0.11.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/acorn/-/acorn-0.11.0.tgz";
-      name = "acorn-0.11.0.tgz";
-      sha1 = "6e95f0253ad161ff0127db32983e5e2e5352d59a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."acorn"."^1.0.1" =
-    self.by-version."acorn"."1.2.2";
-  by-version."acorn"."1.2.2" = self.buildNodePackage {
-    name = "acorn-1.2.2";
-    version = "1.2.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/acorn/-/acorn-1.2.2.tgz";
-      name = "acorn-1.2.2.tgz";
-      sha1 = "c8ce27de0acc76d896d2b1fad3df588d9e82f014";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."acorn"."^1.0.3" =
-    self.by-version."acorn"."1.2.2";
-  by-spec."acorn"."^2.1.0" =
-    self.by-version."acorn"."2.7.0";
-  by-version."acorn"."2.7.0" = self.buildNodePackage {
-    name = "acorn-2.7.0";
-    version = "2.7.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/acorn/-/acorn-2.7.0.tgz";
-      name = "acorn-2.7.0.tgz";
-      sha1 = "ab6e7d9d886aaca8b085bc3312b79a198433f0e7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."acorn"."^2.7.0" =
-    self.by-version."acorn"."2.7.0";
-  by-spec."acorn"."^3.0.0" =
-    self.by-version."acorn"."3.2.0";
-  by-version."acorn"."3.2.0" = self.buildNodePackage {
-    name = "acorn-3.2.0";
-    version = "3.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/acorn/-/acorn-3.2.0.tgz";
-      name = "acorn-3.2.0.tgz";
-      sha1 = "7a82989ef6f063a237ababaf8df20d2965184b9f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."acorn"."^3.0.4" =
-    self.by-version."acorn"."3.2.0";
-  by-spec."acorn"."^3.1.0" =
-    self.by-version."acorn"."3.2.0";
-  by-spec."acorn-globals"."^1.0.2" =
-    self.by-version."acorn-globals"."1.0.9";
-  by-version."acorn-globals"."1.0.9" = self.buildNodePackage {
-    name = "acorn-globals-1.0.9";
-    version = "1.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/acorn-globals/-/acorn-globals-1.0.9.tgz";
-      name = "acorn-globals-1.0.9.tgz";
-      sha1 = "55bb5e98691507b74579d0513413217c380c54cf";
-    };
-    deps = {
-      "acorn-2.7.0" = self.by-version."acorn"."2.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."acorn-globals"."^1.0.3" =
-    self.by-version."acorn-globals"."1.0.9";
-  by-spec."acorn-jsx"."^3.0.0" =
-    self.by-version."acorn-jsx"."3.0.1";
-  by-version."acorn-jsx"."3.0.1" = self.buildNodePackage {
-    name = "acorn-jsx-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-3.0.1.tgz";
-      name = "acorn-jsx-3.0.1.tgz";
-      sha1 = "afdf9488fb1ecefc8348f6fb22f464e32a58b36b";
-    };
-    deps = {
-      "acorn-3.2.0" = self.by-version."acorn"."3.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."active-x-obfuscator"."0.0.1" =
-    self.by-version."active-x-obfuscator"."0.0.1";
-  by-version."active-x-obfuscator"."0.0.1" = self.buildNodePackage {
-    name = "active-x-obfuscator-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/active-x-obfuscator/-/active-x-obfuscator-0.0.1.tgz";
-      name = "active-x-obfuscator-0.0.1.tgz";
-      sha1 = "089b89b37145ff1d9ec74af6530be5526cae1f1a";
-    };
-    deps = {
-      "zeparser-0.0.5" = self.by-version."zeparser"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."addr-to-ip-port"."^1.0.0" =
-    self.by-version."addr-to-ip-port"."1.4.2";
-  by-version."addr-to-ip-port"."1.4.2" = self.buildNodePackage {
-    name = "addr-to-ip-port-1.4.2";
-    version = "1.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/addr-to-ip-port/-/addr-to-ip-port-1.4.2.tgz";
-      name = "addr-to-ip-port-1.4.2.tgz";
-      sha1 = "7e46ff1f26b7a9f5e33fd839d57aef6303b4c692";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."addr-to-ip-port"."^1.0.1" =
-    self.by-version."addr-to-ip-port"."1.4.2";
-  by-spec."addressparser"."1.0.1" =
-    self.by-version."addressparser"."1.0.1";
-  by-version."addressparser"."1.0.1" = self.buildNodePackage {
-    name = "addressparser-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/addressparser/-/addressparser-1.0.1.tgz";
-      name = "addressparser-1.0.1.tgz";
-      sha1 = "47afbe1a2a9262191db6838e4fd1d39b40821746";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."addressparser"."^0.3.2" =
-    self.by-version."addressparser"."0.3.2";
-  by-version."addressparser"."0.3.2" = self.buildNodePackage {
-    name = "addressparser-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/addressparser/-/addressparser-0.3.2.tgz";
-      name = "addressparser-0.3.2.tgz";
-      sha1 = "59873f35e8fcf6c7361c10239261d76e15348bb2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."addressparser"."~0.1.3" =
-    self.by-version."addressparser"."0.1.3";
-  by-version."addressparser"."0.1.3" = self.buildNodePackage {
-    name = "addressparser-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/addressparser/-/addressparser-0.1.3.tgz";
-      name = "addressparser-0.1.3.tgz";
-      sha1 = "9e9ab43d257e1ae784e1df5f580c9f5240f58874";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."addressparser"."~0.3.2" =
-    self.by-version."addressparser"."0.3.2";
-  by-spec."adm-zip"."0.2.1" =
-    self.by-version."adm-zip"."0.2.1";
-  by-version."adm-zip"."0.2.1" = self.buildNodePackage {
-    name = "adm-zip-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.2.1.tgz";
-      name = "adm-zip-0.2.1.tgz";
-      sha1 = "e801cedeb5bd9a4e98d699c5c0f4239e2731dcbf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."adm-zip"."0.4.4" =
-    self.by-version."adm-zip"."0.4.4";
-  by-version."adm-zip"."0.4.4" = self.buildNodePackage {
-    name = "adm-zip-0.4.4";
-    version = "0.4.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.4.tgz";
-      name = "adm-zip-0.4.4.tgz";
-      sha1 = "a61ed5ae6905c3aea58b3a657d25033091052736";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."adm-zip"."0.4.7" =
-    self.by-version."adm-zip"."0.4.7";
-  by-version."adm-zip"."0.4.7" = self.buildNodePackage {
-    name = "adm-zip-0.4.7";
-    version = "0.4.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.7.tgz";
-      name = "adm-zip-0.4.7.tgz";
-      sha1 = "8606c2cbf1c426ce8c8ec00174447fd49b6eafc1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."adm-zip"."~0.4.3" =
-    self.by-version."adm-zip"."0.4.7";
-  by-spec."after"."0.8.1" =
-    self.by-version."after"."0.8.1";
-  by-version."after"."0.8.1" = self.buildNodePackage {
-    name = "after-0.8.1";
-    version = "0.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/after/-/after-0.8.1.tgz";
-      name = "after-0.8.1.tgz";
-      sha1 = "ab5d4fb883f596816d3515f8f791c0af486dd627";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."after"."^0.8.1" =
-    self.by-version."after"."0.8.1";
-  by-spec."agent-base"."2" =
-    self.by-version."agent-base"."2.0.1";
-  by-version."agent-base"."2.0.1" = self.buildNodePackage {
-    name = "agent-base-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/agent-base/-/agent-base-2.0.1.tgz";
-      name = "agent-base-2.0.1.tgz";
-      sha1 = "bd8f9e86a8eb221fffa07bd14befd55df142815e";
-    };
-    deps = {
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "semver-5.0.3" = self.by-version."semver"."5.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."agent-base"."~1.0.1" =
-    self.by-version."agent-base"."1.0.2";
-  by-version."agent-base"."1.0.2" = self.buildNodePackage {
-    name = "agent-base-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/agent-base/-/agent-base-1.0.2.tgz";
-      name = "agent-base-1.0.2.tgz";
-      sha1 = "6890d3fb217004b62b70f8928e0fae5f8952a706";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."airplay-js"."^0.2.5" =
-    self.by-version."airplay-js"."0.2.16";
-  by-version."airplay-js"."0.2.16" = self.buildNodePackage {
-    name = "airplay-js-0.2.16";
-    version = "0.2.16";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/airplay-js/-/airplay-js-0.2.16.tgz";
-      name = "airplay-js-0.2.16.tgz";
-      sha1 = "48566d5fa55a921d80187ad946f7e8f7555902a1";
-    };
-    deps = {
-      "mdns-js-0.5.0" = self.by-version."mdns-js"."0.5.0";
-      "plist-1.2.0" = self.by-version."plist"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."airplay-protocol"."^2.0.2" =
-    self.by-version."airplay-protocol"."2.0.2";
-  by-version."airplay-protocol"."2.0.2" = self.buildNodePackage {
-    name = "airplay-protocol-2.0.2";
-    version = "2.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/airplay-protocol/-/airplay-protocol-2.0.2.tgz";
-      name = "airplay-protocol-2.0.2.tgz";
-      sha1 = "b5b2a7137331f5545acbe196ba5693c13238fc5e";
-    };
-    deps = {
-      "bplist-creator-0.0.6" = self.by-version."bplist-creator"."0.0.6";
-      "bplist-parser-0.1.1" = self.by-version."bplist-parser"."0.1.1";
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "plist-1.2.0" = self.by-version."plist"."1.2.0";
-      "reverse-http-1.2.0" = self.by-version."reverse-http"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."airplayer"."^2.0.0" =
-    self.by-version."airplayer"."2.0.0";
-  by-version."airplayer"."2.0.0" = self.buildNodePackage {
-    name = "airplayer-2.0.0";
-    version = "2.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/airplayer/-/airplayer-2.0.0.tgz";
-      name = "airplayer-2.0.0.tgz";
-      sha1 = "7ab62d23b96d44234138aec1281d2e67ef190259";
-    };
-    deps = {
-      "airplay-protocol-2.0.2" = self.by-version."airplay-protocol"."2.0.2";
-      "appendable-cli-menu-2.0.0" = self.by-version."appendable-cli-menu"."2.0.0";
-      "bonjour-3.5.0" = self.by-version."bonjour"."3.5.0";
-      "internal-ip-1.2.0" = self.by-version."internal-ip"."1.2.0";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0";
-      "server-destroy-1.0.1" = self.by-version."server-destroy"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aliasify"."^1.7.2" =
-    self.by-version."aliasify"."1.9.0";
-  by-version."aliasify"."1.9.0" = self.buildNodePackage {
-    name = "aliasify-1.9.0";
-    version = "1.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aliasify/-/aliasify-1.9.0.tgz";
-      name = "aliasify-1.9.0.tgz";
-      sha1 = "03aa1a5fe5b4cac604e3b967bc4c7ceacf957030";
-    };
-    deps = {
-      "browserify-transform-tools-1.5.3" = self.by-version."browserify-transform-tools"."1.5.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."align-text"."^0.1.1" =
-    self.by-version."align-text"."0.1.4";
-  by-version."align-text"."0.1.4" = self.buildNodePackage {
-    name = "align-text-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz";
-      name = "align-text-0.1.4.tgz";
-      sha1 = "0cd90a561093f35d0a99256c22b7069433fad117";
-    };
-    deps = {
-      "kind-of-3.0.3" = self.by-version."kind-of"."3.0.3";
-      "longest-1.0.1" = self.by-version."longest"."1.0.1";
-      "repeat-string-1.5.4" = self.by-version."repeat-string"."1.5.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."align-text"."^0.1.3" =
-    self.by-version."align-text"."0.1.4";
-  by-spec."almond"."*" =
-    self.by-version."almond"."0.3.2";
-  by-version."almond"."0.3.2" = self.buildNodePackage {
-    name = "almond-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/almond/-/almond-0.3.2.tgz";
-      name = "almond-0.3.2.tgz";
-      sha1 = "e481c9f3446265e4056610dd6695fc26445f6be7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "almond" = self.by-version."almond"."0.3.2";
-  by-spec."alter"."~0.2.0" =
-    self.by-version."alter"."0.2.0";
-  by-version."alter"."0.2.0" = self.buildNodePackage {
-    name = "alter-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/alter/-/alter-0.2.0.tgz";
-      name = "alter-0.2.0.tgz";
-      sha1 = "c7588808617572034aae62480af26b1d4d1cb3cd";
-    };
-    deps = {
-      "stable-0.1.5" = self.by-version."stable"."0.1.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."amdefine"."*" =
-    self.by-version."amdefine"."1.0.0";
-  by-version."amdefine"."1.0.0" = self.buildNodePackage {
-    name = "amdefine-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/amdefine/-/amdefine-1.0.0.tgz";
-      name = "amdefine-1.0.0.tgz";
-      sha1 = "fd17474700cb5cc9c2b709f0be9d23ce3c198c33";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "amdefine" = self.by-version."amdefine"."1.0.0";
-  by-spec."amdefine".">=0.0.4" =
-    self.by-version."amdefine"."1.0.0";
-  by-spec."amqp".">=0.1.3" =
-    self.by-version."amqp"."0.2.6";
-  by-version."amqp"."0.2.6" = self.buildNodePackage {
-    name = "amqp-0.2.6";
-    version = "0.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/amqp/-/amqp-0.2.6.tgz";
-      name = "amqp-0.2.6.tgz";
-      sha1 = "d97fee5143026fa0b4fd6a5d56485f0448eb37ca";
-    };
-    deps = {
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi"."^0.3.0" =
-    self.by-version."ansi"."0.3.1";
-  by-version."ansi"."0.3.1" = self.buildNodePackage {
-    name = "ansi-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansi/-/ansi-0.3.1.tgz";
-      name = "ansi-0.3.1.tgz";
-      sha1 = "0c42d4fb17160d5a9af1e484bace1c66922c1b21";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi"."^0.3.1" =
-    self.by-version."ansi"."0.3.1";
-  by-spec."ansi"."~0.3.1" =
-    self.by-version."ansi"."0.3.1";
-  by-spec."ansi-escapes"."^1.1.0" =
-    self.by-version."ansi-escapes"."1.4.0";
-  by-version."ansi-escapes"."1.4.0" = self.buildNodePackage {
-    name = "ansi-escapes-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-1.4.0.tgz";
-      name = "ansi-escapes-1.4.0.tgz";
-      sha1 = "d3a8a83b319aa67793662b13e761c7911422306e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-regex"."*" =
-    self.by-version."ansi-regex"."2.0.0";
-  by-version."ansi-regex"."2.0.0" = self.buildNodePackage {
-    name = "ansi-regex-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.0.0.tgz";
-      name = "ansi-regex-2.0.0.tgz";
-      sha1 = "c5061b6e0ef8a81775e50f5d66151bf6bf371107";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-regex"."^0.2.0" =
-    self.by-version."ansi-regex"."0.2.1";
-  by-version."ansi-regex"."0.2.1" = self.buildNodePackage {
-    name = "ansi-regex-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-0.2.1.tgz";
-      name = "ansi-regex-0.2.1.tgz";
-      sha1 = "0d8e946967a3d8143f93e24e298525fc1b2235f9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-regex"."^0.2.1" =
-    self.by-version."ansi-regex"."0.2.1";
-  by-spec."ansi-regex"."^1.0.0" =
-    self.by-version."ansi-regex"."1.1.1";
-  by-version."ansi-regex"."1.1.1" = self.buildNodePackage {
-    name = "ansi-regex-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-1.1.1.tgz";
-      name = "ansi-regex-1.1.1.tgz";
-      sha1 = "41c847194646375e6a1a5d10c3ca054ef9fc980d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-regex"."^1.1.0" =
-    self.by-version."ansi-regex"."1.1.1";
-  by-spec."ansi-regex"."^1.1.1" =
-    self.by-version."ansi-regex"."1.1.1";
-  by-spec."ansi-regex"."^2.0.0" =
-    self.by-version."ansi-regex"."2.0.0";
-  by-spec."ansi-remover"."*" =
-    self.by-version."ansi-remover"."0.0.2";
-  by-version."ansi-remover"."0.0.2" = self.buildNodePackage {
-    name = "ansi-remover-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansi-remover/-/ansi-remover-0.0.2.tgz";
-      name = "ansi-remover-0.0.2.tgz";
-      sha1 = "7020086289f10e195d85d828de065ccdd50e6e66";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "ansi-remover" = self.by-version."ansi-remover"."0.0.2";
-  by-spec."ansi-styles"."^1.1.0" =
-    self.by-version."ansi-styles"."1.1.0";
-  by-version."ansi-styles"."1.1.0" = self.buildNodePackage {
-    name = "ansi-styles-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-1.1.0.tgz";
-      name = "ansi-styles-1.1.0.tgz";
-      sha1 = "eaecbf66cd706882760b2f4691582b8f55d7a7de";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-styles"."^2.0.1" =
-    self.by-version."ansi-styles"."2.2.1";
-  by-version."ansi-styles"."2.2.1" = self.buildNodePackage {
-    name = "ansi-styles-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz";
-      name = "ansi-styles-2.2.1.tgz";
-      sha1 = "b432dd3358b634cf75e1e4664368240533c1ddbe";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansi-styles"."^2.2.1" =
-    self.by-version."ansi-styles"."2.2.1";
-  by-spec."ansicolors"."~0.3.2" =
-    self.by-version."ansicolors"."0.3.2";
-  by-version."ansicolors"."0.3.2" = self.buildNodePackage {
-    name = "ansicolors-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz";
-      name = "ansicolors-0.3.2.tgz";
-      sha1 = "665597de86a9ffe3aa9bfbe6cae5c6ea426b4979";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ansistyles"."~0.1.3" =
-    self.by-version."ansistyles"."0.1.3";
-  by-version."ansistyles"."0.1.3" = self.buildNodePackage {
-    name = "ansistyles-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ansistyles/-/ansistyles-0.1.3.tgz";
-      name = "ansistyles-0.1.3.tgz";
-      sha1 = "5de60415bda071bb37127854c864f41b23254539";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."anymatch"."^1.3.0" =
-    self.by-version."anymatch"."1.3.0";
-  by-version."anymatch"."1.3.0" = self.buildNodePackage {
-    name = "anymatch-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/anymatch/-/anymatch-1.3.0.tgz";
-      name = "anymatch-1.3.0.tgz";
-      sha1 = "a3e52fa39168c825ff57b0248126ce5a8ff95507";
-    };
-    deps = {
-      "arrify-1.0.1" = self.by-version."arrify"."1.0.1";
-      "micromatch-2.3.8" = self.by-version."micromatch"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."apparatus".">= 0.0.9" =
-    self.by-version."apparatus"."0.0.9";
-  by-version."apparatus"."0.0.9" = self.buildNodePackage {
-    name = "apparatus-0.0.9";
-    version = "0.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/apparatus/-/apparatus-0.0.9.tgz";
-      name = "apparatus-0.0.9.tgz";
-      sha1 = "37dcd25834ad0b651076596291db823eeb1908bd";
-    };
-    deps = {
-      "sylvester-0.0.21" = self.by-version."sylvester"."0.0.21";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."append-transform"."^0.3.0" =
-    self.by-version."append-transform"."0.3.0";
-  by-version."append-transform"."0.3.0" = self.buildNodePackage {
-    name = "append-transform-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/append-transform/-/append-transform-0.3.0.tgz";
-      name = "append-transform-0.3.0.tgz";
-      sha1 = "d6933ce4a85f09445d9ccc4cc119051b7381a813";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."appendable-cli-menu"."^2.0.0" =
-    self.by-version."appendable-cli-menu"."2.0.0";
-  by-version."appendable-cli-menu"."2.0.0" = self.buildNodePackage {
-    name = "appendable-cli-menu-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/appendable-cli-menu/-/appendable-cli-menu-2.0.0.tgz";
-      name = "appendable-cli-menu-2.0.0.tgz";
-      sha1 = "dcfca9e509300e4c3b2d467965fe50c56fc75e66";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "keypress-0.2.1" = self.by-version."keypress"."0.2.1";
-      "single-line-log-1.1.1" = self.by-version."single-line-log"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aproba"."^1.0.1" =
-    self.by-version."aproba"."1.0.3";
-  by-version."aproba"."1.0.3" = self.buildNodePackage {
-    name = "aproba-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aproba/-/aproba-1.0.3.tgz";
-      name = "aproba-1.0.3.tgz";
-      sha1 = "7fb6da3a72c70249db63fd9b5c64b31af718a94f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aproba"."~1.0.3" =
-    self.by-version."aproba"."1.0.3";
-  by-spec."archiver"."~0.14.0" =
-    self.by-version."archiver"."0.14.4";
-  by-version."archiver"."0.14.4" = self.buildNodePackage {
-    name = "archiver-0.14.4";
-    version = "0.14.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/archiver/-/archiver-0.14.4.tgz";
-      name = "archiver-0.14.4.tgz";
-      sha1 = "5b9ddb9f5ee1ceef21cb8f3b020e6240ecb4315c";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
-      "glob-4.3.5" = self.by-version."glob"."4.3.5";
-      "lazystream-0.1.0" = self.by-version."lazystream"."0.1.0";
-      "lodash-3.2.0" = self.by-version."lodash"."3.2.0";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "tar-stream-1.1.5" = self.by-version."tar-stream"."1.1.5";
-      "zip-stream-0.5.2" = self.by-version."zip-stream"."0.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."archy"."^1.0.0" =
-    self.by-version."archy"."1.0.0";
-  by-version."archy"."1.0.0" = self.buildNodePackage {
-    name = "archy-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz";
-      name = "archy-1.0.0.tgz";
-      sha1 = "f9c8c13757cc1dd7bc379ac77b2c62a5c2868c40";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."archy"."~1.0.0" =
-    self.by-version."archy"."1.0.0";
-  by-spec."are-we-there-yet"."~1.1.2" =
-    self.by-version."are-we-there-yet"."1.1.2";
-  by-version."are-we-there-yet"."1.1.2" = self.buildNodePackage {
-    name = "are-we-there-yet-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-1.1.2.tgz";
-      name = "are-we-there-yet-1.1.2.tgz";
-      sha1 = "80e470e95a084794fe1899262c5667c6e88de1b3";
-    };
-    deps = {
-      "delegates-1.0.0" = self.by-version."delegates"."1.0.0";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."argparse"."0.1.15" =
-    self.by-version."argparse"."0.1.15";
-  by-version."argparse"."0.1.15" = self.buildNodePackage {
-    name = "argparse-0.1.15";
-    version = "0.1.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/argparse/-/argparse-0.1.15.tgz";
-      name = "argparse-0.1.15.tgz";
-      sha1 = "28a1f72c43113e763220e5708414301c8840f0a1";
-    };
-    deps = {
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."argparse"."1.0.4" =
-    self.by-version."argparse"."1.0.4";
-  by-version."argparse"."1.0.4" = self.buildNodePackage {
-    name = "argparse-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/argparse/-/argparse-1.0.4.tgz";
-      name = "argparse-1.0.4.tgz";
-      sha1 = "2b12247b933001971addcbfe4e67d20fd395bbf4";
-    };
-    deps = {
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-      "sprintf-js-1.0.3" = self.by-version."sprintf-js"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."argparse"."^1.0.2" =
-    self.by-version."argparse"."1.0.7";
-  by-version."argparse"."1.0.7" = self.buildNodePackage {
-    name = "argparse-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/argparse/-/argparse-1.0.7.tgz";
-      name = "argparse-1.0.7.tgz";
-      sha1 = "c289506480557810f14a8bc62d7a06f63ed7f951";
-    };
-    deps = {
-      "sprintf-js-1.0.3" = self.by-version."sprintf-js"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."argparse"."^1.0.7" =
-    self.by-version."argparse"."1.0.7";
-  by-spec."argparse"."~ 0.1.11" =
-    self.by-version."argparse"."0.1.16";
-  by-version."argparse"."0.1.16" = self.buildNodePackage {
-    name = "argparse-0.1.16";
-    version = "0.1.16";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/argparse/-/argparse-0.1.16.tgz";
-      name = "argparse-0.1.16.tgz";
-      sha1 = "cfd01e0fbba3d6caed049fbd758d40f65196f57c";
-    };
-    deps = {
-      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
-      "underscore.string-2.4.0" = self.by-version."underscore.string"."2.4.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."argparse"."~1.0.2" =
-    self.by-version."argparse"."1.0.7";
-  by-spec."arr-diff"."^2.0.0" =
-    self.by-version."arr-diff"."2.0.0";
-  by-version."arr-diff"."2.0.0" = self.buildNodePackage {
-    name = "arr-diff-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/arr-diff/-/arr-diff-2.0.0.tgz";
-      name = "arr-diff-2.0.0.tgz";
-      sha1 = "8f3b827f955a8bd669697e4a4256ac3ceae356cf";
-    };
-    deps = {
-      "arr-flatten-1.0.1" = self.by-version."arr-flatten"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."arr-flatten"."^1.0.1" =
-    self.by-version."arr-flatten"."1.0.1";
-  by-version."arr-flatten"."1.0.1" = self.buildNodePackage {
-    name = "arr-flatten-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.0.1.tgz";
-      name = "arr-flatten-1.0.1.tgz";
-      sha1 = "e5ffe54d45e19f32f216e91eb99c8ce892bb604b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-differ"."^1.0.0" =
-    self.by-version."array-differ"."1.0.0";
-  by-version."array-differ"."1.0.0" = self.buildNodePackage {
-    name = "array-differ-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-differ/-/array-differ-1.0.0.tgz";
-      name = "array-differ-1.0.0.tgz";
-      sha1 = "eff52e3758249d33be402b8bb8e564bb2b5d4031";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-filter"."~0.0.0" =
-    self.by-version."array-filter"."0.0.1";
-  by-version."array-filter"."0.0.1" = self.buildNodePackage {
-    name = "array-filter-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-filter/-/array-filter-0.0.1.tgz";
-      name = "array-filter-0.0.1.tgz";
-      sha1 = "7da8cf2e26628ed732803581fd21f67cacd2eeec";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-find"."^0.1.1" =
-    self.by-version."array-find"."0.1.1";
-  by-version."array-find"."0.1.1" = self.buildNodePackage {
-    name = "array-find-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-find/-/array-find-0.1.1.tgz";
-      name = "array-find-0.1.1.tgz";
-      sha1 = "dc813845ad5a9afc35cb92b786c878d81b5b82ce";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-find-index"."^1.0.1" =
-    self.by-version."array-find-index"."1.0.1";
-  by-version."array-find-index"."1.0.1" = self.buildNodePackage {
-    name = "array-find-index-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-find-index/-/array-find-index-1.0.1.tgz";
-      name = "array-find-index-1.0.1.tgz";
-      sha1 = "0bc25ddac941ec8a496ae258fd4ac188003ef3af";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-flatten"."1.1.0" =
-    self.by-version."array-flatten"."1.1.0";
-  by-version."array-flatten"."1.1.0" = self.buildNodePackage {
-    name = "array-flatten-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.0.tgz";
-      name = "array-flatten-1.1.0.tgz";
-      sha1 = "ac3efac717b0e7bbdc778ce0bde7381ac6604393";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-flatten"."1.1.1" =
-    self.by-version."array-flatten"."1.1.1";
-  by-version."array-flatten"."1.1.1" = self.buildNodePackage {
-    name = "array-flatten-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz";
-      name = "array-flatten-1.1.1.tgz";
-      sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-flatten"."2.0.0" =
-    self.by-version."array-flatten"."2.0.0";
-  by-version."array-flatten"."2.0.0" = self.buildNodePackage {
-    name = "array-flatten-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-flatten/-/array-flatten-2.0.0.tgz";
-      name = "array-flatten-2.0.0.tgz";
-      sha1 = "24dd98b38b9194b59b2087ba40c21384d6b8a8dc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-flatten"."^2.1.0" =
-    self.by-version."array-flatten"."2.1.0";
-  by-version."array-flatten"."2.1.0" = self.buildNodePackage {
-    name = "array-flatten-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.0.tgz";
-      name = "array-flatten-2.1.0.tgz";
-      sha1 = "26a692c83881fc68dac3ec5d1f0c1b49bf2304d9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-index"."^1.0.0" =
-    self.by-version."array-index"."1.0.0";
-  by-version."array-index"."1.0.0" = self.buildNodePackage {
-    name = "array-index-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-index/-/array-index-1.0.0.tgz";
-      name = "array-index-1.0.0.tgz";
-      sha1 = "ec56a749ee103e4e08c790b9c353df16055b97f9";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "es6-symbol-3.1.0" = self.by-version."es6-symbol"."3.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-indexofobject"."~0.0.1" =
-    self.by-version."array-indexofobject"."0.0.1";
-  by-version."array-indexofobject"."0.0.1" = self.buildNodePackage {
-    name = "array-indexofobject-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-indexofobject/-/array-indexofobject-0.0.1.tgz";
-      name = "array-indexofobject-0.0.1.tgz";
-      sha1 = "aaa128e62c9b3c358094568c219ff64fe489d42a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-loop"."^1.0.0" =
-    self.by-version."array-loop"."1.0.0";
-  by-version."array-loop"."1.0.0" = self.buildNodePackage {
-    name = "array-loop-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-loop/-/array-loop-1.0.0.tgz";
-      name = "array-loop-1.0.0.tgz";
-      sha1 = "c033d086cf0d12af73aed5a99c0cedb37367b395";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-map"."~0.0.0" =
-    self.by-version."array-map"."0.0.0";
-  by-version."array-map"."0.0.0" = self.buildNodePackage {
-    name = "array-map-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-map/-/array-map-0.0.0.tgz";
-      name = "array-map-0.0.0.tgz";
-      sha1 = "88a2bab73d1cf7bcd5c1b118a003f66f665fa662";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-reduce"."~0.0.0" =
-    self.by-version."array-reduce"."0.0.0";
-  by-version."array-reduce"."0.0.0" = self.buildNodePackage {
-    name = "array-reduce-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-reduce/-/array-reduce-0.0.0.tgz";
-      name = "array-reduce-0.0.0.tgz";
-      sha1 = "173899d3ffd1c7d9383e4479525dbe278cab5f2b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-slice"."^0.2.3" =
-    self.by-version."array-slice"."0.2.3";
-  by-version."array-slice"."0.2.3" = self.buildNodePackage {
-    name = "array-slice-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-slice/-/array-slice-0.2.3.tgz";
-      name = "array-slice-0.2.3.tgz";
-      sha1 = "dd3cfb80ed7973a75117cdac69b0b99ec86186f5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-union"."^1.0.1" =
-    self.by-version."array-union"."1.0.1";
-  by-version."array-union"."1.0.1" = self.buildNodePackage {
-    name = "array-union-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-union/-/array-union-1.0.1.tgz";
-      name = "array-union-1.0.1.tgz";
-      sha1 = "4d410fc8395cb247637124bade9e3f547d5d55f2";
-    };
-    deps = {
-      "array-uniq-1.0.2" = self.by-version."array-uniq"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-uniq"."^1.0.1" =
-    self.by-version."array-uniq"."1.0.2";
-  by-version."array-uniq"."1.0.2" = self.buildNodePackage {
-    name = "array-uniq-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.2.tgz";
-      name = "array-uniq-1.0.2.tgz";
-      sha1 = "5fcc373920775723cfd64d65c64bef53bf9eba6d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."array-uniq"."^1.0.2" =
-    self.by-version."array-uniq"."1.0.2";
-  by-spec."array-unique"."^0.2.1" =
-    self.by-version."array-unique"."0.2.1";
-  by-version."array-unique"."0.2.1" = self.buildNodePackage {
-    name = "array-unique-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/array-unique/-/array-unique-0.2.1.tgz";
-      name = "array-unique-0.2.1.tgz";
-      sha1 = "a1d97ccafcbc2625cc70fadceb36a50c58b01a53";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."arraybuffer.slice"."0.0.6" =
-    self.by-version."arraybuffer.slice"."0.0.6";
-  by-version."arraybuffer.slice"."0.0.6" = self.buildNodePackage {
-    name = "arraybuffer.slice-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.6.tgz";
-      name = "arraybuffer.slice-0.0.6.tgz";
-      sha1 = "f33b2159f0532a3f3107a272c0ccfbd1ad2979ca";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."arrify"."^1.0.0" =
-    self.by-version."arrify"."1.0.1";
-  by-version."arrify"."1.0.1" = self.buildNodePackage {
-    name = "arrify-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz";
-      name = "arrify-1.0.1.tgz";
-      sha1 = "898508da2226f380df904728456849c1501a4b0d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asap"."^2.0.0" =
-    self.by-version."asap"."2.0.4";
-  by-version."asap"."2.0.4" = self.buildNodePackage {
-    name = "asap-2.0.4";
-    version = "2.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/asap/-/asap-2.0.4.tgz";
-      name = "asap-2.0.4.tgz";
-      sha1 = "b391bf7f6bfbc65706022fec8f49c4b07fecf589";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asap"."~1.0.0" =
-    self.by-version."asap"."1.0.0";
-  by-version."asap"."1.0.0" = self.buildNodePackage {
-    name = "asap-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/asap/-/asap-1.0.0.tgz";
-      name = "asap-1.0.0.tgz";
-      sha1 = "b2a45da5fdfa20b0496fc3768cc27c12fa916a7d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asap"."~2.0.3" =
-    self.by-version."asap"."2.0.4";
-  by-spec."ascii-json"."~0.2" =
-    self.by-version."ascii-json"."0.2.0";
-  by-version."ascii-json"."0.2.0" = self.buildNodePackage {
-    name = "ascii-json-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ascii-json/-/ascii-json-0.2.0.tgz";
-      name = "ascii-json-0.2.0.tgz";
-      sha1 = "10ddb361fd48f72595309fd10a6ea2e7bf2c9218";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ascli"."~0.3" =
-    self.by-version."ascli"."0.3.0";
-  by-version."ascli"."0.3.0" = self.buildNodePackage {
-    name = "ascli-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ascli/-/ascli-0.3.0.tgz";
-      name = "ascli-0.3.0.tgz";
-      sha1 = "5e66230e5219fe3e8952a4efb4f20fae596a813a";
-    };
-    deps = {
-      "colour-0.7.1" = self.by-version."colour"."0.7.1";
-      "optjs-3.2.2" = self.by-version."optjs"."3.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asn1"."0.1.11" =
-    self.by-version."asn1"."0.1.11";
-  by-version."asn1"."0.1.11" = self.buildNodePackage {
-    name = "asn1-0.1.11";
-    version = "0.1.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/asn1/-/asn1-0.1.11.tgz";
-      name = "asn1-0.1.11.tgz";
-      sha1 = "559be18376d08a4ec4dbe80877d27818639b2df7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asn1"."0.2.1" =
-    self.by-version."asn1"."0.2.1";
-  by-version."asn1"."0.2.1" = self.buildNodePackage {
-    name = "asn1-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/asn1/-/asn1-0.2.1.tgz";
-      name = "asn1-0.2.1.tgz";
-      sha1 = "ecc73f75d31ea3c6ed9d47428db35fecc7b2c6dc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asn1".">=0.2.3 <0.3.0" =
-    self.by-version."asn1"."0.2.3";
-  by-version."asn1"."0.2.3" = self.buildNodePackage {
-    name = "asn1-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/asn1/-/asn1-0.2.3.tgz";
-      name = "asn1-0.2.3.tgz";
-      sha1 = "dac8787713c9966849fc8180777ebe9c1ddf3b86";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."asn1"."~0.2.3" =
-    self.by-version."asn1"."0.2.3";
-  by-spec."asn1.js"."^4.0.0" =
-    self.by-version."asn1.js"."4.6.2";
-  by-version."asn1.js"."4.6.2" = self.buildNodePackage {
-    name = "asn1.js-4.6.2";
-    version = "4.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/asn1.js/-/asn1.js-4.6.2.tgz";
-      name = "asn1.js-4.6.2.tgz";
-      sha1 = "c7c5a3444a45d40e7c56416400d00b33fd78247f";
-    };
-    deps = {
-      "bn.js-4.11.4" = self.by-version."bn.js"."4.11.4";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimalistic-assert-1.0.0" = self.by-version."minimalistic-assert"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assert"."*" =
-    self.by-version."assert"."1.4.1";
-  by-version."assert"."1.4.1" = self.buildNodePackage {
-    name = "assert-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/assert/-/assert-1.4.1.tgz";
-      name = "assert-1.4.1.tgz";
-      sha1 = "99912d591836b5a6f5b345c0f07eefc08fc65d91";
-    };
-    deps = {
-      "util-0.10.3" = self.by-version."util"."0.10.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "assert" = self.by-version."assert"."1.4.1";
-  by-spec."assert"."^1.1.1" =
-    self.by-version."assert"."1.4.1";
-  by-spec."assert"."~1.3.0" =
-    self.by-version."assert"."1.3.0";
-  by-version."assert"."1.3.0" = self.buildNodePackage {
-    name = "assert-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/assert/-/assert-1.3.0.tgz";
-      name = "assert-1.3.0.tgz";
-      sha1 = "03939a622582a812cc202320a0b9a56c9b815849";
-    };
-    deps = {
-      "util-0.10.3" = self.by-version."util"."0.10.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assert-plus"."0.1.2" =
-    self.by-version."assert-plus"."0.1.2";
-  by-version."assert-plus"."0.1.2" = self.buildNodePackage {
-    name = "assert-plus-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.2.tgz";
-      name = "assert-plus-0.1.2.tgz";
-      sha1 = "d93ffdbb67ac5507779be316a7d65146417beef8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assert-plus"."0.1.5" =
-    self.by-version."assert-plus"."0.1.5";
-  by-version."assert-plus"."0.1.5" = self.buildNodePackage {
-    name = "assert-plus-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.1.5.tgz";
-      name = "assert-plus-0.1.5.tgz";
-      sha1 = "ee74009413002d84cec7219c6ac811812e723160";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assert-plus"."0.1.x" =
-    self.by-version."assert-plus"."0.1.5";
-  by-spec."assert-plus".">=0.1.5 <0.2.0" =
-    self.by-version."assert-plus"."0.1.5";
-  by-spec."assert-plus".">=0.2.0 <0.3.0" =
-    self.by-version."assert-plus"."0.2.0";
-  by-version."assert-plus"."0.2.0" = self.buildNodePackage {
-    name = "assert-plus-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/assert-plus/-/assert-plus-0.2.0.tgz";
-      name = "assert-plus-0.2.0.tgz";
-      sha1 = "d74e1b87e7affc0db8aadb7021f3fe48101ab234";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assert-plus"."^0.1.5" =
-    self.by-version."assert-plus"."0.1.5";
-  by-spec."assert-plus"."^0.2.0" =
-    self.by-version."assert-plus"."0.2.0";
-  by-spec."assert-plus"."^1.0.0" =
-    self.by-version."assert-plus"."1.0.0";
-  by-version."assert-plus"."1.0.0" = self.buildNodePackage {
-    name = "assert-plus-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz";
-      name = "assert-plus-1.0.0.tgz";
-      sha1 = "f12e0f3c5d77b0b1cdd9146942e4e96c1e4dd525";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."assertion-error"."^1.0.1" =
-    self.by-version."assertion-error"."1.0.2";
-  by-version."assertion-error"."1.0.2" = self.buildNodePackage {
-    name = "assertion-error-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/assertion-error/-/assertion-error-1.0.2.tgz";
-      name = "assertion-error-1.0.2.tgz";
-      sha1 = "13ca515d86206da0bac66e834dd397d87581094c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ast-traverse"."~0.1.1" =
-    self.by-version."ast-traverse"."0.1.1";
-  by-version."ast-traverse"."0.1.1" = self.buildNodePackage {
-    name = "ast-traverse-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ast-traverse/-/ast-traverse-0.1.1.tgz";
-      name = "ast-traverse-0.1.1.tgz";
-      sha1 = "69cf2b8386f19dcda1bb1e05d68fe359d8897de6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ast-types"."0.8.12" =
-    self.by-version."ast-types"."0.8.12";
-  by-version."ast-types"."0.8.12" = self.buildNodePackage {
-    name = "ast-types-0.8.12";
-    version = "0.8.12";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ast-types/-/ast-types-0.8.12.tgz";
-      name = "ast-types-0.8.12.tgz";
-      sha1 = "a0d90e4351bb887716c83fd637ebf818af4adfcc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ast-types"."0.8.15" =
-    self.by-version."ast-types"."0.8.15";
-  by-version."ast-types"."0.8.15" = self.buildNodePackage {
-    name = "ast-types-0.8.15";
-    version = "0.8.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ast-types/-/ast-types-0.8.15.tgz";
-      name = "ast-types-0.8.15.tgz";
-      sha1 = "8eef0827f04dff0ec8857ba925abe3fea6194e52";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ast-types"."~0.3.22" =
-    self.by-version."ast-types"."0.3.38";
-  by-version."ast-types"."0.3.38" = self.buildNodePackage {
-    name = "ast-types-0.3.38";
-    version = "0.3.38";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ast-types/-/ast-types-0.3.38.tgz";
-      name = "ast-types-0.3.38.tgz";
-      sha1 = "afe430e60b4db3ce2ed22ceea0f16f1c31763ef7";
-    };
-    deps = {
-      "private-0.1.6" = self.by-version."private"."0.1.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."astw"."^2.0.0" =
-    self.by-version."astw"."2.0.0";
-  by-version."astw"."2.0.0" = self.buildNodePackage {
-    name = "astw-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/astw/-/astw-2.0.0.tgz";
-      name = "astw-2.0.0.tgz";
-      sha1 = "08121ac8288d35611c0ceec663f6cd545604897d";
-    };
-    deps = {
-      "acorn-1.2.2" = self.by-version."acorn"."1.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."*" =
-    self.by-version."async"."2.0.0-rc.6";
-  by-version."async"."2.0.0-rc.6" = self.buildNodePackage {
-    name = "async-2.0.0-rc.6";
-    version = "2.0.0-rc.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-2.0.0-rc.6.tgz";
-      name = "async-2.0.0-rc.6.tgz";
-      sha1 = "978fc4155d1fc30b8b58fc3f020102b2da02f2a4";
-    };
-    deps = {
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "async" = self.by-version."async"."2.0.0-rc.6";
-  by-spec."async"."0.1.18" =
-    self.by-version."async"."0.1.18";
-  by-version."async"."0.1.18" = self.buildNodePackage {
-    name = "async-0.1.18";
-    version = "0.1.18";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-0.1.18.tgz";
-      name = "async-0.1.18.tgz";
-      sha1 = "c59c923920b76d5bf23248c04433920c4d45086a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."0.1.22" =
-    self.by-version."async"."0.1.22";
-  by-version."async"."0.1.22" = self.buildNodePackage {
-    name = "async-0.1.22";
-    version = "0.1.22";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-0.1.22.tgz";
-      name = "async-0.1.22.tgz";
-      sha1 = "0fc1aaa088a0e3ef0ebe2d8831bab0dcf8845061";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."0.1.x" =
-    self.by-version."async"."0.1.22";
-  by-spec."async"."0.2.9" =
-    self.by-version."async"."0.2.9";
-  by-version."async"."0.2.9" = self.buildNodePackage {
-    name = "async-0.2.9";
-    version = "0.2.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-0.2.9.tgz";
-      name = "async-0.2.9.tgz";
-      sha1 = "df63060fbf3d33286a76aaf6d55a2986d9ff8619";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."0.2.x" =
-    self.by-version."async"."0.2.10";
-  by-version."async"."0.2.10" = self.buildNodePackage {
-    name = "async-0.2.10";
-    version = "0.2.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-0.2.10.tgz";
-      name = "async-0.2.10.tgz";
-      sha1 = "b6bbe0b0674b9d719708ca38de8c237cb526c3d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."0.9.0" =
-    self.by-version."async"."0.9.0";
-  by-version."async"."0.9.0" = self.buildNodePackage {
-    name = "async-0.9.0";
-    version = "0.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-0.9.0.tgz";
-      name = "async-0.9.0.tgz";
-      sha1 = "ac3613b1da9bed1b47510bb4651b8931e47146c7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."0.9.x" =
-    self.by-version."async"."0.9.2";
-  by-version."async"."0.9.2" = self.buildNodePackage {
-    name = "async-0.9.2";
-    version = "0.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-0.9.2.tgz";
-      name = "async-0.9.2.tgz";
-      sha1 = "aea74d5e61c1f899613bf64bda66d4c78f2fd17d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."1.4.0" =
-    self.by-version."async"."1.4.0";
-  by-version."async"."1.4.0" = self.buildNodePackage {
-    name = "async-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-1.4.0.tgz";
-      name = "async-1.4.0.tgz";
-      sha1 = "35f86f83c59e0421d099cd9a91d8278fb578c00d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."1.4.2" =
-    self.by-version."async"."1.4.2";
-  by-version."async"."1.4.2" = self.buildNodePackage {
-    name = "async-1.4.2";
-    version = "1.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-1.4.2.tgz";
-      name = "async-1.4.2.tgz";
-      sha1 = "6c9edcb11ced4f0dd2f2d40db0d49a109c088aab";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."1.5.2" =
-    self.by-version."async"."1.5.2";
-  by-version."async"."1.5.2" = self.buildNodePackage {
-    name = "async-1.5.2";
-    version = "1.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-1.5.2.tgz";
-      name = "async-1.5.2.tgz";
-      sha1 = "ec6a61ae56480c0c3cb241c95618e20892f9672a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."1.x" =
-    self.by-version."async"."1.5.2";
-  by-spec."async"."2.0.0-rc.4" =
-    self.by-version."async"."2.0.0-rc.4";
-  by-version."async"."2.0.0-rc.4" = self.buildNodePackage {
-    name = "async-2.0.0-rc.4";
-    version = "2.0.0-rc.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-2.0.0-rc.4.tgz";
-      name = "async-2.0.0-rc.4.tgz";
-      sha1 = "9b7f60724c17962a973f787419e0ebc5571dbad8";
-    };
-    deps = {
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async".">=0.2.9" =
-    self.by-version."async"."1.5.2";
-  by-spec."async".">=0.9.0 <1.0.0-0" =
-    self.by-version."async"."0.9.2";
-  by-spec."async"."^0.9.0" =
-    self.by-version."async"."0.9.2";
-  by-spec."async"."^1.3.0" =
-    self.by-version."async"."1.5.2";
-  by-spec."async"."^1.4.0" =
-    self.by-version."async"."1.5.2";
-  by-spec."async"."^1.4.2" =
-    self.by-version."async"."1.5.2";
-  by-spec."async"."^1.5.0" =
-    self.by-version."async"."1.5.2";
-  by-spec."async"."^1.5.2" =
-    self.by-version."async"."1.5.2";
-  by-spec."async"."~0.1.22" =
-    self.by-version."async"."0.1.22";
-  by-spec."async"."~0.2.10" =
-    self.by-version."async"."0.2.10";
-  by-spec."async"."~0.2.6" =
-    self.by-version."async"."0.2.10";
-  by-spec."async"."~0.2.7" =
-    self.by-version."async"."0.2.10";
-  by-spec."async"."~0.2.9" =
-    self.by-version."async"."0.2.10";
-  by-spec."async"."~0.9" =
-    self.by-version."async"."0.9.2";
-  by-spec."async"."~0.9.0" =
-    self.by-version."async"."0.9.2";
-  by-spec."async"."~1.0.0" =
-    self.by-version."async"."1.0.0";
-  by-version."async"."1.0.0" = self.buildNodePackage {
-    name = "async-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-1.0.0.tgz";
-      name = "async-1.0.0.tgz";
-      sha1 = "f8fc04ca3a13784ade9e1641af98578cfbd647a9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."~1.2.1" =
-    self.by-version."async"."1.2.1";
-  by-version."async"."1.2.1" = self.buildNodePackage {
-    name = "async-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async/-/async-1.2.1.tgz";
-      name = "async-1.2.1.tgz";
-      sha1 = "a4816a17cd5ff516dfa2c7698a453369b9790de0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async"."~1.4.2" =
-    self.by-version."async"."1.4.2";
-  by-spec."async"."~1.5.2" =
-    self.by-version."async"."1.5.2";
-  by-spec."async-each"."^1.0.0" =
-    self.by-version."async-each"."1.0.0";
-  by-version."async-each"."1.0.0" = self.buildNodePackage {
-    name = "async-each-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async-each/-/async-each-1.0.0.tgz";
-      name = "async-each-1.0.0.tgz";
-      sha1 = "b5319226c29d99277df63c8aee04093aa5f1d39f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."async-some"."~1.0.2" =
-    self.by-version."async-some"."1.0.2";
-  by-version."async-some"."1.0.2" = self.buildNodePackage {
-    name = "async-some-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/async-some/-/async-some-1.0.2.tgz";
-      name = "async-some-1.0.2.tgz";
-      sha1 = "4d8a81620d5958791b5b98f802d3207776e95509";
-    };
-    deps = {
-      "dezalgo-1.0.3" = self.by-version."dezalgo"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws-sdk"."*" =
-    self.by-version."aws-sdk"."2.3.19";
-  by-version."aws-sdk"."2.3.19" = self.buildNodePackage {
-    name = "aws-sdk-2.3.19";
-    version = "2.3.19";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.3.19.tgz";
-      name = "aws-sdk-2.3.19.tgz";
-      sha1 = "d040df16b1880fdf231a8d48139c8956191fc00e";
-    };
-    deps = {
-      "sax-1.1.5" = self.by-version."sax"."1.1.5";
-      "xml2js-0.4.15" = self.by-version."xml2js"."0.4.15";
-      "xmlbuilder-2.6.2" = self.by-version."xmlbuilder"."2.6.2";
-      "jmespath-0.15.0" = self.by-version."jmespath"."0.15.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "aws-sdk" = self.by-version."aws-sdk"."2.3.19";
-  by-spec."aws-sdk"."2.0.5" =
-    self.by-version."aws-sdk"."2.0.5";
-  by-version."aws-sdk"."2.0.5" = self.buildNodePackage {
-    name = "aws-sdk-2.0.5";
-    version = "2.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.0.5.tgz";
-      name = "aws-sdk-2.0.5.tgz";
-      sha1 = "f3ebb1898d0632b7b6672e8d77728cbbb69f98c6";
-    };
-    deps = {
-      "aws-sdk-apis-3.1.10" = self.by-version."aws-sdk-apis"."3.1.10";
-      "xml2js-0.2.6" = self.by-version."xml2js"."0.2.6";
-      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws-sdk"."2.x" =
-    self.by-version."aws-sdk"."2.3.19";
-  by-spec."aws-sdk".">=1.2.0 <2" =
-    self.by-version."aws-sdk"."1.18.0";
-  by-version."aws-sdk"."1.18.0" = self.buildNodePackage {
-    name = "aws-sdk-1.18.0";
-    version = "1.18.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-1.18.0.tgz";
-      name = "aws-sdk-1.18.0.tgz";
-      sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
-    };
-    deps = {
-      "xml2js-0.2.4" = self.by-version."xml2js"."0.2.4";
-      "xmlbuilder-0.4.2" = self.by-version."xmlbuilder"."0.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws-sdk".">=2.0.0 >=2.2.43 <3.0.0" =
-    self.by-version."aws-sdk"."2.3.19";
-  by-spec."aws-sdk"."^2.2.43" =
-    self.by-version."aws-sdk"."2.3.19";
-  by-spec."aws-sdk-apis"."3.x" =
-    self.by-version."aws-sdk-apis"."3.1.10";
-  by-version."aws-sdk-apis"."3.1.10" = self.buildNodePackage {
-    name = "aws-sdk-apis-3.1.10";
-    version = "3.1.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aws-sdk-apis/-/aws-sdk-apis-3.1.10.tgz";
-      name = "aws-sdk-apis-3.1.10.tgz";
-      sha1 = "4eed97f590a16cf080fd1b8d8cfdf2472de8ab0e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws-sign"."~0.2.0" =
-    self.by-version."aws-sign"."0.2.0";
-  by-version."aws-sign"."0.2.0" = self.buildNodePackage {
-    name = "aws-sign-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aws-sign/-/aws-sign-0.2.0.tgz";
-      name = "aws-sign-0.2.0.tgz";
-      sha1 = "c55013856c8194ec854a0cbec90aab5a04ce3ac5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws-sign"."~0.3.0" =
-    self.by-version."aws-sign"."0.3.0";
-  by-version."aws-sign"."0.3.0" = self.buildNodePackage {
-    name = "aws-sign-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aws-sign/-/aws-sign-0.3.0.tgz";
-      name = "aws-sign-0.3.0.tgz";
-      sha1 = "3d81ca69b474b1e16518728b51c24ff0bbedc6e9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws-sign2"."~0.5.0" =
-    self.by-version."aws-sign2"."0.5.0";
-  by-version."aws-sign2"."0.5.0" = self.buildNodePackage {
-    name = "aws-sign2-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.5.0.tgz";
-      name = "aws-sign2-0.5.0.tgz";
-      sha1 = "c57103f7a17fc037f02d7c2e64b602ea223f7d63";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws-sign2"."~0.6.0" =
-    self.by-version."aws-sign2"."0.6.0";
-  by-version."aws-sign2"."0.6.0" = self.buildNodePackage {
-    name = "aws-sign2-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.6.0.tgz";
-      name = "aws-sign2-0.6.0.tgz";
-      sha1 = "14342dd38dbcc94d0e5b87d763cd63612c0e794f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."aws4"."^1.2.1" =
-    self.by-version."aws4"."1.4.1";
-  by-version."aws4"."1.4.1" = self.buildNodePackage {
-    name = "aws4-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/aws4/-/aws4-1.4.1.tgz";
-      name = "aws4-1.4.1.tgz";
-      sha1 = "fde7d5292466d230e5ee0f4e038d9dfaab08fc61";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."babel-runtime"."^6.3.19" =
-    self.by-version."babel-runtime"."6.9.2";
-  by-version."babel-runtime"."6.9.2" = self.buildNodePackage {
-    name = "babel-runtime-6.9.2";
-    version = "6.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.9.2.tgz";
-      name = "babel-runtime-6.9.2.tgz";
-      sha1 = "d7fe391bc2cc29b8087c1d9b39878912e9fcfd59";
-    };
-    deps = {
-      "core-js-2.4.0" = self.by-version."core-js"."2.4.0";
-      "regenerator-runtime-0.9.5" = self.by-version."regenerator-runtime"."0.9.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."backbone"."*" =
-    self.by-version."backbone"."1.3.3";
-  by-version."backbone"."1.3.3" = self.buildNodePackage {
-    name = "backbone-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/backbone/-/backbone-1.3.3.tgz";
-      name = "backbone-1.3.3.tgz";
-      sha1 = "4cc80ea7cb1631ac474889ce40f2f8bc683b2999";
-    };
-    deps = {
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "backbone" = self.by-version."backbone"."1.3.3";
-  by-spec."backo2"."1.0.2" =
-    self.by-version."backo2"."1.0.2";
-  by-version."backo2"."1.0.2" = self.buildNodePackage {
-    name = "backo2-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz";
-      name = "backo2-1.0.2.tgz";
-      sha1 = "31ab1ac8b129363463e35b3ebb69f4dfcfba7947";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."backoff"."^2.4.0" =
-    self.by-version."backoff"."2.5.0";
-  by-version."backoff"."2.5.0" = self.buildNodePackage {
-    name = "backoff-2.5.0";
-    version = "2.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/backoff/-/backoff-2.5.0.tgz";
-      name = "backoff-2.5.0.tgz";
-      sha1 = "f616eda9d3e4b66b8ca7fca79f695722c5f8e26f";
-    };
-    deps = {
-      "precond-0.2.3" = self.by-version."precond"."0.2.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."backoff"."~2.3.0" =
-    self.by-version."backoff"."2.3.0";
-  by-version."backoff"."2.3.0" = self.buildNodePackage {
-    name = "backoff-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/backoff/-/backoff-2.3.0.tgz";
-      name = "backoff-2.3.0.tgz";
-      sha1 = "ee7c7e38093f92e472859db635e7652454fc21ea";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."balanced-match"."^0.4.1" =
-    self.by-version."balanced-match"."0.4.1";
-  by-version."balanced-match"."0.4.1" = self.buildNodePackage {
-    name = "balanced-match-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/balanced-match/-/balanced-match-0.4.1.tgz";
-      name = "balanced-match-0.4.1.tgz";
-      sha1 = "19053e2e0748eadb379da6c09d455cf5e1039335";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base-converter"."1.1.2" =
-    self.by-version."base-converter"."1.1.2";
-  by-version."base-converter"."1.1.2" = self.buildNodePackage {
-    name = "base-converter-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base-converter/-/base-converter-1.1.2.tgz";
-      name = "base-converter-1.1.2.tgz";
-      sha1 = "3abd417c6277c28bc3dedb6ac1af16d4b720615a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base62"."^1.1.0" =
-    self.by-version."base62"."1.1.1";
-  by-version."base62"."1.1.1" = self.buildNodePackage {
-    name = "base62-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base62/-/base62-1.1.1.tgz";
-      name = "base62-1.1.1.tgz";
-      sha1 = "974e82c11bd5e00816b508a7ed9c7b9086c9db6b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64-arraybuffer"."0.1.2" =
-    self.by-version."base64-arraybuffer"."0.1.2";
-  by-version."base64-arraybuffer"."0.1.2" = self.buildNodePackage {
-    name = "base64-arraybuffer-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.2.tgz";
-      name = "base64-arraybuffer-0.1.2.tgz";
-      sha1 = "474df4a9f2da24e05df3158c3b1db3c3cd46a154";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64-js"."0.0.8" =
-    self.by-version."base64-js"."0.0.8";
-  by-version."base64-js"."0.0.8" = self.buildNodePackage {
-    name = "base64-js-0.0.8";
-    version = "0.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz";
-      name = "base64-js-0.0.8.tgz";
-      sha1 = "1101e9544f4a76b1bc3b26d452ca96d7a35e7978";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64-js"."^1.0.2" =
-    self.by-version."base64-js"."1.1.2";
-  by-version."base64-js"."1.1.2" = self.buildNodePackage {
-    name = "base64-js-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base64-js/-/base64-js-1.1.2.tgz";
-      name = "base64-js-1.1.2.tgz";
-      sha1 = "d6400cac1c4c660976d90d07a04351d89395f5e8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64-url"."1.2.1" =
-    self.by-version."base64-url"."1.2.1";
-  by-version."base64-url"."1.2.1" = self.buildNodePackage {
-    name = "base64-url-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base64-url/-/base64-url-1.2.1.tgz";
-      name = "base64-url-1.2.1.tgz";
-      sha1 = "199fd661702a0e7b7dcae6e0698bb089c52f6d78";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64-url"."1.2.2" =
-    self.by-version."base64-url"."1.2.2";
-  by-version."base64-url"."1.2.2" = self.buildNodePackage {
-    name = "base64-url-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base64-url/-/base64-url-1.2.2.tgz";
-      name = "base64-url-1.2.2.tgz";
-      sha1 = "90af26ef8b0b67bc801b05eccf943345649008b3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64-url"."^1.2.1" =
-    self.by-version."base64-url"."1.2.2";
-  by-spec."base64id"."0.1.0" =
-    self.by-version."base64id"."0.1.0";
-  by-version."base64id"."0.1.0" = self.buildNodePackage {
-    name = "base64id-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base64id/-/base64id-0.1.0.tgz";
-      name = "base64id-0.1.0.tgz";
-      sha1 = "02ce0fdeee0cef4f40080e1e73e834f0b1bfce3f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64url"."~0.0.4" =
-    self.by-version."base64url"."0.0.6";
-  by-version."base64url"."0.0.6" = self.buildNodePackage {
-    name = "base64url-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base64url/-/base64url-0.0.6.tgz";
-      name = "base64url-0.0.6.tgz";
-      sha1 = "9597b36b330db1c42477322ea87ea8027499b82b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."base64url"."~1.0.4" =
-    self.by-version."base64url"."1.0.6";
-  by-version."base64url"."1.0.6" = self.buildNodePackage {
-    name = "base64url-1.0.6";
-    version = "1.0.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/base64url/-/base64url-1.0.6.tgz";
-      name = "base64url-1.0.6.tgz";
-      sha1 = "d64d375d68a7c640d912e2358d170dca5bb54681";
-    };
-    deps = {
-      "concat-stream-1.4.10" = self.by-version."concat-stream"."1.4.10";
-      "meow-2.0.0" = self.by-version."meow"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."basic-auth"."1.0.0" =
-    self.by-version."basic-auth"."1.0.0";
-  by-version."basic-auth"."1.0.0" = self.buildNodePackage {
-    name = "basic-auth-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.0.tgz";
-      name = "basic-auth-1.0.0.tgz";
-      sha1 = "111b2d9ff8e4e6d136b8c84ea5e096cb87351637";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."basic-auth"."1.0.3" =
-    self.by-version."basic-auth"."1.0.3";
-  by-version."basic-auth"."1.0.3" = self.buildNodePackage {
-    name = "basic-auth-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.3.tgz";
-      name = "basic-auth-1.0.3.tgz";
-      sha1 = "41f55523e589405038ee3567958c62a5ed70551a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."basic-auth"."^1.0.0" =
-    self.by-version."basic-auth"."1.0.4";
-  by-version."basic-auth"."1.0.4" = self.buildNodePackage {
-    name = "basic-auth-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/basic-auth/-/basic-auth-1.0.4.tgz";
-      name = "basic-auth-1.0.4.tgz";
-      sha1 = "030935b01de7c9b94a824b29f3fccb750d3a5290";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."basic-auth"."~1.0.3" =
-    self.by-version."basic-auth"."1.0.4";
-  by-spec."basic-auth-connect"."1.0.0" =
-    self.by-version."basic-auth-connect"."1.0.0";
-  by-version."basic-auth-connect"."1.0.0" = self.buildNodePackage {
-    name = "basic-auth-connect-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/basic-auth-connect/-/basic-auth-connect-1.0.0.tgz";
-      name = "basic-auth-connect-1.0.0.tgz";
-      sha1 = "fdb0b43962ca7b40456a7c2bb48fe173da2d2122";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."batbelt"."0.0.2" =
-    self.by-version."batbelt"."0.0.2";
-  by-version."batbelt"."0.0.2" = self.buildNodePackage {
-    name = "batbelt-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/batbelt/-/batbelt-0.0.2.tgz";
-      name = "batbelt-0.0.2.tgz";
-      sha1 = "2285bf5438b03502e5c5a3cdaf3ad68bf0ad4a65";
-    };
-    deps = {
-      "hashish-0.0.4" = self.by-version."hashish"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."batch"."0.5.0" =
-    self.by-version."batch"."0.5.0";
-  by-version."batch"."0.5.0" = self.buildNodePackage {
-    name = "batch-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/batch/-/batch-0.5.0.tgz";
-      name = "batch-0.5.0.tgz";
-      sha1 = "fd2e05a7a5d696b4db9314013e285d8ff3557ec3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."batch"."0.5.3" =
-    self.by-version."batch"."0.5.3";
-  by-version."batch"."0.5.3" = self.buildNodePackage {
-    name = "batch-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/batch/-/batch-0.5.3.tgz";
-      name = "batch-0.5.3.tgz";
-      sha1 = "3f3414f380321743bfc1042f9a83ff1d5824d464";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."batch"."^0.5.3" =
-    self.by-version."batch"."0.5.3";
-  by-spec."bcrypt"."*" =
-    self.by-version."bcrypt"."0.8.7";
-  by-version."bcrypt"."0.8.7" = self.buildNodePackage {
-    name = "bcrypt-0.8.7";
-    version = "0.8.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bcrypt/-/bcrypt-0.8.7.tgz";
-      name = "bcrypt-0.8.7.tgz";
-      sha1 = "bc3875a9afd0a7b2cd231a6a7f218a5ce156b093";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bcrypt" = self.by-version."bcrypt"."0.8.7";
-  by-spec."bcrypt"."0.8.5" =
-    self.by-version."bcrypt"."0.8.5";
-  by-version."bcrypt"."0.8.5" = self.buildNodePackage {
-    name = "bcrypt-0.8.5";
-    version = "0.8.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bcrypt/-/bcrypt-0.8.5.tgz";
-      name = "bcrypt-0.8.5.tgz";
-      sha1 = "8e5b81b4db80e944f440005979ca8d58a961861d";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.0.5" = self.by-version."nan"."2.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bcrypt".">=0.5.0" =
-    self.by-version."bcrypt"."0.8.7";
-  by-spec."bcryptjs"."2.3.0" =
-    self.by-version."bcryptjs"."2.3.0";
-  by-version."bcryptjs"."2.3.0" = self.buildNodePackage {
-    name = "bcryptjs-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bcryptjs/-/bcryptjs-2.3.0.tgz";
-      name = "bcryptjs-2.3.0.tgz";
-      sha1 = "5826900cfef7abaf3425c72e4d464de509b8c2ec";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."beeper"."^1.0.0" =
-    self.by-version."beeper"."1.1.0";
-  by-version."beeper"."1.1.0" = self.buildNodePackage {
-    name = "beeper-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/beeper/-/beeper-1.1.0.tgz";
-      name = "beeper-1.1.0.tgz";
-      sha1 = "9ee6fc1ce7f54feaace7ce73588b056037866a2c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."benchmark"."1.0.0" =
-    self.by-version."benchmark"."1.0.0";
-  by-version."benchmark"."1.0.0" = self.buildNodePackage {
-    name = "benchmark-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/benchmark/-/benchmark-1.0.0.tgz";
-      name = "benchmark-1.0.0.tgz";
-      sha1 = "2f1e2fa4c359f11122aa183082218e957e390c73";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bencode"."^0.10.0" =
-    self.by-version."bencode"."0.10.0";
-  by-version."bencode"."0.10.0" = self.buildNodePackage {
-    name = "bencode-0.10.0";
-    version = "0.10.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bencode/-/bencode-0.10.0.tgz";
-      name = "bencode-0.10.0.tgz";
-      sha1 = "717b36fc61c4e9cb3755f0a9f90996ee5b46f0d0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bencode"."^0.6.0" =
-    self.by-version."bencode"."0.6.0";
-  by-version."bencode"."0.6.0" = self.buildNodePackage {
-    name = "bencode-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bencode/-/bencode-0.6.0.tgz";
-      name = "bencode-0.6.0.tgz";
-      sha1 = "04d6190e1d7467c56a969e1a94d1668076eac050";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bencode"."^0.7.0" =
-    self.by-version."bencode"."0.7.0";
-  by-version."bencode"."0.7.0" = self.buildNodePackage {
-    name = "bencode-0.7.0";
-    version = "0.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bencode/-/bencode-0.7.0.tgz";
-      name = "bencode-0.7.0.tgz";
-      sha1 = "811ed647c0118945e41bb4bbbdea9a2c78a17083";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bencode"."^0.8.0" =
-    self.by-version."bencode"."0.8.0";
-  by-version."bencode"."0.8.0" = self.buildNodePackage {
-    name = "bencode-0.8.0";
-    version = "0.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bencode/-/bencode-0.8.0.tgz";
-      name = "bencode-0.8.0.tgz";
-      sha1 = "3143448e82b0fadc745633ecc2a5f8fa87932f19";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bencode"."^0.9.0" =
-    self.by-version."bencode"."0.9.0";
-  by-version."bencode"."0.9.0" = self.buildNodePackage {
-    name = "bencode-0.9.0";
-    version = "0.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bencode/-/bencode-0.9.0.tgz";
-      name = "bencode-0.9.0.tgz";
-      sha1 = "6bd263e8e7b5362212e0541c2dbf75b330592bfe";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."better-assert"."~1.0.0" =
-    self.by-version."better-assert"."1.0.2";
-  by-version."better-assert"."1.0.2" = self.buildNodePackage {
-    name = "better-assert-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz";
-      name = "better-assert-1.0.2.tgz";
-      sha1 = "40866b9e1b9e0b55b481894311e68faffaebc522";
-    };
-    deps = {
-      "callsite-1.0.0" = self.by-version."callsite"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."biased-opener"."~0.2.2" =
-    self.by-version."biased-opener"."0.2.8";
-  by-version."biased-opener"."0.2.8" = self.buildNodePackage {
-    name = "biased-opener-0.2.8";
-    version = "0.2.8";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/biased-opener/-/biased-opener-0.2.8.tgz";
-      name = "biased-opener-0.2.8.tgz";
-      sha1 = "159a49b9a9714c1fb102f2e0ed1906fab6a450f4";
-    };
-    deps = {
-      "browser-launcher2-0.4.6" = self.by-version."browser-launcher2"."0.4.6";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "x-default-browser-0.3.1" = self.by-version."x-default-browser"."0.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."big-integer"."^1.6.7" =
-    self.by-version."big-integer"."1.6.15";
-  by-version."big-integer"."1.6.15" = self.buildNodePackage {
-    name = "big-integer-1.6.15";
-    version = "1.6.15";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/big-integer/-/big-integer-1.6.15.tgz";
-      name = "big-integer-1.6.15.tgz";
-      sha1 = "33d27d3b7388dfcc4b86d3130c10740cec01fb9e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."big.js"."^3.1.3" =
-    self.by-version."big.js"."3.1.3";
-  by-version."big.js"."3.1.3" = self.buildNodePackage {
-    name = "big.js-3.1.3";
-    version = "3.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/big.js/-/big.js-3.1.3.tgz";
-      name = "big.js-3.1.3.tgz";
-      sha1 = "4cada2193652eb3ca9ec8e55c9015669c9806978";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bigi"."^1.1.0" =
-    self.by-version."bigi"."1.4.1";
-  by-version."bigi"."1.4.1" = self.buildNodePackage {
-    name = "bigi-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bigi/-/bigi-1.4.1.tgz";
-      name = "bigi-1.4.1.tgz";
-      sha1 = "726e8ab08d1fe1dfb8aa6bb6309bffecf93a21b7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bignumber.js"."^1.3.0" =
-    self.by-version."bignumber.js"."1.5.0";
-  by-version."bignumber.js"."1.5.0" = self.buildNodePackage {
-    name = "bignumber.js-1.5.0";
-    version = "1.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-1.5.0.tgz";
-      name = "bignumber.js-1.5.0.tgz";
-      sha1 = "ff41453ac7b19ee15cda7977e179ff1b0d11956d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."binary-extensions"."^1.0.0" =
-    self.by-version."binary-extensions"."1.4.1";
-  by-version."binary-extensions"."1.4.1" = self.buildNodePackage {
-    name = "binary-extensions-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.4.1.tgz";
-      name = "binary-extensions-1.4.1.tgz";
-      sha1 = "be94c78b44d9f9c336d0de3088545d5efa8511a8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."binaryheap".">= 0.0.3" =
-    self.by-version."binaryheap"."0.0.3";
-  by-version."binaryheap"."0.0.3" = self.buildNodePackage {
-    name = "binaryheap-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/binaryheap/-/binaryheap-0.0.3.tgz";
-      name = "binaryheap-0.0.3.tgz";
-      sha1 = "0d6136c84e9f1a5a90c0b97178c3e00df59820d6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bindings"."*" =
-    self.by-version."bindings"."1.2.1";
-  by-version."bindings"."1.2.1" = self.buildNodePackage {
-    name = "bindings-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bindings/-/bindings-1.2.1.tgz";
-      name = "bindings-1.2.1.tgz";
-      sha1 = "14ad6113812d2d37d72e67b4cacb4bb726505f11";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bindings"."1.2.1" =
-    self.by-version."bindings"."1.2.1";
-  by-spec."bindings"."1.2.x" =
-    self.by-version."bindings"."1.2.1";
-  by-spec."bindings"."^1.2.1" =
-    self.by-version."bindings"."1.2.1";
-  by-spec."bindings"."~1.2.0" =
-    self.by-version."bindings"."1.2.1";
-  by-spec."bindings"."~1.2.1" =
-    self.by-version."bindings"."1.2.1";
-  by-spec."bip-pod".">=0.4.14" =
-    self.by-version."bip-pod"."0.4.21";
-  by-version."bip-pod"."0.4.21" = self.buildNodePackage {
-    name = "bip-pod-0.4.21";
-    version = "0.4.21";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod/-/bip-pod-0.4.21.tgz";
-      name = "bip-pod-0.4.21.tgz";
-      sha1 = "a7ff8f243fea3d7265756b7ea99f795fe8eb364e";
-    };
-    deps = {
-      "JSONPath-0.10.0" = self.by-version."JSONPath"."0.10.0";
-      "cron-1.1.0" = self.by-version."cron"."1.1.0";
-      "dns-0.2.2" = self.by-version."dns"."0.2.2";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "ipaddr.js-0.1.9" = self.by-version."ipaddr.js"."0.1.9";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "moment-2.13.0" = self.by-version."moment"."2.13.0";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "passport-0.3.2" = self.by-version."passport"."0.3.2";
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "tldtools-0.0.24" = self.by-version."tldtools"."0.0.24";
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-      "validator-1.5.1" = self.by-version."validator"."1.5.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bip-pod-alchemy"."*" =
-    self.by-version."bip-pod-alchemy"."0.3.3";
-  by-version."bip-pod-alchemy"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-alchemy-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-alchemy/-/bip-pod-alchemy-0.3.3.tgz";
-      name = "bip-pod-alchemy-0.3.3.tgz";
-      sha1 = "408ab1d2e776790528e3d8de52ae0375610067aa";
-    };
-    deps = {
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-alchemy" = self.by-version."bip-pod-alchemy"."0.3.3";
-  by-spec."bip-pod-chain"."*" =
-    self.by-version."bip-pod-chain"."0.3.3";
-  by-version."bip-pod-chain"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-chain-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-chain/-/bip-pod-chain-0.3.3.tgz";
-      name = "bip-pod-chain-0.3.3.tgz";
-      sha1 = "91c707e90af87bee3cbeed7376fc2aa5f13a6e92";
-    };
-    deps = {
-      "chain-node-3.1.2" = self.by-version."chain-node"."3.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-chain" = self.by-version."bip-pod-chain"."0.3.3";
-  by-spec."bip-pod-circonus"."*" =
-    self.by-version."bip-pod-circonus"."0.3.2";
-  by-version."bip-pod-circonus"."0.3.2" = self.buildNodePackage {
-    name = "bip-pod-circonus-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-circonus/-/bip-pod-circonus-0.3.2.tgz";
-      name = "bip-pod-circonus-0.3.2.tgz";
-      sha1 = "5c14d13f73a184323d7209558caba794e2e6ca46";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-circonus" = self.by-version."bip-pod-circonus"."0.3.2";
-  by-spec."bip-pod-coindesk"."*" =
-    self.by-version."bip-pod-coindesk"."0.3.3";
-  by-version."bip-pod-coindesk"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-coindesk-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-coindesk/-/bip-pod-coindesk-0.3.3.tgz";
-      name = "bip-pod-coindesk-0.3.3.tgz";
-      sha1 = "ec03674c79bbb84cbeec940af91aff28aa1505e2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-coindesk" = self.by-version."bip-pod-coindesk"."0.3.3";
-  by-spec."bip-pod-craigslist"."*" =
-    self.by-version."bip-pod-craigslist"."0.3.3";
-  by-version."bip-pod-craigslist"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-craigslist-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-craigslist/-/bip-pod-craigslist-0.3.3.tgz";
-      name = "bip-pod-craigslist-0.3.3.tgz";
-      sha1 = "e92becd2ad4ba05cd4895a2734ca270b7a850b4f";
-    };
-    deps = {
-      "node-craigslist-0.1.9" = self.by-version."node-craigslist"."0.1.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-craigslist" = self.by-version."bip-pod-craigslist"."0.3.3";
-  by-spec."bip-pod-crypto"."*" =
-    self.by-version."bip-pod-crypto"."0.3.3";
-  by-version."bip-pod-crypto"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-crypto-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-crypto/-/bip-pod-crypto-0.3.3.tgz";
-      name = "bip-pod-crypto-0.3.3.tgz";
-      sha1 = "b2e7e41af687ab4b4100c669039c816bc1ba887e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-crypto" = self.by-version."bip-pod-crypto"."0.3.3";
-  by-spec."bip-pod-crypto".">=0.0.1" =
-    self.by-version."bip-pod-crypto"."0.3.3";
-  by-spec."bip-pod-dropbox"."*" =
-    self.by-version."bip-pod-dropbox"."0.3.10";
-  by-version."bip-pod-dropbox"."0.3.10" = self.buildNodePackage {
-    name = "bip-pod-dropbox-0.3.10";
-    version = "0.3.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-dropbox/-/bip-pod-dropbox-0.3.10.tgz";
-      name = "bip-pod-dropbox-0.3.10.tgz";
-      sha1 = "d8b907772d28635b426958bc72d1e45d2d483760";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "passport-dropbox-2.0.0" = self.by-version."passport-dropbox"."2.0.0";
-      "dropbox-0.9.2" = self.by-version."dropbox"."0.9.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-dropbox" = self.by-version."bip-pod-dropbox"."0.3.10";
-  by-spec."bip-pod-email".">=0.0.1" =
-    self.by-version."bip-pod-email"."0.3.13";
-  by-version."bip-pod-email"."0.3.13" = self.buildNodePackage {
-    name = "bip-pod-email-0.3.13";
-    version = "0.3.13";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-email/-/bip-pod-email-0.3.13.tgz";
-      name = "bip-pod-email-0.3.13.tgz";
-      sha1 = "aa7dde292d2d967ccfc41d337d18c6422adfbcf3";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "nodemailer-0.7.1" = self.by-version."nodemailer"."0.7.1";
-      "ejs-0.7.1" = self.by-version."ejs"."0.7.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bip-pod-embedly"."*" =
-    self.by-version."bip-pod-embedly"."0.3.3";
-  by-version."bip-pod-embedly"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-embedly-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-embedly/-/bip-pod-embedly-0.3.3.tgz";
-      name = "bip-pod-embedly-0.3.3.tgz";
-      sha1 = "b28dbec6f95a3ce868476f8ace7129b5675e84bb";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "embedly-2.0.1" = self.by-version."embedly"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-embedly" = self.by-version."bip-pod-embedly"."0.3.3";
-  by-spec."bip-pod-evernote"."*" =
-    self.by-version."bip-pod-evernote"."0.3.5";
-  by-version."bip-pod-evernote"."0.3.5" = self.buildNodePackage {
-    name = "bip-pod-evernote-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-evernote/-/bip-pod-evernote-0.3.5.tgz";
-      name = "bip-pod-evernote-0.3.5.tgz";
-      sha1 = "81cc6d8d9c339410f97cb3eff8d82036b8f8d3ab";
-    };
-    deps = {
-      "evernote-1.25.82" = self.by-version."evernote"."1.25.82";
-      "passport-evernote-0.1.1" = self.by-version."passport-evernote"."0.1.1";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-      "xml2json-0.5.1" = self.by-version."xml2json"."0.5.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-evernote" = self.by-version."bip-pod-evernote"."0.3.5";
-  by-spec."bip-pod-facebook"."*" =
-    self.by-version."bip-pod-facebook"."0.3.10";
-  by-version."bip-pod-facebook"."0.3.10" = self.buildNodePackage {
-    name = "bip-pod-facebook-0.3.10";
-    version = "0.3.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-facebook/-/bip-pod-facebook-0.3.10.tgz";
-      name = "bip-pod-facebook-0.3.10.tgz";
-      sha1 = "688fa22e8a20c4d2a884f62d2f08a802a658c56c";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "async-0.1.18" = self.by-version."async"."0.1.18";
-      "fb-1.1.1" = self.by-version."fb"."1.1.1";
-      "passport-facebook-2.1.1" = self.by-version."passport-facebook"."2.1.1";
-      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-facebook" = self.by-version."bip-pod-facebook"."0.3.10";
-  by-spec."bip-pod-flickr"."*" =
-    self.by-version."bip-pod-flickr"."0.3.6";
-  by-version."bip-pod-flickr"."0.3.6" = self.buildNodePackage {
-    name = "bip-pod-flickr-0.3.6";
-    version = "0.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-flickr/-/bip-pod-flickr-0.3.6.tgz";
-      name = "bip-pod-flickr-0.3.6.tgz";
-      sha1 = "32978fb94d7bb06be3714cb682f4461631308243";
-    };
-    deps = {
-      "flickrapi-0.4.2" = self.by-version."flickrapi"."0.4.2";
-      "form-data-1.0.0-rc4" = self.by-version."form-data"."1.0.0-rc4";
-      "passport-flickr-0.2.0" = self.by-version."passport-flickr"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-flickr" = self.by-version."bip-pod-flickr"."0.3.6";
-  by-spec."bip-pod-flow".">=0.0.1" =
-    self.by-version."bip-pod-flow"."0.3.21";
-  by-version."bip-pod-flow"."0.3.21" = self.buildNodePackage {
-    name = "bip-pod-flow-0.3.21";
-    version = "0.3.21";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-flow/-/bip-pod-flow-0.3.21.tgz";
-      name = "bip-pod-flow-0.3.21.tgz";
-      sha1 = "38a7a60dabd27b2b90dd177317a84329b9a7676f";
-    };
-    deps = {
-      "generate-schema-2.1.1" = self.by-version."generate-schema"."2.1.1";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "q-1.0.1" = self.by-version."q"."1.0.1";
-      "safe-regex-0.0.1" = self.by-version."safe-regex"."0.0.1";
-      "xml2json-0.9.1" = self.by-version."xml2json"."0.9.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bip-pod-github"."*" =
-    self.by-version."bip-pod-github"."0.3.6";
-  by-version."bip-pod-github"."0.3.6" = self.buildNodePackage {
-    name = "bip-pod-github-0.3.6";
-    version = "0.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-github/-/bip-pod-github-0.3.6.tgz";
-      name = "bip-pod-github-0.3.6.tgz";
-      sha1 = "2b61c3adfd4fb98b11c22c4d1c9e562813725c2f";
-    };
-    deps = {
-      "passport-github-1.1.0" = self.by-version."passport-github"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-github" = self.by-version."bip-pod-github"."0.3.6";
-  by-spec."bip-pod-gmail"."*" =
-    self.by-version."bip-pod-gmail"."0.3.11";
-  by-version."bip-pod-gmail"."0.3.11" = self.buildNodePackage {
-    name = "bip-pod-gmail-0.3.11";
-    version = "0.3.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-gmail/-/bip-pod-gmail-0.3.11.tgz";
-      name = "bip-pod-gmail-0.3.11.tgz";
-      sha1 = "8fe14274ce632805cb4dd2f5a10d5ef718a1e77c";
-    };
-    deps = {
-      "googleapis-1.1.5" = self.by-version."googleapis"."1.1.5";
-      "passport-google-oauth-1.0.0" = self.by-version."passport-google-oauth"."1.0.0";
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-gmail" = self.by-version."bip-pod-gmail"."0.3.11";
-  by-spec."bip-pod-google"."*" =
-    self.by-version."bip-pod-google"."0.3.3";
-  by-version."bip-pod-google"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-google-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-google/-/bip-pod-google-0.3.3.tgz";
-      name = "bip-pod-google-0.3.3.tgz";
-      sha1 = "3551cf86b53101a05865f7b104f8b79bd18840a4";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "passport-google-oauth-1.0.0" = self.by-version."passport-google-oauth"."1.0.0";
-      "googleapis-0.8.0" = self.by-version."googleapis"."0.8.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-google" = self.by-version."bip-pod-google"."0.3.3";
-  by-spec."bip-pod-google-drive"."*" =
-    self.by-version."bip-pod-google-drive"."0.3.7";
-  by-version."bip-pod-google-drive"."0.3.7" = self.buildNodePackage {
-    name = "bip-pod-google-drive-0.3.7";
-    version = "0.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-google-drive/-/bip-pod-google-drive-0.3.7.tgz";
-      name = "bip-pod-google-drive-0.3.7.tgz";
-      sha1 = "9d5ff3c5cd9d95995e5ce63e6a1519121c2085ce";
-    };
-    deps = {
-      "googleapis-1.1.5" = self.by-version."googleapis"."1.1.5";
-      "passport-google-oauth-1.0.0" = self.by-version."passport-google-oauth"."1.0.0";
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "edit-google-spreadsheet-0.2.21" = self.by-version."edit-google-spreadsheet"."0.2.21";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-google-drive" = self.by-version."bip-pod-google-drive"."0.3.7";
-  by-spec."bip-pod-html".">=0.0.1" =
-    self.by-version."bip-pod-html"."0.3.7";
-  by-version."bip-pod-html"."0.3.7" = self.buildNodePackage {
-    name = "bip-pod-html-0.3.7";
-    version = "0.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-html/-/bip-pod-html-0.3.7.tgz";
-      name = "bip-pod-html-0.3.7.tgz";
-      sha1 = "3e22e5c87a85e3204f94f9d859bdecf5484e2716";
-    };
-    deps = {
-      "favitest-1.0.7" = self.by-version."favitest"."1.0.7";
-      "jsdom-3.1.2" = self.by-version."jsdom"."3.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bip-pod-http".">=0.0.1" =
-    self.by-version."bip-pod-http"."0.3.10";
-  by-version."bip-pod-http"."0.3.10" = self.buildNodePackage {
-    name = "bip-pod-http-0.3.10";
-    version = "0.3.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-http/-/bip-pod-http-0.3.10.tgz";
-      name = "bip-pod-http-0.3.10.tgz";
-      sha1 = "c679c5192847db6cb6d93ed38b0800db819cc3be";
-    };
-    deps = {
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bip-pod-imgur"."*" =
-    self.by-version."bip-pod-imgur"."0.3.1";
-  by-version."bip-pod-imgur"."0.3.1" = self.buildNodePackage {
-    name = "bip-pod-imgur-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-imgur/-/bip-pod-imgur-0.3.1.tgz";
-      name = "bip-pod-imgur-0.3.1.tgz";
-      sha1 = "b5d297900e46eb331d7af1c5608b82db65be243d";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "passport-imgur-0.0.3" = self.by-version."passport-imgur"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-imgur" = self.by-version."bip-pod-imgur"."0.3.1";
-  by-spec."bip-pod-instagram"."*" =
-    self.by-version."bip-pod-instagram"."0.3.4";
-  by-version."bip-pod-instagram"."0.3.4" = self.buildNodePackage {
-    name = "bip-pod-instagram-0.3.4";
-    version = "0.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-instagram/-/bip-pod-instagram-0.3.4.tgz";
-      name = "bip-pod-instagram-0.3.4.tgz";
-      sha1 = "5211db13706f69d4bfafd1a8aa8aed16dacb4470";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "passport-instagram-1.0.0" = self.by-version."passport-instagram"."1.0.0";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-instagram" = self.by-version."bip-pod-instagram"."0.3.4";
-  by-spec."bip-pod-kato"."*" =
-    self.by-version."bip-pod-kato"."0.3.2";
-  by-version."bip-pod-kato"."0.3.2" = self.buildNodePackage {
-    name = "bip-pod-kato-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-kato/-/bip-pod-kato-0.3.2.tgz";
-      name = "bip-pod-kato-0.3.2.tgz";
-      sha1 = "1805eabaa437a2e99c5b6a5e224da89dc9c506e6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-kato" = self.by-version."bip-pod-kato"."0.3.2";
-  by-spec."bip-pod-keenio"."*" =
-    self.by-version."bip-pod-keenio"."0.3.5";
-  by-version."bip-pod-keenio"."0.3.5" = self.buildNodePackage {
-    name = "bip-pod-keenio-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-keenio/-/bip-pod-keenio-0.3.5.tgz";
-      name = "bip-pod-keenio-0.3.5.tgz";
-      sha1 = "762ea8d08d6d662af6e6978741dac4cfd762b24c";
-    };
-    deps = {
-      "keen-js-3.4.1" = self.by-version."keen-js"."3.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-keenio" = self.by-version."bip-pod-keenio"."0.3.5";
-  by-spec."bip-pod-mailchimp"."*" =
-    self.by-version."bip-pod-mailchimp"."0.3.7";
-  by-version."bip-pod-mailchimp"."0.3.7" = self.buildNodePackage {
-    name = "bip-pod-mailchimp-0.3.7";
-    version = "0.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-mailchimp/-/bip-pod-mailchimp-0.3.7.tgz";
-      name = "bip-pod-mailchimp-0.3.7.tgz";
-      sha1 = "5d477e491c289301f198138e444859259a953194";
-    };
-    deps = {
-      "passport-mailchimp-1.0.0" = self.by-version."passport-mailchimp"."1.0.0";
-      "mailchimp-1.2.0" = self.by-version."mailchimp"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-mailchimp" = self.by-version."bip-pod-mailchimp"."0.3.7";
-  by-spec."bip-pod-mailgun"."*" =
-    self.by-version."bip-pod-mailgun"."0.3.3";
-  by-version."bip-pod-mailgun"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-mailgun-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-mailgun/-/bip-pod-mailgun-0.3.3.tgz";
-      name = "bip-pod-mailgun-0.3.3.tgz";
-      sha1 = "0ceac6a71c2b805771338e505451b526951f39a9";
-    };
-    deps = {
-      "mailgun-js-0.6.9" = self.by-version."mailgun-js"."0.6.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-mailgun" = self.by-version."bip-pod-mailgun"."0.3.3";
-  by-spec."bip-pod-math".">=0.0.1" =
-    self.by-version."bip-pod-math"."0.3.9";
-  by-version."bip-pod-math"."0.3.9" = self.buildNodePackage {
-    name = "bip-pod-math-0.3.9";
-    version = "0.3.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-math/-/bip-pod-math-0.3.9.tgz";
-      name = "bip-pod-math-0.3.9.tgz";
-      sha1 = "d8be80cf29e6c134786b114ba403ca89c1f22f5c";
-    };
-    deps = {
-      "mathjs-0.19.0" = self.by-version."mathjs"."0.19.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bip-pod-mixcloud"."*" =
-    self.by-version."bip-pod-mixcloud"."0.3.1";
-  by-version."bip-pod-mixcloud"."0.3.1" = self.buildNodePackage {
-    name = "bip-pod-mixcloud-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-mixcloud/-/bip-pod-mixcloud-0.3.1.tgz";
-      name = "bip-pod-mixcloud-0.3.1.tgz";
-      sha1 = "becc444edef870491704a6865ff26b8f476bfcfe";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "passport-mixcloud-0.0.2" = self.by-version."passport-mixcloud"."0.0.2";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-mixcloud" = self.by-version."bip-pod-mixcloud"."0.3.1";
-  by-spec."bip-pod-mongodb"."*" =
-    self.by-version."bip-pod-mongodb"."0.3.4";
-  by-version."bip-pod-mongodb"."0.3.4" = self.buildNodePackage {
-    name = "bip-pod-mongodb-0.3.4";
-    version = "0.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-mongodb/-/bip-pod-mongodb-0.3.4.tgz";
-      name = "bip-pod-mongodb-0.3.4.tgz";
-      sha1 = "4df550d5d461b77796f17f0c5feadb6eb3c46e66";
-    };
-    deps = {
-      "mongodb-2.0.55" = self.by-version."mongodb"."2.0.55";
-      "assert-1.4.1" = self.by-version."assert"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-mongodb" = self.by-version."bip-pod-mongodb"."0.3.4";
-  by-spec."bip-pod-numerous"."*" =
-    self.by-version."bip-pod-numerous"."0.3.1";
-  by-version."bip-pod-numerous"."0.3.1" = self.buildNodePackage {
-    name = "bip-pod-numerous-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-numerous/-/bip-pod-numerous-0.3.1.tgz";
-      name = "bip-pod-numerous-0.3.1.tgz";
-      sha1 = "c4ab3790cc1ec424bd16dd0826c3239be34b049c";
-    };
-    deps = {
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-numerous" = self.by-version."bip-pod-numerous"."0.3.1";
-  by-spec."bip-pod-pushbullet"."*" =
-    self.by-version."bip-pod-pushbullet"."0.3.4";
-  by-version."bip-pod-pushbullet"."0.3.4" = self.buildNodePackage {
-    name = "bip-pod-pushbullet-0.3.4";
-    version = "0.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-pushbullet/-/bip-pod-pushbullet-0.3.4.tgz";
-      name = "bip-pod-pushbullet-0.3.4.tgz";
-      sha1 = "e0cd03c6029b346768987c769a28a86f23a9379f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-pushbullet" = self.by-version."bip-pod-pushbullet"."0.3.4";
-  by-spec."bip-pod-pusher"."*" =
-    self.by-version."bip-pod-pusher"."0.3.2";
-  by-version."bip-pod-pusher"."0.3.2" = self.buildNodePackage {
-    name = "bip-pod-pusher-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-pusher/-/bip-pod-pusher-0.3.2.tgz";
-      name = "bip-pod-pusher-0.3.2.tgz";
-      sha1 = "8cc71c54d9b0f9bd0c39069f8007020be1fdf26f";
-    };
-    deps = {
-      "pusher-1.3.0" = self.by-version."pusher"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-pusher" = self.by-version."bip-pod-pusher"."0.3.2";
-  by-spec."bip-pod-soundcloud"."*" =
-    self.by-version."bip-pod-soundcloud"."0.3.3";
-  by-version."bip-pod-soundcloud"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-soundcloud-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-soundcloud/-/bip-pod-soundcloud-0.3.3.tgz";
-      name = "bip-pod-soundcloud-0.3.3.tgz";
-      sha1 = "ab75df5bac1588d185957075422bfae24d9a4a13";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "passport-soundcloud-0.2.0" = self.by-version."passport-soundcloud"."0.2.0";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-soundcloud" = self.by-version."bip-pod-soundcloud"."0.3.3";
-  by-spec."bip-pod-statuscake"."*" =
-    self.by-version."bip-pod-statuscake"."0.3.2";
-  by-version."bip-pod-statuscake"."0.3.2" = self.buildNodePackage {
-    name = "bip-pod-statuscake-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-statuscake/-/bip-pod-statuscake-0.3.2.tgz";
-      name = "bip-pod-statuscake-0.3.2.tgz";
-      sha1 = "728b05d5ea6d4a16d60cfba0caae6a6b5b2b5851";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-statuscake" = self.by-version."bip-pod-statuscake"."0.3.2";
-  by-spec."bip-pod-syndication".">=0.4.5" =
-    self.by-version."bip-pod-syndication"."0.4.7";
-  by-version."bip-pod-syndication"."0.4.7" = self.buildNodePackage {
-    name = "bip-pod-syndication-0.4.7";
-    version = "0.4.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-syndication/-/bip-pod-syndication-0.4.7.tgz";
-      name = "bip-pod-syndication-0.4.7.tgz";
-      sha1 = "4c2ff80f808b74df8453c1213cbe8132d99f98e2";
-    };
-    deps = {
-      "ejs-2.4.2" = self.by-version."ejs"."2.4.2";
-      "favitest-1.0.7" = self.by-version."favitest"."1.0.7";
-      "feedparser-1.1.4" = self.by-version."feedparser"."1.1.4";
-      "htmlparser2-3.9.0" = self.by-version."htmlparser2"."3.9.0";
-      "imagemagick-0.1.3" = self.by-version."imagemagick"."0.1.3";
-      "moment-2.13.0" = self.by-version."moment"."2.13.0";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "rss-1.2.1" = self.by-version."rss"."1.2.1";
-      "send-0.9.3" = self.by-version."send"."0.9.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bip-pod-templater".">=0.0.1" =
-    self.by-version."bip-pod-templater"."0.3.3";
-  by-version."bip-pod-templater"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-templater-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-templater/-/bip-pod-templater-0.3.3.tgz";
-      name = "bip-pod-templater-0.3.3.tgz";
-      sha1 = "7a3f033867568c1513beaa4d525ebe1a29cbb479";
-    };
-    deps = {
-      "html-md-3.0.2" = self.by-version."html-md"."3.0.2";
-      "marked-0.3.5" = self.by-version."marked"."0.3.5";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bip-pod-time".">=0.0.1" =
-    self.by-version."bip-pod-time"."0.3.6";
-  by-version."bip-pod-time"."0.3.6" = self.buildNodePackage {
-    name = "bip-pod-time-0.3.6";
-    version = "0.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-time/-/bip-pod-time-0.3.6.tgz";
-      name = "bip-pod-time-0.3.6.tgz";
-      sha1 = "3e5f0c8dc35fa60eec75d39e06e962aa1b2859bf";
-    };
-    deps = {
-      "moment-2.5.1" = self.by-version."moment"."2.5.1";
-      "moment-timezone-0.5.4" = self.by-version."moment-timezone"."0.5.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bip-pod-todoist"."*" =
-    self.by-version."bip-pod-todoist"."0.3.3";
-  by-version."bip-pod-todoist"."0.3.3" = self.buildNodePackage {
-    name = "bip-pod-todoist-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-todoist/-/bip-pod-todoist-0.3.3.tgz";
-      name = "bip-pod-todoist-0.3.3.tgz";
-      sha1 = "0ed1585f576dcaf302bbad22eb8ba6cb01db1631";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-todoist" = self.by-version."bip-pod-todoist"."0.3.3";
-  by-spec."bip-pod-trello"."*" =
-    self.by-version."bip-pod-trello"."0.3.5";
-  by-version."bip-pod-trello"."0.3.5" = self.buildNodePackage {
-    name = "bip-pod-trello-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-trello/-/bip-pod-trello-0.3.5.tgz";
-      name = "bip-pod-trello-0.3.5.tgz";
-      sha1 = "fa64d3454c7bcb840b8c10e97d5770eb8781fa51";
-    };
-    deps = {
-      "passport-trello-0.1.5" = self.by-version."passport-trello"."0.1.5";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-trello" = self.by-version."bip-pod-trello"."0.3.5";
-  by-spec."bip-pod-twilio"."*" =
-    self.by-version."bip-pod-twilio"."0.3.6";
-  by-version."bip-pod-twilio"."0.3.6" = self.buildNodePackage {
-    name = "bip-pod-twilio-0.3.6";
-    version = "0.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-twilio/-/bip-pod-twilio-0.3.6.tgz";
-      name = "bip-pod-twilio-0.3.6.tgz";
-      sha1 = "e1afd32ec11784157f33a1f45005ae152e07072c";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "twilio-2.9.1" = self.by-version."twilio"."2.9.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-twilio" = self.by-version."bip-pod-twilio"."0.3.6";
-  by-spec."bip-pod-twitter"."*" =
-    self.by-version."bip-pod-twitter"."0.3.13";
-  by-version."bip-pod-twitter"."0.3.13" = self.buildNodePackage {
-    name = "bip-pod-twitter-0.3.13";
-    version = "0.3.13";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-twitter/-/bip-pod-twitter-0.3.13.tgz";
-      name = "bip-pod-twitter-0.3.13.tgz";
-      sha1 = "5365851183d7353172d0ebf8dfb46c6d868fb003";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "ntwitter-0.5.0" = self.by-version."ntwitter"."0.5.0";
-      "passport-twitter-1.0.4" = self.by-version."passport-twitter"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-twitter" = self.by-version."bip-pod-twitter"."0.3.13";
-  by-spec."bip-pod-witai"."*" =
-    self.by-version."bip-pod-witai"."0.3.1";
-  by-version."bip-pod-witai"."0.3.1" = self.buildNodePackage {
-    name = "bip-pod-witai-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-witai/-/bip-pod-witai-0.3.1.tgz";
-      name = "bip-pod-witai-0.3.1.tgz";
-      sha1 = "e98cce9202b765c252424fac0c25982e0d57eb27";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-witai" = self.by-version."bip-pod-witai"."0.3.1";
-  by-spec."bip-pod-wordpress"."*" =
-    self.by-version."bip-pod-wordpress"."0.3.1";
-  by-version."bip-pod-wordpress"."0.3.1" = self.buildNodePackage {
-    name = "bip-pod-wordpress-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-wordpress/-/bip-pod-wordpress-0.3.1.tgz";
-      name = "bip-pod-wordpress-0.3.1.tgz";
-      sha1 = "e5b2335a4459892d7aae4363456a946ca398bf4e";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "passport-wordpress-0.0.4" = self.by-version."passport-wordpress"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-wordpress" = self.by-version."bip-pod-wordpress"."0.3.1";
-  by-spec."bip-pod-zoho"."*" =
-    self.by-version."bip-pod-zoho"."0.3.2";
-  by-version."bip-pod-zoho"."0.3.2" = self.buildNodePackage {
-    name = "bip-pod-zoho-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bip-pod-zoho/-/bip-pod-zoho-0.3.2.tgz";
-      name = "bip-pod-zoho-0.3.2.tgz";
-      sha1 = "1ddb2aebaec1d65674fce7263f3a2e2390de5cea";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "xml2json-0.9.1" = self.by-version."xml2json"."0.9.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bip-pod-zoho" = self.by-version."bip-pod-zoho"."0.3.2";
-  by-spec."bipio"."*" =
-    self.by-version."bipio"."0.4.64";
-  by-version."bipio"."0.4.64" = self.buildNodePackage {
-    name = "bipio-0.4.64";
-    version = "0.4.64";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bipio/-/bipio-0.4.64.tgz";
-      name = "bipio-0.4.64.tgz";
-      sha1 = "e9aac42865e1cb37c9fda18c059cab4961e9bf18";
-    };
-    deps = {
-      "JSONPath-0.10.0" = self.by-version."JSONPath"."0.10.0";
-      "amqp-0.2.6" = self.by-version."amqp"."0.2.6";
-      "async-0.1.18" = self.by-version."async"."0.1.18";
-      "base-converter-1.1.2" = self.by-version."base-converter"."1.1.2";
-      "bcrypt-0.8.7" = self.by-version."bcrypt"."0.8.7";
-      "bip-pod-0.4.21" = self.by-version."bip-pod"."0.4.21";
-      "bip-pod-crypto-0.3.3" = self.by-version."bip-pod-crypto"."0.3.3";
-      "bip-pod-email-0.3.13" = self.by-version."bip-pod-email"."0.3.13";
-      "bip-pod-flow-0.3.21" = self.by-version."bip-pod-flow"."0.3.21";
-      "bip-pod-html-0.3.7" = self.by-version."bip-pod-html"."0.3.7";
-      "bip-pod-http-0.3.10" = self.by-version."bip-pod-http"."0.3.10";
-      "bip-pod-math-0.3.9" = self.by-version."bip-pod-math"."0.3.9";
-      "bip-pod-syndication-0.4.7" = self.by-version."bip-pod-syndication"."0.4.7";
-      "bip-pod-templater-0.3.3" = self.by-version."bip-pod-templater"."0.3.3";
-      "bip-pod-time-0.3.6" = self.by-version."bip-pod-time"."0.3.6";
-      "body-parser-1.13.3" = self.by-version."body-parser"."1.13.3";
-      "clone-1.0.2" = self.by-version."clone"."1.0.2";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "config-0.4.36" = self.by-version."config"."0.4.36";
-      "connect-2.30.2" = self.by-version."connect"."2.30.2";
-      "connect-mongo-0.8.2" = self.by-version."connect-mongo"."0.8.2";
-      "cookie-parser-1.4.3" = self.by-version."cookie-parser"."1.4.3";
-      "cron-1.1.0" = self.by-version."cron"."1.1.0";
-      "dateformat-1.0.7-1.2.3" = self.by-version."dateformat"."1.0.7-1.2.3";
-      "datejs-0.0.2" = self.by-version."datejs"."0.0.2";
-      "errorhandler-1.4.3" = self.by-version."errorhandler"."1.4.3";
-      "express-4.13.4" = self.by-version."express"."4.13.4";
-      "express-session-1.13.0" = self.by-version."express-session"."1.13.0";
-      "extend-2.0.1" = self.by-version."extend"."2.0.1";
-      "favitest-1.0.7" = self.by-version."favitest"."1.0.7";
-      "html-md-3.0.2" = self.by-version."html-md"."3.0.2";
-      "htmlencode-0.0.4" = self.by-version."htmlencode"."0.0.4";
-      "htmlparser2-3.9.0" = self.by-version."htmlparser2"."3.9.0";
-      "imagemagick-0.1.3" = self.by-version."imagemagick"."0.1.3";
-      "inquirer-1.0.3" = self.by-version."inquirer"."1.0.3";
-      "ipaddr.js-1.1.1" = self.by-version."ipaddr.js"."1.1.1";
-      "json-middleware-1.0.2" = self.by-version."json-middleware"."1.0.2";
-      "jsonwebtoken-7.0.0" = self.by-version."jsonwebtoken"."7.0.0";
-      "ldapjs-0.7.1" = self.by-version."ldapjs"."0.7.1";
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-      "marked-0.3.5" = self.by-version."marked"."0.3.5";
-      "method-override-1.0.2" = self.by-version."method-override"."1.0.2";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "moment-2.13.0" = self.by-version."moment"."2.13.0";
-      "moment-timezone-0.5.4" = self.by-version."moment-timezone"."0.5.4";
-      "mongoose-4.2.3" = self.by-version."mongoose"."4.2.3";
-      "multer-0.1.8" = self.by-version."multer"."0.1.8";
-      "node-fs-0.1.7" = self.by-version."node-fs"."0.1.7";
-      "node-uuid-1.3.3" = self.by-version."node-uuid"."1.3.3";
-      "passport-0.3.2" = self.by-version."passport"."0.3.2";
-      "pkgcloud-1.3.0" = self.by-version."pkgcloud"."1.3.0";
-      "posix-getopt-1.1.0" = self.by-version."posix-getopt"."1.1.0";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "rrecur-2.0.0" = self.by-version."rrecur"."2.0.0";
-      "sleep-3.0.1" = self.by-version."sleep"."3.0.1";
-      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
-      "ssl-root-cas-1.1.10" = self.by-version."ssl-root-cas"."1.1.10";
-      "sugar-1.4.1" = self.by-version."sugar"."1.4.1";
-      "sync-exec-0.6.2" = self.by-version."sync-exec"."0.6.2";
-      "temp-0.8.3" = self.by-version."temp"."0.8.3";
-      "time-0.11.4" = self.by-version."time"."0.11.4";
-      "tldtools-0.0.24" = self.by-version."tldtools"."0.0.24";
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-      "validator-1.5.1" = self.by-version."validator"."1.5.1";
-      "winston-1.0.0" = self.by-version."winston"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bipio" = self.by-version."bipio"."0.4.64";
-  by-spec."bitcoinjs-lib"."1.2.0" =
-    self.by-version."bitcoinjs-lib"."1.2.0";
-  by-version."bitcoinjs-lib"."1.2.0" = self.buildNodePackage {
-    name = "bitcoinjs-lib-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bitcoinjs-lib/-/bitcoinjs-lib-1.2.0.tgz";
-      name = "bitcoinjs-lib-1.2.0.tgz";
-      sha1 = "731ce2f24b6065f8d9af18757516eed882ad1619";
-    };
-    deps = {
-      "bigi-1.4.1" = self.by-version."bigi"."1.4.1";
-      "bs58check-1.0.3" = self.by-version."bs58check"."1.0.3";
-      "crypto-browserify-3.11.0" = self.by-version."crypto-browserify"."3.11.0";
-      "ecurve-1.0.0" = self.by-version."ecurve"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bitfield"."^0.1.0" =
-    self.by-version."bitfield"."0.1.0";
-  by-version."bitfield"."0.1.0" = self.buildNodePackage {
-    name = "bitfield-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bitfield/-/bitfield-0.1.0.tgz";
-      name = "bitfield-0.1.0.tgz";
-      sha1 = "b05d8b5f0d09f2df35a9db3b3a62d3808c46c457";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bittorrent-dht"."^3.0.0" =
-    self.by-version."bittorrent-dht"."3.2.6";
-  by-version."bittorrent-dht"."3.2.6" = self.buildNodePackage {
-    name = "bittorrent-dht-3.2.6";
-    version = "3.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-3.2.6.tgz";
-      name = "bittorrent-dht-3.2.6.tgz";
-      sha1 = "8d6f64f002525951536ca403ddd040c03009b7d5";
-    };
-    deps = {
-      "addr-to-ip-port-1.4.2" = self.by-version."addr-to-ip-port"."1.4.2";
-      "bencode-0.7.0" = self.by-version."bencode"."0.7.0";
-      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
-      "compact2string-1.4.0" = self.by-version."compact2string"."1.4.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "hat-0.0.3" = self.by-version."hat"."0.0.3";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "is-ip-1.0.0" = self.by-version."is-ip"."1.0.0";
-      "k-bucket-0.5.0" = self.by-version."k-bucket"."0.5.0";
-      "network-address-1.1.0" = self.by-version."network-address"."1.1.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "run-parallel-1.1.6" = self.by-version."run-parallel"."1.1.6";
-      "simple-get-1.4.3" = self.by-version."simple-get"."1.4.3";
-      "string2compact-1.2.2" = self.by-version."string2compact"."1.2.2";
-      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bittorrent-dht"."^6.0.0" =
-    self.by-version."bittorrent-dht"."6.4.2";
-  by-version."bittorrent-dht"."6.4.2" = self.buildNodePackage {
-    name = "bittorrent-dht-6.4.2";
-    version = "6.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bittorrent-dht/-/bittorrent-dht-6.4.2.tgz";
-      name = "bittorrent-dht-6.4.2.tgz";
-      sha1 = "8b40f8cee6bea87f2b34fd2ae0bd367a8b1247a6";
-    };
-    deps = {
-      "bencode-0.7.0" = self.by-version."bencode"."0.7.0";
-      "buffer-equals-1.0.3" = self.by-version."buffer-equals"."1.0.3";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "k-bucket-0.6.0" = self.by-version."k-bucket"."0.6.0";
-      "k-rpc-3.7.0" = self.by-version."k-rpc"."3.7.0";
-      "lru-2.0.1" = self.by-version."lru"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bittorrent-tracker"."^2.6.0" =
-    self.by-version."bittorrent-tracker"."2.12.1";
-  by-version."bittorrent-tracker"."2.12.1" = self.buildNodePackage {
-    name = "bittorrent-tracker-2.12.1";
-    version = "2.12.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-2.12.1.tgz";
-      name = "bittorrent-tracker-2.12.1.tgz";
-      sha1 = "562f0e43c6340d003b08c5dad3d4bff0eb3fd64d";
-    };
-    deps = {
-      "bencode-0.6.0" = self.by-version."bencode"."0.6.0";
-      "bn.js-1.3.0" = self.by-version."bn.js"."1.3.0";
-      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
-      "compact2string-1.4.0" = self.by-version."compact2string"."1.4.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "extend.js-0.0.2" = self.by-version."extend.js"."0.0.2";
-      "hat-0.0.3" = self.by-version."hat"."0.0.3";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "ip-0.3.3" = self.by-version."ip"."0.3.3";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "portfinder-0.3.0" = self.by-version."portfinder"."0.3.0";
-      "run-series-1.1.4" = self.by-version."run-series"."1.1.4";
-      "simple-get-1.4.3" = self.by-version."simple-get"."1.4.3";
-      "string2compact-1.2.2" = self.by-version."string2compact"."1.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bittorrent-tracker"."^7.0.0" =
-    self.by-version."bittorrent-tracker"."7.7.0";
-  by-version."bittorrent-tracker"."7.7.0" = self.buildNodePackage {
-    name = "bittorrent-tracker-7.7.0";
-    version = "7.7.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bittorrent-tracker/-/bittorrent-tracker-7.7.0.tgz";
-      name = "bittorrent-tracker-7.7.0.tgz";
-      sha1 = "ffd2eabc141d36ed5c1817df7e992f91fd7fc65c";
-    };
-    deps = {
-      "bencode-0.8.0" = self.by-version."bencode"."0.8.0";
-      "bn.js-4.11.4" = self.by-version."bn.js"."4.11.4";
-      "compact2string-1.4.0" = self.by-version."compact2string"."1.4.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "hat-0.0.3" = self.by-version."hat"."0.0.3";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "ip-1.1.3" = self.by-version."ip"."1.1.3";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "random-iterate-1.0.1" = self.by-version."random-iterate"."1.0.1";
-      "run-parallel-1.1.6" = self.by-version."run-parallel"."1.1.6";
-      "run-series-1.1.4" = self.by-version."run-series"."1.1.4";
-      "simple-get-2.2.0" = self.by-version."simple-get"."2.2.0";
-      "simple-peer-6.0.4" = self.by-version."simple-peer"."6.0.4";
-      "simple-websocket-4.1.0" = self.by-version."simple-websocket"."4.1.0";
-      "string2compact-1.2.2" = self.by-version."string2compact"."1.2.2";
-      "uniq-1.0.1" = self.by-version."uniq"."1.0.1";
-      "ws-1.1.0" = self.by-version."ws"."1.1.0";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bl"."^0.9.0" =
-    self.by-version."bl"."0.9.5";
-  by-version."bl"."0.9.5" = self.buildNodePackage {
-    name = "bl-0.9.5";
-    version = "0.9.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bl/-/bl-0.9.5.tgz";
-      name = "bl-0.9.5.tgz";
-      sha1 = "c06b797af085ea00bc527afc8efcf11de2232054";
-    };
-    deps = {
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bl"."^0.9.1" =
-    self.by-version."bl"."0.9.5";
-  by-spec."bl"."^1.0.0" =
-    self.by-version."bl"."1.1.2";
-  by-version."bl"."1.1.2" = self.buildNodePackage {
-    name = "bl-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bl/-/bl-1.1.2.tgz";
-      name = "bl-1.1.2.tgz";
-      sha1 = "fdca871a99713aa00d19e3bbba41c44787a65398";
-    };
-    deps = {
-      "readable-stream-2.0.6" = self.by-version."readable-stream"."2.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bl"."~0.8.1" =
-    self.by-version."bl"."0.8.2";
-  by-version."bl"."0.8.2" = self.buildNodePackage {
-    name = "bl-0.8.2";
-    version = "0.8.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bl/-/bl-0.8.2.tgz";
-      name = "bl-0.8.2.tgz";
-      sha1 = "c9b6bca08d1bc2ea00fc8afb4f1a5fd1e1c66e4e";
-    };
-    deps = {
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bl"."~0.9.0" =
-    self.by-version."bl"."0.9.5";
-  by-spec."bl"."~1.0.0" =
-    self.by-version."bl"."1.0.3";
-  by-version."bl"."1.0.3" = self.buildNodePackage {
-    name = "bl-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bl/-/bl-1.0.3.tgz";
-      name = "bl-1.0.3.tgz";
-      sha1 = "fc5421a28fd4226036c3b3891a66a25bc64d226e";
-    };
-    deps = {
-      "readable-stream-2.0.6" = self.by-version."readable-stream"."2.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bl"."~1.1.2" =
-    self.by-version."bl"."1.1.2";
-  by-spec."blob"."0.0.2" =
-    self.by-version."blob"."0.0.2";
-  by-version."blob"."0.0.2" = self.buildNodePackage {
-    name = "blob-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/blob/-/blob-0.0.2.tgz";
-      name = "blob-0.0.2.tgz";
-      sha1 = "b89562bd6994af95ba1e812155536333aa23cf24";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."blob"."0.0.4" =
-    self.by-version."blob"."0.0.4";
-  by-version."blob"."0.0.4" = self.buildNodePackage {
-    name = "blob-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/blob/-/blob-0.0.4.tgz";
-      name = "blob-0.0.4.tgz";
-      sha1 = "bcf13052ca54463f30f9fc7e95b9a47630a94921";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."blob-to-buffer"."^1.2.6" =
-    self.by-version."blob-to-buffer"."1.2.6";
-  by-version."blob-to-buffer"."1.2.6" = self.buildNodePackage {
-    name = "blob-to-buffer-1.2.6";
-    version = "1.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/blob-to-buffer/-/blob-to-buffer-1.2.6.tgz";
-      name = "blob-to-buffer-1.2.6.tgz";
-      sha1 = "089ac264c686b73ead6c539a484a8003bfbb2033";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."block-stream"."*" =
-    self.by-version."block-stream"."0.0.9";
-  by-version."block-stream"."0.0.9" = self.buildNodePackage {
-    name = "block-stream-0.0.9";
-    version = "0.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/block-stream/-/block-stream-0.0.9.tgz";
-      name = "block-stream-0.0.9.tgz";
-      sha1 = "13ebfe778a03205cfe03751481ebb4b3300c126a";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."block-stream"."0.0.9" =
-    self.by-version."block-stream"."0.0.9";
-  by-spec."bluebird"."2.10.2" =
-    self.by-version."bluebird"."2.10.2";
-  by-version."bluebird"."2.10.2" = self.buildNodePackage {
-    name = "bluebird-2.10.2";
-    version = "2.10.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bluebird/-/bluebird-2.10.2.tgz";
-      name = "bluebird-2.10.2.tgz";
-      sha1 = "024a5517295308857f14f91f1106fc3b555f446b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bluebird"."2.9.26" =
-    self.by-version."bluebird"."2.9.26";
-  by-version."bluebird"."2.9.26" = self.buildNodePackage {
-    name = "bluebird-2.9.26";
-    version = "2.9.26";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bluebird/-/bluebird-2.9.26.tgz";
-      name = "bluebird-2.9.26.tgz";
-      sha1 = "362772ea4d09f556a4b9f3b64c2fd136e87e3a55";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bluebird".">= 2.0" =
-    self.by-version."bluebird"."3.4.0";
-  by-version."bluebird"."3.4.0" = self.buildNodePackage {
-    name = "bluebird-3.4.0";
-    version = "3.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bluebird/-/bluebird-3.4.0.tgz";
-      name = "bluebird-3.4.0.tgz";
-      sha1 = "28b847935a8bb56d7ff1c7eba3631b09d5a49b24";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bluebird".">= 2.3.2 < 3" =
-    self.by-version."bluebird"."2.10.2";
-  by-spec."bluebird"."^2.9.27" =
-    self.by-version."bluebird"."2.10.2";
-  by-spec."bluebird"."^2.9.30" =
-    self.by-version."bluebird"."2.10.2";
-  by-spec."bluebird"."^3.0.5" =
-    self.by-version."bluebird"."3.4.0";
-  by-spec."bluebird"."^3.1.1" =
-    self.by-version."bluebird"."3.4.0";
-  by-spec."bluebird"."~3.2.2" =
-    self.by-version."bluebird"."3.2.2";
-  by-version."bluebird"."3.2.2" = self.buildNodePackage {
-    name = "bluebird-3.2.2";
-    version = "3.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bluebird/-/bluebird-3.2.2.tgz";
-      name = "bluebird-3.2.2.tgz";
-      sha1 = "164347d3fcab21eca9db849b4b856bec96041051";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."blueimp-md5"."~2.1.0" =
-    self.by-version."blueimp-md5"."2.1.0";
-  by-version."blueimp-md5"."2.1.0" = self.buildNodePackage {
-    name = "blueimp-md5-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.1.0.tgz";
-      name = "blueimp-md5-2.1.0.tgz";
-      sha1 = "88f76137be7f374cfc83b0db60891f57a5bb91d0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bn.js"."^1.0.0" =
-    self.by-version."bn.js"."1.3.0";
-  by-version."bn.js"."1.3.0" = self.buildNodePackage {
-    name = "bn.js-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bn.js/-/bn.js-1.3.0.tgz";
-      name = "bn.js-1.3.0.tgz";
-      sha1 = "0db4cbf96f8f23b742f5bcb9d1aa7a9994a05e83";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bn.js"."^4.0.0" =
-    self.by-version."bn.js"."4.11.4";
-  by-version."bn.js"."4.11.4" = self.buildNodePackage {
-    name = "bn.js-4.11.4";
-    version = "4.11.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bn.js/-/bn.js-4.11.4.tgz";
-      name = "bn.js-4.11.4.tgz";
-      sha1 = "59f0735fa52ff7f00e2cdd1ad207b7c8603d374d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bn.js"."^4.1.0" =
-    self.by-version."bn.js"."4.11.4";
-  by-spec."bn.js"."^4.1.1" =
-    self.by-version."bn.js"."4.11.4";
-  by-spec."bn.js"."^4.4.0" =
-    self.by-version."bn.js"."4.11.4";
-  by-spec."bncode"."^0.2.3" =
-    self.by-version."bncode"."0.2.3";
-  by-version."bncode"."0.2.3" = self.buildNodePackage {
-    name = "bncode-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bncode/-/bncode-0.2.3.tgz";
-      name = "bncode-0.2.3.tgz";
-      sha1 = "37f851dc8e47188a83fbc0f6fa4775cacc9a3296";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bncode"."^0.5.2" =
-    self.by-version."bncode"."0.5.3";
-  by-version."bncode"."0.5.3" = self.buildNodePackage {
-    name = "bncode-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bncode/-/bncode-0.5.3.tgz";
-      name = "bncode-0.5.3.tgz";
-      sha1 = "e16661697452d436bf9886238cc791b08d66a61a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."body-parser"."1.15.0" =
-    self.by-version."body-parser"."1.15.0";
-  by-version."body-parser"."1.15.0" = self.buildNodePackage {
-    name = "body-parser-1.15.0";
-    version = "1.15.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.15.0.tgz";
-      name = "body-parser-1.15.0.tgz";
-      sha1 = "8168abaeaf9e77e300f7b3aef4df4b46e9b21b35";
-    };
-    deps = {
-      "bytes-2.2.0" = self.by-version."bytes"."2.2.0";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "http-errors-1.4.0" = self.by-version."http-errors"."1.4.0";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "qs-6.1.0" = self.by-version."qs"."6.1.0";
-      "raw-body-2.1.6" = self.by-version."raw-body"."2.1.6";
-      "type-is-1.6.13" = self.by-version."type-is"."1.6.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."body-parser"."1.5.0" =
-    self.by-version."body-parser"."1.5.0";
-  by-version."body-parser"."1.5.0" = self.buildNodePackage {
-    name = "body-parser-1.5.0";
-    version = "1.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.5.0.tgz";
-      name = "body-parser-1.5.0.tgz";
-      sha1 = "c6fce2483c9eeb49ab349ff25a92d336d91055b9";
-    };
-    deps = {
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "depd-0.4.2" = self.by-version."depd"."0.4.2";
-      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
-      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
-      "raw-body-1.3.0" = self.by-version."raw-body"."1.3.0";
-      "type-is-1.3.2" = self.by-version."type-is"."1.3.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."body-parser".">=1.9.2 <2.0.0-0" =
-    self.by-version."body-parser"."1.15.1";
-  by-version."body-parser"."1.15.1" = self.buildNodePackage {
-    name = "body-parser-1.15.1";
-    version = "1.15.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.15.1.tgz";
-      name = "body-parser-1.15.1.tgz";
-      sha1 = "9bceef0669b8f8b943f0ad8ce5d95716bd740fd2";
-    };
-    deps = {
-      "bytes-2.3.0" = self.by-version."bytes"."2.3.0";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "http-errors-1.4.0" = self.by-version."http-errors"."1.4.0";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "qs-6.1.0" = self.by-version."qs"."6.1.0";
-      "raw-body-2.1.6" = self.by-version."raw-body"."2.1.6";
-      "type-is-1.6.13" = self.by-version."type-is"."1.6.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."body-parser"."^1.12.2" =
-    self.by-version."body-parser"."1.15.1";
-  by-spec."body-parser"."^1.12.4" =
-    self.by-version."body-parser"."1.15.1";
-  by-spec."body-parser"."~1.13.2" =
-    self.by-version."body-parser"."1.13.3";
-  by-version."body-parser"."1.13.3" = self.buildNodePackage {
-    name = "body-parser-1.13.3";
-    version = "1.13.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.13.3.tgz";
-      name = "body-parser-1.13.3.tgz";
-      sha1 = "c08cf330c3358e151016a05746f13f029c97fa97";
-    };
-    deps = {
-      "bytes-2.1.0" = self.by-version."bytes"."2.1.0";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "iconv-lite-0.4.11" = self.by-version."iconv-lite"."0.4.11";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "qs-4.0.0" = self.by-version."qs"."4.0.0";
-      "raw-body-2.1.6" = self.by-version."raw-body"."2.1.6";
-      "type-is-1.6.13" = self.by-version."type-is"."1.6.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."body-parser"."~1.13.3" =
-    self.by-version."body-parser"."1.13.3";
-  by-spec."body-parser"."~1.14.2" =
-    self.by-version."body-parser"."1.14.2";
-  by-version."body-parser"."1.14.2" = self.buildNodePackage {
-    name = "body-parser-1.14.2";
-    version = "1.14.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/body-parser/-/body-parser-1.14.2.tgz";
-      name = "body-parser-1.14.2.tgz";
-      sha1 = "1015cb1fe2c443858259581db53332f8d0cf50f9";
-    };
-    deps = {
-      "bytes-2.2.0" = self.by-version."bytes"."2.2.0";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "qs-5.2.0" = self.by-version."qs"."5.2.0";
-      "raw-body-2.1.6" = self.by-version."raw-body"."2.1.6";
-      "type-is-1.6.13" = self.by-version."type-is"."1.6.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bonjour"."^3.3.1" =
-    self.by-version."bonjour"."3.5.0";
-  by-version."bonjour"."3.5.0" = self.buildNodePackage {
-    name = "bonjour-3.5.0";
-    version = "3.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz";
-      name = "bonjour-3.5.0.tgz";
-      sha1 = "8e890a183d8ee9a2393b3844c691a42bcf7bc9f5";
-    };
-    deps = {
-      "array-flatten-2.1.0" = self.by-version."array-flatten"."2.1.0";
-      "deep-equal-1.0.1" = self.by-version."deep-equal"."1.0.1";
-      "dns-equal-1.0.0" = self.by-version."dns-equal"."1.0.0";
-      "dns-txt-2.0.2" = self.by-version."dns-txt"."2.0.2";
-      "multicast-dns-6.0.1" = self.by-version."multicast-dns"."6.0.1";
-      "multicast-dns-service-types-1.1.0" = self.by-version."multicast-dns-service-types"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."boolbase"."~1.0.0" =
-    self.by-version."boolbase"."1.0.0";
-  by-version."boolbase"."1.0.0" = self.buildNodePackage {
-    name = "boolbase-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz";
-      name = "boolbase-1.0.0.tgz";
-      sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."boom"."0.3.x" =
-    self.by-version."boom"."0.3.8";
-  by-version."boom"."0.3.8" = self.buildNodePackage {
-    name = "boom-0.3.8";
-    version = "0.3.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/boom/-/boom-0.3.8.tgz";
-      name = "boom-0.3.8.tgz";
-      sha1 = "c8cdb041435912741628c044ecc732d1d17c09ea";
-    };
-    deps = {
-      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."boom"."0.4.x" =
-    self.by-version."boom"."0.4.2";
-  by-version."boom"."0.4.2" = self.buildNodePackage {
-    name = "boom-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/boom/-/boom-0.4.2.tgz";
-      name = "boom-0.4.2.tgz";
-      sha1 = "7a636e9ded4efcefb19cef4947a3c67dfaee911b";
-    };
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."boom"."2.x.x" =
-    self.by-version."boom"."2.10.1";
-  by-version."boom"."2.10.1" = self.buildNodePackage {
-    name = "boom-2.10.1";
-    version = "2.10.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/boom/-/boom-2.10.1.tgz";
-      name = "boom-2.10.1.tgz";
-      sha1 = "39c8918ceff5799f83f9492a848f625add0c766f";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bower"."*" =
-    self.by-version."bower"."1.7.9";
-  by-version."bower"."1.7.9" = self.buildNodePackage {
-    name = "bower-1.7.9";
-    version = "1.7.9";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bower/-/bower-1.7.9.tgz";
-      name = "bower-1.7.9.tgz";
-      sha1 = "b7296c2393e0d75edaa6ca39648132dd255812b0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bower" = self.by-version."bower"."1.7.9";
-  by-spec."bower".">=1.2.8 <2" =
-    self.by-version."bower"."1.7.9";
-  by-spec."bower-endpoint-parser"."0.2.1" =
-    self.by-version."bower-endpoint-parser"."0.2.1";
-  by-version."bower-endpoint-parser"."0.2.1" = self.buildNodePackage {
-    name = "bower-endpoint-parser-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bower-endpoint-parser/-/bower-endpoint-parser-0.2.1.tgz";
-      name = "bower-endpoint-parser-0.2.1.tgz";
-      sha1 = "8c4010a2900cdab07ea5d38f0bd03e9bbccef90f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bower-json"."0.6.0" =
-    self.by-version."bower-json"."0.6.0";
-  by-version."bower-json"."0.6.0" = self.buildNodePackage {
-    name = "bower-json-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bower-json/-/bower-json-0.6.0.tgz";
-      name = "bower-json-0.6.0.tgz";
-      sha1 = "326579b23c33e4ea828e4763c55cd81fd7650329";
-    };
-    deps = {
-      "deep-extend-0.4.1" = self.by-version."deep-extend"."0.4.1";
-      "ext-name-3.0.0" = self.by-version."ext-name"."3.0.0";
-      "graceful-fs-3.0.8" = self.by-version."graceful-fs"."3.0.8";
-      "intersect-1.0.1" = self.by-version."intersect"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bower-logger"."0.2.1" =
-    self.by-version."bower-logger"."0.2.1";
-  by-version."bower-logger"."0.2.1" = self.buildNodePackage {
-    name = "bower-logger-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bower-logger/-/bower-logger-0.2.1.tgz";
-      name = "bower-logger-0.2.1.tgz";
-      sha1 = "0c1817c48063a88d96cc3d516c55e57fff5d9ecb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bower2nix"."*" =
-    self.by-version."bower2nix"."3.2.0";
-  by-version."bower2nix"."3.2.0" = self.buildNodePackage {
-    name = "bower2nix-3.2.0";
-    version = "3.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bower2nix/-/bower2nix-3.2.0.tgz";
-      name = "bower2nix-3.2.0.tgz";
-      sha1 = "nlzr17lidjf72s60vcsnqpjxgnnsn32s";
-    };
-    deps = {
-      "argparse-1.0.4" = self.by-version."argparse"."1.0.4";
-      "bower-1.7.9" = self.by-version."bower"."1.7.9";
-      "bower-endpoint-parser-0.2.1" = self.by-version."bower-endpoint-parser"."0.2.1";
-      "bower-json-0.6.0" = self.by-version."bower-json"."0.6.0";
-      "bower-logger-0.2.1" = self.by-version."bower-logger"."0.2.1";
-      "fs-extra-0.26.7" = self.by-version."fs-extra"."0.26.7";
-      "lodash-4.2.1" = self.by-version."lodash"."4.2.1";
-      "promised-temp-0.1.0" = self.by-version."promised-temp"."0.1.0";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "temp-0.8.3" = self.by-version."temp"."0.8.3";
-      "glob-6.0.4" = self.by-version."glob"."6.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "bower2nix" = self.by-version."bower2nix"."3.2.0";
-  by-spec."bplist-creator"."0.0.4" =
-    self.by-version."bplist-creator"."0.0.4";
-  by-version."bplist-creator"."0.0.4" = self.buildNodePackage {
-    name = "bplist-creator-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.4.tgz";
-      name = "bplist-creator-0.0.4.tgz";
-      sha1 = "4ac0496782e127a85c1d2026a4f5eb22a7aff991";
-    };
-    deps = {
-      "stream-buffers-0.2.6" = self.by-version."stream-buffers"."0.2.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bplist-creator"."^0.0.6" =
-    self.by-version."bplist-creator"."0.0.6";
-  by-version."bplist-creator"."0.0.6" = self.buildNodePackage {
-    name = "bplist-creator-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bplist-creator/-/bplist-creator-0.0.6.tgz";
-      name = "bplist-creator-0.0.6.tgz";
-      sha1 = "fef069bee85975b2ddcc2264aaa7c50dc17a3c7e";
-    };
-    deps = {
-      "stream-buffers-2.2.0" = self.by-version."stream-buffers"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bplist-parser"."0.0.6" =
-    self.by-version."bplist-parser"."0.0.6";
-  by-version."bplist-parser"."0.0.6" = self.buildNodePackage {
-    name = "bplist-parser-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.0.6.tgz";
-      name = "bplist-parser-0.0.6.tgz";
-      sha1 = "38da3471817df9d44ab3892e27707bbbd75a11b9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bplist-parser"."^0.1.0" =
-    self.by-version."bplist-parser"."0.1.1";
-  by-version."bplist-parser"."0.1.1" = self.buildNodePackage {
-    name = "bplist-parser-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bplist-parser/-/bplist-parser-0.1.1.tgz";
-      name = "bplist-parser-0.1.1.tgz";
-      sha1 = "d60d5dcc20cba6dc7e1f299b35d3e1f95dafbae6";
-    };
-    deps = {
-      "big-integer-1.6.15" = self.by-version."big-integer"."1.6.15";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bplist-parser"."^0.1.1" =
-    self.by-version."bplist-parser"."0.1.1";
-  by-spec."brace-expansion"."^1.0.0" =
-    self.by-version."brace-expansion"."1.1.4";
-  by-version."brace-expansion"."1.1.4" = self.buildNodePackage {
-    name = "brace-expansion-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.4.tgz";
-      name = "brace-expansion-1.1.4.tgz";
-      sha1 = "464a204c77f482c085c2a36c456bbfbafb67a127";
-    };
-    deps = {
-      "balanced-match-0.4.1" = self.by-version."balanced-match"."0.4.1";
-      "concat-map-0.0.1" = self.by-version."concat-map"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."braces"."^0.1.2" =
-    self.by-version."braces"."0.1.5";
-  by-version."braces"."0.1.5" = self.buildNodePackage {
-    name = "braces-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/braces/-/braces-0.1.5.tgz";
-      name = "braces-0.1.5.tgz";
-      sha1 = "c085711085291d8b75fdd74eab0f8597280711e6";
-    };
-    deps = {
-      "expand-range-0.1.1" = self.by-version."expand-range"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."braces"."^1.8.2" =
-    self.by-version."braces"."1.8.5";
-  by-version."braces"."1.8.5" = self.buildNodePackage {
-    name = "braces-1.8.5";
-    version = "1.8.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/braces/-/braces-1.8.5.tgz";
-      name = "braces-1.8.5.tgz";
-      sha1 = "ba77962e12dff969d6b76711e914b737857bf6a7";
-    };
-    deps = {
-      "expand-range-1.8.2" = self.by-version."expand-range"."1.8.2";
-      "preserve-0.2.0" = self.by-version."preserve"."0.2.0";
-      "repeat-element-1.1.2" = self.by-version."repeat-element"."1.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."breakable"."~1.0.0" =
-    self.by-version."breakable"."1.0.0";
-  by-version."breakable"."1.0.0" = self.buildNodePackage {
-    name = "breakable-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/breakable/-/breakable-1.0.0.tgz";
-      name = "breakable-1.0.0.tgz";
-      sha1 = "784a797915a38ead27bad456b5572cb4bbaa78c1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."broadway"."0.2.x" =
-    self.by-version."broadway"."0.2.10";
-  by-version."broadway"."0.2.10" = self.buildNodePackage {
-    name = "broadway-0.2.10";
-    version = "0.2.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/broadway/-/broadway-0.2.10.tgz";
-      name = "broadway-0.2.10.tgz";
-      sha1 = "0f58532be140426e9000e49a93e242a0d1263238";
-    };
-    deps = {
-      "cliff-0.1.8" = self.by-version."cliff"."0.1.8";
-      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
-      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
-      "winston-0.7.2" = self.by-version."winston"."0.7.2";
-      "utile-0.2.1" = self.by-version."utile"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."broadway"."~0.3.2" =
-    self.by-version."broadway"."0.3.6";
-  by-version."broadway"."0.3.6" = self.buildNodePackage {
-    name = "broadway-0.3.6";
-    version = "0.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/broadway/-/broadway-0.3.6.tgz";
-      name = "broadway-0.3.6.tgz";
-      sha1 = "7dbef068b954b7907925fd544963b578a902ba7a";
-    };
-    deps = {
-      "cliff-0.1.9" = self.by-version."cliff"."0.1.9";
-      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
-      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
-      "winston-0.8.0" = self.by-version."winston"."0.8.0";
-      "utile-0.2.1" = self.by-version."utile"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."broadway"."~0.3.6" =
-    self.by-version."broadway"."0.3.6";
-  by-spec."brorand"."^1.0.1" =
-    self.by-version."brorand"."1.0.5";
-  by-version."brorand"."1.0.5" = self.buildNodePackage {
-    name = "brorand-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/brorand/-/brorand-1.0.5.tgz";
-      name = "brorand-1.0.5.tgz";
-      sha1 = "07b54ca30286abd1718a0e2a830803efdc9bfa04";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browser-launcher2"."~0.4.6" =
-    self.by-version."browser-launcher2"."0.4.6";
-  by-version."browser-launcher2"."0.4.6" = self.buildNodePackage {
-    name = "browser-launcher2-0.4.6";
-    version = "0.4.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browser-launcher2/-/browser-launcher2-0.4.6.tgz";
-      name = "browser-launcher2-0.4.6.tgz";
-      sha1 = "51598408a13f4c9c5b20eba44554b2c0b0ae4074";
-    };
-    deps = {
-      "headless-0.1.7" = self.by-version."headless"."0.1.7";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "osenv-0.1.3" = self.by-version."osenv"."0.1.3";
-      "plist-1.2.0" = self.by-version."plist"."1.2.0";
-      "win-detect-browsers-1.0.2" = self.by-version."win-detect-browsers"."1.0.2";
-      "uid-0.0.2" = self.by-version."uid"."0.0.2";
-      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browser-pack"."^4.0.3" =
-    self.by-version."browser-pack"."4.0.4";
-  by-version."browser-pack"."4.0.4" = self.buildNodePackage {
-    name = "browser-pack-4.0.4";
-    version = "4.0.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browser-pack/-/browser-pack-4.0.4.tgz";
-      name = "browser-pack-4.0.4.tgz";
-      sha1 = "8dae95a20ca43b3fea201faa6cfaa84ff4a0d484";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "combine-source-map-0.3.0" = self.by-version."combine-source-map"."0.3.0";
-      "concat-stream-1.4.10" = self.by-version."concat-stream"."1.4.10";
-      "defined-1.0.0" = self.by-version."defined"."1.0.0";
-      "through2-0.5.1" = self.by-version."through2"."0.5.1";
-      "umd-3.0.1" = self.by-version."umd"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browser-pack"."^6.0.1" =
-    self.by-version."browser-pack"."6.0.1";
-  by-version."browser-pack"."6.0.1" = self.buildNodePackage {
-    name = "browser-pack-6.0.1";
-    version = "6.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browser-pack/-/browser-pack-6.0.1.tgz";
-      name = "browser-pack-6.0.1.tgz";
-      sha1 = "779887c792eaa1f64a46a22c8f1051cdcd96755f";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "combine-source-map-0.7.2" = self.by-version."combine-source-map"."0.7.2";
-      "defined-1.0.0" = self.by-version."defined"."1.0.0";
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "umd-3.0.1" = self.by-version."umd"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browser-request".">= 0.3.1 < 0.4.0" =
-    self.by-version."browser-request"."0.3.3";
-  by-version."browser-request"."0.3.3" = self.buildNodePackage {
-    name = "browser-request-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browser-request/-/browser-request-0.3.3.tgz";
-      name = "browser-request-0.3.3.tgz";
-      sha1 = "9ece5b5aca89a29932242e18bf933def9876cc17";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browser-request"."^0.3.3" =
-    self.by-version."browser-request"."0.3.3";
-  by-spec."browser-resolve"."^1.11.0" =
-    self.by-version."browser-resolve"."1.11.2";
-  by-version."browser-resolve"."1.11.2" = self.buildNodePackage {
-    name = "browser-resolve-1.11.2";
-    version = "1.11.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browser-resolve/-/browser-resolve-1.11.2.tgz";
-      name = "browser-resolve-1.11.2.tgz";
-      sha1 = "8ff09b0a2c421718a1051c260b32e48f442938ce";
-    };
-    deps = {
-      "resolve-1.1.7" = self.by-version."resolve"."1.1.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browser-resolve"."^1.7.0" =
-    self.by-version."browser-resolve"."1.11.2";
-  by-spec."browser-resolve"."^1.7.1" =
-    self.by-version."browser-resolve"."1.11.2";
-  by-spec."browserchannel"."*" =
-    self.by-version."browserchannel"."2.0.0";
-  by-version."browserchannel"."2.0.0" = self.buildNodePackage {
-    name = "browserchannel-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserchannel/-/browserchannel-2.0.0.tgz";
-      name = "browserchannel-2.0.0.tgz";
-      sha1 = "0f211b3cad9995e8729b2bacd46b53c027c0ea63";
-    };
-    deps = {
-      "hat-0.0.3" = self.by-version."hat"."0.0.3";
-      "connect-2.30.2" = self.by-version."connect"."2.30.2";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "ascii-json-0.2.0" = self.by-version."ascii-json"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "browserchannel" = self.by-version."browserchannel"."2.0.0";
-  by-spec."browserify"."*" =
-    self.by-version."browserify"."13.0.1";
-  by-version."browserify"."13.0.1" = self.buildNodePackage {
-    name = "browserify-13.0.1";
-    version = "13.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify/-/browserify-13.0.1.tgz";
-      name = "browserify-13.0.1.tgz";
-      sha1 = "d37179cbb222179ecf730ec7e625e998677902d4";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "assert-1.3.0" = self.by-version."assert"."1.3.0";
-      "browser-pack-6.0.1" = self.by-version."browser-pack"."6.0.1";
-      "browser-resolve-1.11.2" = self.by-version."browser-resolve"."1.11.2";
-      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
-      "buffer-4.6.0" = self.by-version."buffer"."4.6.0";
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
-      "constants-browserify-1.0.0" = self.by-version."constants-browserify"."1.0.0";
-      "crypto-browserify-3.11.0" = self.by-version."crypto-browserify"."3.11.0";
-      "defined-1.0.0" = self.by-version."defined"."1.0.0";
-      "deps-sort-2.0.0" = self.by-version."deps-sort"."2.0.0";
-      "domain-browser-1.1.7" = self.by-version."domain-browser"."1.1.7";
-      "duplexer2-0.1.4" = self.by-version."duplexer2"."0.1.4";
-      "events-1.1.0" = self.by-version."events"."1.1.0";
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-      "has-1.0.1" = self.by-version."has"."1.0.1";
-      "htmlescape-1.1.1" = self.by-version."htmlescape"."1.1.1";
-      "https-browserify-0.0.1" = self.by-version."https-browserify"."0.0.1";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "insert-module-globals-7.0.1" = self.by-version."insert-module-globals"."7.0.1";
-      "labeled-stream-splicer-2.0.0" = self.by-version."labeled-stream-splicer"."2.0.0";
-      "module-deps-4.0.7" = self.by-version."module-deps"."4.0.7";
-      "os-browserify-0.1.2" = self.by-version."os-browserify"."0.1.2";
-      "parents-1.0.1" = self.by-version."parents"."1.0.1";
-      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
-      "process-0.11.4" = self.by-version."process"."0.11.4";
-      "punycode-1.4.1" = self.by-version."punycode"."1.4.1";
-      "querystring-es3-0.2.1" = self.by-version."querystring-es3"."0.2.1";
-      "read-only-stream-2.0.0" = self.by-version."read-only-stream"."2.0.0";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-      "resolve-1.1.7" = self.by-version."resolve"."1.1.7";
-      "shasum-1.0.2" = self.by-version."shasum"."1.0.2";
-      "shell-quote-1.6.0" = self.by-version."shell-quote"."1.6.0";
-      "stream-browserify-2.0.1" = self.by-version."stream-browserify"."2.0.1";
-      "stream-http-2.3.0" = self.by-version."stream-http"."2.3.0";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "subarg-1.0.0" = self.by-version."subarg"."1.0.0";
-      "syntax-error-1.1.6" = self.by-version."syntax-error"."1.1.6";
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "timers-browserify-1.4.2" = self.by-version."timers-browserify"."1.4.2";
-      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
-      "url-0.11.0" = self.by-version."url"."0.11.0";
-      "util-0.10.3" = self.by-version."util"."0.10.3";
-      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "browserify" = self.by-version."browserify"."13.0.1";
-  by-spec."browserify"."10.1.3" =
-    self.by-version."browserify"."10.1.3";
-  by-version."browserify"."10.1.3" = self.buildNodePackage {
-    name = "browserify-10.1.3";
-    version = "10.1.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify/-/browserify-10.1.3.tgz";
-      name = "browserify-10.1.3.tgz";
-      sha1 = "6605dcffbb918c6a69d9c60201d2397ef7ce20ff";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "assert-1.3.0" = self.by-version."assert"."1.3.0";
-      "browser-pack-4.0.4" = self.by-version."browser-pack"."4.0.4";
-      "browser-resolve-1.11.2" = self.by-version."browser-resolve"."1.11.2";
-      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
-      "buffer-3.6.0" = self.by-version."buffer"."3.6.0";
-      "builtins-0.0.7" = self.by-version."builtins"."0.0.7";
-      "commondir-0.0.1" = self.by-version."commondir"."0.0.1";
-      "concat-stream-1.4.10" = self.by-version."concat-stream"."1.4.10";
-      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
-      "constants-browserify-0.0.1" = self.by-version."constants-browserify"."0.0.1";
-      "crypto-browserify-3.11.0" = self.by-version."crypto-browserify"."3.11.0";
-      "deep-equal-1.0.1" = self.by-version."deep-equal"."1.0.1";
-      "defined-1.0.0" = self.by-version."defined"."1.0.0";
-      "deps-sort-1.3.9" = self.by-version."deps-sort"."1.3.9";
-      "domain-browser-1.1.7" = self.by-version."domain-browser"."1.1.7";
-      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
-      "events-1.0.2" = self.by-version."events"."1.0.2";
-      "glob-4.5.3" = self.by-version."glob"."4.5.3";
-      "has-1.0.1" = self.by-version."has"."1.0.1";
-      "htmlescape-1.1.1" = self.by-version."htmlescape"."1.1.1";
-      "http-browserify-1.7.0" = self.by-version."http-browserify"."1.7.0";
-      "https-browserify-0.0.1" = self.by-version."https-browserify"."0.0.1";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "insert-module-globals-6.6.3" = self.by-version."insert-module-globals"."6.6.3";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "labeled-stream-splicer-1.0.2" = self.by-version."labeled-stream-splicer"."1.0.2";
-      "module-deps-3.9.1" = self.by-version."module-deps"."3.9.1";
-      "os-browserify-0.1.2" = self.by-version."os-browserify"."0.1.2";
-      "parents-1.0.1" = self.by-version."parents"."1.0.1";
-      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
-      "process-0.11.4" = self.by-version."process"."0.11.4";
-      "punycode-1.4.1" = self.by-version."punycode"."1.4.1";
-      "querystring-es3-0.2.1" = self.by-version."querystring-es3"."0.2.1";
-      "read-only-stream-1.1.1" = self.by-version."read-only-stream"."1.1.1";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "resolve-1.1.7" = self.by-version."resolve"."1.1.7";
-      "shallow-copy-0.0.1" = self.by-version."shallow-copy"."0.0.1";
-      "shasum-1.0.2" = self.by-version."shasum"."1.0.2";
-      "shell-quote-0.0.1" = self.by-version."shell-quote"."0.0.1";
-      "stream-browserify-1.0.0" = self.by-version."stream-browserify"."1.0.0";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "subarg-1.0.0" = self.by-version."subarg"."1.0.0";
-      "syntax-error-1.1.6" = self.by-version."syntax-error"."1.1.6";
-      "through2-1.1.1" = self.by-version."through2"."1.1.1";
-      "timers-browserify-1.4.2" = self.by-version."timers-browserify"."1.4.2";
-      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
-      "url-0.10.3" = self.by-version."url"."0.10.3";
-      "util-0.10.3" = self.by-version."util"."0.10.3";
-      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browserify-aes"."^1.0.0" =
-    self.by-version."browserify-aes"."1.0.6";
-  by-version."browserify-aes"."1.0.6" = self.buildNodePackage {
-    name = "browserify-aes-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.0.6.tgz";
-      name = "browserify-aes-1.0.6.tgz";
-      sha1 = "5e7725dbdef1fd5930d4ebab48567ce451c48a0a";
-    };
-    deps = {
-      "buffer-xor-1.0.3" = self.by-version."buffer-xor"."1.0.3";
-      "cipher-base-1.0.2" = self.by-version."cipher-base"."1.0.2";
-      "create-hash-1.1.2" = self.by-version."create-hash"."1.1.2";
-      "evp_bytestokey-1.0.0" = self.by-version."evp_bytestokey"."1.0.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browserify-aes"."^1.0.4" =
-    self.by-version."browserify-aes"."1.0.6";
-  by-spec."browserify-cipher"."^1.0.0" =
-    self.by-version."browserify-cipher"."1.0.0";
-  by-version."browserify-cipher"."1.0.0" = self.buildNodePackage {
-    name = "browserify-cipher-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.0.tgz";
-      name = "browserify-cipher-1.0.0.tgz";
-      sha1 = "9988244874bf5ed4e28da95666dcd66ac8fc363a";
-    };
-    deps = {
-      "browserify-aes-1.0.6" = self.by-version."browserify-aes"."1.0.6";
-      "browserify-des-1.0.0" = self.by-version."browserify-des"."1.0.0";
-      "evp_bytestokey-1.0.0" = self.by-version."evp_bytestokey"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browserify-des"."^1.0.0" =
-    self.by-version."browserify-des"."1.0.0";
-  by-version."browserify-des"."1.0.0" = self.buildNodePackage {
-    name = "browserify-des-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.0.tgz";
-      name = "browserify-des-1.0.0.tgz";
-      sha1 = "daa277717470922ed2fe18594118a175439721dd";
-    };
-    deps = {
-      "cipher-base-1.0.2" = self.by-version."cipher-base"."1.0.2";
-      "des.js-1.0.0" = self.by-version."des.js"."1.0.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browserify-rsa"."^4.0.0" =
-    self.by-version."browserify-rsa"."4.0.1";
-  by-version."browserify-rsa"."4.0.1" = self.buildNodePackage {
-    name = "browserify-rsa-4.0.1";
-    version = "4.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz";
-      name = "browserify-rsa-4.0.1.tgz";
-      sha1 = "21e0abfaf6f2029cf2fafb133567a701d4135524";
-    };
-    deps = {
-      "bn.js-4.11.4" = self.by-version."bn.js"."4.11.4";
-      "randombytes-2.0.3" = self.by-version."randombytes"."2.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browserify-sign"."^4.0.0" =
-    self.by-version."browserify-sign"."4.0.0";
-  by-version."browserify-sign"."4.0.0" = self.buildNodePackage {
-    name = "browserify-sign-4.0.0";
-    version = "4.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.0.0.tgz";
-      name = "browserify-sign-4.0.0.tgz";
-      sha1 = "10773910c3c206d5420a46aad8694f820b85968f";
-    };
-    deps = {
-      "bn.js-4.11.4" = self.by-version."bn.js"."4.11.4";
-      "browserify-rsa-4.0.1" = self.by-version."browserify-rsa"."4.0.1";
-      "create-hash-1.1.2" = self.by-version."create-hash"."1.1.2";
-      "create-hmac-1.1.4" = self.by-version."create-hmac"."1.1.4";
-      "elliptic-6.2.8" = self.by-version."elliptic"."6.2.8";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "parse-asn1-5.0.0" = self.by-version."parse-asn1"."5.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browserify-transform-tools"."~1.5.1" =
-    self.by-version."browserify-transform-tools"."1.5.3";
-  by-version."browserify-transform-tools"."1.5.3" = self.buildNodePackage {
-    name = "browserify-transform-tools-1.5.3";
-    version = "1.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify-transform-tools/-/browserify-transform-tools-1.5.3.tgz";
-      name = "browserify-transform-tools-1.5.3.tgz";
-      sha1 = "509c9c652fb6b07bf0d21efceebb1d826f80754b";
-    };
-    deps = {
-      "falafel-1.2.0" = self.by-version."falafel"."1.2.0";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browserify-versionify"."1.0.3" =
-    self.by-version."browserify-versionify"."1.0.3";
-  by-version."browserify-versionify"."1.0.3" = self.buildNodePackage {
-    name = "browserify-versionify-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify-versionify/-/browserify-versionify-1.0.3.tgz";
-      name = "browserify-versionify-1.0.3.tgz";
-      sha1 = "927eaaf85f16fe8d8d59eb1c6da76b488c01406c";
-    };
-    deps = {
-      "find-root-0.1.2" = self.by-version."find-root"."0.1.2";
-      "through2-0.6.3" = self.by-version."through2"."0.6.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browserify-zlib"."^0.1.4" =
-    self.by-version."browserify-zlib"."0.1.4";
-  by-version."browserify-zlib"."0.1.4" = self.buildNodePackage {
-    name = "browserify-zlib-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.1.4.tgz";
-      name = "browserify-zlib-0.1.4.tgz";
-      sha1 = "bb35f8a519f600e0fa6b8485241c979d0141fb2d";
-    };
-    deps = {
-      "pako-0.2.8" = self.by-version."pako"."0.2.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."browserify-zlib"."~0.1.2" =
-    self.by-version."browserify-zlib"."0.1.4";
-  by-spec."browserify-zlib"."~0.1.4" =
-    self.by-version."browserify-zlib"."0.1.4";
-  by-spec."bs58"."^2.0.0" =
-    self.by-version."bs58"."2.0.1";
-  by-version."bs58"."2.0.1" = self.buildNodePackage {
-    name = "bs58-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bs58/-/bs58-2.0.1.tgz";
-      name = "bs58-2.0.1.tgz";
-      sha1 = "55908d58f1982aba2008fa1bed8f91998a29bf8d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bs58check"."1.0.3" =
-    self.by-version."bs58check"."1.0.3";
-  by-version."bs58check"."1.0.3" = self.buildNodePackage {
-    name = "bs58check-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bs58check/-/bs58check-1.0.3.tgz";
-      name = "bs58check-1.0.3.tgz";
-      sha1 = "3e4dc6dde96e60b9db321ea7372fd4fd0523559e";
-    };
-    deps = {
-      "bs58-2.0.1" = self.by-version."bs58"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bson"."0.1.8" =
-    self.by-version."bson"."0.1.8";
-  by-version."bson"."0.1.8" = self.buildNodePackage {
-    name = "bson-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bson/-/bson-0.1.8.tgz";
-      name = "bson-0.1.8.tgz";
-      sha1 = "cf34fdcff081a189b589b4b3e5e9309cd6506c81";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bson"."0.2.2" =
-    self.by-version."bson"."0.2.2";
-  by-version."bson"."0.2.2" = self.buildNodePackage {
-    name = "bson-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bson/-/bson-0.2.2.tgz";
-      name = "bson-0.2.2.tgz";
-      sha1 = "3dbf984acb9d33a6878b46e6fb7afbd611856a60";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bson"."~0.4.18" =
-    self.by-version."bson"."0.4.23";
-  by-version."bson"."0.4.23" = self.buildNodePackage {
-    name = "bson-0.4.23";
-    version = "0.4.23";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bson/-/bson-0.4.23.tgz";
-      name = "bson-0.4.23.tgz";
-      sha1 = "e65a2e3c7507ffade4109bc7575a76e50f8da915";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bson"."~0.4.19" =
-    self.by-version."bson"."0.4.23";
-  by-spec."bson"."~0.4.20" =
-    self.by-version."bson"."0.4.23";
-  by-spec."bson"."~0.4.23" =
-    self.by-version."bson"."0.4.23";
-  by-spec."buffer"."^3.0.0" =
-    self.by-version."buffer"."3.6.0";
-  by-version."buffer"."3.6.0" = self.buildNodePackage {
-    name = "buffer-3.6.0";
-    version = "3.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer/-/buffer-3.6.0.tgz";
-      name = "buffer-3.6.0.tgz";
-      sha1 = "a72c936f77b96bf52f5f7e7b467180628551defb";
-    };
-    deps = {
-      "base64-js-0.0.8" = self.by-version."base64-js"."0.0.8";
-      "ieee754-1.1.6" = self.by-version."ieee754"."1.1.6";
-      "isarray-1.0.0" = self.by-version."isarray"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer"."^4.1.0" =
-    self.by-version."buffer"."4.6.0";
-  by-version."buffer"."4.6.0" = self.buildNodePackage {
-    name = "buffer-4.6.0";
-    version = "4.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer/-/buffer-4.6.0.tgz";
-      name = "buffer-4.6.0.tgz";
-      sha1 = "fe50a7de503ebaad1b568d05967207be4024c348";
-    };
-    deps = {
-      "base64-js-1.1.2" = self.by-version."base64-js"."1.1.2";
-      "ieee754-1.1.6" = self.by-version."ieee754"."1.1.6";
-      "isarray-1.0.0" = self.by-version."isarray"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer"."^4.3.0" =
-    self.by-version."buffer"."4.6.0";
-  by-spec."buffer-crc32"."0.1.1" =
-    self.by-version."buffer-crc32"."0.1.1";
-  by-version."buffer-crc32"."0.1.1" = self.buildNodePackage {
-    name = "buffer-crc32-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.1.1.tgz";
-      name = "buffer-crc32-0.1.1.tgz";
-      sha1 = "7e110dc9953908ab7c32acdc70c9f945b1cbc526";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer-crc32"."0.2.1" =
-    self.by-version."buffer-crc32"."0.2.1";
-  by-version."buffer-crc32"."0.2.1" = self.buildNodePackage {
-    name = "buffer-crc32-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.1.tgz";
-      name = "buffer-crc32-0.2.1.tgz";
-      sha1 = "be3e5382fc02b6d6324956ac1af98aa98b08534c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer-crc32"."0.2.3" =
-    self.by-version."buffer-crc32"."0.2.3";
-  by-version."buffer-crc32"."0.2.3" = self.buildNodePackage {
-    name = "buffer-crc32-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.3.tgz";
-      name = "buffer-crc32-0.2.3.tgz";
-      sha1 = "bb54519e95d107cbd2400e76d0cab1467336d921";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer-crc32"."~0.2.1" =
-    self.by-version."buffer-crc32"."0.2.5";
-  by-version."buffer-crc32"."0.2.5" = self.buildNodePackage {
-    name = "buffer-crc32-0.2.5";
-    version = "0.2.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.5.tgz";
-      name = "buffer-crc32-0.2.5.tgz";
-      sha1 = "db003ac2671e62ebd6ece78ea2c2e1b405736e91";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer-equal"."0.0.1" =
-    self.by-version."buffer-equal"."0.0.1";
-  by-version."buffer-equal"."0.0.1" = self.buildNodePackage {
-    name = "buffer-equal-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-equal/-/buffer-equal-0.0.1.tgz";
-      name = "buffer-equal-0.0.1.tgz";
-      sha1 = "91bc74b11ea405bc916bc6aa908faafa5b4aac4b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer-equal-constant-time"."^1.0.1" =
-    self.by-version."buffer-equal-constant-time"."1.0.1";
-  by-version."buffer-equal-constant-time"."1.0.1" = self.buildNodePackage {
-    name = "buffer-equal-constant-time-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz";
-      name = "buffer-equal-constant-time-1.0.1.tgz";
-      sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer-equals"."^1.0.3" =
-    self.by-version."buffer-equals"."1.0.3";
-  by-version."buffer-equals"."1.0.3" = self.buildNodePackage {
-    name = "buffer-equals-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-equals/-/buffer-equals-1.0.3.tgz";
-      name = "buffer-equals-1.0.3.tgz";
-      sha1 = "9e9b8c160a5ceaf68f12ee5a8d2f4ba91c5453e0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer-indexof"."^1.0.0" =
-    self.by-version."buffer-indexof"."1.0.0";
-  by-version."buffer-indexof"."1.0.0" = self.buildNodePackage {
-    name = "buffer-indexof-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.0.0.tgz";
-      name = "buffer-indexof-1.0.0.tgz";
-      sha1 = "0f23779be8134b56251bb91f7fe4850a2e7be6ff";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer-shims"."^1.0.0" =
-    self.by-version."buffer-shims"."1.0.0";
-  by-version."buffer-shims"."1.0.0" = self.buildNodePackage {
-    name = "buffer-shims-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-shims/-/buffer-shims-1.0.0.tgz";
-      name = "buffer-shims-1.0.0.tgz";
-      sha1 = "9978ce317388c649ad8793028c3477ef044a8b51";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffer-xor"."^1.0.2" =
-    self.by-version."buffer-xor"."1.0.3";
-  by-version."buffer-xor"."1.0.3" = self.buildNodePackage {
-    name = "buffer-xor-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz";
-      name = "buffer-xor-1.0.3.tgz";
-      sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffercursor".">= 0.0.12" =
-    self.by-version."buffercursor"."0.0.12";
-  by-version."buffercursor"."0.0.12" = self.buildNodePackage {
-    name = "buffercursor-0.0.12";
-    version = "0.0.12";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffercursor/-/buffercursor-0.0.12.tgz";
-      name = "buffercursor-0.0.12.tgz";
-      sha1 = "78a9a7f4343ae7d820a8999acc80de591e25a779";
-    };
-    deps = {
-      "verror-1.6.1" = self.by-version."verror"."1.6.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buffertools"."*" =
-    self.by-version."buffertools"."2.1.4";
-  by-version."buffertools"."2.1.4" = self.buildNodePackage {
-    name = "buffertools-2.1.4";
-    version = "2.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buffertools/-/buffertools-2.1.4.tgz";
-      name = "buffertools-2.1.4.tgz";
-      sha1 = "62d4e1584c0090a0c7d3587f25934a84b8b38de4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "buffertools" = self.by-version."buffertools"."2.1.4";
-  by-spec."bufferutil"."1.2.x" =
-    self.by-version."bufferutil"."1.2.1";
-  by-version."bufferutil"."1.2.1" = self.buildNodePackage {
-    name = "bufferutil-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bufferutil/-/bufferutil-1.2.1.tgz";
-      name = "bufferutil-1.2.1.tgz";
-      sha1 = "37be5d36e1e06492221e68d474b1ac58e510cbd7";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bufferview"."~1" =
-    self.by-version."bufferview"."1.0.1";
-  by-version."bufferview"."1.0.1" = self.buildNodePackage {
-    name = "bufferview-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bufferview/-/bufferview-1.0.1.tgz";
-      name = "bufferview-1.0.1.tgz";
-      sha1 = "7afd74a45f937fa422a1d338c08bbfdc76cd725d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buildmail"."3.7.0" =
-    self.by-version."buildmail"."3.7.0";
-  by-version."buildmail"."3.7.0" = self.buildNodePackage {
-    name = "buildmail-3.7.0";
-    version = "3.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buildmail/-/buildmail-3.7.0.tgz";
-      name = "buildmail-3.7.0.tgz";
-      sha1 = "5f40b77c1c3c1ceb1490c1181284437de3045342";
-    };
-    deps = {
-      "addressparser-1.0.1" = self.by-version."addressparser"."1.0.1";
-      "libbase64-0.1.0" = self.by-version."libbase64"."0.1.0";
-      "libmime-2.0.3" = self.by-version."libmime"."2.0.3";
-      "libqp-1.1.0" = self.by-version."libqp"."1.1.0";
-      "nodemailer-fetch-1.4.0" = self.by-version."nodemailer-fetch"."1.4.0";
-      "nodemailer-shared-1.0.5" = self.by-version."nodemailer-shared"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."buildmail"."^2.0.0" =
-    self.by-version."buildmail"."2.0.0";
-  by-version."buildmail"."2.0.0" = self.buildNodePackage {
-    name = "buildmail-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/buildmail/-/buildmail-2.0.0.tgz";
-      name = "buildmail-2.0.0.tgz";
-      sha1 = "f0b7b0a59e9a4a1b5066bbfa051d248f3832eece";
-    };
-    deps = {
-      "addressparser-0.3.2" = self.by-version."addressparser"."0.3.2";
-      "libbase64-0.1.0" = self.by-version."libbase64"."0.1.0";
-      "libmime-1.2.0" = self.by-version."libmime"."1.2.0";
-      "libqp-1.1.0" = self.by-version."libqp"."1.1.0";
-      "needle-0.10.0" = self.by-version."needle"."0.10.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."builtin-modules"."^1.0.0" =
-    self.by-version."builtin-modules"."1.1.1";
-  by-version."builtin-modules"."1.1.1" = self.buildNodePackage {
-    name = "builtin-modules-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz";
-      name = "builtin-modules-1.1.1.tgz";
-      sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."builtin-status-codes"."^2.0.0" =
-    self.by-version."builtin-status-codes"."2.0.0";
-  by-version."builtin-status-codes"."2.0.0" = self.buildNodePackage {
-    name = "builtin-status-codes-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-2.0.0.tgz";
-      name = "builtin-status-codes-2.0.0.tgz";
-      sha1 = "6f22003baacf003ccd287afe6872151fddc58579";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."builtins"."0.0.7" =
-    self.by-version."builtins"."0.0.7";
-  by-version."builtins"."0.0.7" = self.buildNodePackage {
-    name = "builtins-0.0.7";
-    version = "0.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/builtins/-/builtins-0.0.7.tgz";
-      name = "builtins-0.0.7.tgz";
-      sha1 = "355219cd6cf18dbe7c01cc7fd2dce765cfdc549a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."builtins"."~0.0.3" =
-    self.by-version."builtins"."0.0.7";
-  by-spec."bunyan"."0.22.1" =
-    self.by-version."bunyan"."0.22.1";
-  by-version."bunyan"."0.22.1" = self.buildNodePackage {
-    name = "bunyan-0.22.1";
-    version = "0.22.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bunyan/-/bunyan-0.22.1.tgz";
-      name = "bunyan-0.22.1.tgz";
-      sha1 = "020c383bed625af5c6c8834dd8c4aca0dd0f765c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "mv-0.0.5" = self.by-version."mv"."0.0.5";
-      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bunyan"."1.5.1" =
-    self.by-version."bunyan"."1.5.1";
-  by-version."bunyan"."1.5.1" = self.buildNodePackage {
-    name = "bunyan-1.5.1";
-    version = "1.5.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bunyan/-/bunyan-1.5.1.tgz";
-      name = "bunyan-1.5.1.tgz";
-      sha1 = "5f6e7d44c43b952f56b0f41309e3ab12391b4e2d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "dtrace-provider-0.6.0" = self.by-version."dtrace-provider"."0.6.0";
-      "mv-2.1.1" = self.by-version."mv"."2.1.1";
-      "safe-json-stringify-1.0.3" = self.by-version."safe-json-stringify"."1.0.3";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bunyan".">=0.22.1 <2.0.0-0" =
-    self.by-version."bunyan"."1.8.1";
-  by-version."bunyan"."1.8.1" = self.buildNodePackage {
-    name = "bunyan-1.8.1";
-    version = "1.8.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bunyan/-/bunyan-1.8.1.tgz";
-      name = "bunyan-1.8.1.tgz";
-      sha1 = "68c6a4a502d5620bc9f72d6736810c1b1898097f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "dtrace-provider-0.6.0" = self.by-version."dtrace-provider"."0.6.0";
-      "mv-2.1.1" = self.by-version."mv"."2.1.1";
-      "safe-json-stringify-1.0.3" = self.by-version."safe-json-stringify"."1.0.3";
-      "moment-2.13.0" = self.by-version."moment"."2.13.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bunyan"."^1.4.0" =
-    self.by-version."bunyan"."1.8.1";
-  by-spec."bunyan"."~1.0.0" =
-    self.by-version."bunyan"."1.0.1";
-  by-version."bunyan"."1.0.1" = self.buildNodePackage {
-    name = "bunyan-1.0.1";
-    version = "1.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bunyan/-/bunyan-1.0.1.tgz";
-      name = "bunyan-1.0.1.tgz";
-      sha1 = "9916a8c1832020c2d095656d923da5963db05466";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "mv-2.1.1" = self.by-version."mv"."2.1.1";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."busboy"."*" =
-    self.by-version."busboy"."0.2.13";
-  by-version."busboy"."0.2.13" = self.buildNodePackage {
-    name = "busboy-0.2.13";
-    version = "0.2.13";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/busboy/-/busboy-0.2.13.tgz";
-      name = "busboy-0.2.13.tgz";
-      sha1 = "90fc4f6a3967d815616fc976bfa8e56aed0c58b6";
-    };
-    deps = {
-      "dicer-0.2.5" = self.by-version."dicer"."0.2.5";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."busboy"."~0.2.9" =
-    self.by-version."busboy"."0.2.13";
-  by-spec."bytebuffer"."~3 >=3.5" =
-    self.by-version."bytebuffer"."3.5.5";
-  by-version."bytebuffer"."3.5.5" = self.buildNodePackage {
-    name = "bytebuffer-3.5.5";
-    version = "3.5.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytebuffer/-/bytebuffer-3.5.5.tgz";
-      name = "bytebuffer-3.5.5.tgz";
-      sha1 = "7a6faf1a13514b083f1fcf9541c4c9bfbe7e7fd3";
-    };
-    deps = {
-      "long-2.4.0" = self.by-version."long"."2.4.0";
-      "bufferview-1.0.1" = self.by-version."bufferview"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytes"."0.1.0" =
-    self.by-version."bytes"."0.1.0";
-  by-version."bytes"."0.1.0" = self.buildNodePackage {
-    name = "bytes-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytes/-/bytes-0.1.0.tgz";
-      name = "bytes-0.1.0.tgz";
-      sha1 = "c574812228126d6369d1576925a8579db3f8e5a2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytes"."0.2.0" =
-    self.by-version."bytes"."0.2.0";
-  by-version."bytes"."0.2.0" = self.buildNodePackage {
-    name = "bytes-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytes/-/bytes-0.2.0.tgz";
-      name = "bytes-0.2.0.tgz";
-      sha1 = "aad33ec14e3dc2ca74e8e7d451f9ba053ad4f7a0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytes"."0.2.1" =
-    self.by-version."bytes"."0.2.1";
-  by-version."bytes"."0.2.1" = self.buildNodePackage {
-    name = "bytes-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytes/-/bytes-0.2.1.tgz";
-      name = "bytes-0.2.1.tgz";
-      sha1 = "555b08abcb063f8975905302523e4cd4ffdfdf31";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytes"."0.3.0" =
-    self.by-version."bytes"."0.3.0";
-  by-version."bytes"."0.3.0" = self.buildNodePackage {
-    name = "bytes-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytes/-/bytes-0.3.0.tgz";
-      name = "bytes-0.3.0.tgz";
-      sha1 = "78e2e0e28c7f9c7b988ea8aee0db4d5fa9941935";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytes"."1" =
-    self.by-version."bytes"."1.0.0";
-  by-version."bytes"."1.0.0" = self.buildNodePackage {
-    name = "bytes-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytes/-/bytes-1.0.0.tgz";
-      name = "bytes-1.0.0.tgz";
-      sha1 = "3569ede8ba34315fab99c3e92cb04c7220de1fa8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytes"."1.0.0" =
-    self.by-version."bytes"."1.0.0";
-  by-spec."bytes"."2.1.0" =
-    self.by-version."bytes"."2.1.0";
-  by-version."bytes"."2.1.0" = self.buildNodePackage {
-    name = "bytes-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytes/-/bytes-2.1.0.tgz";
-      name = "bytes-2.1.0.tgz";
-      sha1 = "ac93c410e2ffc9cc7cf4b464b38289067f5e47b4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytes"."2.2.0" =
-    self.by-version."bytes"."2.2.0";
-  by-version."bytes"."2.2.0" = self.buildNodePackage {
-    name = "bytes-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytes/-/bytes-2.2.0.tgz";
-      name = "bytes-2.2.0.tgz";
-      sha1 = "fd35464a403f6f9117c2de3609ecff9cae000588";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytes"."2.3.0" =
-    self.by-version."bytes"."2.3.0";
-  by-version."bytes"."2.3.0" = self.buildNodePackage {
-    name = "bytes-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytes/-/bytes-2.3.0.tgz";
-      name = "bytes-2.3.0.tgz";
-      sha1 = "d5b680a165b6201739acb611542aabc2d8ceb070";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytes"."~0.2.0" =
-    self.by-version."bytes"."0.2.1";
-  by-spec."bytes"."~0.3.0" =
-    self.by-version."bytes"."0.3.0";
-  by-spec."bytewise"."~1.1.0" =
-    self.by-version."bytewise"."1.1.0";
-  by-version."bytewise"."1.1.0" = self.buildNodePackage {
-    name = "bytewise-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytewise/-/bytewise-1.1.0.tgz";
-      name = "bytewise-1.1.0.tgz";
-      sha1 = "1d13cbff717ae7158094aa881b35d081b387253e";
-    };
-    deps = {
-      "bytewise-core-1.2.3" = self.by-version."bytewise-core"."1.2.3";
-      "typewise-1.0.3" = self.by-version."typewise"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."bytewise-core"."^1.2.2" =
-    self.by-version."bytewise-core"."1.2.3";
-  by-version."bytewise-core"."1.2.3" = self.buildNodePackage {
-    name = "bytewise-core-1.2.3";
-    version = "1.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/bytewise-core/-/bytewise-core-1.2.3.tgz";
-      name = "bytewise-core-1.2.3.tgz";
-      sha1 = "3fb410c7e91558eb1ab22a82834577aa6bd61d42";
-    };
-    deps = {
-      "typewise-core-1.2.0" = self.by-version."typewise-core"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."caller"."~0.0.1" =
-    self.by-version."caller"."0.0.1";
-  by-version."caller"."0.0.1" = self.buildNodePackage {
-    name = "caller-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/caller/-/caller-0.0.1.tgz";
-      name = "caller-0.0.1.tgz";
-      sha1 = "f37a1d6ea10e829d94721ae29a90bb4fb52ab767";
-    };
-    deps = {
-      "tape-2.3.3" = self.by-version."tape"."2.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."caller-path"."^0.1.0" =
-    self.by-version."caller-path"."0.1.0";
-  by-version."caller-path"."0.1.0" = self.buildNodePackage {
-    name = "caller-path-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/caller-path/-/caller-path-0.1.0.tgz";
-      name = "caller-path-0.1.0.tgz";
-      sha1 = "94085ef63581ecd3daa92444a8fe94e82577751f";
-    };
-    deps = {
-      "callsites-0.2.0" = self.by-version."callsites"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."callsite"."1.0.0" =
-    self.by-version."callsite"."1.0.0";
-  by-version."callsite"."1.0.0" = self.buildNodePackage {
-    name = "callsite-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz";
-      name = "callsite-1.0.0.tgz";
-      sha1 = "280398e5d664bd74038b6f0905153e6e8af1bc20";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."callsites"."^0.2.0" =
-    self.by-version."callsites"."0.2.0";
-  by-version."callsites"."0.2.0" = self.buildNodePackage {
-    name = "callsites-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/callsites/-/callsites-0.2.0.tgz";
-      name = "callsites-0.2.0.tgz";
-      sha1 = "afab96262910a7f33c19a5775825c69f34e350ca";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."camelcase"."^1.0.1" =
-    self.by-version."camelcase"."1.2.1";
-  by-version."camelcase"."1.2.1" = self.buildNodePackage {
-    name = "camelcase-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz";
-      name = "camelcase-1.2.1.tgz";
-      sha1 = "9bb5304d2e0b56698b2c758b08a3eaa9daa58a39";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."camelcase"."^1.0.2" =
-    self.by-version."camelcase"."1.2.1";
-  by-spec."camelcase"."^1.2.1" =
-    self.by-version."camelcase"."1.2.1";
-  by-spec."camelcase"."^2.0.0" =
-    self.by-version."camelcase"."2.1.1";
-  by-version."camelcase"."2.1.1" = self.buildNodePackage {
-    name = "camelcase-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/camelcase/-/camelcase-2.1.1.tgz";
-      name = "camelcase-2.1.1.tgz";
-      sha1 = "7c1d16d679a1bbe59ca02cacecfb011e201f5a1f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."camelcase"."^2.0.1" =
-    self.by-version."camelcase"."2.1.1";
-  by-spec."camelcase"."^2.1.1" =
-    self.by-version."camelcase"."2.1.1";
-  by-spec."camelcase"."^3.0.0" =
-    self.by-version."camelcase"."3.0.0";
-  by-version."camelcase"."3.0.0" = self.buildNodePackage {
-    name = "camelcase-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/camelcase/-/camelcase-3.0.0.tgz";
-      name = "camelcase-3.0.0.tgz";
-      sha1 = "32fc4b9fcdaf845fcdf7e73bb97cac2261f0ab0a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."camelcase-keys"."^1.0.0" =
-    self.by-version."camelcase-keys"."1.0.0";
-  by-version."camelcase-keys"."1.0.0" = self.buildNodePackage {
-    name = "camelcase-keys-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-1.0.0.tgz";
-      name = "camelcase-keys-1.0.0.tgz";
-      sha1 = "bd1a11bf9b31a1ce493493a930de1a0baf4ad7ec";
-    };
-    deps = {
-      "camelcase-1.2.1" = self.by-version."camelcase"."1.2.1";
-      "map-obj-1.0.1" = self.by-version."map-obj"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."camelcase-keys"."^2.0.0" =
-    self.by-version."camelcase-keys"."2.1.0";
-  by-version."camelcase-keys"."2.1.0" = self.buildNodePackage {
-    name = "camelcase-keys-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-2.1.0.tgz";
-      name = "camelcase-keys-2.1.0.tgz";
-      sha1 = "308beeaffdf28119051efa1d932213c91b8f92e7";
-    };
-    deps = {
-      "camelcase-2.1.1" = self.by-version."camelcase"."2.1.1";
-      "map-obj-1.0.1" = self.by-version."map-obj"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."caseless"."~0.11.0" =
-    self.by-version."caseless"."0.11.0";
-  by-version."caseless"."0.11.0" = self.buildNodePackage {
-    name = "caseless-0.11.0";
-    version = "0.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/caseless/-/caseless-0.11.0.tgz";
-      name = "caseless-0.11.0.tgz";
-      sha1 = "715b96ea9841593cc33067923f5ec60ebda4f7d7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."caseless"."~0.6.0" =
-    self.by-version."caseless"."0.6.0";
-  by-version."caseless"."0.6.0" = self.buildNodePackage {
-    name = "caseless-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/caseless/-/caseless-0.6.0.tgz";
-      name = "caseless-0.6.0.tgz";
-      sha1 = "8167c1ab8397fb5bb95f96d28e5a81c50f247ac4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."caseless"."~0.8.0" =
-    self.by-version."caseless"."0.8.0";
-  by-version."caseless"."0.8.0" = self.buildNodePackage {
-    name = "caseless-0.8.0";
-    version = "0.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/caseless/-/caseless-0.8.0.tgz";
-      name = "caseless-0.8.0.tgz";
-      sha1 = "5bca2881d41437f54b2407ebe34888c7b9ad4f7d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."caseless"."~0.9.0" =
-    self.by-version."caseless"."0.9.0";
-  by-version."caseless"."0.9.0" = self.buildNodePackage {
-    name = "caseless-0.9.0";
-    version = "0.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/caseless/-/caseless-0.9.0.tgz";
-      name = "caseless-0.9.0.tgz";
-      sha1 = "b7b65ce6bf1413886539cfd533f0b30effa9cf88";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."castnow"."*" =
-    self.by-version."castnow"."0.4.17";
-  by-version."castnow"."0.4.17" = self.buildNodePackage {
-    name = "castnow-0.4.17";
-    version = "0.4.17";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/castnow/-/castnow-0.4.17.tgz";
-      name = "castnow-0.4.17.tgz";
-      sha1 = "7d9ce3c5605b5aa74ae5348c826443374d5863a8";
-    };
-    deps = {
-      "array-loop-1.0.0" = self.by-version."array-loop"."1.0.0";
-      "castv2-client-1.1.1" = self.by-version."castv2-client"."1.1.1";
-      "chalk-1.0.0" = self.by-version."chalk"."1.0.0";
-      "chromecast-player-0.2.3" = self.by-version."chromecast-player"."0.2.3";
-      "debounced-seeker-1.0.0" = self.by-version."debounced-seeker"."1.0.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "fs-extended-0.2.1" = self.by-version."fs-extended"."0.2.1";
-      "got-1.2.2" = self.by-version."got"."1.2.2";
-      "internal-ip-1.2.0" = self.by-version."internal-ip"."1.2.0";
-      "keypress-0.2.1" = self.by-version."keypress"."0.2.1";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "peerflix-0.34.0" = self.by-version."peerflix"."0.34.0";
-      "playerui-1.2.0" = self.by-version."playerui"."1.2.0";
-      "query-string-1.0.1" = self.by-version."query-string"."1.0.1";
-      "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0";
-      "read-torrent-1.3.0" = self.by-version."read-torrent"."1.3.0";
-      "router-0.6.2" = self.by-version."router"."0.6.2";
-      "srt2vtt-1.3.1" = self.by-version."srt2vtt"."1.3.1";
-      "stream-transcoder-0.0.5" = self.by-version."stream-transcoder"."0.0.5";
-      "xml2js-0.4.16" = self.by-version."xml2js"."0.4.16";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "castnow" = self.by-version."castnow"."0.4.17";
-  by-spec."castv2"."~0.1.4" =
-    self.by-version."castv2"."0.1.6";
-  by-version."castv2"."0.1.6" = self.buildNodePackage {
-    name = "castv2-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/castv2/-/castv2-0.1.6.tgz";
-      name = "castv2-0.1.6.tgz";
-      sha1 = "4465c75684dbac6ad21c93761aa86557da9e0015";
-    };
-    deps = {
-      "debug-1.0.4" = self.by-version."debug"."1.0.4";
-      "protobufjs-3.8.2" = self.by-version."protobufjs"."3.8.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."castv2-client"."^1.1.0" =
-    self.by-version."castv2-client"."1.1.1";
-  by-version."castv2-client"."1.1.1" = self.buildNodePackage {
-    name = "castv2-client-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/castv2-client/-/castv2-client-1.1.1.tgz";
-      name = "castv2-client-1.1.1.tgz";
-      sha1 = "3014b89b830b424f72c17708beb2a1c4e7b1fc88";
-    };
-    deps = {
-      "debug-1.0.4" = self.by-version."debug"."1.0.4";
-      "castv2-0.1.6" = self.by-version."castv2"."0.1.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."center-align"."^0.1.1" =
-    self.by-version."center-align"."0.1.3";
-  by-version."center-align"."0.1.3" = self.buildNodePackage {
-    name = "center-align-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz";
-      name = "center-align-0.1.3.tgz";
-      sha1 = "aa0d32629b6ee972200411cbd4461c907bc2b7ad";
-    };
-    deps = {
-      "align-text-0.1.4" = self.by-version."align-text"."0.1.4";
-      "lazy-cache-1.0.4" = self.by-version."lazy-cache"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chai"."*" =
-    self.by-version."chai"."3.5.0";
-  by-version."chai"."3.5.0" = self.buildNodePackage {
-    name = "chai-3.5.0";
-    version = "3.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chai/-/chai-3.5.0.tgz";
-      name = "chai-3.5.0.tgz";
-      sha1 = "4d02637b067fe958bdbfdd3a40ec56fef7373247";
-    };
-    deps = {
-      "assertion-error-1.0.2" = self.by-version."assertion-error"."1.0.2";
-      "deep-eql-0.1.3" = self.by-version."deep-eql"."0.1.3";
-      "type-detect-1.0.0" = self.by-version."type-detect"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "chai" = self.by-version."chai"."3.5.0";
-  by-spec."chain-node".">=0.0.17" =
-    self.by-version."chain-node"."3.1.2";
-  by-version."chain-node"."3.1.2" = self.buildNodePackage {
-    name = "chain-node-3.1.2";
-    version = "3.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chain-node/-/chain-node-3.1.2.tgz";
-      name = "chain-node-3.1.2.tgz";
-      sha1 = "75cb8d02e06732027eed3bebe145d92c93a6fc9b";
-    };
-    deps = {
-      "request-2.36.0" = self.by-version."request"."2.36.0";
-      "bitcoinjs-lib-1.2.0" = self.by-version."bitcoinjs-lib"."1.2.0";
-      "bigi-1.4.1" = self.by-version."bigi"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chalk"."1.0.0" =
-    self.by-version."chalk"."1.0.0";
-  by-version."chalk"."1.0.0" = self.buildNodePackage {
-    name = "chalk-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chalk/-/chalk-1.0.0.tgz";
-      name = "chalk-1.0.0.tgz";
-      sha1 = "b3cf4ed0ff5397c99c75b8f679db2f52831f96dc";
-    };
-    deps = {
-      "ansi-styles-2.2.1" = self.by-version."ansi-styles"."2.2.1";
-      "escape-string-regexp-1.0.5" = self.by-version."escape-string-regexp"."1.0.5";
-      "has-ansi-1.0.3" = self.by-version."has-ansi"."1.0.3";
-      "strip-ansi-2.0.1" = self.by-version."strip-ansi"."2.0.1";
-      "supports-color-1.3.1" = self.by-version."supports-color"."1.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chalk"."^0.5.1" =
-    self.by-version."chalk"."0.5.1";
-  by-version."chalk"."0.5.1" = self.buildNodePackage {
-    name = "chalk-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chalk/-/chalk-0.5.1.tgz";
-      name = "chalk-0.5.1.tgz";
-      sha1 = "663b3a648b68b55d04690d49167aa837858f2174";
-    };
-    deps = {
-      "ansi-styles-1.1.0" = self.by-version."ansi-styles"."1.1.0";
-      "escape-string-regexp-1.0.5" = self.by-version."escape-string-regexp"."1.0.5";
-      "has-ansi-0.1.0" = self.by-version."has-ansi"."0.1.0";
-      "strip-ansi-0.3.0" = self.by-version."strip-ansi"."0.3.0";
-      "supports-color-0.2.0" = self.by-version."supports-color"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chalk"."^1.0.0" =
-    self.by-version."chalk"."1.1.3";
-  by-version."chalk"."1.1.3" = self.buildNodePackage {
-    name = "chalk-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz";
-      name = "chalk-1.1.3.tgz";
-      sha1 = "a8115c55e4a702fe4d150abd3872822a7e09fc98";
-    };
-    deps = {
-      "ansi-styles-2.2.1" = self.by-version."ansi-styles"."2.2.1";
-      "escape-string-regexp-1.0.5" = self.by-version."escape-string-regexp"."1.0.5";
-      "has-ansi-2.0.0" = self.by-version."has-ansi"."2.0.0";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "supports-color-2.0.0" = self.by-version."supports-color"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chalk"."^1.1.1" =
-    self.by-version."chalk"."1.1.3";
-  by-spec."chalk"."^1.1.3" =
-    self.by-version."chalk"."1.1.3";
-  by-spec."chalk"."~1.1.1" =
-    self.by-version."chalk"."1.1.3";
-  by-spec."char-spinner"."~1.0.1" =
-    self.by-version."char-spinner"."1.0.1";
-  by-version."char-spinner"."1.0.1" = self.buildNodePackage {
-    name = "char-spinner-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/char-spinner/-/char-spinner-1.0.1.tgz";
-      name = "char-spinner-1.0.1.tgz";
-      sha1 = "e6ea67bd247e107112983b7ab0479ed362800081";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."character-parser"."1.2.1" =
-    self.by-version."character-parser"."1.2.1";
-  by-version."character-parser"."1.2.1" = self.buildNodePackage {
-    name = "character-parser-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/character-parser/-/character-parser-1.2.1.tgz";
-      name = "character-parser-1.2.1.tgz";
-      sha1 = "c0dde4ab182713b919b970959a123ecc1a30fcd6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cheerio"."0.19.0" =
-    self.by-version."cheerio"."0.19.0";
-  by-version."cheerio"."0.19.0" = self.buildNodePackage {
-    name = "cheerio-0.19.0";
-    version = "0.19.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cheerio/-/cheerio-0.19.0.tgz";
-      name = "cheerio-0.19.0.tgz";
-      sha1 = "772e7015f2ee29965096d71ea4175b75ab354925";
-    };
-    deps = {
-      "css-select-1.0.0" = self.by-version."css-select"."1.0.0";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-      "htmlparser2-3.8.3" = self.by-version."htmlparser2"."3.8.3";
-      "dom-serializer-0.1.0" = self.by-version."dom-serializer"."0.1.0";
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cheerio"."^0.17.0" =
-    self.by-version."cheerio"."0.17.0";
-  by-version."cheerio"."0.17.0" = self.buildNodePackage {
-    name = "cheerio-0.17.0";
-    version = "0.17.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cheerio/-/cheerio-0.17.0.tgz";
-      name = "cheerio-0.17.0.tgz";
-      sha1 = "fa5ae42cc60121133d296d0b46d983215f7268ea";
-    };
-    deps = {
-      "CSSselect-0.4.1" = self.by-version."CSSselect"."0.4.1";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-      "htmlparser2-3.7.3" = self.by-version."htmlparser2"."3.7.3";
-      "dom-serializer-0.0.1" = self.by-version."dom-serializer"."0.0.1";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chmodr"."~1.0.2" =
-    self.by-version."chmodr"."1.0.2";
-  by-version."chmodr"."1.0.2" = self.buildNodePackage {
-    name = "chmodr-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chmodr/-/chmodr-1.0.2.tgz";
-      name = "chmodr-1.0.2.tgz";
-      sha1 = "04662b932d0f02ec66deaa2b0ea42811968e3eb9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chokidar"."^1.0.1" =
-    self.by-version."chokidar"."1.5.2";
-  by-version."chokidar"."1.5.2" = self.buildNodePackage {
-    name = "chokidar-1.5.2";
-    version = "1.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chokidar/-/chokidar-1.5.2.tgz";
-      name = "chokidar-1.5.2.tgz";
-      sha1 = "293e728640cc93dd8277424334b3c6d4ad3a348a";
-    };
-    deps = {
-      "anymatch-1.3.0" = self.by-version."anymatch"."1.3.0";
-      "async-each-1.0.0" = self.by-version."async-each"."1.0.0";
-      "glob-parent-2.0.0" = self.by-version."glob-parent"."2.0.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "is-binary-path-1.0.1" = self.by-version."is-binary-path"."1.0.1";
-      "is-glob-2.0.1" = self.by-version."is-glob"."2.0.1";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-      "readdirp-2.0.0" = self.by-version."readdirp"."2.0.0";
-    };
-    optionalDependencies = {
-      "fsevents-1.0.12" = self.by-version."fsevents"."1.0.12";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chokidar"."^1.4.1" =
-    self.by-version."chokidar"."1.5.2";
-  by-spec."chokidar"."^1.4.3" =
-    self.by-version."chokidar"."1.5.2";
-  by-spec."chownr"."0" =
-    self.by-version."chownr"."0.0.2";
-  by-version."chownr"."0.0.2" = self.buildNodePackage {
-    name = "chownr-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chownr/-/chownr-0.0.2.tgz";
-      name = "chownr-0.0.2.tgz";
-      sha1 = "2f9aebf746f90808ce00607b72ba73b41604c485";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chownr"."^1.0.1" =
-    self.by-version."chownr"."1.0.1";
-  by-version."chownr"."1.0.1" = self.buildNodePackage {
-    name = "chownr-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chownr/-/chownr-1.0.1.tgz";
-      name = "chownr-1.0.1.tgz";
-      sha1 = "e2a75042a9551908bebd25b8523d5f9769d79181";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chownr"."~1.0.1" =
-    self.by-version."chownr"."1.0.1";
-  by-spec."chromecast-player"."^0.2.3" =
-    self.by-version."chromecast-player"."0.2.3";
-  by-version."chromecast-player"."0.2.3" = self.buildNodePackage {
-    name = "chromecast-player-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chromecast-player/-/chromecast-player-0.2.3.tgz";
-      name = "chromecast-player-0.2.3.tgz";
-      sha1 = "fe9ce69911c88096d681e4242c1902ad30787216";
-    };
-    deps = {
-      "castv2-client-1.1.1" = self.by-version."castv2-client"."1.1.1";
-      "chromecast-scanner-0.5.0" = self.by-version."chromecast-scanner"."0.5.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "mutate.js-0.2.0" = self.by-version."mutate.js"."0.2.0";
-      "promiscuous-0.6.0" = self.by-version."promiscuous"."0.6.0";
-      "time-line-1.0.1" = self.by-version."time-line"."1.0.1";
-      "ware-1.3.0" = self.by-version."ware"."1.3.0";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."chromecast-scanner"."^0.5.0" =
-    self.by-version."chromecast-scanner"."0.5.0";
-  by-version."chromecast-scanner"."0.5.0" = self.buildNodePackage {
-    name = "chromecast-scanner-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/chromecast-scanner/-/chromecast-scanner-0.5.0.tgz";
-      name = "chromecast-scanner-0.5.0.tgz";
-      sha1 = "01296a3e5d130cce34974eb509cbbc7d6f78dd3d";
-    };
-    deps = {
-      "array-find-0.1.1" = self.by-version."array-find"."0.1.1";
-      "multicast-dns-4.0.1" = self.by-version."multicast-dns"."4.0.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cint"."^8.2.1" =
-    self.by-version."cint"."8.2.1";
-  by-version."cint"."8.2.1" = self.buildNodePackage {
-    name = "cint-8.2.1";
-    version = "8.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cint/-/cint-8.2.1.tgz";
-      name = "cint-8.2.1.tgz";
-      sha1 = "70386b1b48e2773d0d63166a55aff94ef4456a12";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cipher-base"."^1.0.0" =
-    self.by-version."cipher-base"."1.0.2";
-  by-version."cipher-base"."1.0.2" = self.buildNodePackage {
-    name = "cipher-base-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.2.tgz";
-      name = "cipher-base-1.0.2.tgz";
-      sha1 = "54ac1d1ebdf6a1bcd3559e6f369d72697f2cab8f";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cipher-base"."^1.0.1" =
-    self.by-version."cipher-base"."1.0.2";
-  by-spec."clap"."^1.0.9" =
-    self.by-version."clap"."1.1.1";
-  by-version."clap"."1.1.1" = self.buildNodePackage {
-    name = "clap-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/clap/-/clap-1.1.1.tgz";
-      name = "clap-1.1.1.tgz";
-      sha1 = "a8a93e0bfb7581ac199c4f001a5525a724ce696d";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."clean-css"."^3.1.9" =
-    self.by-version."clean-css"."3.4.17";
-  by-version."clean-css"."3.4.17" = self.buildNodePackage {
-    name = "clean-css-3.4.17";
-    version = "3.4.17";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/clean-css/-/clean-css-3.4.17.tgz";
-      name = "clean-css-3.4.17.tgz";
-      sha1 = "199c3926b224761b9fc890d2354c9ce0db678669";
-    };
-    deps = {
-      "commander-2.8.1" = self.by-version."commander"."2.8.1";
-      "source-map-0.4.4" = self.by-version."source-map"."0.4.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."clean-css"."~3.4.2" =
-    self.by-version."clean-css"."3.4.17";
-  by-spec."cli"."0.6.x" =
-    self.by-version."cli"."0.6.6";
-  by-version."cli"."0.6.6" = self.buildNodePackage {
-    name = "cli-0.6.6";
-    version = "0.6.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cli/-/cli-0.6.6.tgz";
-      name = "cli-0.6.6.tgz";
-      sha1 = "02ad44a380abf27adac5e6f0cdd7b043d74c53e3";
-    };
-    deps = {
-      "glob-3.2.11" = self.by-version."glob"."3.2.11";
-      "exit-0.1.2" = self.by-version."exit"."0.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cli-cursor"."^1.0.1" =
-    self.by-version."cli-cursor"."1.0.2";
-  by-version."cli-cursor"."1.0.2" = self.buildNodePackage {
-    name = "cli-cursor-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-1.0.2.tgz";
-      name = "cli-cursor-1.0.2.tgz";
-      sha1 = "64da3f7d56a54412e59794bd62dc35295e8f2987";
-    };
-    deps = {
-      "restore-cursor-1.0.1" = self.by-version."restore-cursor"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cli-table"."^0.3.1" =
-    self.by-version."cli-table"."0.3.1";
-  by-version."cli-table"."0.3.1" = self.buildNodePackage {
-    name = "cli-table-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cli-table/-/cli-table-0.3.1.tgz";
-      name = "cli-table-0.3.1.tgz";
-      sha1 = "f53b05266a8b1a0b934b3d0821e6e2dc5914ae23";
-    };
-    deps = {
-      "colors-1.0.3" = self.by-version."colors"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cli-width"."^1.0.1" =
-    self.by-version."cli-width"."1.1.1";
-  by-version."cli-width"."1.1.1" = self.buildNodePackage {
-    name = "cli-width-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cli-width/-/cli-width-1.1.1.tgz";
-      name = "cli-width-1.1.1.tgz";
-      sha1 = "a4d293ef67ebb7b88d4a4d42c0ccf00c4d1e366d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cli-width"."^2.0.0" =
-    self.by-version."cli-width"."2.1.0";
-  by-version."cli-width"."2.1.0" = self.buildNodePackage {
-    name = "cli-width-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cli-width/-/cli-width-2.1.0.tgz";
-      name = "cli-width-2.1.0.tgz";
-      sha1 = "b234ca209b29ef66fc518d9b98d5847b00edf00a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cliff"."0.1.8" =
-    self.by-version."cliff"."0.1.8";
-  by-version."cliff"."0.1.8" = self.buildNodePackage {
-    name = "cliff-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cliff/-/cliff-0.1.8.tgz";
-      name = "cliff-0.1.8.tgz";
-      sha1 = "43ca8ad9fe3943489693ab62dce0cae22509d272";
-    };
-    deps = {
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "winston-0.6.2" = self.by-version."winston"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cliff"."0.1.9" =
-    self.by-version."cliff"."0.1.9";
-  by-version."cliff"."0.1.9" = self.buildNodePackage {
-    name = "cliff-0.1.9";
-    version = "0.1.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cliff/-/cliff-0.1.9.tgz";
-      name = "cliff-0.1.9.tgz";
-      sha1 = "a211e09c6a3de3ba1af27d049d301250d18812bc";
-    };
-    deps = {
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "winston-0.8.3" = self.by-version."winston"."0.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cliff"."~0.1.9" =
-    self.by-version."cliff"."0.1.10";
-  by-version."cliff"."0.1.10" = self.buildNodePackage {
-    name = "cliff-0.1.10";
-    version = "0.1.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cliff/-/cliff-0.1.10.tgz";
-      name = "cliff-0.1.10.tgz";
-      sha1 = "53be33ea9f59bec85609ee300ac4207603e52013";
-    };
-    deps = {
-      "colors-1.0.3" = self.by-version."colors"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "winston-0.8.3" = self.by-version."winston"."0.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cliui"."^2.1.0" =
-    self.by-version."cliui"."2.1.0";
-  by-version."cliui"."2.1.0" = self.buildNodePackage {
-    name = "cliui-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz";
-      name = "cliui-2.1.0.tgz";
-      sha1 = "4b475760ff80264c762c3a1719032e91c7fea0d1";
-    };
-    deps = {
-      "center-align-0.1.3" = self.by-version."center-align"."0.1.3";
-      "right-align-0.1.3" = self.by-version."right-align"."0.1.3";
-      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cliui"."^3.0.3" =
-    self.by-version."cliui"."3.2.0";
-  by-version."cliui"."3.2.0" = self.buildNodePackage {
-    name = "cliui-3.2.0";
-    version = "3.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cliui/-/cliui-3.2.0.tgz";
-      name = "cliui-3.2.0.tgz";
-      sha1 = "120601537a916d29940f934da3b48d585a39213d";
-    };
-    deps = {
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "wrap-ansi-2.0.0" = self.by-version."wrap-ansi"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cliui"."^3.2.0" =
-    self.by-version."cliui"."3.2.0";
-  by-spec."clivas"."^0.1.4" =
-    self.by-version."clivas"."0.1.4";
-  by-version."clivas"."0.1.4" = self.buildNodePackage {
-    name = "clivas-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/clivas/-/clivas-0.1.4.tgz";
-      name = "clivas-0.1.4.tgz";
-      sha1 = "e1c1e481d1273d57f1752132b0e4410a0d88235a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."clone"."0.1.5" =
-    self.by-version."clone"."0.1.5";
-  by-version."clone"."0.1.5" = self.buildNodePackage {
-    name = "clone-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/clone/-/clone-0.1.5.tgz";
-      name = "clone-0.1.5.tgz";
-      sha1 = "46f29143d0766d663dbd7f80b7520a15783d2042";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."clone"."0.1.6" =
-    self.by-version."clone"."0.1.6";
-  by-version."clone"."0.1.6" = self.buildNodePackage {
-    name = "clone-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/clone/-/clone-0.1.6.tgz";
-      name = "clone-0.1.6.tgz";
-      sha1 = "4af2296d4a23a64168c2f5fb0a2aa65e80517000";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."clone"."1.0.2" =
-    self.by-version."clone"."1.0.2";
-  by-version."clone"."1.0.2" = self.buildNodePackage {
-    name = "clone-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/clone/-/clone-1.0.2.tgz";
-      name = "clone-1.0.2.tgz";
-      sha1 = "260b7a99ebb1edfe247538175f783243cb19d149";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."clone".">=0.1.0" =
-    self.by-version."clone"."1.0.2";
-  by-spec."clone"."^0.2.0" =
-    self.by-version."clone"."0.2.0";
-  by-version."clone"."0.2.0" = self.buildNodePackage {
-    name = "clone-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/clone/-/clone-0.2.0.tgz";
-      name = "clone-0.2.0.tgz";
-      sha1 = "c6126a90ad4f72dbf5acdb243cc37724fe93fc1f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."clone"."^1.0.0" =
-    self.by-version."clone"."1.0.2";
-  by-spec."clone"."^1.0.2" =
-    self.by-version."clone"."1.0.2";
-  by-spec."clone"."~1.0.2" =
-    self.by-version."clone"."1.0.2";
-  by-spec."clone-stats"."^0.0.1" =
-    self.by-version."clone-stats"."0.0.1";
-  by-version."clone-stats"."0.0.1" = self.buildNodePackage {
-    name = "clone-stats-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/clone-stats/-/clone-stats-0.0.1.tgz";
-      name = "clone-stats-0.0.1.tgz";
-      sha1 = "b88f94a82cf38b8791d58046ea4029ad88ca99d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cmd-shim"."~2.0.2" =
-    self.by-version."cmd-shim"."2.0.2";
-  by-version."cmd-shim"."2.0.2" = self.buildNodePackage {
-    name = "cmd-shim-2.0.2";
-    version = "2.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cmd-shim/-/cmd-shim-2.0.2.tgz";
-      name = "cmd-shim-2.0.2.tgz";
-      sha1 = "6fcbda99483a8fd15d7d30a196ca69d688a2efdb";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cmdln"."3.2.1" =
-    self.by-version."cmdln"."3.2.1";
-  by-version."cmdln"."3.2.1" = self.buildNodePackage {
-    name = "cmdln-3.2.1";
-    version = "3.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cmdln/-/cmdln-3.2.1.tgz";
-      name = "cmdln-3.2.1.tgz";
-      sha1 = "8d21967625b25ee35fca8e8453ccf10fccd04e45";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "extsprintf-1.3.0" = self.by-version."extsprintf"."1.3.0";
-      "verror-1.6.1" = self.by-version."verror"."1.6.1";
-      "dashdash-1.14.0" = self.by-version."dashdash"."1.14.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."co"."3.1.0" =
-    self.by-version."co"."3.1.0";
-  by-version."co"."3.1.0" = self.buildNodePackage {
-    name = "co-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/co/-/co-3.1.0.tgz";
-      name = "co-3.1.0.tgz";
-      sha1 = "4ea54ea5a08938153185e15210c68d9092bc1b78";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."co"."~3.0.6" =
-    self.by-version."co"."3.0.6";
-  by-version."co"."3.0.6" = self.buildNodePackage {
-    name = "co-3.0.6";
-    version = "3.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/co/-/co-3.0.6.tgz";
-      name = "co-3.0.6.tgz";
-      sha1 = "1445f226c5eb956138e68c9ac30167ea7d2e6bda";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."coa"."~1.0.1" =
-    self.by-version."coa"."1.0.1";
-  by-version."coa"."1.0.1" = self.buildNodePackage {
-    name = "coa-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/coa/-/coa-1.0.1.tgz";
-      name = "coa-1.0.1.tgz";
-      sha1 = "7f959346cfc8719e3f7233cd6852854a7c67d8a3";
-    };
-    deps = {
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."code-point-at"."^1.0.0" =
-    self.by-version."code-point-at"."1.0.0";
-  by-version."code-point-at"."1.0.0" = self.buildNodePackage {
-    name = "code-point-at-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/code-point-at/-/code-point-at-1.0.0.tgz";
-      name = "code-point-at-1.0.0.tgz";
-      sha1 = "f69b192d3f7d91e382e4b71bddb77878619ab0c6";
-    };
-    deps = {
-      "number-is-nan-1.0.0" = self.by-version."number-is-nan"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."codepage"."~1.4.0" =
-    self.by-version."codepage"."1.4.0";
-  by-version."codepage"."1.4.0" = self.buildNodePackage {
-    name = "codepage-1.4.0";
-    version = "1.4.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/codepage/-/codepage-1.4.0.tgz";
-      name = "codepage-1.4.0.tgz";
-      sha1 = "ffd5b603ae6a8ebb63559d5fb89a57d12b943837";
-    };
-    deps = {
-      "voc-0.5.0" = self.by-version."voc"."0.5.0";
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "exit-on-epipe-0.0.1" = self.by-version."exit-on-epipe"."0.0.1";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."coffee-script"."*" =
-    self.by-version."coffee-script"."1.10.0";
-  by-version."coffee-script"."1.10.0" = self.buildNodePackage {
-    name = "coffee-script-1.10.0";
-    version = "1.10.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.10.0.tgz";
-      name = "coffee-script-1.10.0.tgz";
-      sha1 = "12938bcf9be1948fa006f92e0c4c9e81705108c0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "coffee-script" = self.by-version."coffee-script"."1.10.0";
-  by-spec."coffee-script"."1.6.3" =
-    self.by-version."coffee-script"."1.6.3";
-  by-version."coffee-script"."1.6.3" = self.buildNodePackage {
-    name = "coffee-script-1.6.3";
-    version = "1.6.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.6.3.tgz";
-      name = "coffee-script-1.6.3.tgz";
-      sha1 = "6355d32cf1b04cdff6b484e5e711782b2f0c39be";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."coffee-script".">= 0.0.1" =
-    self.by-version."coffee-script"."1.10.0";
-  by-spec."coffee-script".">=1.2.0" =
-    self.by-version."coffee-script"."1.10.0";
-  by-spec."coffee-script".">=1.6.2 <2.0.0" =
-    self.by-version."coffee-script"."1.10.0";
-  by-spec."coffee-script"."^1.9.2" =
-    self.by-version."coffee-script"."1.10.0";
-  by-spec."coffee-script"."~1.10.0" =
-    self.by-version."coffee-script"."1.10.0";
-  by-spec."coffee-script"."~1.3.3" =
-    self.by-version."coffee-script"."1.3.3";
-  by-version."coffee-script"."1.3.3" = self.buildNodePackage {
-    name = "coffee-script-1.3.3";
-    version = "1.3.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/coffee-script/-/coffee-script-1.3.3.tgz";
-      name = "coffee-script-1.3.3.tgz";
-      sha1 = "150d6b4cb522894369efed6a2101c20bc7f4a4f4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."color"."~0.11.1" =
-    self.by-version."color"."0.11.1";
-  by-version."color"."0.11.1" = self.buildNodePackage {
-    name = "color-0.11.1";
-    version = "0.11.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/color/-/color-0.11.1.tgz";
-      name = "color-0.11.1.tgz";
-      sha1 = "19e357ce1872e191e8a91702b4ee1b0ed844187a";
-    };
-    deps = {
-      "color-convert-0.5.3" = self.by-version."color-convert"."0.5.3";
-      "color-string-0.3.0" = self.by-version."color-string"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."color-convert"."^0.5.3" =
-    self.by-version."color-convert"."0.5.3";
-  by-version."color-convert"."0.5.3" = self.buildNodePackage {
-    name = "color-convert-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/color-convert/-/color-convert-0.5.3.tgz";
-      name = "color-convert-0.5.3.tgz";
-      sha1 = "bdb6c69ce660fadffe0b0007cc447e1b9f7282bd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."color-name"."^1.0.0" =
-    self.by-version."color-name"."1.1.1";
-  by-version."color-name"."1.1.1" = self.buildNodePackage {
-    name = "color-name-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/color-name/-/color-name-1.1.1.tgz";
-      name = "color-name-1.1.1.tgz";
-      sha1 = "4b1415304cf50028ea81643643bd82ea05803689";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."color-string"."^0.3.0" =
-    self.by-version."color-string"."0.3.0";
-  by-version."color-string"."0.3.0" = self.buildNodePackage {
-    name = "color-string-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/color-string/-/color-string-0.3.0.tgz";
-      name = "color-string-0.3.0.tgz";
-      sha1 = "27d46fb67025c5c2fa25993bfbf579e47841b991";
-    };
-    deps = {
-      "color-name-1.1.1" = self.by-version."color-name"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."colors"."0.5.x" =
-    self.by-version."colors"."0.5.1";
-  by-version."colors"."0.5.1" = self.buildNodePackage {
-    name = "colors-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/colors/-/colors-0.5.1.tgz";
-      name = "colors-0.5.1.tgz";
-      sha1 = "7d0023eaeb154e8ee9fce75dcb923d0ed1667774";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."colors"."0.6.x" =
-    self.by-version."colors"."0.6.2";
-  by-version."colors"."0.6.2" = self.buildNodePackage {
-    name = "colors-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/colors/-/colors-0.6.2.tgz";
-      name = "colors-0.6.2.tgz";
-      sha1 = "2423fe6678ac0c5dae8852e5d0e5be08c997abcc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."colors"."0.x.x" =
-    self.by-version."colors"."0.6.2";
-  by-spec."colors"."1.0.3" =
-    self.by-version."colors"."1.0.3";
-  by-version."colors"."1.0.3" = self.buildNodePackage {
-    name = "colors-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/colors/-/colors-1.0.3.tgz";
-      name = "colors-1.0.3.tgz";
-      sha1 = "0433f44d809680fdeb60ed260f1b0c262e82a40b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."colors"."1.0.x" =
-    self.by-version."colors"."1.0.3";
-  by-spec."colors"."1.1.2" =
-    self.by-version."colors"."1.1.2";
-  by-version."colors"."1.1.2" = self.buildNodePackage {
-    name = "colors-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz";
-      name = "colors-1.1.2.tgz";
-      sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."colors"."^1.0.3" =
-    self.by-version."colors"."1.1.2";
-  by-spec."colors"."^1.1.0" =
-    self.by-version."colors"."1.1.2";
-  by-spec."colors"."^1.1.2" =
-    self.by-version."colors"."1.1.2";
-  by-spec."colors"."~0.6.2" =
-    self.by-version."colors"."0.6.2";
-  by-spec."colors"."~1.0.3" =
-    self.by-version."colors"."1.0.3";
-  by-spec."colors"."~1.1.2" =
-    self.by-version."colors"."1.1.2";
-  by-spec."colour"."*" =
-    self.by-version."colour"."0.7.1";
-  by-version."colour"."0.7.1" = self.buildNodePackage {
-    name = "colour-0.7.1";
-    version = "0.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/colour/-/colour-0.7.1.tgz";
-      name = "colour-0.7.1.tgz";
-      sha1 = "9cb169917ec5d12c0736d3e8685746df1cadf778";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."columnify"."~1.5.4" =
-    self.by-version."columnify"."1.5.4";
-  by-version."columnify"."1.5.4" = self.buildNodePackage {
-    name = "columnify-1.5.4";
-    version = "1.5.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/columnify/-/columnify-1.5.4.tgz";
-      name = "columnify-1.5.4.tgz";
-      sha1 = "4737ddf1c7b69a8a7c340570782e947eec8e78bb";
-    };
-    deps = {
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "wcwidth-1.0.1" = self.by-version."wcwidth"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combine-source-map"."~0.3.0" =
-    self.by-version."combine-source-map"."0.3.0";
-  by-version."combine-source-map"."0.3.0" = self.buildNodePackage {
-    name = "combine-source-map-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.3.0.tgz";
-      name = "combine-source-map-0.3.0.tgz";
-      sha1 = "d9e74f593d9cd43807312cb5d846d451efaa9eb7";
-    };
-    deps = {
-      "inline-source-map-0.3.1" = self.by-version."inline-source-map"."0.3.1";
-      "convert-source-map-0.3.5" = self.by-version."convert-source-map"."0.3.5";
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combine-source-map"."~0.6.1" =
-    self.by-version."combine-source-map"."0.6.1";
-  by-version."combine-source-map"."0.6.1" = self.buildNodePackage {
-    name = "combine-source-map-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.6.1.tgz";
-      name = "combine-source-map-0.6.1.tgz";
-      sha1 = "9b4a09c316033d768e0f11e029fa2730e079ad96";
-    };
-    deps = {
-      "convert-source-map-1.1.3" = self.by-version."convert-source-map"."1.1.3";
-      "inline-source-map-0.5.0" = self.by-version."inline-source-map"."0.5.0";
-      "lodash.memoize-3.0.4" = self.by-version."lodash.memoize"."3.0.4";
-      "source-map-0.4.4" = self.by-version."source-map"."0.4.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combine-source-map"."~0.7.1" =
-    self.by-version."combine-source-map"."0.7.2";
-  by-version."combine-source-map"."0.7.2" = self.buildNodePackage {
-    name = "combine-source-map-0.7.2";
-    version = "0.7.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/combine-source-map/-/combine-source-map-0.7.2.tgz";
-      name = "combine-source-map-0.7.2.tgz";
-      sha1 = "0870312856b307a87cc4ac486f3a9a62aeccc09e";
-    };
-    deps = {
-      "convert-source-map-1.1.3" = self.by-version."convert-source-map"."1.1.3";
-      "inline-source-map-0.6.2" = self.by-version."inline-source-map"."0.6.2";
-      "lodash.memoize-3.0.4" = self.by-version."lodash.memoize"."3.0.4";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combined-stream"."^1.0.5" =
-    self.by-version."combined-stream"."1.0.5";
-  by-version."combined-stream"."1.0.5" = self.buildNodePackage {
-    name = "combined-stream-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.5.tgz";
-      name = "combined-stream-1.0.5.tgz";
-      sha1 = "938370a57b4a51dea2c77c15d5c5fdf895164009";
-    };
-    deps = {
-      "delayed-stream-1.0.0" = self.by-version."delayed-stream"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combined-stream"."~0.0.4" =
-    self.by-version."combined-stream"."0.0.7";
-  by-version."combined-stream"."0.0.7" = self.buildNodePackage {
-    name = "combined-stream-0.0.7";
-    version = "0.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/combined-stream/-/combined-stream-0.0.7.tgz";
-      name = "combined-stream-0.0.7.tgz";
-      sha1 = "0137e657baa5a7541c57ac37ac5fc07d73b4dc1f";
-    };
-    deps = {
-      "delayed-stream-0.0.5" = self.by-version."delayed-stream"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."combined-stream"."~0.0.5" =
-    self.by-version."combined-stream"."0.0.7";
-  by-spec."combined-stream"."~1.0.1" =
-    self.by-version."combined-stream"."1.0.5";
-  by-spec."combined-stream"."~1.0.5" =
-    self.by-version."combined-stream"."1.0.5";
-  by-spec."commander"."*" =
-    self.by-version."commander"."2.9.0";
-  by-version."commander"."2.9.0" = self.buildNodePackage {
-    name = "commander-2.9.0";
-    version = "2.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-2.9.0.tgz";
-      name = "commander-2.9.0.tgz";
-      sha1 = "9c99094176e12240cb22d6c5146098400fe0f7d4";
-    };
-    deps = {
-      "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."0.6.1" =
-    self.by-version."commander"."0.6.1";
-  by-version."commander"."0.6.1" = self.buildNodePackage {
-    name = "commander-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-0.6.1.tgz";
-      name = "commander-0.6.1.tgz";
-      sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."1.3.2" =
-    self.by-version."commander"."1.3.2";
-  by-version."commander"."1.3.2" = self.buildNodePackage {
-    name = "commander-1.3.2";
-    version = "1.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-1.3.2.tgz";
-      name = "commander-1.3.2.tgz";
-      sha1 = "8a8f30ec670a6fdd64af52f1914b907d79ead5b5";
-    };
-    deps = {
-      "keypress-0.1.0" = self.by-version."keypress"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."2.0.0" =
-    self.by-version."commander"."2.0.0";
-  by-version."commander"."2.0.0" = self.buildNodePackage {
-    name = "commander-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-2.0.0.tgz";
-      name = "commander-2.0.0.tgz";
-      sha1 = "d1b86f901f8b64bd941bdeadaf924530393be928";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."2.3.0" =
-    self.by-version."commander"."2.3.0";
-  by-version."commander"."2.3.0" = self.buildNodePackage {
-    name = "commander-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-2.3.0.tgz";
-      name = "commander-2.3.0.tgz";
-      sha1 = "fd430e889832ec353b9acd1de217c11cb3eef873";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."2.6.0" =
-    self.by-version."commander"."2.6.0";
-  by-version."commander"."2.6.0" = self.buildNodePackage {
-    name = "commander-2.6.0";
-    version = "2.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-2.6.0.tgz";
-      name = "commander-2.6.0.tgz";
-      sha1 = "9df7e52fb2a0cb0fb89058ee80c3104225f37e1d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."2.8.x" =
-    self.by-version."commander"."2.8.1";
-  by-version."commander"."2.8.1" = self.buildNodePackage {
-    name = "commander-2.8.1";
-    version = "2.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-2.8.1.tgz";
-      name = "commander-2.8.1.tgz";
-      sha1 = "06be367febfda0c330aa1e2a072d3dc9762425d4";
-    };
-    deps = {
-      "graceful-readlink-1.0.1" = self.by-version."graceful-readlink"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander".">=2.0.0" =
-    self.by-version."commander"."2.9.0";
-  by-spec."commander".">=2.3.0 <3.0.0-0" =
-    self.by-version."commander"."2.9.0";
-  by-spec."commander"."^2.5.0" =
-    self.by-version."commander"."2.9.0";
-  by-spec."commander"."^2.8.1" =
-    self.by-version."commander"."2.9.0";
-  by-spec."commander"."^2.9.0" =
-    self.by-version."commander"."2.9.0";
-  by-spec."commander"."~0.6.1" =
-    self.by-version."commander"."0.6.1";
-  by-spec."commander"."~2.0.0" =
-    self.by-version."commander"."2.0.0";
-  by-spec."commander"."~2.1.0" =
-    self.by-version."commander"."2.1.0";
-  by-version."commander"."2.1.0" = self.buildNodePackage {
-    name = "commander-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commander/-/commander-2.1.0.tgz";
-      name = "commander-2.1.0.tgz";
-      sha1 = "d121bbae860d9992a3d517ba96f56588e47c6781";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commander"."~2.6.0" =
-    self.by-version."commander"."2.6.0";
-  by-spec."commander"."~2.9.0" =
-    self.by-version."commander"."2.9.0";
-  by-spec."commist"."^1.0.0" =
-    self.by-version."commist"."1.0.0";
-  by-version."commist"."1.0.0" = self.buildNodePackage {
-    name = "commist-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commist/-/commist-1.0.0.tgz";
-      name = "commist-1.0.0.tgz";
-      sha1 = "c0c352501cf6f52e9124e3ef89c9806e2022ebef";
-    };
-    deps = {
-      "leven-1.0.2" = self.by-version."leven"."1.0.2";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commondir"."0.0.1" =
-    self.by-version."commondir"."0.0.1";
-  by-version."commondir"."0.0.1" = self.buildNodePackage {
-    name = "commondir-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commondir/-/commondir-0.0.1.tgz";
-      name = "commondir-0.0.1.tgz";
-      sha1 = "89f00fdcd51b519c578733fec563e6a6da7f5be2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commoner"."^0.10.0" =
-    self.by-version."commoner"."0.10.4";
-  by-version."commoner"."0.10.4" = self.buildNodePackage {
-    name = "commoner-0.10.4";
-    version = "0.10.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/commoner/-/commoner-0.10.4.tgz";
-      name = "commoner-0.10.4.tgz";
-      sha1 = "98f3333dd3ad399596bb2d384a783bb7213d68f8";
-    };
-    deps = {
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "detective-4.3.1" = self.by-version."detective"."4.3.1";
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "private-0.1.6" = self.by-version."private"."0.1.6";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-      "recast-0.10.43" = self.by-version."recast"."0.10.43";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."commoner"."^0.10.1" =
-    self.by-version."commoner"."0.10.4";
-  by-spec."commoner"."~0.10.3" =
-    self.by-version."commoner"."0.10.4";
-  by-spec."compact2string"."^1.2.0" =
-    self.by-version."compact2string"."1.4.0";
-  by-version."compact2string"."1.4.0" = self.buildNodePackage {
-    name = "compact2string-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/compact2string/-/compact2string-1.4.0.tgz";
-      name = "compact2string-1.4.0.tgz";
-      sha1 = "a99cd96ea000525684b269683ae2222d6eea7b49";
-    };
-    deps = {
-      "ipaddr.js-1.1.1" = self.by-version."ipaddr.js"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."component-bind"."1.0.0" =
-    self.by-version."component-bind"."1.0.0";
-  by-version."component-bind"."1.0.0" = self.buildNodePackage {
-    name = "component-bind-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz";
-      name = "component-bind-1.0.0.tgz";
-      sha1 = "00c608ab7dcd93897c0009651b1d3a8e1e73bbd1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."component-emitter"."1.1.2" =
-    self.by-version."component-emitter"."1.1.2";
-  by-version."component-emitter"."1.1.2" = self.buildNodePackage {
-    name = "component-emitter-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.1.2.tgz";
-      name = "component-emitter-1.1.2.tgz";
-      sha1 = "296594f2753daa63996d2af08d15a95116c9aec3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."component-emitter"."1.2.0" =
-    self.by-version."component-emitter"."1.2.0";
-  by-version."component-emitter"."1.2.0" = self.buildNodePackage {
-    name = "component-emitter-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.0.tgz";
-      name = "component-emitter-1.2.0.tgz";
-      sha1 = "ccd113a86388d06482d03de3fc7df98526ba8efe";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."component-emitter"."^1.1.3" =
-    self.by-version."component-emitter"."1.2.1";
-  by-version."component-emitter"."1.2.1" = self.buildNodePackage {
-    name = "component-emitter-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz";
-      name = "component-emitter-1.2.1.tgz";
-      sha1 = "137918d6d78283f7df7a6b7c5a63e140e69425e6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."component-emitter"."~1.2.0" =
-    self.by-version."component-emitter"."1.2.1";
-  by-spec."component-inherit"."0.0.3" =
-    self.by-version."component-inherit"."0.0.3";
-  by-version."component-inherit"."0.0.3" = self.buildNodePackage {
-    name = "component-inherit-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz";
-      name = "component-inherit-0.0.3.tgz";
-      sha1 = "645fc4adf58b72b649d5cae65135619db26ff143";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."compress-commons"."~0.2.0" =
-    self.by-version."compress-commons"."0.2.9";
-  by-version."compress-commons"."0.2.9" = self.buildNodePackage {
-    name = "compress-commons-0.2.9";
-    version = "0.2.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/compress-commons/-/compress-commons-0.2.9.tgz";
-      name = "compress-commons-0.2.9.tgz";
-      sha1 = "422d927430c01abd06cd455b6dfc04cb4cf8003c";
-    };
-    deps = {
-      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
-      "crc32-stream-0.3.4" = self.by-version."crc32-stream"."0.3.4";
-      "node-int64-0.3.3" = self.by-version."node-int64"."0.3.3";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."compressible"."1.0.0" =
-    self.by-version."compressible"."1.0.0";
-  by-version."compressible"."1.0.0" = self.buildNodePackage {
-    name = "compressible-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/compressible/-/compressible-1.0.0.tgz";
-      name = "compressible-1.0.0.tgz";
-      sha1 = "f83e49c1cb61421753545125a8011d68b492427d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."compressible"."~2.0.5" =
-    self.by-version."compressible"."2.0.8";
-  by-version."compressible"."2.0.8" = self.buildNodePackage {
-    name = "compressible-2.0.8";
-    version = "2.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/compressible/-/compressible-2.0.8.tgz";
-      name = "compressible-2.0.8.tgz";
-      sha1 = "7162e6c46d3b9d200ffb45cb4e4a0f7832732503";
-    };
-    deps = {
-      "mime-db-1.23.0" = self.by-version."mime-db"."1.23.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."compressible"."~2.0.8" =
-    self.by-version."compressible"."2.0.8";
-  by-spec."compression"."1.0.0" =
-    self.by-version."compression"."1.0.0";
-  by-version."compression"."1.0.0" = self.buildNodePackage {
-    name = "compression-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/compression/-/compression-1.0.0.tgz";
-      name = "compression-1.0.0.tgz";
-      sha1 = "8aeb85d48db5145d38bc8b181b6352d8eab26020";
-    };
-    deps = {
-      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
-      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
-      "compressible-1.0.0" = self.by-version."compressible"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."compression".">=1.2.0 <2.0.0-0" =
-    self.by-version."compression"."1.6.2";
-  by-version."compression"."1.6.2" = self.buildNodePackage {
-    name = "compression-1.6.2";
-    version = "1.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/compression/-/compression-1.6.2.tgz";
-      name = "compression-1.6.2.tgz";
-      sha1 = "cceb121ecc9d09c52d7ad0c3350ea93ddd402bc3";
-    };
-    deps = {
-      "accepts-1.3.3" = self.by-version."accepts"."1.3.3";
-      "bytes-2.3.0" = self.by-version."bytes"."2.3.0";
-      "compressible-2.0.8" = self.by-version."compressible"."2.0.8";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-      "vary-1.1.0" = self.by-version."vary"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."compression"."^1.6.0" =
-    self.by-version."compression"."1.6.2";
-  by-spec."compression"."~1.5.2" =
-    self.by-version."compression"."1.5.2";
-  by-version."compression"."1.5.2" = self.buildNodePackage {
-    name = "compression-1.5.2";
-    version = "1.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/compression/-/compression-1.5.2.tgz";
-      name = "compression-1.5.2.tgz";
-      sha1 = "b03b8d86e6f8ad29683cba8df91ddc6ffc77b395";
-    };
-    deps = {
-      "accepts-1.2.13" = self.by-version."accepts"."1.2.13";
-      "bytes-2.1.0" = self.by-version."bytes"."2.1.0";
-      "compressible-2.0.8" = self.by-version."compressible"."2.0.8";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-      "vary-1.0.1" = self.by-version."vary"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."concat-map"."0.0.1" =
-    self.by-version."concat-map"."0.0.1";
-  by-version."concat-map"."0.0.1" = self.buildNodePackage {
-    name = "concat-map-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-      name = "concat-map-0.0.1.tgz";
-      sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."concat-stream"."*" =
-    self.by-version."concat-stream"."1.5.1";
-  by-version."concat-stream"."1.5.1" = self.buildNodePackage {
-    name = "concat-stream-1.5.1";
-    version = "1.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.1.tgz";
-      name = "concat-stream-1.5.1.tgz";
-      sha1 = "f3b80acf9e1f48e3875c0688b41b6c31602eea1c";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "typedarray-0.0.6" = self.by-version."typedarray"."0.0.6";
-      "readable-stream-2.0.6" = self.by-version."readable-stream"."2.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."concat-stream"."1.5.0" =
-    self.by-version."concat-stream"."1.5.0";
-  by-version."concat-stream"."1.5.0" = self.buildNodePackage {
-    name = "concat-stream-1.5.0";
-    version = "1.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.5.0.tgz";
-      name = "concat-stream-1.5.0.tgz";
-      sha1 = "53f7d43c51c5e43f81c8fdd03321c631be68d611";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "typedarray-0.0.6" = self.by-version."typedarray"."0.0.6";
-      "readable-stream-2.0.6" = self.by-version."readable-stream"."2.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."concat-stream"."^1.4.1" =
-    self.by-version."concat-stream"."1.5.1";
-  by-spec."concat-stream"."^1.4.6" =
-    self.by-version."concat-stream"."1.5.1";
-  by-spec."concat-stream"."^1.4.7" =
-    self.by-version."concat-stream"."1.5.1";
-  by-spec."concat-stream"."^1.5.1" =
-    self.by-version."concat-stream"."1.5.1";
-  by-spec."concat-stream"."~1.4.1" =
-    self.by-version."concat-stream"."1.4.10";
-  by-version."concat-stream"."1.4.10" = self.buildNodePackage {
-    name = "concat-stream-1.4.10";
-    version = "1.4.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/concat-stream/-/concat-stream-1.4.10.tgz";
-      name = "concat-stream-1.4.10.tgz";
-      sha1 = "acc3bbf5602cb8cc980c6ac840fa7d8603e3ef36";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "typedarray-0.0.6" = self.by-version."typedarray"."0.0.6";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."concat-stream"."~1.4.5" =
-    self.by-version."concat-stream"."1.4.10";
-  by-spec."concat-stream"."~1.4.7" =
-    self.by-version."concat-stream"."1.4.10";
-  by-spec."concat-stream"."~1.5.0" =
-    self.by-version."concat-stream"."1.5.1";
-  by-spec."concat-stream"."~1.5.1" =
-    self.by-version."concat-stream"."1.5.1";
-  by-spec."config"."0.4.15" =
-    self.by-version."config"."0.4.15";
-  by-version."config"."0.4.15" = self.buildNodePackage {
-    name = "config-0.4.15";
-    version = "0.4.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/config/-/config-0.4.15.tgz";
-      name = "config-0.4.15.tgz";
-      sha1 = "d43ddf58b8df5637fdd1314fc816ccae7bfbcd18";
-    };
-    deps = {
-      "js-yaml-0.3.7" = self.by-version."js-yaml"."0.3.7";
-      "coffee-script-1.10.0" = self.by-version."coffee-script"."1.10.0";
-      "vows-0.8.1" = self.by-version."vows"."0.8.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."config"."0.4.36" =
-    self.by-version."config"."0.4.36";
-  by-version."config"."0.4.36" = self.buildNodePackage {
-    name = "config-0.4.36";
-    version = "0.4.36";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/config/-/config-0.4.36.tgz";
-      name = "config-0.4.36.tgz";
-      sha1 = "02af1237f519c00f1e3aac22f9a034148fc3e786";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."config-chain"."~1.1.1" =
-    self.by-version."config-chain"."1.1.10";
-  by-version."config-chain"."1.1.10" = self.buildNodePackage {
-    name = "config-chain-1.1.10";
-    version = "1.1.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/config-chain/-/config-chain-1.1.10.tgz";
-      name = "config-chain-1.1.10.tgz";
-      sha1 = "7fc383de0fcc84d711cb465bd176579cad612346";
-    };
-    deps = {
-      "proto-list-1.2.4" = self.by-version."proto-list"."1.2.4";
-      "ini-1.3.4" = self.by-version."ini"."1.3.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."config-chain"."~1.1.10" =
-    self.by-version."config-chain"."1.1.10";
-  by-spec."config-chain"."~1.1.8" =
-    self.by-version."config-chain"."1.1.10";
-  by-spec."configstore"."^1.0.0" =
-    self.by-version."configstore"."1.4.0";
-  by-version."configstore"."1.4.0" = self.buildNodePackage {
-    name = "configstore-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/configstore/-/configstore-1.4.0.tgz";
-      name = "configstore-1.4.0.tgz";
-      sha1 = "c35781d0501d268c25c54b8b17f6240e8a4fb021";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "os-tmpdir-1.0.1" = self.by-version."os-tmpdir"."1.0.1";
-      "osenv-0.1.3" = self.by-version."osenv"."0.1.3";
-      "uuid-2.0.2" = self.by-version."uuid"."2.0.2";
-      "write-file-atomic-1.1.4" = self.by-version."write-file-atomic"."1.1.4";
-      "xdg-basedir-2.0.0" = self.by-version."xdg-basedir"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."1.x" =
-    self.by-version."connect"."1.9.2";
-  by-version."connect"."1.9.2" = self.buildNodePackage {
-    name = "connect-1.9.2";
-    version = "1.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect/-/connect-1.9.2.tgz";
-      name = "connect-1.9.2.tgz";
-      sha1 = "42880a22e9438ae59a8add74e437f58ae8e52807";
-    };
-    deps = {
-      "qs-6.2.0" = self.by-version."qs"."6.2.0";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "formidable-1.0.17" = self.by-version."formidable"."1.0.17";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."2.11.0" =
-    self.by-version."connect"."2.11.0";
-  by-version."connect"."2.11.0" = self.buildNodePackage {
-    name = "connect-2.11.0";
-    version = "2.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect/-/connect-2.11.0.tgz";
-      name = "connect-2.11.0.tgz";
-      sha1 = "9991ce09ff9b85d9ead27f9d41d0b2a2df2f9284";
-    };
-    deps = {
-      "qs-0.6.5" = self.by-version."qs"."0.6.5";
-      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
-      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
-      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
-      "send-0.1.4" = self.by-version."send"."0.1.4";
-      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
-      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
-      "pause-0.0.1" = self.by-version."pause"."0.0.1";
-      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "methods-0.0.1" = self.by-version."methods"."0.0.1";
-      "raw-body-0.0.3" = self.by-version."raw-body"."0.0.3";
-      "negotiator-0.3.0" = self.by-version."negotiator"."0.3.0";
-      "multiparty-2.2.0" = self.by-version."multiparty"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."2.14.5" =
-    self.by-version."connect"."2.14.5";
-  by-version."connect"."2.14.5" = self.buildNodePackage {
-    name = "connect-2.14.5";
-    version = "2.14.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect/-/connect-2.14.5.tgz";
-      name = "connect-2.14.5.tgz";
-      sha1 = "73217513152c152ebe049c499fa09211b8c476f4";
-    };
-    deps = {
-      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
-      "cookie-parser-1.0.1" = self.by-version."cookie-parser"."1.0.1";
-      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
-      "compression-1.0.0" = self.by-version."compression"."1.0.0";
-      "connect-timeout-1.0.0" = self.by-version."connect-timeout"."1.0.0";
-      "csurf-1.1.0" = self.by-version."csurf"."1.1.0";
-      "errorhandler-1.0.0" = self.by-version."errorhandler"."1.0.0";
-      "express-session-1.0.2" = self.by-version."express-session"."1.0.2";
-      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
-      "method-override-1.0.0" = self.by-version."method-override"."1.0.0";
-      "morgan-1.0.0" = self.by-version."morgan"."1.0.0";
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
-      "raw-body-1.1.4" = self.by-version."raw-body"."1.1.4";
-      "response-time-1.0.0" = self.by-version."response-time"."1.0.0";
-      "setimmediate-1.0.1" = self.by-version."setimmediate"."1.0.1";
-      "serve-index-1.0.1" = self.by-version."serve-index"."1.0.1";
-      "serve-static-1.1.0" = self.by-version."serve-static"."1.1.0";
-      "static-favicon-1.0.2" = self.by-version."static-favicon"."1.0.2";
-      "vhost-1.0.0" = self.by-version."vhost"."1.0.0";
-      "bytes-0.3.0" = self.by-version."bytes"."0.3.0";
-      "pause-0.0.1" = self.by-version."pause"."0.0.1";
-      "debug-0.8.1" = self.by-version."debug"."0.8.1";
-      "multiparty-2.2.0" = self.by-version."multiparty"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."2.3.x" =
-    self.by-version."connect"."2.3.9";
-  by-version."connect"."2.3.9" = self.buildNodePackage {
-    name = "connect-2.3.9";
-    version = "2.3.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect/-/connect-2.3.9.tgz";
-      name = "connect-2.3.9.tgz";
-      sha1 = "4d26ddc485c32e5a1cf1b35854823b4720d25a52";
-    };
-    deps = {
-      "qs-0.4.2" = self.by-version."qs"."0.4.2";
-      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
-      "crc-0.2.0" = self.by-version."crc"."0.2.0";
-      "cookie-0.0.4" = self.by-version."cookie"."0.0.4";
-      "bytes-0.1.0" = self.by-version."bytes"."0.1.0";
-      "send-0.0.3" = self.by-version."send"."0.0.3";
-      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."2.30.2" =
-    self.by-version."connect"."2.30.2";
-  by-version."connect"."2.30.2" = self.buildNodePackage {
-    name = "connect-2.30.2";
-    version = "2.30.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect/-/connect-2.30.2.tgz";
-      name = "connect-2.30.2.tgz";
-      sha1 = "8da9bcbe8a054d3d318d74dfec903b5c39a1b609";
-    };
-    deps = {
-      "basic-auth-connect-1.0.0" = self.by-version."basic-auth-connect"."1.0.0";
-      "body-parser-1.13.3" = self.by-version."body-parser"."1.13.3";
-      "bytes-2.1.0" = self.by-version."bytes"."2.1.0";
-      "cookie-0.1.3" = self.by-version."cookie"."0.1.3";
-      "cookie-parser-1.3.5" = self.by-version."cookie-parser"."1.3.5";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "compression-1.5.2" = self.by-version."compression"."1.5.2";
-      "connect-timeout-1.6.2" = self.by-version."connect-timeout"."1.6.2";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "csurf-1.8.3" = self.by-version."csurf"."1.8.3";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "errorhandler-1.4.3" = self.by-version."errorhandler"."1.4.3";
-      "express-session-1.11.3" = self.by-version."express-session"."1.11.3";
-      "finalhandler-0.4.0" = self.by-version."finalhandler"."0.4.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "method-override-2.3.6" = self.by-version."method-override"."2.3.6";
-      "morgan-1.6.1" = self.by-version."morgan"."1.6.1";
-      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "pause-0.1.0" = self.by-version."pause"."0.1.0";
-      "qs-4.0.0" = self.by-version."qs"."4.0.0";
-      "response-time-2.3.1" = self.by-version."response-time"."2.3.1";
-      "serve-favicon-2.3.0" = self.by-version."serve-favicon"."2.3.0";
-      "serve-index-1.7.3" = self.by-version."serve-index"."1.7.3";
-      "serve-static-1.10.3" = self.by-version."serve-static"."1.10.3";
-      "type-is-1.6.13" = self.by-version."type-is"."1.6.13";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-      "vhost-3.0.2" = self.by-version."vhost"."3.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."2.7.6" =
-    self.by-version."connect"."2.7.6";
-  by-version."connect"."2.7.6" = self.buildNodePackage {
-    name = "connect-2.7.6";
-    version = "2.7.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect/-/connect-2.7.6.tgz";
-      name = "connect-2.7.6.tgz";
-      sha1 = "b83b68fa6f245c5020e2395472cc8322b0060738";
-    };
-    deps = {
-      "qs-0.5.1" = self.by-version."qs"."0.5.1";
-      "formidable-1.0.11" = self.by-version."formidable"."1.0.11";
-      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
-      "buffer-crc32-0.1.1" = self.by-version."buffer-crc32"."0.1.1";
-      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
-      "send-0.1.0" = self.by-version."send"."0.1.0";
-      "bytes-0.2.0" = self.by-version."bytes"."0.2.0";
-      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
-      "pause-0.0.1" = self.by-version."pause"."0.0.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."3.0.2" =
-    self.by-version."connect"."3.0.2";
-  by-version."connect"."3.0.2" = self.buildNodePackage {
-    name = "connect-3.0.2";
-    version = "3.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect/-/connect-3.0.2.tgz";
-      name = "connect-3.0.2.tgz";
-      sha1 = "1f90b4672fe009fa2876df860442d30db18609a2";
-    };
-    deps = {
-      "debug-1.0.3" = self.by-version."debug"."1.0.3";
-      "finalhandler-0.0.2" = self.by-version."finalhandler"."0.0.2";
-      "parseurl-1.1.3" = self.by-version."parseurl"."1.1.3";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."^3.3.5" =
-    self.by-version."connect"."3.4.1";
-  by-version."connect"."3.4.1" = self.buildNodePackage {
-    name = "connect-3.4.1";
-    version = "3.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect/-/connect-3.4.1.tgz";
-      name = "connect-3.4.1.tgz";
-      sha1 = "a21361d3f4099ef761cda6dc4a973bb1ebb0a34d";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "finalhandler-0.4.1" = self.by-version."finalhandler"."0.4.1";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect"."~2" =
-    self.by-version."connect"."2.30.2";
-  by-spec."connect-busboy"."~0.0.2" =
-    self.by-version."connect-busboy"."0.0.2";
-  by-version."connect-busboy"."0.0.2" = self.buildNodePackage {
-    name = "connect-busboy-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect-busboy/-/connect-busboy-0.0.2.tgz";
-      name = "connect-busboy-0.0.2.tgz";
-      sha1 = "ac5c9c96672171885e576c66b2bfd95d3bb11097";
-    };
-    deps = {
-      "busboy-0.2.13" = self.by-version."busboy"."0.2.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect-flash"."*" =
-    self.by-version."connect-flash"."0.1.1";
-  by-version."connect-flash"."0.1.1" = self.buildNodePackage {
-    name = "connect-flash-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.1.tgz";
-      name = "connect-flash-0.1.1.tgz";
-      sha1 = "d8630f26d95a7f851f9956b1e8cc6732f3b6aa30";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "connect-flash" = self.by-version."connect-flash"."0.1.1";
-  by-spec."connect-flash"."0.1.0" =
-    self.by-version."connect-flash"."0.1.0";
-  by-version."connect-flash"."0.1.0" = self.buildNodePackage {
-    name = "connect-flash-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect-flash/-/connect-flash-0.1.0.tgz";
-      name = "connect-flash-0.1.0.tgz";
-      sha1 = "82b381d61a12b651437df1c259c1f1c841239b88";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect-jade-static"."*" =
-    self.by-version."connect-jade-static"."0.2.2";
-  by-version."connect-jade-static"."0.2.2" = self.buildNodePackage {
-    name = "connect-jade-static-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect-jade-static/-/connect-jade-static-0.2.2.tgz";
-      name = "connect-jade-static-0.2.2.tgz";
-      sha1 = "c1812f6245ee38a6db0e278c4043b53464099f84";
-    };
-    deps = {
-      "jade-1.11.0" = self.by-version."jade"."1.11.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "connect-jade-static" = self.by-version."connect-jade-static"."0.2.2";
-  by-spec."connect-mongo"."*" =
-    self.by-version."connect-mongo"."1.2.0";
-  by-version."connect-mongo"."1.2.0" = self.buildNodePackage {
-    name = "connect-mongo-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect-mongo/-/connect-mongo-1.2.0.tgz";
-      name = "connect-mongo-1.2.0.tgz";
-      sha1 = "280e9617ccdb9d2984814fb1a2279dac89cfe99b";
-    };
-    deps = {
-      "bluebird-3.4.0" = self.by-version."bluebird"."3.4.0";
-      "mongodb-2.1.21" = self.by-version."mongodb"."2.1.21";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "connect-mongo" = self.by-version."connect-mongo"."1.2.0";
-  by-spec."connect-mongo"."0.8.2" =
-    self.by-version."connect-mongo"."0.8.2";
-  by-version."connect-mongo"."0.8.2" = self.buildNodePackage {
-    name = "connect-mongo-0.8.2";
-    version = "0.8.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect-mongo/-/connect-mongo-0.8.2.tgz";
-      name = "connect-mongo-0.8.2.tgz";
-      sha1 = "c92878eec0c5a5a6625b79a0c214f37f861fc6e0";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-      "mongodb-2.0.55" = self.by-version."mongodb"."2.0.55";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect-multiparty"."^1.2.5" =
-    self.by-version."connect-multiparty"."1.2.5";
-  by-version."connect-multiparty"."1.2.5" = self.buildNodePackage {
-    name = "connect-multiparty-1.2.5";
-    version = "1.2.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect-multiparty/-/connect-multiparty-1.2.5.tgz";
-      name = "connect-multiparty-1.2.5.tgz";
-      sha1 = "2fabecfdc1a8a774ba19484dce660c818a8555e7";
-    };
-    deps = {
-      "multiparty-3.3.2" = self.by-version."multiparty"."3.3.2";
-      "on-finished-2.1.1" = self.by-version."on-finished"."2.1.1";
-      "qs-2.2.5" = self.by-version."qs"."2.2.5";
-      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect-timeout"."1.0.0" =
-    self.by-version."connect-timeout"."1.0.0";
-  by-version."connect-timeout"."1.0.0" = self.buildNodePackage {
-    name = "connect-timeout-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.0.0.tgz";
-      name = "connect-timeout-1.0.0.tgz";
-      sha1 = "12054799f90bb9566f8b274efe7842d6465d10bb";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."connect-timeout"."~1.6.2" =
-    self.by-version."connect-timeout"."1.6.2";
-  by-version."connect-timeout"."1.6.2" = self.buildNodePackage {
-    name = "connect-timeout-1.6.2";
-    version = "1.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/connect-timeout/-/connect-timeout-1.6.2.tgz";
-      name = "connect-timeout-1.6.2.tgz";
-      sha1 = "de9a5ec61e33a12b6edaab7b5f062e98c599b88e";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."console-browserify"."1.1.x" =
-    self.by-version."console-browserify"."1.1.0";
-  by-version."console-browserify"."1.1.0" = self.buildNodePackage {
-    name = "console-browserify-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/console-browserify/-/console-browserify-1.1.0.tgz";
-      name = "console-browserify-1.1.0.tgz";
-      sha1 = "f0241c45730a9fc6323b206dbf38edc741d0bb10";
-    };
-    deps = {
-      "date-now-0.1.4" = self.by-version."date-now"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."console-browserify"."^1.1.0" =
-    self.by-version."console-browserify"."1.1.0";
-  by-spec."constantinople"."~3.0.1" =
-    self.by-version."constantinople"."3.0.2";
-  by-version."constantinople"."3.0.2" = self.buildNodePackage {
-    name = "constantinople-3.0.2";
-    version = "3.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/constantinople/-/constantinople-3.0.2.tgz";
-      name = "constantinople-3.0.2.tgz";
-      sha1 = "4b945d9937907bcd98ee575122c3817516544141";
-    };
-    deps = {
-      "acorn-2.7.0" = self.by-version."acorn"."2.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."constants-browserify"."^1.0.0" =
-    self.by-version."constants-browserify"."1.0.0";
-  by-version."constants-browserify"."1.0.0" = self.buildNodePackage {
-    name = "constants-browserify-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz";
-      name = "constants-browserify-1.0.0.tgz";
-      sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."constants-browserify"."~0.0.1" =
-    self.by-version."constants-browserify"."0.0.1";
-  by-version."constants-browserify"."0.0.1" = self.buildNodePackage {
-    name = "constants-browserify-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/constants-browserify/-/constants-browserify-0.0.1.tgz";
-      name = "constants-browserify-0.0.1.tgz";
-      sha1 = "92577db527ba6c4cf0a4568d84bc031f441e21f2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."constants-browserify"."~1.0.0" =
-    self.by-version."constants-browserify"."1.0.0";
-  by-spec."consume-http-header"."^1.0.0" =
-    self.by-version."consume-http-header"."1.0.0";
-  by-version."consume-http-header"."1.0.0" = self.buildNodePackage {
-    name = "consume-http-header-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/consume-http-header/-/consume-http-header-1.0.0.tgz";
-      name = "consume-http-header-1.0.0.tgz";
-      sha1 = "95976d74f7f1b38dfb13fd9b3b68b91a0240556f";
-    };
-    deps = {
-      "consume-until-1.0.0" = self.by-version."consume-until"."1.0.0";
-      "http-headers-3.0.1" = self.by-version."http-headers"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."consume-until"."^1.0.0" =
-    self.by-version."consume-until"."1.0.0";
-  by-version."consume-until"."1.0.0" = self.buildNodePackage {
-    name = "consume-until-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/consume-until/-/consume-until-1.0.0.tgz";
-      name = "consume-until-1.0.0.tgz";
-      sha1 = "75b91fa9f16663e51f98e863af995b9164068c1a";
-    };
-    deps = {
-      "buffer-indexof-1.0.0" = self.by-version."buffer-indexof"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."content-disposition"."0.5.0" =
-    self.by-version."content-disposition"."0.5.0";
-  by-version."content-disposition"."0.5.0" = self.buildNodePackage {
-    name = "content-disposition-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.0.tgz";
-      name = "content-disposition-0.5.0.tgz";
-      sha1 = "4284fe6ae0630874639e44e80a418c2934135e9e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."content-disposition"."0.5.1" =
-    self.by-version."content-disposition"."0.5.1";
-  by-version."content-disposition"."0.5.1" = self.buildNodePackage {
-    name = "content-disposition-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.1.tgz";
-      name = "content-disposition-0.5.1.tgz";
-      sha1 = "87476c6a67c8daa87e32e87616df883ba7fb071b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."content-type"."~1.0.1" =
-    self.by-version."content-type"."1.0.2";
-  by-version."content-type"."1.0.2" = self.buildNodePackage {
-    name = "content-type-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/content-type/-/content-type-1.0.2.tgz";
-      name = "content-type-1.0.2.tgz";
-      sha1 = "b7d113aee7a8dd27bd21133c4dc2529df1721eed";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."contextify".">= 0.1.9 < 0.2.0" =
-    self.by-version."contextify"."0.1.15";
-  by-version."contextify"."0.1.15" = self.buildNodePackage {
-    name = "contextify-0.1.15";
-    version = "0.1.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/contextify/-/contextify-0.1.15.tgz";
-      name = "contextify-0.1.15.tgz";
-      sha1 = "3d34681d14a5ccbbe609c9ee11eda206b8cf266f";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."contextify"."~0.1.5" =
-    self.by-version."contextify"."0.1.15";
-  by-spec."convert-source-map"."^1.1.1" =
-    self.by-version."convert-source-map"."1.2.0";
-  by-version."convert-source-map"."1.2.0" = self.buildNodePackage {
-    name = "convert-source-map-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.2.0.tgz";
-      name = "convert-source-map-1.2.0.tgz";
-      sha1 = "44c08c2506f10fb3ca6fd888d5a3444cf8d6a669";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."convert-source-map"."~0.3.0" =
-    self.by-version."convert-source-map"."0.3.5";
-  by-version."convert-source-map"."0.3.5" = self.buildNodePackage {
-    name = "convert-source-map-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz";
-      name = "convert-source-map-0.3.5.tgz";
-      sha1 = "f1d802950af7dd2631a1febe0596550c86ab3190";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."convert-source-map"."~1.1.0" =
-    self.by-version."convert-source-map"."1.1.3";
-  by-version."convert-source-map"."1.1.3" = self.buildNodePackage {
-    name = "convert-source-map-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.1.3.tgz";
-      name = "convert-source-map-1.1.3.tgz";
-      sha1 = "4829c877e9fe49b3161f3bf3673888e204699860";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.0.4" =
-    self.by-version."cookie"."0.0.4";
-  by-version."cookie"."0.0.4" = self.buildNodePackage {
-    name = "cookie-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie/-/cookie-0.0.4.tgz";
-      name = "cookie-0.0.4.tgz";
-      sha1 = "5456bd47aee2666eac976ea80a6105940483fe98";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.0.5" =
-    self.by-version."cookie"."0.0.5";
-  by-version."cookie"."0.0.5" = self.buildNodePackage {
-    name = "cookie-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie/-/cookie-0.0.5.tgz";
-      name = "cookie-0.0.5.tgz";
-      sha1 = "f9acf9db57eb7568c9fcc596256b7bb22e307c81";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.1.0" =
-    self.by-version."cookie"."0.1.0";
-  by-version."cookie"."0.1.0" = self.buildNodePackage {
-    name = "cookie-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie/-/cookie-0.1.0.tgz";
-      name = "cookie-0.1.0.tgz";
-      sha1 = "90eb469ddce905c866de687efc43131d8801f9d0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.1.2" =
-    self.by-version."cookie"."0.1.2";
-  by-version."cookie"."0.1.2" = self.buildNodePackage {
-    name = "cookie-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie/-/cookie-0.1.2.tgz";
-      name = "cookie-0.1.2.tgz";
-      sha1 = "72fec3d24e48a3432073d90c12642005061004b1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.1.3" =
-    self.by-version."cookie"."0.1.3";
-  by-version."cookie"."0.1.3" = self.buildNodePackage {
-    name = "cookie-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie/-/cookie-0.1.3.tgz";
-      name = "cookie-0.1.3.tgz";
-      sha1 = "e734a5c1417fce472d5aef82c381cabb64d1a435";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.1.5" =
-    self.by-version."cookie"."0.1.5";
-  by-version."cookie"."0.1.5" = self.buildNodePackage {
-    name = "cookie-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie/-/cookie-0.1.5.tgz";
-      name = "cookie-0.1.5.tgz";
-      sha1 = "6ab9948a4b1ae21952cd2588530a4722d4044d7c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.2.3" =
-    self.by-version."cookie"."0.2.3";
-  by-version."cookie"."0.2.3" = self.buildNodePackage {
-    name = "cookie-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie/-/cookie-0.2.3.tgz";
-      name = "cookie-0.2.3.tgz";
-      sha1 = "1a59536af68537a21178a01346f87cb059d2ae5c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie"."0.3.1" =
-    self.by-version."cookie"."0.3.1";
-  by-version."cookie"."0.3.1" = self.buildNodePackage {
-    name = "cookie-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz";
-      name = "cookie-0.3.1.tgz";
-      sha1 = "e7e0a1f9ef43b4c8ba925c5c5a96e806d16873bb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-jar"."~0.2.0" =
-    self.by-version."cookie-jar"."0.2.0";
-  by-version."cookie-jar"."0.2.0" = self.buildNodePackage {
-    name = "cookie-jar-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.2.0.tgz";
-      name = "cookie-jar-0.2.0.tgz";
-      sha1 = "64ecc06ac978db795e4b5290cbe48ba3781400fa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-jar"."~0.3.0" =
-    self.by-version."cookie-jar"."0.3.0";
-  by-version."cookie-jar"."0.3.0" = self.buildNodePackage {
-    name = "cookie-jar-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-jar/-/cookie-jar-0.3.0.tgz";
-      name = "cookie-jar-0.3.0.tgz";
-      sha1 = "bc9a27d4e2b97e186cd57c9e2063cb99fa68cccc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-parser"."1.0.1" =
-    self.by-version."cookie-parser"."1.0.1";
-  by-version."cookie-parser"."1.0.1" = self.buildNodePackage {
-    name = "cookie-parser-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.0.1.tgz";
-      name = "cookie-parser-1.0.1.tgz";
-      sha1 = "17bd622c9717cd0858a912a9fef4c0362360a7b0";
-    };
-    deps = {
-      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
-      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-parser"."^1.0.1" =
-    self.by-version."cookie-parser"."1.4.3";
-  by-version."cookie-parser"."1.4.3" = self.buildNodePackage {
-    name = "cookie-parser-1.4.3";
-    version = "1.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.4.3.tgz";
-      name = "cookie-parser-1.4.3.tgz";
-      sha1 = "0fe31fa19d000b95f4aadf1f53fdc2b8a203baa5";
-    };
-    deps = {
-      "cookie-0.3.1" = self.by-version."cookie"."0.3.1";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-parser"."~1.3.5" =
-    self.by-version."cookie-parser"."1.3.5";
-  by-version."cookie-parser"."1.3.5" = self.buildNodePackage {
-    name = "cookie-parser-1.3.5";
-    version = "1.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-parser/-/cookie-parser-1.3.5.tgz";
-      name = "cookie-parser-1.3.5.tgz";
-      sha1 = "9d755570fb5d17890771227a02314d9be7cf8356";
-    };
-    deps = {
-      "cookie-0.1.3" = self.by-version."cookie"."0.1.3";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-parser"."~1.4.1" =
-    self.by-version."cookie-parser"."1.4.3";
-  by-spec."cookie-signature"."1.0.1" =
-    self.by-version."cookie-signature"."1.0.1";
-  by-version."cookie-signature"."1.0.1" = self.buildNodePackage {
-    name = "cookie-signature-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.1.tgz";
-      name = "cookie-signature-1.0.1.tgz";
-      sha1 = "44e072148af01e6e8e24afbf12690d68ae698ecb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-signature"."1.0.3" =
-    self.by-version."cookie-signature"."1.0.3";
-  by-version."cookie-signature"."1.0.3" = self.buildNodePackage {
-    name = "cookie-signature-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.3.tgz";
-      name = "cookie-signature-1.0.3.tgz";
-      sha1 = "91cd997cc51fb641595738c69cda020328f50ff9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-signature"."1.0.4" =
-    self.by-version."cookie-signature"."1.0.4";
-  by-version."cookie-signature"."1.0.4" = self.buildNodePackage {
-    name = "cookie-signature-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.4.tgz";
-      name = "cookie-signature-1.0.4.tgz";
-      sha1 = "0edd22286e3a111b9a2a70db363e925e867f6aca";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-signature"."1.0.6" =
-    self.by-version."cookie-signature"."1.0.6";
-  by-version."cookie-signature"."1.0.6" = self.buildNodePackage {
-    name = "cookie-signature-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz";
-      name = "cookie-signature-1.0.6.tgz";
-      sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookie-signature"."^1.0.5" =
-    self.by-version."cookie-signature"."1.0.6";
-  by-spec."cookiejar"."2.0.1" =
-    self.by-version."cookiejar"."2.0.1";
-  by-version."cookiejar"."2.0.1" = self.buildNodePackage {
-    name = "cookiejar-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookiejar/-/cookiejar-2.0.1.tgz";
-      name = "cookiejar-2.0.1.tgz";
-      sha1 = "3d12752f6adf68a892f332433492bd5812bb668f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookiejar"."2.0.6" =
-    self.by-version."cookiejar"."2.0.6";
-  by-version."cookiejar"."2.0.6" = self.buildNodePackage {
-    name = "cookiejar-2.0.6";
-    version = "2.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookiejar/-/cookiejar-2.0.6.tgz";
-      name = "cookiejar-2.0.6.tgz";
-      sha1 = "0abf356ad00d1c5a219d88d44518046dd026acfe";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookies"."0.1.x" =
-    self.by-version."cookies"."0.1.6";
-  by-version."cookies"."0.1.6" = self.buildNodePackage {
-    name = "cookies-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookies/-/cookies-0.1.6.tgz";
-      name = "cookies-0.1.6.tgz";
-      sha1 = "2129588b8b1e382ffba990d9f9cf9ddf2c142846";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookies".">= 0.2.2" =
-    self.by-version."cookies"."0.6.1";
-  by-version."cookies"."0.6.1" = self.buildNodePackage {
-    name = "cookies-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cookies/-/cookies-0.6.1.tgz";
-      name = "cookies-0.6.1.tgz";
-      sha1 = "ef693b1bc6f01f567d46e2f504e9c15fb70cba90";
-    };
-    deps = {
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "keygrip-1.0.1" = self.by-version."keygrip"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cookies".">=0.5.0 <1.0.0-0" =
-    self.by-version."cookies"."0.6.1";
-  by-spec."cordova"."*" =
-    self.by-version."cordova"."6.2.1-nightly.2016.6.10.486bdab5";
-  by-version."cordova"."6.2.1-nightly.2016.6.10.486bdab5" = self.buildNodePackage {
-    name = "cordova-6.2.1-nightly.2016.6.10.486bdab5";
-    version = "6.2.1-nightly.2016.6.10.486bdab5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cordova/-/cordova-6.2.1-nightly.2016.6.10.486bdab5.tgz";
-      name = "cordova-6.2.1-nightly.2016.6.10.486bdab5.tgz";
-      sha1 = "4601f890bb77e8788cf64ba1f561eac4b2cbb702";
-    };
-    deps = {
-      "cordova-lib-6.2.1-nightly.2016.6.10.d28eed63" = self.by-version."cordova-lib"."6.2.1-nightly.2016.6.10.d28eed63";
-      "cordova-common-1.3.0" = self.by-version."cordova-common"."1.3.0";
-      "q-1.0.1" = self.by-version."q"."1.0.1";
-      "nopt-3.0.1" = self.by-version."nopt"."3.0.1";
-      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
-      "update-notifier-0.5.0" = self.by-version."update-notifier"."0.5.0";
-      "insight-0.8.2" = self.by-version."insight"."0.8.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "cordova" = self.by-version."cordova"."6.2.1-nightly.2016.6.10.486bdab5";
-  by-spec."cordova-app-hello-world"."3.10.0" =
-    self.by-version."cordova-app-hello-world"."3.10.0";
-  by-version."cordova-app-hello-world"."3.10.0" = self.buildNodePackage {
-    name = "cordova-app-hello-world-3.10.0";
-    version = "3.10.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cordova-app-hello-world/-/cordova-app-hello-world-3.10.0.tgz";
-      name = "cordova-app-hello-world-3.10.0.tgz";
-      sha1 = "e3825fc6ca950090a6a37437fcfb88c1622fd80e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cordova-common"."1.3.x" =
-    self.by-version."cordova-common"."1.3.0";
-  by-version."cordova-common"."1.3.0" = self.buildNodePackage {
-    name = "cordova-common-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cordova-common/-/cordova-common-1.3.0.tgz";
-      name = "cordova-common-1.3.0.tgz";
-      sha1 = "f75161f6aa7cef5486fd5d69a3b0a1f628334491";
-    };
-    deps = {
-      "ansi-0.3.1" = self.by-version."ansi"."0.3.1";
-      "bplist-parser-0.1.1" = self.by-version."bplist-parser"."0.1.1";
-      "cordova-registry-mapper-1.1.15" = self.by-version."cordova-registry-mapper"."1.1.15";
-      "elementtree-0.1.6" = self.by-version."elementtree"."0.1.6";
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "osenv-0.1.3" = self.by-version."osenv"."0.1.3";
-      "plist-1.2.0" = self.by-version."plist"."1.2.0";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "shelljs-0.5.3" = self.by-version."shelljs"."0.5.3";
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-      "unorm-1.4.1" = self.by-version."unorm"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cordova-common"."^1.3.0" =
-    self.by-version."cordova-common"."1.3.0";
-  by-spec."cordova-fetch"."1.0.0" =
-    self.by-version."cordova-fetch"."1.0.0";
-  by-version."cordova-fetch"."1.0.0" = self.buildNodePackage {
-    name = "cordova-fetch-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cordova-fetch/-/cordova-fetch-1.0.0.tgz";
-      name = "cordova-fetch-1.0.0.tgz";
-      sha1 = "54b1044f2ccc39169131b50f35e7ce24159264e6";
-    };
-    deps = {
-      "cordova-common-1.3.0" = self.by-version."cordova-common"."1.3.0";
-      "dependency-ls-1.0.0" = self.by-version."dependency-ls"."1.0.0";
-      "is-url-1.2.1" = self.by-version."is-url"."1.2.1";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-      "shelljs-0.7.0" = self.by-version."shelljs"."0.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cordova-js"."4.1.4" =
-    self.by-version."cordova-js"."4.1.4";
-  by-version."cordova-js"."4.1.4" = self.buildNodePackage {
-    name = "cordova-js-4.1.4";
-    version = "4.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cordova-js/-/cordova-js-4.1.4.tgz";
-      name = "cordova-js-4.1.4.tgz";
-      sha1 = "33c67efcc751a4b36d91301c2e5bd409003daf13";
-    };
-    deps = {
-      "browserify-10.1.3" = self.by-version."browserify"."10.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cordova-lib"."6.2.1-nightly.2016.6.10.d28eed63" =
-    self.by-version."cordova-lib"."6.2.1-nightly.2016.6.10.d28eed63";
-  by-version."cordova-lib"."6.2.1-nightly.2016.6.10.d28eed63" = self.buildNodePackage {
-    name = "cordova-lib-6.2.1-nightly.2016.6.10.d28eed63";
-    version = "6.2.1-nightly.2016.6.10.d28eed63";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cordova-lib/-/cordova-lib-6.2.1-nightly.2016.6.10.d28eed63.tgz";
-      name = "cordova-lib-6.2.1-nightly.2016.6.10.d28eed63.tgz";
-      sha1 = "e1601b52037ce34243465f18d2ba00d34596e97c";
-    };
-    deps = {
-      "aliasify-1.9.0" = self.by-version."aliasify"."1.9.0";
-      "cordova-app-hello-world-3.10.0" = self.by-version."cordova-app-hello-world"."3.10.0";
-      "cordova-common-1.3.0" = self.by-version."cordova-common"."1.3.0";
-      "cordova-fetch-1.0.0" = self.by-version."cordova-fetch"."1.0.0";
-      "cordova-js-4.1.4" = self.by-version."cordova-js"."4.1.4";
-      "cordova-registry-mapper-1.1.15" = self.by-version."cordova-registry-mapper"."1.1.15";
-      "cordova-serve-1.0.0" = self.by-version."cordova-serve"."1.0.0";
-      "dep-graph-1.1.0" = self.by-version."dep-graph"."1.1.0";
-      "elementtree-0.1.6" = self.by-version."elementtree"."0.1.6";
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-      "init-package-json-1.9.4" = self.by-version."init-package-json"."1.9.4";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "npm-2.15.6" = self.by-version."npm"."2.15.6";
-      "opener-1.4.1" = self.by-version."opener"."1.4.1";
-      "plist-1.2.0" = self.by-version."plist"."1.2.0";
-      "properties-parser-0.2.3" = self.by-version."properties-parser"."0.2.3";
-      "q-1.0.1" = self.by-version."q"."1.0.1";
-      "request-2.47.0" = self.by-version."request"."2.47.0";
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-      "shelljs-0.3.0" = self.by-version."shelljs"."0.3.0";
-      "tar-1.0.2" = self.by-version."tar"."1.0.2";
-      "underscore-1.7.0" = self.by-version."underscore"."1.7.0";
-      "unorm-1.3.3" = self.by-version."unorm"."1.3.3";
-      "valid-identifier-0.0.1" = self.by-version."valid-identifier"."0.0.1";
-      "xcode-0.8.8" = self.by-version."xcode"."0.8.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cordova-registry-mapper"."1.x" =
-    self.by-version."cordova-registry-mapper"."1.1.15";
-  by-version."cordova-registry-mapper"."1.1.15" = self.buildNodePackage {
-    name = "cordova-registry-mapper-1.1.15";
-    version = "1.1.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cordova-registry-mapper/-/cordova-registry-mapper-1.1.15.tgz";
-      name = "cordova-registry-mapper-1.1.15.tgz";
-      sha1 = "e244b9185b8175473bff6079324905115f83dc7c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cordova-registry-mapper"."^1.1.8" =
-    self.by-version."cordova-registry-mapper"."1.1.15";
-  by-spec."cordova-serve"."^1.0.0" =
-    self.by-version."cordova-serve"."1.0.0";
-  by-version."cordova-serve"."1.0.0" = self.buildNodePackage {
-    name = "cordova-serve-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cordova-serve/-/cordova-serve-1.0.0.tgz";
-      name = "cordova-serve-1.0.0.tgz";
-      sha1 = "7fa1c40183d2b82adb792f9cb9e0d554a23eed85";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "compression-1.6.2" = self.by-version."compression"."1.6.2";
-      "express-4.13.4" = self.by-version."express"."4.13.4";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."core-decorators"."^0.12.3" =
-    self.by-version."core-decorators"."0.12.3";
-  by-version."core-decorators"."0.12.3" = self.buildNodePackage {
-    name = "core-decorators-0.12.3";
-    version = "0.12.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/core-decorators/-/core-decorators-0.12.3.tgz";
-      name = "core-decorators-0.12.3.tgz";
-      sha1 = "6b3f83378e680d48b0c08da4489899b7532dcb43";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."core-js"."^1.0.0" =
-    self.by-version."core-js"."1.2.6";
-  by-version."core-js"."1.2.6" = self.buildNodePackage {
-    name = "core-js-1.2.6";
-    version = "1.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/core-js/-/core-js-1.2.6.tgz";
-      name = "core-js-1.2.6.tgz";
-      sha1 = "e2351f6cae764f8c34e5d839acb6a60cef8b4a45";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."core-js"."^2.1.0" =
-    self.by-version."core-js"."2.4.0";
-  by-version."core-js"."2.4.0" = self.buildNodePackage {
-    name = "core-js-2.4.0";
-    version = "2.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/core-js/-/core-js-2.4.0.tgz";
-      name = "core-js-2.4.0.tgz";
-      sha1 = "df408ab46d01aff91c01c3e7971935d422c54f81";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."core-js"."^2.4.0" =
-    self.by-version."core-js"."2.4.0";
-  by-spec."core-js"."~0.8.4" =
-    self.by-version."core-js"."0.8.4";
-  by-version."core-js"."0.8.4" = self.buildNodePackage {
-    name = "core-js-0.8.4";
-    version = "0.8.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/core-js/-/core-js-0.8.4.tgz";
-      name = "core-js-0.8.4.tgz";
-      sha1 = "c22665f1e0d1b9c3c5e1b08dabd1f108695e4fcf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."core-util-is"."1.0.2" =
-    self.by-version."core-util-is"."1.0.2";
-  by-version."core-util-is"."1.0.2" = self.buildNodePackage {
-    name = "core-util-is-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz";
-      name = "core-util-is-1.0.2.tgz";
-      sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."core-util-is"."~1.0.0" =
-    self.by-version."core-util-is"."1.0.2";
-  by-spec."cors"."2.7.1" =
-    self.by-version."cors"."2.7.1";
-  by-version."cors"."2.7.1" = self.buildNodePackage {
-    name = "cors-2.7.1";
-    version = "2.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cors/-/cors-2.7.1.tgz";
-      name = "cors-2.7.1.tgz";
-      sha1 = "3c2e50a58af9ef8c89bee21226b099be1f02739b";
-    };
-    deps = {
-      "vary-1.1.0" = self.by-version."vary"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cors"."^2.4.2" =
-    self.by-version."cors"."2.7.1";
-  by-spec."couch-login"."~0.1.15" =
-    self.by-version."couch-login"."0.1.20";
-  by-version."couch-login"."0.1.20" = self.buildNodePackage {
-    name = "couch-login-0.1.20";
-    version = "0.1.20";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/couch-login/-/couch-login-0.1.20.tgz";
-      name = "couch-login-0.1.20.tgz";
-      sha1 = "007c70ef80089dbae6f59eeeec37480799b39595";
-    };
-    deps = {
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."coveralls"."*" =
-    self.by-version."coveralls"."2.11.9";
-  by-version."coveralls"."2.11.9" = self.buildNodePackage {
-    name = "coveralls-2.11.9";
-    version = "2.11.9";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/coveralls/-/coveralls-2.11.9.tgz";
-      name = "coveralls-2.11.9.tgz";
-      sha1 = "f9ff01a1adbf22a129e35a8d62345a52a781b395";
-    };
-    deps = {
-      "js-yaml-3.0.1" = self.by-version."js-yaml"."3.0.1";
-      "lcov-parse-0.0.6" = self.by-version."lcov-parse"."0.0.6";
-      "log-driver-1.2.4" = self.by-version."log-driver"."1.2.4";
-      "request-2.67.0" = self.by-version."request"."2.67.0";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "coveralls" = self.by-version."coveralls"."2.11.9";
-  by-spec."crc"."0.2.0" =
-    self.by-version."crc"."0.2.0";
-  by-version."crc"."0.2.0" = self.buildNodePackage {
-    name = "crc-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/crc/-/crc-0.2.0.tgz";
-      name = "crc-0.2.0.tgz";
-      sha1 = "f4486b9bf0a12df83c3fca14e31e030fdabd9454";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crc"."3.0.0" =
-    self.by-version."crc"."3.0.0";
-  by-version."crc"."3.0.0" = self.buildNodePackage {
-    name = "crc-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/crc/-/crc-3.0.0.tgz";
-      name = "crc-3.0.0.tgz";
-      sha1 = "d11e97ec44a844e5eb15a74fa2c7875d0aac4b22";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crc"."3.3.0" =
-    self.by-version."crc"."3.3.0";
-  by-version."crc"."3.3.0" = self.buildNodePackage {
-    name = "crc-3.3.0";
-    version = "3.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/crc/-/crc-3.3.0.tgz";
-      name = "crc-3.3.0.tgz";
-      sha1 = "fa622e1bc388bf257309082d6b65200ce67090ba";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crc"."3.4.0" =
-    self.by-version."crc"."3.4.0";
-  by-version."crc"."3.4.0" = self.buildNodePackage {
-    name = "crc-3.4.0";
-    version = "3.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/crc/-/crc-3.4.0.tgz";
-      name = "crc-3.4.0.tgz";
-      sha1 = "4258e351613a74ef1153dfcb05e820c3e9715d7f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crc32-stream"."~0.3.1" =
-    self.by-version."crc32-stream"."0.3.4";
-  by-version."crc32-stream"."0.3.4" = self.buildNodePackage {
-    name = "crc32-stream-0.3.4";
-    version = "0.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/crc32-stream/-/crc32-stream-0.3.4.tgz";
-      name = "crc32-stream-0.3.4.tgz";
-      sha1 = "73bc25b45fac1db6632231a7bfce8927e9f06552";
-    };
-    deps = {
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."create-ecdh"."^4.0.0" =
-    self.by-version."create-ecdh"."4.0.0";
-  by-version."create-ecdh"."4.0.0" = self.buildNodePackage {
-    name = "create-ecdh-4.0.0";
-    version = "4.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.0.tgz";
-      name = "create-ecdh-4.0.0.tgz";
-      sha1 = "888c723596cdf7612f6498233eebd7a35301737d";
-    };
-    deps = {
-      "bn.js-4.11.4" = self.by-version."bn.js"."4.11.4";
-      "elliptic-6.2.8" = self.by-version."elliptic"."6.2.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."create-hash"."^1.1.0" =
-    self.by-version."create-hash"."1.1.2";
-  by-version."create-hash"."1.1.2" = self.buildNodePackage {
-    name = "create-hash-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/create-hash/-/create-hash-1.1.2.tgz";
-      name = "create-hash-1.1.2.tgz";
-      sha1 = "51210062d7bb7479f6c65bb41a92208b1d61abad";
-    };
-    deps = {
-      "cipher-base-1.0.2" = self.by-version."cipher-base"."1.0.2";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "ripemd160-1.0.1" = self.by-version."ripemd160"."1.0.1";
-      "sha.js-2.4.5" = self.by-version."sha.js"."2.4.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."create-hash"."^1.1.1" =
-    self.by-version."create-hash"."1.1.2";
-  by-spec."create-hmac"."^1.1.0" =
-    self.by-version."create-hmac"."1.1.4";
-  by-version."create-hmac"."1.1.4" = self.buildNodePackage {
-    name = "create-hmac-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.4.tgz";
-      name = "create-hmac-1.1.4.tgz";
-      sha1 = "d3fb4ba253eb8b3f56e39ea2fbcb8af747bd3170";
-    };
-    deps = {
-      "create-hash-1.1.2" = self.by-version."create-hash"."1.1.2";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."create-hmac"."^1.1.2" =
-    self.by-version."create-hmac"."1.1.4";
-  by-spec."cron"."1.1.0" =
-    self.by-version."cron"."1.1.0";
-  by-version."cron"."1.1.0" = self.buildNodePackage {
-    name = "cron-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cron/-/cron-1.1.0.tgz";
-      name = "cron-1.1.0.tgz";
-      sha1 = "61e868c6f18f98e8bcb88bcd7ab9fb8fae909453";
-    };
-    deps = {
-      "moment-timezone-0.3.1" = self.by-version."moment-timezone"."0.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cron".">=1.0.1" =
-    self.by-version."cron"."1.1.0";
-  by-spec."cron"."^1.0.4" =
-    self.by-version."cron"."1.1.0";
-  by-spec."crossroads"."~0.12.2" =
-    self.by-version."crossroads"."0.12.2";
-  by-version."crossroads"."0.12.2" = self.buildNodePackage {
-    name = "crossroads-0.12.2";
-    version = "0.12.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/crossroads/-/crossroads-0.12.2.tgz";
-      name = "crossroads-0.12.2.tgz";
-      sha1 = "b1d5f9c1d98af3bdd61f1bda6a86dd1aee4ff8f2";
-    };
-    deps = {
-      "signals-1.0.0" = self.by-version."signals"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crypt3".">=0.1.5 <1.0.0-0" =
-    self.by-version."crypt3"."0.2.0";
-  by-version."crypt3"."0.2.0" = self.buildNodePackage {
-    name = "crypt3-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/crypt3/-/crypt3-0.2.0.tgz";
-      name = "crypt3-0.2.0.tgz";
-      sha1 = "4bd28e0770fad421fc807745c1ef3010905b2332";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crypt3".">=0.1.6 <1.0.0-0" =
-    self.by-version."crypt3"."0.2.0";
-  by-spec."cryptiles"."0.1.x" =
-    self.by-version."cryptiles"."0.1.3";
-  by-version."cryptiles"."0.1.3" = self.buildNodePackage {
-    name = "cryptiles-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cryptiles/-/cryptiles-0.1.3.tgz";
-      name = "cryptiles-0.1.3.tgz";
-      sha1 = "1a556734f06d24ba34862ae9cb9e709a3afbff1c";
-    };
-    deps = {
-      "boom-0.3.8" = self.by-version."boom"."0.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cryptiles"."0.2.x" =
-    self.by-version."cryptiles"."0.2.2";
-  by-version."cryptiles"."0.2.2" = self.buildNodePackage {
-    name = "cryptiles-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cryptiles/-/cryptiles-0.2.2.tgz";
-      name = "cryptiles-0.2.2.tgz";
-      sha1 = "ed91ff1f17ad13d3748288594f8a48a0d26f325c";
-    };
-    deps = {
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cryptiles"."2.x.x" =
-    self.by-version."cryptiles"."2.0.5";
-  by-version."cryptiles"."2.0.5" = self.buildNodePackage {
-    name = "cryptiles-2.0.5";
-    version = "2.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cryptiles/-/cryptiles-2.0.5.tgz";
-      name = "cryptiles-2.0.5.tgz";
-      sha1 = "3bdfecdc608147c1c67202fa291e7dca59eaa3b8";
-    };
-    deps = {
-      "boom-2.10.1" = self.by-version."boom"."2.10.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crypto"."0.0.3" =
-    self.by-version."crypto"."0.0.3";
-  by-version."crypto"."0.0.3" = self.buildNodePackage {
-    name = "crypto-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/crypto/-/crypto-0.0.3.tgz";
-      name = "crypto-0.0.3.tgz";
-      sha1 = "470a81b86be4c5ee17acc8207a1f5315ae20dbb0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crypto-browserify"."^3.0.0" =
-    self.by-version."crypto-browserify"."3.11.0";
-  by-version."crypto-browserify"."3.11.0" = self.buildNodePackage {
-    name = "crypto-browserify-3.11.0";
-    version = "3.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.11.0.tgz";
-      name = "crypto-browserify-3.11.0.tgz";
-      sha1 = "3652a0906ab9b2a7e0c3ce66a408e957a2485522";
-    };
-    deps = {
-      "browserify-cipher-1.0.0" = self.by-version."browserify-cipher"."1.0.0";
-      "browserify-sign-4.0.0" = self.by-version."browserify-sign"."4.0.0";
-      "create-ecdh-4.0.0" = self.by-version."create-ecdh"."4.0.0";
-      "create-hash-1.1.2" = self.by-version."create-hash"."1.1.2";
-      "create-hmac-1.1.4" = self.by-version."create-hmac"."1.1.4";
-      "diffie-hellman-5.0.2" = self.by-version."diffie-hellman"."5.0.2";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "pbkdf2-3.0.4" = self.by-version."pbkdf2"."3.0.4";
-      "public-encrypt-4.0.0" = self.by-version."public-encrypt"."4.0.0";
-      "randombytes-2.0.3" = self.by-version."randombytes"."2.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."crypto-browserify"."^3.11.0" =
-    self.by-version."crypto-browserify"."3.11.0";
-  by-spec."crypto-browserify"."^3.2.6" =
-    self.by-version."crypto-browserify"."3.11.0";
-  by-spec."csrf"."~3.0.0" =
-    self.by-version."csrf"."3.0.3";
-  by-version."csrf"."3.0.3" = self.buildNodePackage {
-    name = "csrf-3.0.3";
-    version = "3.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/csrf/-/csrf-3.0.3.tgz";
-      name = "csrf-3.0.3.tgz";
-      sha1 = "69d13220de95762808bb120f7533a994fc4293b5";
-    };
-    deps = {
-      "base64-url-1.2.2" = self.by-version."base64-url"."1.2.2";
-      "rndm-1.2.0" = self.by-version."rndm"."1.2.0";
-      "tsscmp-1.0.5" = self.by-version."tsscmp"."1.0.5";
-      "uid-safe-2.1.1" = self.by-version."uid-safe"."2.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."css"."~1.0.8" =
-    self.by-version."css"."1.0.8";
-  by-version."css"."1.0.8" = self.buildNodePackage {
-    name = "css-1.0.8";
-    version = "1.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/css/-/css-1.0.8.tgz";
-      name = "css-1.0.8.tgz";
-      sha1 = "9386811ca82bccc9ee7fb5a732b1e2a317c8a3e7";
-    };
-    deps = {
-      "css-parse-1.0.4" = self.by-version."css-parse"."1.0.4";
-      "css-stringify-1.0.5" = self.by-version."css-stringify"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."css-parse"."1.0.4" =
-    self.by-version."css-parse"."1.0.4";
-  by-version."css-parse"."1.0.4" = self.buildNodePackage {
-    name = "css-parse-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/css-parse/-/css-parse-1.0.4.tgz";
-      name = "css-parse-1.0.4.tgz";
-      sha1 = "38b0503fbf9da9f54e9c1dbda60e145c77117bdd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."css-parse"."1.7.x" =
-    self.by-version."css-parse"."1.7.0";
-  by-version."css-parse"."1.7.0" = self.buildNodePackage {
-    name = "css-parse-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/css-parse/-/css-parse-1.7.0.tgz";
-      name = "css-parse-1.7.0.tgz";
-      sha1 = "321f6cf73782a6ff751111390fc05e2c657d8c9b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."css-select"."~1.0.0" =
-    self.by-version."css-select"."1.0.0";
-  by-version."css-select"."1.0.0" = self.buildNodePackage {
-    name = "css-select-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/css-select/-/css-select-1.0.0.tgz";
-      name = "css-select-1.0.0.tgz";
-      sha1 = "b1121ca51848dd264e2244d058cee254deeb44b0";
-    };
-    deps = {
-      "css-what-1.0.0" = self.by-version."css-what"."1.0.0";
-      "domutils-1.4.3" = self.by-version."domutils"."1.4.3";
-      "boolbase-1.0.0" = self.by-version."boolbase"."1.0.0";
-      "nth-check-1.0.1" = self.by-version."nth-check"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."css-stringify"."1.0.5" =
-    self.by-version."css-stringify"."1.0.5";
-  by-version."css-stringify"."1.0.5" = self.buildNodePackage {
-    name = "css-stringify-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/css-stringify/-/css-stringify-1.0.5.tgz";
-      name = "css-stringify-1.0.5.tgz";
-      sha1 = "b0d042946db2953bb9d292900a6cb5f6d0122031";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."css-what"."1.0" =
-    self.by-version."css-what"."1.0.0";
-  by-version."css-what"."1.0.0" = self.buildNodePackage {
-    name = "css-what-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/css-what/-/css-what-1.0.0.tgz";
-      name = "css-what-1.0.0.tgz";
-      sha1 = "d7cc2df45180666f99d2b14462639469e00f736c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."csso"."~2.0.0" =
-    self.by-version."csso"."2.0.0";
-  by-version."csso"."2.0.0" = self.buildNodePackage {
-    name = "csso-2.0.0";
-    version = "2.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/csso/-/csso-2.0.0.tgz";
-      name = "csso-2.0.0.tgz";
-      sha1 = "178b43a44621221c27756086f531e02f42900ee8";
-    };
-    deps = {
-      "clap-1.1.1" = self.by-version."clap"."1.1.1";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cssom"."0.3.x" =
-    self.by-version."cssom"."0.3.1";
-  by-version."cssom"."0.3.1" = self.buildNodePackage {
-    name = "cssom-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cssom/-/cssom-0.3.1.tgz";
-      name = "cssom-0.3.1.tgz";
-      sha1 = "c9e37ef2490e64f6d1baa10fda852257082c25d3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cssom".">= 0.3.0 < 0.4.0" =
-    self.by-version."cssom"."0.3.1";
-  by-spec."cssom"."~0.3.0" =
-    self.by-version."cssom"."0.3.1";
-  by-spec."cssstyle".">= 0.2.21 < 0.3.0" =
-    self.by-version."cssstyle"."0.2.36";
-  by-version."cssstyle"."0.2.36" = self.buildNodePackage {
-    name = "cssstyle-0.2.36";
-    version = "0.2.36";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cssstyle/-/cssstyle-0.2.36.tgz";
-      name = "cssstyle-0.2.36.tgz";
-      sha1 = "5cfed6b1a4526b58d77673d51b3520856fb6af3e";
-    };
-    deps = {
-      "cssom-0.3.1" = self.by-version."cssom"."0.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cssstyle"."~0.2.9" =
-    self.by-version."cssstyle"."0.2.36";
-  by-spec."csurf"."1.1.0" =
-    self.by-version."csurf"."1.1.0";
-  by-version."csurf"."1.1.0" = self.buildNodePackage {
-    name = "csurf-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/csurf/-/csurf-1.1.0.tgz";
-      name = "csurf-1.1.0.tgz";
-      sha1 = "5dd459df40df43b9eb828284d6d03132f42cb8b2";
-    };
-    deps = {
-      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
-      "scmp-0.0.3" = self.by-version."scmp"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."csurf"."~1.8.3" =
-    self.by-version."csurf"."1.8.3";
-  by-version."csurf"."1.8.3" = self.buildNodePackage {
-    name = "csurf-1.8.3";
-    version = "1.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/csurf/-/csurf-1.8.3.tgz";
-      name = "csurf-1.8.3.tgz";
-      sha1 = "23f2a13bf1d8fce1d0c996588394442cba86a56a";
-    };
-    deps = {
-      "cookie-0.1.3" = self.by-version."cookie"."0.1.3";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "csrf-3.0.3" = self.by-version."csrf"."3.0.3";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."csv"."^0.4.0" =
-    self.by-version."csv"."0.4.6";
-  by-version."csv"."0.4.6" = self.buildNodePackage {
-    name = "csv-0.4.6";
-    version = "0.4.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/csv/-/csv-0.4.6.tgz";
-      name = "csv-0.4.6.tgz";
-      sha1 = "8dbae7ddfdbaae62c1ea987c3e0f8a9ac737b73d";
-    };
-    deps = {
-      "csv-generate-0.0.6" = self.by-version."csv-generate"."0.0.6";
-      "csv-parse-1.1.1" = self.by-version."csv-parse"."1.1.1";
-      "stream-transform-0.1.1" = self.by-version."stream-transform"."0.1.1";
-      "csv-stringify-0.0.8" = self.by-version."csv-stringify"."0.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."csv-generate"."^0.0.6" =
-    self.by-version."csv-generate"."0.0.6";
-  by-version."csv-generate"."0.0.6" = self.buildNodePackage {
-    name = "csv-generate-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/csv-generate/-/csv-generate-0.0.6.tgz";
-      name = "csv-generate-0.0.6.tgz";
-      sha1 = "97e4e63ae46b21912cd9475bc31469d26f5ade66";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."csv-parse"."^1.0.0" =
-    self.by-version."csv-parse"."1.1.1";
-  by-version."csv-parse"."1.1.1" = self.buildNodePackage {
-    name = "csv-parse-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/csv-parse/-/csv-parse-1.1.1.tgz";
-      name = "csv-parse-1.1.1.tgz";
-      sha1 = "01f9013753c4d6b8d82ccf66c6770c52d3fc438f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."csv-stringify"."^0.0.8" =
-    self.by-version."csv-stringify"."0.0.8";
-  by-version."csv-stringify"."0.0.8" = self.buildNodePackage {
-    name = "csv-stringify-0.0.8";
-    version = "0.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/csv-stringify/-/csv-stringify-0.0.8.tgz";
-      name = "csv-stringify-0.0.8.tgz";
-      sha1 = "52cc3b3dfc197758c55ad325a95be85071f9e51b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ctype"."0.5.3" =
-    self.by-version."ctype"."0.5.3";
-  by-version."ctype"."0.5.3" = self.buildNodePackage {
-    name = "ctype-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ctype/-/ctype-0.5.3.tgz";
-      name = "ctype-0.5.3.tgz";
-      sha1 = "82c18c2461f74114ef16c135224ad0b9144ca12f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."currently-unhandled"."^0.4.1" =
-    self.by-version."currently-unhandled"."0.4.1";
-  by-version."currently-unhandled"."0.4.1" = self.buildNodePackage {
-    name = "currently-unhandled-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/currently-unhandled/-/currently-unhandled-0.4.1.tgz";
-      name = "currently-unhandled-0.4.1.tgz";
-      sha1 = "988df33feab191ef799a61369dd76c17adf957ea";
-    };
-    deps = {
-      "array-find-index-1.0.1" = self.by-version."array-find-index"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."custom-event"."~1.0.0" =
-    self.by-version."custom-event"."1.0.0";
-  by-version."custom-event"."1.0.0" = self.buildNodePackage {
-    name = "custom-event-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/custom-event/-/custom-event-1.0.0.tgz";
-      name = "custom-event-1.0.0.tgz";
-      sha1 = "2e4628be19dc4b214b5c02630c5971e811618062";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cycle"."1.0.x" =
-    self.by-version."cycle"."1.0.3";
-  by-version."cycle"."1.0.3" = self.buildNodePackage {
-    name = "cycle-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cycle/-/cycle-1.0.3.tgz";
-      name = "cycle-1.0.3.tgz";
-      sha1 = "21e80b2be8580f98b468f379430662b046c34ad2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."cyclist"."~0.1.0" =
-    self.by-version."cyclist"."0.1.1";
-  by-version."cyclist"."0.1.1" = self.buildNodePackage {
-    name = "cyclist-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/cyclist/-/cyclist-0.1.1.tgz";
-      name = "cyclist-0.1.1.tgz";
-      sha1 = "1bcfa56b081448cdb5e12bfc1bfad34b47fba8f3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."d"."^0.1.1" =
-    self.by-version."d"."0.1.1";
-  by-version."d"."0.1.1" = self.buildNodePackage {
-    name = "d-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/d/-/d-0.1.1.tgz";
-      name = "d-0.1.1.tgz";
-      sha1 = "da184c535d18d8ee7ba2aa229b914009fae11309";
-    };
-    deps = {
-      "es5-ext-0.10.11" = self.by-version."es5-ext"."0.10.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."d"."~0.1.1" =
-    self.by-version."d"."0.1.1";
-  by-spec."dashdash"."1.10.1" =
-    self.by-version."dashdash"."1.10.1";
-  by-version."dashdash"."1.10.1" = self.buildNodePackage {
-    name = "dashdash-1.10.1";
-    version = "1.10.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dashdash/-/dashdash-1.10.1.tgz";
-      name = "dashdash-1.10.1.tgz";
-      sha1 = "0abf1af89a8f5129a81f18c2b35b21df22622f60";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dashdash"."1.7.3" =
-    self.by-version."dashdash"."1.7.3";
-  by-version."dashdash"."1.7.3" = self.buildNodePackage {
-    name = "dashdash-1.7.3";
-    version = "1.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dashdash/-/dashdash-1.7.3.tgz";
-      name = "dashdash-1.7.3.tgz";
-      sha1 = "bf533fedaa455ed8fee11519ebfb9ad66170dcdf";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dashdash".">=1.10.1 <2.0.0" =
-    self.by-version."dashdash"."1.14.0";
-  by-version."dashdash"."1.14.0" = self.buildNodePackage {
-    name = "dashdash-1.14.0";
-    version = "1.14.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dashdash/-/dashdash-1.14.0.tgz";
-      name = "dashdash-1.14.0.tgz";
-      sha1 = "29e486c5418bf0f356034a993d51686a33e84141";
-    };
-    deps = {
-      "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dashdash"."^1.12.0" =
-    self.by-version."dashdash"."1.14.0";
-  by-spec."dashdash"."^1.7.1" =
-    self.by-version."dashdash"."1.14.0";
-  by-spec."data-uri-to-buffer"."0" =
-    self.by-version."data-uri-to-buffer"."0.0.4";
-  by-version."data-uri-to-buffer"."0.0.4" = self.buildNodePackage {
-    name = "data-uri-to-buffer-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-0.0.4.tgz";
-      name = "data-uri-to-buffer-0.0.4.tgz";
-      sha1 = "46e13ab9da8e309745c8d01ce547213ebdb2fe3f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."date-now"."^0.1.4" =
-    self.by-version."date-now"."0.1.4";
-  by-version."date-now"."0.1.4" = self.buildNodePackage {
-    name = "date-now-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/date-now/-/date-now-0.1.4.tgz";
-      name = "date-now-0.1.4.tgz";
-      sha1 = "eaf439fd4d4848ad74e5cc7dbef200672b9e345b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dateformat"."1.0.2-1.2.3" =
-    self.by-version."dateformat"."1.0.2-1.2.3";
-  by-version."dateformat"."1.0.2-1.2.3" = self.buildNodePackage {
-    name = "dateformat-1.0.2-1.2.3";
-    version = "1.0.2-1.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dateformat/-/dateformat-1.0.2-1.2.3.tgz";
-      name = "dateformat-1.0.2-1.2.3.tgz";
-      sha1 = "b0220c02de98617433b72851cf47de3df2cdbee9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dateformat"."1.0.7-1.2.3" =
-    self.by-version."dateformat"."1.0.7-1.2.3";
-  by-version."dateformat"."1.0.7-1.2.3" = self.buildNodePackage {
-    name = "dateformat-1.0.7-1.2.3";
-    version = "1.0.7-1.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dateformat/-/dateformat-1.0.7-1.2.3.tgz";
-      name = "dateformat-1.0.7-1.2.3.tgz";
-      sha1 = "ebb561bb7214ee57a8dc2687adab1d555de9419c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dateformat"."^1.0.11" =
-    self.by-version."dateformat"."1.0.12";
-  by-version."dateformat"."1.0.12" = self.buildNodePackage {
-    name = "dateformat-1.0.12";
-    version = "1.0.12";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dateformat/-/dateformat-1.0.12.tgz";
-      name = "dateformat-1.0.12.tgz";
-      sha1 = "9f124b67594c937ff706932e4a642cca8dbbfee9";
-    };
-    deps = {
-      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
-      "meow-3.7.0" = self.by-version."meow"."3.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dateformat"."^1.0.6" =
-    self.by-version."dateformat"."1.0.12";
-  by-spec."dateformat"."~1.0.12" =
-    self.by-version."dateformat"."1.0.12";
-  by-spec."datejs".">=0.0.2" =
-    self.by-version."datejs"."0.0.2";
-  by-version."datejs"."0.0.2" = self.buildNodePackage {
-    name = "datejs-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/datejs/-/datejs-0.0.2.tgz";
-      name = "datejs-0.0.2.tgz";
-      sha1 = "242cf2e1c7338d9502a5ae4196fd69e234211f4a";
-    };
-    deps = {
-      "vows-0.8.1" = self.by-version."vows"."0.8.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debounced-seeker"."^1.0.0" =
-    self.by-version."debounced-seeker"."1.0.0";
-  by-version."debounced-seeker"."1.0.0" = self.buildNodePackage {
-    name = "debounced-seeker-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debounced-seeker/-/debounced-seeker-1.0.0.tgz";
-      name = "debounced-seeker-1.0.0.tgz";
-      sha1 = "e74befcd1a62ae7a5e5fbfbfa6f5d2bacd962bdd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."*" =
-    self.by-version."debug"."2.2.0";
-  by-version."debug"."2.2.0" = self.buildNodePackage {
-    name = "debug-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-2.2.0.tgz";
-      name = "debug-2.2.0.tgz";
-      sha1 = "f87057e995b1a1f6ae6a4960664137bc56f039da";
-    };
-    deps = {
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."0.5.0" =
-    self.by-version."debug"."0.5.0";
-  by-version."debug"."0.5.0" = self.buildNodePackage {
-    name = "debug-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-0.5.0.tgz";
-      name = "debug-0.5.0.tgz";
-      sha1 = "9d48c946fb7d7d59807ffe07822f515fd76d7a9e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."0.6.0" =
-    self.by-version."debug"."0.6.0";
-  by-version."debug"."0.6.0" = self.buildNodePackage {
-    name = "debug-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-0.6.0.tgz";
-      name = "debug-0.6.0.tgz";
-      sha1 = "ce9d5d025d5294b3f0748a494bebaf3c9fd8734f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."0.7.4" =
-    self.by-version."debug"."0.7.4";
-  by-version."debug"."0.7.4" = self.buildNodePackage {
-    name = "debug-0.7.4";
-    version = "0.7.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-0.7.4.tgz";
-      name = "debug-0.7.4.tgz";
-      sha1 = "06e1ea8082c2cb14e39806e22e2f6f757f92af39";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."0.8.0" =
-    self.by-version."debug"."0.8.0";
-  by-version."debug"."0.8.0" = self.buildNodePackage {
-    name = "debug-0.8.0";
-    version = "0.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-0.8.0.tgz";
-      name = "debug-0.8.0.tgz";
-      sha1 = "0541ea91f0e503fdf0c5eed418a32550234967f0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."1.0.2" =
-    self.by-version."debug"."1.0.2";
-  by-version."debug"."1.0.2" = self.buildNodePackage {
-    name = "debug-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-1.0.2.tgz";
-      name = "debug-1.0.2.tgz";
-      sha1 = "3849591c10cce648476c3c7c2e2e3416db5963c4";
-    };
-    deps = {
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."1.0.3" =
-    self.by-version."debug"."1.0.3";
-  by-version."debug"."1.0.3" = self.buildNodePackage {
-    name = "debug-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-1.0.3.tgz";
-      name = "debug-1.0.3.tgz";
-      sha1 = "fc8c6b2d6002804b4081c0208e0f6460ba1fa3e4";
-    };
-    deps = {
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."2" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug"."2.2.0" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug"."2.x.x" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug".">= 0.7.0" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug".">= 0.7.3 < 1" =
-    self.by-version."debug"."0.8.1";
-  by-version."debug"."0.8.1" = self.buildNodePackage {
-    name = "debug-0.8.1";
-    version = "0.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-0.8.1.tgz";
-      name = "debug-0.8.1.tgz";
-      sha1 = "20ff4d26f5e422cb68a1bacbbb61039ad8c1c130";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."^1.0.2" =
-    self.by-version."debug"."1.0.4";
-  by-version."debug"."1.0.4" = self.buildNodePackage {
-    name = "debug-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-1.0.4.tgz";
-      name = "debug-1.0.4.tgz";
-      sha1 = "5b9c256bd54b6ec02283176fa8a0ede6d154cbf8";
-    };
-    deps = {
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."^2.0.0" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug"."^2.1.0" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug"."^2.1.1" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug"."^2.1.2" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug"."^2.1.3" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug"."^2.2.0" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debug"."~1.0.1" =
-    self.by-version."debug"."1.0.4";
-  by-spec."debug"."~2.0.0" =
-    self.by-version."debug"."2.0.0";
-  by-version."debug"."2.0.0" = self.buildNodePackage {
-    name = "debug-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-2.0.0.tgz";
-      name = "debug-2.0.0.tgz";
-      sha1 = "89bd9df6732b51256bc6705342bba02ed12131ef";
-    };
-    deps = {
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."~2.1.1" =
-    self.by-version."debug"."2.1.3";
-  by-version."debug"."2.1.3" = self.buildNodePackage {
-    name = "debug-2.1.3";
-    version = "2.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debug/-/debug-2.1.3.tgz";
-      name = "debug-2.1.3.tgz";
-      sha1 = "ce8ab1b5ee8fbee2bfa3b633cab93d366b63418e";
-    };
-    deps = {
-      "ms-0.7.0" = self.by-version."ms"."0.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debug"."~2.2.0" =
-    self.by-version."debug"."2.2.0";
-  by-spec."debuglog"."*" =
-    self.by-version."debuglog"."1.0.1";
-  by-version."debuglog"."1.0.1" = self.buildNodePackage {
-    name = "debuglog-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz";
-      name = "debuglog-1.0.1.tgz";
-      sha1 = "aa24ffb9ac3df9a2351837cfb2d279360cd78492";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."debuglog"."^1.0.1" =
-    self.by-version."debuglog"."1.0.1";
-  by-spec."decamelize"."^1.0.0" =
-    self.by-version."decamelize"."1.2.0";
-  by-version."decamelize"."1.2.0" = self.buildNodePackage {
-    name = "decamelize-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz";
-      name = "decamelize-1.2.0.tgz";
-      sha1 = "f6534d15148269b20352e7bee26f501f9a191290";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."decamelize"."^1.1.1" =
-    self.by-version."decamelize"."1.2.0";
-  by-spec."decamelize"."^1.1.2" =
-    self.by-version."decamelize"."1.2.0";
-  by-spec."deep-eql"."^0.1.3" =
-    self.by-version."deep-eql"."0.1.3";
-  by-version."deep-eql"."0.1.3" = self.buildNodePackage {
-    name = "deep-eql-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deep-eql/-/deep-eql-0.1.3.tgz";
-      name = "deep-eql-0.1.3.tgz";
-      sha1 = "ef558acab8de25206cd713906d74e56930eb69f2";
-    };
-    deps = {
-      "type-detect-0.1.1" = self.by-version."type-detect"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deep-equal"."*" =
-    self.by-version."deep-equal"."1.0.1";
-  by-version."deep-equal"."1.0.1" = self.buildNodePackage {
-    name = "deep-equal-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deep-equal/-/deep-equal-1.0.1.tgz";
-      name = "deep-equal-1.0.1.tgz";
-      sha1 = "f5d260292b660e084eff4cdbc9f08ad3247448b5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deep-equal"."^1.0.0" =
-    self.by-version."deep-equal"."1.0.1";
-  by-spec."deep-equal"."^1.0.1" =
-    self.by-version."deep-equal"."1.0.1";
-  by-spec."deep-equal"."~0.1.0" =
-    self.by-version."deep-equal"."0.1.2";
-  by-version."deep-equal"."0.1.2" = self.buildNodePackage {
-    name = "deep-equal-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deep-equal/-/deep-equal-0.1.2.tgz";
-      name = "deep-equal-0.1.2.tgz";
-      sha1 = "b246c2b80a570a47c11be1d9bd1070ec878b87ce";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deep-extend"."^0.4.0" =
-    self.by-version."deep-extend"."0.4.1";
-  by-version."deep-extend"."0.4.1" = self.buildNodePackage {
-    name = "deep-extend-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.4.1.tgz";
-      name = "deep-extend-0.4.1.tgz";
-      sha1 = "efe4113d08085f4e6f9687759810f807469e2253";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deep-extend"."~0.2.5" =
-    self.by-version."deep-extend"."0.2.11";
-  by-version."deep-extend"."0.2.11" = self.buildNodePackage {
-    name = "deep-extend-0.2.11";
-    version = "0.2.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deep-extend/-/deep-extend-0.2.11.tgz";
-      name = "deep-extend-0.2.11.tgz";
-      sha1 = "7a16ba69729132340506170494bc83f7076fe08f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deep-extend"."~0.4.0" =
-    self.by-version."deep-extend"."0.4.1";
-  by-spec."deep-is"."~0.1.3" =
-    self.by-version."deep-is"."0.1.3";
-  by-version."deep-is"."0.1.3" = self.buildNodePackage {
-    name = "deep-is-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz";
-      name = "deep-is-0.1.3.tgz";
-      sha1 = "b369d6fb5dbc13eecf524f91b070feedc357cf34";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deepmerge"."*" =
-    self.by-version."deepmerge"."0.2.10";
-  by-version."deepmerge"."0.2.10" = self.buildNodePackage {
-    name = "deepmerge-0.2.10";
-    version = "0.2.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deepmerge/-/deepmerge-0.2.10.tgz";
-      name = "deepmerge-0.2.10.tgz";
-      sha1 = "8906bf9e525a4fbf1b203b2afcb4640249821219";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "deepmerge" = self.by-version."deepmerge"."0.2.10";
-  by-spec."default-browser-id"."^1.0.4" =
-    self.by-version."default-browser-id"."1.0.4";
-  by-version."default-browser-id"."1.0.4" = self.buildNodePackage {
-    name = "default-browser-id-1.0.4";
-    version = "1.0.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/default-browser-id/-/default-browser-id-1.0.4.tgz";
-      name = "default-browser-id-1.0.4.tgz";
-      sha1 = "e59d09a5d157b828b876c26816e61c3d2a2c203a";
-    };
-    deps = {
-      "bplist-parser-0.1.1" = self.by-version."bplist-parser"."0.1.1";
-      "meow-3.7.0" = self.by-version."meow"."3.7.0";
-      "untildify-2.1.0" = self.by-version."untildify"."2.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."defaultable"."~0.7.2" =
-    self.by-version."defaultable"."0.7.2";
-  by-version."defaultable"."0.7.2" = self.buildNodePackage {
-    name = "defaultable-0.7.2";
-    version = "0.7.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/defaultable/-/defaultable-0.7.2.tgz";
-      name = "defaultable-0.7.2.tgz";
-      sha1 = "7c1564ca14f9eca4c4127a539790777d44085bd7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."defaults"."^1.0.0" =
-    self.by-version."defaults"."1.0.3";
-  by-version."defaults"."1.0.3" = self.buildNodePackage {
-    name = "defaults-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz";
-      name = "defaults-1.0.3.tgz";
-      sha1 = "c656051e9817d9ff08ed881477f3fe4019f3ef7d";
-    };
-    deps = {
-      "clone-1.0.2" = self.by-version."clone"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."defaults"."^1.0.3" =
-    self.by-version."defaults"."1.0.3";
-  by-spec."deferred-leveldown"."~0.2.0" =
-    self.by-version."deferred-leveldown"."0.2.0";
-  by-version."deferred-leveldown"."0.2.0" = self.buildNodePackage {
-    name = "deferred-leveldown-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deferred-leveldown/-/deferred-leveldown-0.2.0.tgz";
-      name = "deferred-leveldown-0.2.0.tgz";
-      sha1 = "2cef1f111e1c57870d8bbb8af2650e587cd2f5b4";
-    };
-    deps = {
-      "abstract-leveldown-0.12.4" = self.by-version."abstract-leveldown"."0.12.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."defined"."^1.0.0" =
-    self.by-version."defined"."1.0.0";
-  by-version."defined"."1.0.0" = self.buildNodePackage {
-    name = "defined-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/defined/-/defined-1.0.0.tgz";
-      name = "defined-1.0.0.tgz";
-      sha1 = "c98d9bcef75674188e110969151199e39b1fa693";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."defined"."~0.0.0" =
-    self.by-version."defined"."0.0.0";
-  by-version."defined"."0.0.0" = self.buildNodePackage {
-    name = "defined-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/defined/-/defined-0.0.0.tgz";
-      name = "defined-0.0.0.tgz";
-      sha1 = "f35eea7d705e933baf13b2f03b3f83d921403b3e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."defs"."~1.1.0" =
-    self.by-version."defs"."1.1.1";
-  by-version."defs"."1.1.1" = self.buildNodePackage {
-    name = "defs-1.1.1";
-    version = "1.1.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/defs/-/defs-1.1.1.tgz";
-      name = "defs-1.1.1.tgz";
-      sha1 = "b22609f2c7a11ba7a3db116805c139b1caffa9d2";
-    };
-    deps = {
-      "alter-0.2.0" = self.by-version."alter"."0.2.0";
-      "ast-traverse-0.1.1" = self.by-version."ast-traverse"."0.1.1";
-      "breakable-1.0.0" = self.by-version."breakable"."1.0.0";
-      "esprima-fb-15001.1001.0-dev-harmony-fb" = self.by-version."esprima-fb"."15001.1001.0-dev-harmony-fb";
-      "simple-fmt-0.1.0" = self.by-version."simple-fmt"."0.1.0";
-      "simple-is-0.2.0" = self.by-version."simple-is"."0.2.0";
-      "stringmap-0.2.2" = self.by-version."stringmap"."0.2.2";
-      "stringset-0.2.1" = self.by-version."stringset"."0.2.1";
-      "tryor-0.1.2" = self.by-version."tryor"."0.1.2";
-      "yargs-3.27.0" = self.by-version."yargs"."3.27.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."degenerator"."~1.0.0" =
-    self.by-version."degenerator"."1.0.2";
-  by-version."degenerator"."1.0.2" = self.buildNodePackage {
-    name = "degenerator-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/degenerator/-/degenerator-1.0.2.tgz";
-      name = "degenerator-1.0.2.tgz";
-      sha1 = "c22222c8115cb22f3bfeee0a7b55843f1677caaa";
-    };
-    deps = {
-      "esprima-2.3.0" = self.by-version."esprima"."2.3.0";
-      "escodegen-1.3.3" = self.by-version."escodegen"."1.3.3";
-      "ast-types-0.3.38" = self.by-version."ast-types"."0.3.38";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."del"."^2.0.2" =
-    self.by-version."del"."2.2.0";
-  by-version."del"."2.2.0" = self.buildNodePackage {
-    name = "del-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/del/-/del-2.2.0.tgz";
-      name = "del-2.2.0.tgz";
-      sha1 = "9a50f04bf37325e283b4f44e985336c252456bd5";
-    };
-    deps = {
-      "globby-4.1.0" = self.by-version."globby"."4.1.0";
-      "is-path-cwd-1.0.0" = self.by-version."is-path-cwd"."1.0.0";
-      "is-path-in-cwd-1.0.0" = self.by-version."is-path-in-cwd"."1.0.0";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "pify-2.3.0" = self.by-version."pify"."2.3.0";
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."delayed-stream"."0.0.5" =
-    self.by-version."delayed-stream"."0.0.5";
-  by-version."delayed-stream"."0.0.5" = self.buildNodePackage {
-    name = "delayed-stream-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-0.0.5.tgz";
-      name = "delayed-stream-0.0.5.tgz";
-      sha1 = "d4b1f43a93e8296dfe02694f4680bc37a313c73f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."delayed-stream"."~1.0.0" =
-    self.by-version."delayed-stream"."1.0.0";
-  by-version."delayed-stream"."1.0.0" = self.buildNodePackage {
-    name = "delayed-stream-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz";
-      name = "delayed-stream-1.0.0.tgz";
-      sha1 = "df3ae199acadfb7d440aaae0b29e2272b24ec619";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."delegates"."^1.0.0" =
-    self.by-version."delegates"."1.0.0";
-  by-version."delegates"."1.0.0" = self.buildNodePackage {
-    name = "delegates-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz";
-      name = "delegates-1.0.0.tgz";
-      sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dep-graph"."1.1.0" =
-    self.by-version."dep-graph"."1.1.0";
-  by-version."dep-graph"."1.1.0" = self.buildNodePackage {
-    name = "dep-graph-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dep-graph/-/dep-graph-1.1.0.tgz";
-      name = "dep-graph-1.1.0.tgz";
-      sha1 = "fade86a92799a813e9b42511cdf3dfa6cc8dbefe";
-    };
-    deps = {
-      "underscore-1.2.1" = self.by-version."underscore"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."depd"."0.3.0" =
-    self.by-version."depd"."0.3.0";
-  by-version."depd"."0.3.0" = self.buildNodePackage {
-    name = "depd-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/depd/-/depd-0.3.0.tgz";
-      name = "depd-0.3.0.tgz";
-      sha1 = "11c9bc28e425325fbd8b38940beff69fa5326883";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."depd"."0.4.2" =
-    self.by-version."depd"."0.4.2";
-  by-version."depd"."0.4.2" = self.buildNodePackage {
-    name = "depd-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/depd/-/depd-0.4.2.tgz";
-      name = "depd-0.4.2.tgz";
-      sha1 = "a4bc8a0e4801770a66363daa6d35138f3e3b54dd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."depd"."0.4.5" =
-    self.by-version."depd"."0.4.5";
-  by-version."depd"."0.4.5" = self.buildNodePackage {
-    name = "depd-0.4.5";
-    version = "0.4.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/depd/-/depd-0.4.5.tgz";
-      name = "depd-0.4.5.tgz";
-      sha1 = "1a664b53388b4a6573e8ae67b5f767c693ca97f1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."depd".">= 0.4.0" =
-    self.by-version."depd"."1.1.0";
-  by-version."depd"."1.1.0" = self.buildNodePackage {
-    name = "depd-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/depd/-/depd-1.1.0.tgz";
-      name = "depd-1.1.0.tgz";
-      sha1 = "e1bd82c6aab6ced965b97b88b17ed3e528ca18c3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."depd"."~1.0.1" =
-    self.by-version."depd"."1.0.1";
-  by-version."depd"."1.0.1" = self.buildNodePackage {
-    name = "depd-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/depd/-/depd-1.0.1.tgz";
-      name = "depd-1.0.1.tgz";
-      sha1 = "80aec64c9d6d97e65cc2a9caa93c0aa6abf73aaa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."depd"."~1.1.0" =
-    self.by-version."depd"."1.1.0";
-  by-spec."dependency-ls"."^1.0.0" =
-    self.by-version."dependency-ls"."1.0.0";
-  by-version."dependency-ls"."1.0.0" = self.buildNodePackage {
-    name = "dependency-ls-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dependency-ls/-/dependency-ls-1.0.0.tgz";
-      name = "dependency-ls-1.0.0.tgz";
-      sha1 = "311dc9fa9a840bee4c6ca33954556e5cf09cb5c9";
-    };
-    deps = {
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deprecate"."^0.1.0" =
-    self.by-version."deprecate"."0.1.0";
-  by-version."deprecate"."0.1.0" = self.buildNodePackage {
-    name = "deprecate-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deprecate/-/deprecate-0.1.0.tgz";
-      name = "deprecate-0.1.0.tgz";
-      sha1 = "c49058612dc6c8e5145eafe4839b8c2c7d041c14";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deprecated"."^0.0.1" =
-    self.by-version."deprecated"."0.0.1";
-  by-version."deprecated"."0.0.1" = self.buildNodePackage {
-    name = "deprecated-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deprecated/-/deprecated-0.0.1.tgz";
-      name = "deprecated-0.0.1.tgz";
-      sha1 = "f9c9af5464afa1e7a971458a8bdef2aa94d5bb19";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deps-sort"."^1.3.7" =
-    self.by-version."deps-sort"."1.3.9";
-  by-version."deps-sort"."1.3.9" = self.buildNodePackage {
-    name = "deps-sort-1.3.9";
-    version = "1.3.9";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deps-sort/-/deps-sort-1.3.9.tgz";
-      name = "deps-sort-1.3.9.tgz";
-      sha1 = "29dfff53e17b36aecae7530adbbbf622c2ed1a71";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "shasum-1.0.2" = self.by-version."shasum"."1.0.2";
-      "subarg-1.0.0" = self.by-version."subarg"."1.0.0";
-      "through2-1.1.1" = self.by-version."through2"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."deps-sort"."^2.0.0" =
-    self.by-version."deps-sort"."2.0.0";
-  by-version."deps-sort"."2.0.0" = self.buildNodePackage {
-    name = "deps-sort-2.0.0";
-    version = "2.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/deps-sort/-/deps-sort-2.0.0.tgz";
-      name = "deps-sort-2.0.0.tgz";
-      sha1 = "091724902e84658260eb910748cccd1af6e21fb5";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "shasum-1.0.2" = self.by-version."shasum"."1.0.2";
-      "subarg-1.0.0" = self.by-version."subarg"."1.0.0";
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."des.js"."^1.0.0" =
-    self.by-version."des.js"."1.0.0";
-  by-version."des.js"."1.0.0" = self.buildNodePackage {
-    name = "des.js-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/des.js/-/des.js-1.0.0.tgz";
-      name = "des.js-1.0.0.tgz";
-      sha1 = "c074d2e2aa6a8a9a07dbd61f9a15c2cd83ec8ecc";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimalistic-assert-1.0.0" = self.by-version."minimalistic-assert"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."destroy"."1.0.3" =
-    self.by-version."destroy"."1.0.3";
-  by-version."destroy"."1.0.3" = self.buildNodePackage {
-    name = "destroy-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/destroy/-/destroy-1.0.3.tgz";
-      name = "destroy-1.0.3.tgz";
-      sha1 = "b433b4724e71fd8551d9885174851c5fc377e2c9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."destroy"."~1.0.4" =
-    self.by-version."destroy"."1.0.4";
-  by-version."destroy"."1.0.4" = self.buildNodePackage {
-    name = "destroy-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz";
-      name = "destroy-1.0.4.tgz";
-      sha1 = "978857442c44749e4206613e37946205826abd80";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."detective"."^4.0.0" =
-    self.by-version."detective"."4.3.1";
-  by-version."detective"."4.3.1" = self.buildNodePackage {
-    name = "detective-4.3.1";
-    version = "4.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/detective/-/detective-4.3.1.tgz";
-      name = "detective-4.3.1.tgz";
-      sha1 = "9fb06dd1ee8f0ea4dbcc607cda39d9ce1d4f726f";
-    };
-    deps = {
-      "acorn-1.2.2" = self.by-version."acorn"."1.2.2";
-      "defined-1.0.0" = self.by-version."defined"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."detective"."^4.3.1" =
-    self.by-version."detective"."4.3.1";
-  by-spec."dezalgo"."^1.0.0" =
-    self.by-version."dezalgo"."1.0.3";
-  by-version."dezalgo"."1.0.3" = self.buildNodePackage {
-    name = "dezalgo-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz";
-      name = "dezalgo-1.0.3.tgz";
-      sha1 = "7f742de066fc748bc8db820569dddce49bf0d456";
-    };
-    deps = {
-      "asap-2.0.4" = self.by-version."asap"."2.0.4";
-      "wrappy-1.0.2" = self.by-version."wrappy"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dezalgo"."^1.0.1" =
-    self.by-version."dezalgo"."1.0.3";
-  by-spec."dezalgo"."^1.0.2" =
-    self.by-version."dezalgo"."1.0.3";
-  by-spec."dezalgo"."~1.0.3" =
-    self.by-version."dezalgo"."1.0.3";
-  by-spec."di"."^0.0.1" =
-    self.by-version."di"."0.0.1";
-  by-version."di"."0.0.1" = self.buildNodePackage {
-    name = "di-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/di/-/di-0.0.1.tgz";
-      name = "di-0.0.1.tgz";
-      sha1 = "806649326ceaa7caa3306d75d985ea2748ba913c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dicer"."0.2.5" =
-    self.by-version."dicer"."0.2.5";
-  by-version."dicer"."0.2.5" = self.buildNodePackage {
-    name = "dicer-0.2.5";
-    version = "0.2.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dicer/-/dicer-0.2.5.tgz";
-      name = "dicer-0.2.5.tgz";
-      sha1 = "5996c086bb33218c812c090bddc09cd12facb70f";
-    };
-    deps = {
-      "streamsearch-0.1.2" = self.by-version."streamsearch"."0.1.2";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."diff"."1.4.0" =
-    self.by-version."diff"."1.4.0";
-  by-version."diff"."1.4.0" = self.buildNodePackage {
-    name = "diff-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz";
-      name = "diff-1.4.0.tgz";
-      sha1 = "7f28d2eb9ee7b15a97efd89ce63dcfdaa3ccbabf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."diff"."2.1.0" =
-    self.by-version."diff"."2.1.0";
-  by-version."diff"."2.1.0" = self.buildNodePackage {
-    name = "diff-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/diff/-/diff-2.1.0.tgz";
-      name = "diff-2.1.0.tgz";
-      sha1 = "39b5aa97f0d1600b428ad0a91dc8efcc9b29e288";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."diff"."2.2.*" =
-    self.by-version."diff"."2.2.3";
-  by-version."diff"."2.2.3" = self.buildNodePackage {
-    name = "diff-2.2.3";
-    version = "2.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/diff/-/diff-2.2.3.tgz";
-      name = "diff-2.2.3.tgz";
-      sha1 = "60eafd0d28ee906e4e8ff0a52c1229521033bf99";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."diff"."~1.0.7" =
-    self.by-version."diff"."1.0.8";
-  by-version."diff"."1.0.8" = self.buildNodePackage {
-    name = "diff-1.0.8";
-    version = "1.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/diff/-/diff-1.0.8.tgz";
-      name = "diff-1.0.8.tgz";
-      sha1 = "343276308ec991b7bc82267ed55bc1411f971666";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."diff"."~1.0.8" =
-    self.by-version."diff"."1.0.8";
-  by-spec."diff2html"."~1.2.0" =
-    self.by-version."diff2html"."1.2.0";
-  by-version."diff2html"."1.2.0" = self.buildNodePackage {
-    name = "diff2html-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/diff2html/-/diff2html-1.2.0.tgz";
-      name = "diff2html-1.2.0.tgz";
-      sha1 = "8b54af41c180befd9cb1caa130a3d76081ae4a07";
-    };
-    deps = {
-      "diff-2.2.3" = self.by-version."diff"."2.2.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."diffie-hellman"."^5.0.0" =
-    self.by-version."diffie-hellman"."5.0.2";
-  by-version."diffie-hellman"."5.0.2" = self.buildNodePackage {
-    name = "diffie-hellman-5.0.2";
-    version = "5.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.2.tgz";
-      name = "diffie-hellman-5.0.2.tgz";
-      sha1 = "b5835739270cfe26acf632099fded2a07f209e5e";
-    };
-    deps = {
-      "bn.js-4.11.4" = self.by-version."bn.js"."4.11.4";
-      "miller-rabin-4.0.0" = self.by-version."miller-rabin"."4.0.0";
-      "randombytes-2.0.3" = self.by-version."randombytes"."2.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."directmail"."~0.1.7" =
-    self.by-version."directmail"."0.1.8";
-  by-version."directmail"."0.1.8" = self.buildNodePackage {
-    name = "directmail-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/directmail/-/directmail-0.1.8.tgz";
-      name = "directmail-0.1.8.tgz";
-      sha1 = "e4852c8a0c5519bef4904fcd96d760822f42a446";
-    };
-    deps = {
-      "simplesmtp-0.3.35" = self.by-version."simplesmtp"."0.3.35";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."director"."1.2.7" =
-    self.by-version."director"."1.2.7";
-  by-version."director"."1.2.7" = self.buildNodePackage {
-    name = "director-1.2.7";
-    version = "1.2.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/director/-/director-1.2.7.tgz";
-      name = "director-1.2.7.tgz";
-      sha1 = "bfd3741075fd7fb1a5b2e13658c5f4bec77736f3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dkim-signer"."~0.1.1" =
-    self.by-version."dkim-signer"."0.1.2";
-  by-version."dkim-signer"."0.1.2" = self.buildNodePackage {
-    name = "dkim-signer-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dkim-signer/-/dkim-signer-0.1.2.tgz";
-      name = "dkim-signer-0.1.2.tgz";
-      sha1 = "2ff5d61c87d8fbff5a8b131cffc5ec3ba1c25553";
-    };
-    deps = {
-      "punycode-1.2.4" = self.by-version."punycode"."1.2.4";
-      "mimelib-0.2.19" = self.by-version."mimelib"."0.2.19";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dns"."^0.2.2" =
-    self.by-version."dns"."0.2.2";
-  by-version."dns"."0.2.2" = self.buildNodePackage {
-    name = "dns-0.2.2";
-    version = "0.2.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dns/-/dns-0.2.2.tgz";
-      name = "dns-0.2.2.tgz";
-      sha1 = "a8477ca26b835842c3125204d8cbcdd6af98c9ec";
-    };
-    deps = {
-      "winston-0.7.3" = self.by-version."winston"."0.7.3";
-      "hbo-dnsd-0.9.8" = self.by-version."hbo-dnsd"."0.9.8";
-      "native-dns-0.6.1" = self.by-version."native-dns"."0.6.1";
-      "node-options-0.0.6" = self.by-version."node-options"."0.0.6";
-      "tomahawk-0.1.6" = self.by-version."tomahawk"."0.1.6";
-      "tomahawk-plugin-kv-memory-store-0.0.3" = self.by-version."tomahawk-plugin-kv-memory-store"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dns-equal"."^1.0.0" =
-    self.by-version."dns-equal"."1.0.0";
-  by-version."dns-equal"."1.0.0" = self.buildNodePackage {
-    name = "dns-equal-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz";
-      name = "dns-equal-1.0.0.tgz";
-      sha1 = "b39e7f1da6eb0a75ba9c17324b34753c47e0654d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dns-packet"."^1.0.1" =
-    self.by-version."dns-packet"."1.1.0";
-  by-version."dns-packet"."1.1.0" = self.buildNodePackage {
-    name = "dns-packet-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dns-packet/-/dns-packet-1.1.0.tgz";
-      name = "dns-packet-1.1.0.tgz";
-      sha1 = "c11ce43bd9977aa789af72de06b6e4ad6e84730d";
-    };
-    deps = {
-      "ip-1.1.3" = self.by-version."ip"."1.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dns-txt"."^2.0.2" =
-    self.by-version."dns-txt"."2.0.2";
-  by-version."dns-txt"."2.0.2" = self.buildNodePackage {
-    name = "dns-txt-2.0.2";
-    version = "2.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz";
-      name = "dns-txt-2.0.2.tgz";
-      sha1 = "b91d806f5d27188e4ab3e7d107d881a1cc4642b6";
-    };
-    deps = {
-      "buffer-indexof-1.0.0" = self.by-version."buffer-indexof"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."docker-parse-image"."^3.0.1" =
-    self.by-version."docker-parse-image"."3.0.1";
-  by-version."docker-parse-image"."3.0.1" = self.buildNodePackage {
-    name = "docker-parse-image-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/docker-parse-image/-/docker-parse-image-3.0.1.tgz";
-      name = "docker-parse-image-3.0.1.tgz";
-      sha1 = "33dc69291eac3414f84871f2d59d77b6f6948be4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."docker-registry-server"."*" =
-    self.by-version."docker-registry-server"."2.2.0";
-  by-version."docker-registry-server"."2.2.0" = self.buildNodePackage {
-    name = "docker-registry-server-2.2.0";
-    version = "2.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/docker-registry-server/-/docker-registry-server-2.2.0.tgz";
-      name = "docker-registry-server-2.2.0.tgz";
-      sha1 = "5b98836cd7f0348f7f472f7f5a42dd3cab231731";
-    };
-    deps = {
-      "JSONStream-0.8.4" = self.by-version."JSONStream"."0.8.4";
-      "basic-auth-1.0.4" = self.by-version."basic-auth"."1.0.4";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "cors-2.7.1" = self.by-version."cors"."2.7.1";
-      "docker-parse-image-3.0.1" = self.by-version."docker-parse-image"."3.0.1";
-      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
-      "from2-1.3.0" = self.by-version."from2"."1.3.0";
-      "fs-blob-store-5.2.1" = self.by-version."fs-blob-store"."5.2.1";
-      "level-0.18.0" = self.by-version."level"."0.18.0";
-      "level-sublevel-6.5.4" = self.by-version."level-sublevel"."6.5.4";
-      "leveldown-0.10.6" = self.by-version."leveldown"."0.10.6";
-      "levelup-0.18.6" = self.by-version."levelup"."0.18.6";
-      "lexicographic-integer-1.1.0" = self.by-version."lexicographic-integer"."1.1.0";
-      "memdown-0.10.2" = self.by-version."memdown"."0.10.2";
-      "minimist-0.2.0" = self.by-version."minimist"."0.2.0";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "ndjson-1.4.3" = self.by-version."ndjson"."1.4.3";
-      "pump-1.0.1" = self.by-version."pump"."1.0.1";
-      "pumpify-1.3.4" = self.by-version."pumpify"."1.3.4";
-      "relative-date-1.1.3" = self.by-version."relative-date"."1.1.3";
-      "root-2.0.0" = self.by-version."root"."2.0.0";
-      "sorted-union-stream-1.0.2" = self.by-version."sorted-union-stream"."1.0.2";
-      "split2-0.2.1" = self.by-version."split2"."0.2.1";
-      "stream-collector-1.0.1" = self.by-version."stream-collector"."1.0.1";
-      "tar-stream-1.5.2" = self.by-version."tar-stream"."1.5.2";
-      "through2-0.6.5" = self.by-version."through2"."0.6.5";
-      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "docker-registry-server" = self.by-version."docker-registry-server"."2.2.0";
-  by-spec."doctrine"."^1.2.2" =
-    self.by-version."doctrine"."1.2.2";
-  by-version."doctrine"."1.2.2" = self.buildNodePackage {
-    name = "doctrine-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/doctrine/-/doctrine-1.2.2.tgz";
-      name = "doctrine-1.2.2.tgz";
-      sha1 = "9e9867210149548b95ec51469dae4caad312308e";
-    };
-    deps = {
-      "esutils-1.1.6" = self.by-version."esutils"."1.1.6";
-      "isarray-1.0.0" = self.by-version."isarray"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dom-serialize"."^2.2.0" =
-    self.by-version."dom-serialize"."2.2.1";
-  by-version."dom-serialize"."2.2.1" = self.buildNodePackage {
-    name = "dom-serialize-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz";
-      name = "dom-serialize-2.2.1.tgz";
-      sha1 = "562ae8999f44be5ea3076f5419dcd59eb43ac95b";
-    };
-    deps = {
-      "custom-event-1.0.0" = self.by-version."custom-event"."1.0.0";
-      "ent-2.2.0" = self.by-version."ent"."2.2.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "void-elements-2.0.1" = self.by-version."void-elements"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dom-serializer"."0" =
-    self.by-version."dom-serializer"."0.1.0";
-  by-version."dom-serializer"."0.1.0" = self.buildNodePackage {
-    name = "dom-serializer-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.1.0.tgz";
-      name = "dom-serializer-0.1.0.tgz";
-      sha1 = "073c697546ce0780ce23be4a28e293e40bc30c82";
-    };
-    deps = {
-      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dom-serializer"."~0.0.0" =
-    self.by-version."dom-serializer"."0.0.1";
-  by-version."dom-serializer"."0.0.1" = self.buildNodePackage {
-    name = "dom-serializer-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.0.1.tgz";
-      name = "dom-serializer-0.0.1.tgz";
-      sha1 = "9589827f1e32d22c37c829adabd59b3247af8eaf";
-    };
-    deps = {
-      "domelementtype-1.1.3" = self.by-version."domelementtype"."1.1.3";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dom-serializer"."~0.1.0" =
-    self.by-version."dom-serializer"."0.1.0";
-  by-spec."domain-browser"."^1.1.1" =
-    self.by-version."domain-browser"."1.1.7";
-  by-version."domain-browser"."1.1.7" = self.buildNodePackage {
-    name = "domain-browser-1.1.7";
-    version = "1.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/domain-browser/-/domain-browser-1.1.7.tgz";
-      name = "domain-browser-1.1.7.tgz";
-      sha1 = "867aa4b093faa05f1de08c06f4d7b21fdf8698bc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domain-browser"."~1.1.0" =
-    self.by-version."domain-browser"."1.1.7";
-  by-spec."domelementtype"."1" =
-    self.by-version."domelementtype"."1.3.0";
-  by-version."domelementtype"."1.3.0" = self.buildNodePackage {
-    name = "domelementtype-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.0.tgz";
-      name = "domelementtype-1.3.0.tgz";
-      sha1 = "b17aed82e8ab59e52dd9c19b1756e0fc187204c2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domelementtype"."^1.3.0" =
-    self.by-version."domelementtype"."1.3.0";
-  by-spec."domelementtype"."~1.1.1" =
-    self.by-version."domelementtype"."1.1.3";
-  by-version."domelementtype"."1.1.3" = self.buildNodePackage {
-    name = "domelementtype-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/domelementtype/-/domelementtype-1.1.3.tgz";
-      name = "domelementtype-1.1.3.tgz";
-      sha1 = "bd28773e2642881aec51544924299c5cd822185b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domhandler"."2.2" =
-    self.by-version."domhandler"."2.2.1";
-  by-version."domhandler"."2.2.1" = self.buildNodePackage {
-    name = "domhandler-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/domhandler/-/domhandler-2.2.1.tgz";
-      name = "domhandler-2.2.1.tgz";
-      sha1 = "59df9dcd227e808b365ae73e1f6684ac3d946fc2";
-    };
-    deps = {
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domhandler"."2.3" =
-    self.by-version."domhandler"."2.3.0";
-  by-version."domhandler"."2.3.0" = self.buildNodePackage {
-    name = "domhandler-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/domhandler/-/domhandler-2.3.0.tgz";
-      name = "domhandler-2.3.0.tgz";
-      sha1 = "2de59a0822d5027fabff6f032c2b25a2a8abe738";
-    };
-    deps = {
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domhandler"."^2.3.0" =
-    self.by-version."domhandler"."2.3.0";
-  by-spec."domino"."~1.0.19" =
-    self.by-version."domino"."1.0.25";
-  by-version."domino"."1.0.25" = self.buildNodePackage {
-    name = "domino-1.0.25";
-    version = "1.0.25";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/domino/-/domino-1.0.25.tgz";
-      name = "domino-1.0.25.tgz";
-      sha1 = "adcd6da0505ba5103cba64a0cb38e2bb9e3a052d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domready"."0.3.0" =
-    self.by-version."domready"."0.3.0";
-  by-version."domready"."0.3.0" = self.buildNodePackage {
-    name = "domready-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/domready/-/domready-0.3.0.tgz";
-      name = "domready-0.3.0.tgz";
-      sha1 = "b3740facbd09163018152d12aec239383e102175";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domutils"."1.4" =
-    self.by-version."domutils"."1.4.3";
-  by-version."domutils"."1.4.3" = self.buildNodePackage {
-    name = "domutils-1.4.3";
-    version = "1.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/domutils/-/domutils-1.4.3.tgz";
-      name = "domutils-1.4.3.tgz";
-      sha1 = "0865513796c6b306031850e175516baf80b72a6f";
-    };
-    deps = {
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domutils"."1.5" =
-    self.by-version."domutils"."1.5.1";
-  by-version."domutils"."1.5.1" = self.buildNodePackage {
-    name = "domutils-1.5.1";
-    version = "1.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/domutils/-/domutils-1.5.1.tgz";
-      name = "domutils-1.5.1.tgz";
-      sha1 = "dcd8488a26f563d61079e48c9f7b7e32373682cf";
-    };
-    deps = {
-      "dom-serializer-0.1.0" = self.by-version."dom-serializer"."0.1.0";
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."domutils"."^1.5.1" =
-    self.by-version."domutils"."1.5.1";
-  by-spec."double-ended-queue"."^2.1.0-0" =
-    self.by-version."double-ended-queue"."2.1.0-0";
-  by-version."double-ended-queue"."2.1.0-0" = self.buildNodePackage {
-    name = "double-ended-queue-2.1.0-0";
-    version = "2.1.0-0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz";
-      name = "double-ended-queue-2.1.0-0.tgz";
-      sha1 = "103d3527fd31528f40188130c841efdd78264e5c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dropbox"."=0.9.2" =
-    self.by-version."dropbox"."0.9.2";
-  by-version."dropbox"."0.9.2" = self.buildNodePackage {
-    name = "dropbox-0.9.2";
-    version = "0.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dropbox/-/dropbox-0.9.2.tgz";
-      name = "dropbox-0.9.2.tgz";
-      sha1 = "b516a0483d136c16dd52acf729687e87578425cb";
-    };
-    deps = {
-      "open-0.0.5" = self.by-version."open"."0.0.5";
-      "xhr2-0.1.3" = self.by-version."xhr2"."0.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dtrace-provider"."0.2.8" =
-    self.by-version."dtrace-provider"."0.2.8";
-  by-version."dtrace-provider"."0.2.8" = self.buildNodePackage {
-    name = "dtrace-provider-0.2.8";
-    version = "0.2.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.2.8.tgz";
-      name = "dtrace-provider-0.2.8.tgz";
-      sha1 = "e243f19219aa95fbf0d8f2ffb07f5bd64e94fe20";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dtrace-provider"."^0.6.0" =
-    self.by-version."dtrace-provider"."0.6.0";
-  by-version."dtrace-provider"."0.6.0" = self.buildNodePackage {
-    name = "dtrace-provider-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/dtrace-provider/-/dtrace-provider-0.6.0.tgz";
-      name = "dtrace-provider-0.6.0.tgz";
-      sha1 = "0b078d5517937d873101452d9146737557b75e51";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."dtrace-provider"."~0.6" =
-    self.by-version."dtrace-provider"."0.6.0";
-  by-spec."duplexer"."~0.1.1" =
-    self.by-version."duplexer"."0.1.1";
-  by-version."duplexer"."0.1.1" = self.buildNodePackage {
-    name = "duplexer-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/duplexer/-/duplexer-0.1.1.tgz";
-      name = "duplexer-0.1.1.tgz";
-      sha1 = "ace6ff808c1ce66b57d1ebf97977acb02334cfc1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."duplexer2"."0.0.2" =
-    self.by-version."duplexer2"."0.0.2";
-  by-version."duplexer2"."0.0.2" = self.buildNodePackage {
-    name = "duplexer2-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.0.2.tgz";
-      name = "duplexer2-0.0.2.tgz";
-      sha1 = "c614dcf67e2fb14995a91711e5a617e8a60a31db";
-    };
-    deps = {
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."duplexer2"."^0.1.2" =
-    self.by-version."duplexer2"."0.1.4";
-  by-version."duplexer2"."0.1.4" = self.buildNodePackage {
-    name = "duplexer2-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/duplexer2/-/duplexer2-0.1.4.tgz";
-      name = "duplexer2-0.1.4.tgz";
-      sha1 = "8b12dab878c0d69e3e7891051662a32fc6bddcc1";
-    };
-    deps = {
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."duplexer2"."~0.0.2" =
-    self.by-version."duplexer2"."0.0.2";
-  by-spec."duplexer2"."~0.1.0" =
-    self.by-version."duplexer2"."0.1.4";
-  by-spec."duplexer2"."~0.1.2" =
-    self.by-version."duplexer2"."0.1.4";
-  by-spec."duplexify"."^3.1.2" =
-    self.by-version."duplexify"."3.4.3";
-  by-version."duplexify"."3.4.3" = self.buildNodePackage {
-    name = "duplexify-3.4.3";
-    version = "3.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/duplexify/-/duplexify-3.4.3.tgz";
-      name = "duplexify-3.4.3.tgz";
-      sha1 = "af6a7b10d928b095f8ad854d072bb90998db850d";
-    };
-    deps = {
-      "end-of-stream-1.0.0" = self.by-version."end-of-stream"."1.0.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."duplexify"."^3.2.0" =
-    self.by-version."duplexify"."3.4.3";
-  by-spec."ecc-jsbn".">=0.0.1 <1.0.0" =
-    self.by-version."ecc-jsbn"."0.1.1";
-  by-version."ecc-jsbn"."0.1.1" = self.buildNodePackage {
-    name = "ecc-jsbn-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.1.tgz";
-      name = "ecc-jsbn-0.1.1.tgz";
-      sha1 = "0fc73a9ed5f0d53c38193398523ef7e543777505";
-    };
-    deps = {
-      "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ecc-jsbn"."~0.1.1" =
-    self.by-version."ecc-jsbn"."0.1.1";
-  by-spec."ecdsa-sig-formatter"."^1.0.0" =
-    self.by-version."ecdsa-sig-formatter"."1.0.5";
-  by-version."ecdsa-sig-formatter"."1.0.5" = self.buildNodePackage {
-    name = "ecdsa-sig-formatter-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.5.tgz";
-      name = "ecdsa-sig-formatter-1.0.5.tgz";
-      sha1 = "0d0f32b638611f6b8f36ffd305a3e512ea5444e6";
-    };
-    deps = {
-      "base64-url-1.2.2" = self.by-version."base64-url"."1.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ecurve"."1.0.0" =
-    self.by-version."ecurve"."1.0.0";
-  by-version."ecurve"."1.0.0" = self.buildNodePackage {
-    name = "ecurve-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ecurve/-/ecurve-1.0.0.tgz";
-      name = "ecurve-1.0.0.tgz";
-      sha1 = "32cfd5ce5f421e9351206a33d4e3cfd36f3465a4";
-    };
-    deps = {
-      "bigi-1.4.1" = self.by-version."bigi"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."edit-google-spreadsheet".">=0.0.1" =
-    self.by-version."edit-google-spreadsheet"."0.2.21";
-  by-version."edit-google-spreadsheet"."0.2.21" = self.buildNodePackage {
-    name = "edit-google-spreadsheet-0.2.21";
-    version = "0.2.21";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/edit-google-spreadsheet/-/edit-google-spreadsheet-0.2.21.tgz";
-      name = "edit-google-spreadsheet-0.2.21.tgz";
-      sha1 = "36a249bb2773c5642b8cba70c31bfb19b421eadc";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "colors-1.1.2" = self.by-version."colors"."1.1.2";
-      "google-auth-library-0.9.8" = self.by-version."google-auth-library"."0.9.8";
-      "google-oauth-jwt-0.1.7" = self.by-version."google-oauth-jwt"."0.1.7";
-      "googleclientlogin-0.2.8" = self.by-version."googleclientlogin"."0.2.8";
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "xml2js-0.4.16" = self.by-version."xml2js"."0.4.16";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."editor"."~1.0.0" =
-    self.by-version."editor"."1.0.0";
-  by-version."editor"."1.0.0" = self.buildNodePackage {
-    name = "editor-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/editor/-/editor-1.0.0.tgz";
-      name = "editor-1.0.0.tgz";
-      sha1 = "60c7f87bd62bcc6a894fa8ccd6afb7823a24f742";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ee-first"."1.0.3" =
-    self.by-version."ee-first"."1.0.3";
-  by-version."ee-first"."1.0.3" = self.buildNodePackage {
-    name = "ee-first-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ee-first/-/ee-first-1.0.3.tgz";
-      name = "ee-first-1.0.3.tgz";
-      sha1 = "6c98c4089abecb5a7b85c1ac449aa603d3b3dabe";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ee-first"."1.0.5" =
-    self.by-version."ee-first"."1.0.5";
-  by-version."ee-first"."1.0.5" = self.buildNodePackage {
-    name = "ee-first-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ee-first/-/ee-first-1.0.5.tgz";
-      name = "ee-first-1.0.5.tgz";
-      sha1 = "8c9b212898d8cd9f1a9436650ce7be202c9e9ff0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ee-first"."1.1.0" =
-    self.by-version."ee-first"."1.1.0";
-  by-version."ee-first"."1.1.0" = self.buildNodePackage {
-    name = "ee-first-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.0.tgz";
-      name = "ee-first-1.1.0.tgz";
-      sha1 = "6a0d7c6221e490feefd92ec3f441c9ce8cd097f4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ee-first"."1.1.1" =
-    self.by-version."ee-first"."1.1.1";
-  by-version."ee-first"."1.1.1" = self.buildNodePackage {
-    name = "ee-first-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz";
-      name = "ee-first-1.1.1.tgz";
-      sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ejs"."0.7.1" =
-    self.by-version."ejs"."0.7.1";
-  by-version."ejs"."0.7.1" = self.buildNodePackage {
-    name = "ejs-0.7.1";
-    version = "0.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ejs/-/ejs-0.7.1.tgz";
-      name = "ejs-0.7.1.tgz";
-      sha1 = "6dab41cbdee572986db328a2a8d22040f20fba7c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ejs"."0.8.3" =
-    self.by-version."ejs"."0.8.3";
-  by-version."ejs"."0.8.3" = self.buildNodePackage {
-    name = "ejs-0.8.3";
-    version = "0.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz";
-      name = "ejs-0.8.3.tgz";
-      sha1 = "db8aac47ff80a7df82b4c82c126fe8970870626f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ejs".">=0.7.1" =
-    self.by-version."ejs"."2.4.2";
-  by-version."ejs"."2.4.2" = self.buildNodePackage {
-    name = "ejs-2.4.2";
-    version = "2.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ejs/-/ejs-2.4.2.tgz";
-      name = "ejs-2.4.2.tgz";
-      sha1 = "7057eb4812958fb731841cd9ca353343efe597b1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."elementtree"."0.1.6" =
-    self.by-version."elementtree"."0.1.6";
-  by-version."elementtree"."0.1.6" = self.buildNodePackage {
-    name = "elementtree-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/elementtree/-/elementtree-0.1.6.tgz";
-      name = "elementtree-0.1.6.tgz";
-      sha1 = "2ac4c46ea30516c8c4cbdb5e3ac7418e592de20c";
-    };
-    deps = {
-      "sax-0.3.5" = self.by-version."sax"."0.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."elementtree"."^0.1.6" =
-    self.by-version."elementtree"."0.1.6";
-  by-spec."elliptic"."^6.0.0" =
-    self.by-version."elliptic"."6.2.8";
-  by-version."elliptic"."6.2.8" = self.buildNodePackage {
-    name = "elliptic-6.2.8";
-    version = "6.2.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/elliptic/-/elliptic-6.2.8.tgz";
-      name = "elliptic-6.2.8.tgz";
-      sha1 = "44a25b3d1550bebb74d0b6d22d89940206b51739";
-    };
-    deps = {
-      "bn.js-4.11.4" = self.by-version."bn.js"."4.11.4";
-      "brorand-1.0.5" = self.by-version."brorand"."1.0.5";
-      "hash.js-1.0.3" = self.by-version."hash.js"."1.0.3";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."embedly".">=1.0.2" =
-    self.by-version."embedly"."2.0.1";
-  by-version."embedly"."2.0.1" = self.buildNodePackage {
-    name = "embedly-2.0.1";
-    version = "2.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/embedly/-/embedly-2.0.1.tgz";
-      name = "embedly-2.0.1.tgz";
-      sha1 = "90db472fc54001299c518ffe5468fef93526f301";
-    };
-    deps = {
-      "batbelt-0.0.2" = self.by-version."batbelt"."0.0.2";
-      "superagent-1.8.3" = self.by-version."superagent"."1.8.3";
-      "sprintf-0.1.1" = self.by-version."sprintf"."0.1.1";
-      "hashish-0.0.4" = self.by-version."hashish"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."emitter"."http://github.com/component/emitter/archive/1.0.1.tar.gz" =
-    self.by-version."emitter"."1.0.1";
-  by-version."emitter"."1.0.1" = self.buildNodePackage {
-    name = "emitter-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "http://github.com/component/emitter/archive/1.0.1.tar.gz";
-      name = "emitter-1.0.1.tgz";
-      sha256 = "0eae744826723877457f7a7ac7f31d68a5a060673b3a883f6a8e325bf48f313d";
-    };
-    deps = {
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."emojis-list"."^2.0.0" =
-    self.by-version."emojis-list"."2.0.1";
-  by-version."emojis-list"."2.0.1" = self.buildNodePackage {
-    name = "emojis-list-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/emojis-list/-/emojis-list-2.0.1.tgz";
-      name = "emojis-list-2.0.1.tgz";
-      sha1 = "a174d9d0838eb36af3d0590bb6d3e8dcd94f4fbd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."encodeurl"."~1.0.1" =
-    self.by-version."encodeurl"."1.0.1";
-  by-version."encodeurl"."1.0.1" = self.buildNodePackage {
-    name = "encodeurl-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.1.tgz";
-      name = "encodeurl-1.0.1.tgz";
-      sha1 = "79e3d58655346909fe6f0f45a5de68103b294d20";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."encoding"."^0.1.11" =
-    self.by-version."encoding"."0.1.12";
-  by-version."encoding"."0.1.12" = self.buildNodePackage {
-    name = "encoding-0.1.12";
-    version = "0.1.12";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz";
-      name = "encoding-0.1.12.tgz";
-      sha1 = "538b66f3ee62cd1ab51ec323829d1f9480c74beb";
-    };
-    deps = {
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."encoding"."~0.1.7" =
-    self.by-version."encoding"."0.1.12";
-  by-spec."end-of-stream"."1.0.0" =
-    self.by-version."end-of-stream"."1.0.0";
-  by-version."end-of-stream"."1.0.0" = self.buildNodePackage {
-    name = "end-of-stream-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.0.0.tgz";
-      name = "end-of-stream-1.0.0.tgz";
-      sha1 = "d4596e702734a93e40e9af864319eabd99ff2f0e";
-    };
-    deps = {
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."end-of-stream"."^0.1.4" =
-    self.by-version."end-of-stream"."0.1.5";
-  by-version."end-of-stream"."0.1.5" = self.buildNodePackage {
-    name = "end-of-stream-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-0.1.5.tgz";
-      name = "end-of-stream-0.1.5.tgz";
-      sha1 = "8e177206c3c80837d85632e8b9359dfe8b2f6eaf";
-    };
-    deps = {
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."end-of-stream"."^1.0.0" =
-    self.by-version."end-of-stream"."1.1.0";
-  by-version."end-of-stream"."1.1.0" = self.buildNodePackage {
-    name = "end-of-stream-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.1.0.tgz";
-      name = "end-of-stream-1.1.0.tgz";
-      sha1 = "e9353258baa9108965efc41cb0ef8ade2f3cfb07";
-    };
-    deps = {
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."end-of-stream"."^1.1.0" =
-    self.by-version."end-of-stream"."1.1.0";
-  by-spec."end-of-stream"."~0.1.5" =
-    self.by-version."end-of-stream"."0.1.5";
-  by-spec."end-of-stream"."~1.0.0" =
-    self.by-version."end-of-stream"."1.0.0";
-  by-spec."ends-with"."^0.2.0" =
-    self.by-version."ends-with"."0.2.0";
-  by-version."ends-with"."0.2.0" = self.buildNodePackage {
-    name = "ends-with-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ends-with/-/ends-with-0.2.0.tgz";
-      name = "ends-with-0.2.0.tgz";
-      sha1 = "2f9da98d57a50cfda4571ce4339000500f4e6b8a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."engine.io"."1.3.1" =
-    self.by-version."engine.io"."1.3.1";
-  by-version."engine.io"."1.3.1" = self.buildNodePackage {
-    name = "engine.io-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/engine.io/-/engine.io-1.3.1.tgz";
-      name = "engine.io-1.3.1.tgz";
-      sha1 = "2d968308fffae5d17f5209b6775246e90d8a705e";
-    };
-    deps = {
-      "debug-0.6.0" = self.by-version."debug"."0.6.0";
-      "ws-0.4.31" = self.by-version."ws"."0.4.31";
-      "engine.io-parser-1.0.6" = self.by-version."engine.io-parser"."1.0.6";
-      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."engine.io"."1.6.9" =
-    self.by-version."engine.io"."1.6.9";
-  by-version."engine.io"."1.6.9" = self.buildNodePackage {
-    name = "engine.io-1.6.9";
-    version = "1.6.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/engine.io/-/engine.io-1.6.9.tgz";
-      name = "engine.io-1.6.9.tgz";
-      sha1 = "1fe2fe827adb5d6f296e1002403edfa046bb6975";
-    };
-    deps = {
-      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "ws-1.0.1" = self.by-version."ws"."1.0.1";
-      "engine.io-parser-1.2.4" = self.by-version."engine.io-parser"."1.2.4";
-      "accepts-1.1.4" = self.by-version."accepts"."1.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."engine.io-client"."1.3.1" =
-    self.by-version."engine.io-client"."1.3.1";
-  by-version."engine.io-client"."1.3.1" = self.buildNodePackage {
-    name = "engine.io-client-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.3.1.tgz";
-      name = "engine.io-client-1.3.1.tgz";
-      sha1 = "1c5a65d5c5af6d04b44c22c3dbcd95c39ed1c989";
-    };
-    deps = {
-      "has-cors-1.0.3" = self.by-version."has-cors"."1.0.3";
-      "ws-0.4.31" = self.by-version."ws"."0.4.31";
-      "xmlhttprequest-1.5.0" = self.by-version."xmlhttprequest"."1.5.0";
-      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-      "engine.io-parser-1.0.6" = self.by-version."engine.io-parser"."1.0.6";
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "parseuri-0.0.2" = self.by-version."parseuri"."0.0.2";
-      "parsejson-0.0.1" = self.by-version."parsejson"."0.0.1";
-      "parseqs-0.0.2" = self.by-version."parseqs"."0.0.2";
-      "component-inherit-0.0.3" = self.by-version."component-inherit"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."engine.io-client"."1.6.9" =
-    self.by-version."engine.io-client"."1.6.9";
-  by-version."engine.io-client"."1.6.9" = self.buildNodePackage {
-    name = "engine.io-client-1.6.9";
-    version = "1.6.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/engine.io-client/-/engine.io-client-1.6.9.tgz";
-      name = "engine.io-client-1.6.9.tgz";
-      sha1 = "1d6ad48048a5083c95096943b29d36efdb212401";
-    };
-    deps = {
-      "has-cors-1.1.0" = self.by-version."has-cors"."1.1.0";
-      "ws-1.0.1" = self.by-version."ws"."1.0.1";
-      "xmlhttprequest-ssl-1.5.1" = self.by-version."xmlhttprequest-ssl"."1.5.1";
-      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-      "engine.io-parser-1.2.4" = self.by-version."engine.io-parser"."1.2.4";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "parseuri-0.0.4" = self.by-version."parseuri"."0.0.4";
-      "parsejson-0.0.1" = self.by-version."parsejson"."0.0.1";
-      "parseqs-0.0.2" = self.by-version."parseqs"."0.0.2";
-      "component-inherit-0.0.3" = self.by-version."component-inherit"."0.0.3";
-      "yeast-0.1.2" = self.by-version."yeast"."0.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."engine.io-parser"."1.0.6" =
-    self.by-version."engine.io-parser"."1.0.6";
-  by-version."engine.io-parser"."1.0.6" = self.buildNodePackage {
-    name = "engine.io-parser-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.0.6.tgz";
-      name = "engine.io-parser-1.0.6.tgz";
-      sha1 = "d38813143a411cb3b914132ab05bf99e6f7a248e";
-    };
-    deps = {
-      "base64-arraybuffer-0.1.2" = self.by-version."base64-arraybuffer"."0.1.2";
-      "after-0.8.1" = self.by-version."after"."0.8.1";
-      "arraybuffer.slice-0.0.6" = self.by-version."arraybuffer.slice"."0.0.6";
-      "blob-0.0.2" = self.by-version."blob"."0.0.2";
-      "utf8-2.0.0" = self.by-version."utf8"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."engine.io-parser"."1.2.4" =
-    self.by-version."engine.io-parser"."1.2.4";
-  by-version."engine.io-parser"."1.2.4" = self.buildNodePackage {
-    name = "engine.io-parser-1.2.4";
-    version = "1.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-1.2.4.tgz";
-      name = "engine.io-parser-1.2.4.tgz";
-      sha1 = "e0897b0bf14e792d4cd2a5950553919c56948c42";
-    };
-    deps = {
-      "after-0.8.1" = self.by-version."after"."0.8.1";
-      "arraybuffer.slice-0.0.6" = self.by-version."arraybuffer.slice"."0.0.6";
-      "base64-arraybuffer-0.1.2" = self.by-version."base64-arraybuffer"."0.1.2";
-      "blob-0.0.4" = self.by-version."blob"."0.0.4";
-      "has-binary-0.1.6" = self.by-version."has-binary"."0.1.6";
-      "utf8-2.1.0" = self.by-version."utf8"."2.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."enhanced-resolve"."^0.9.1" =
-    self.by-version."enhanced-resolve"."0.9.1";
-  by-version."enhanced-resolve"."0.9.1" = self.buildNodePackage {
-    name = "enhanced-resolve-0.9.1";
-    version = "0.9.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-0.9.1.tgz";
-      name = "enhanced-resolve-0.9.1.tgz";
-      sha1 = "4d6e689b3725f86090927ccc86cd9f1635b89e2e";
-    };
-    deps = {
-      "tapable-0.1.10" = self.by-version."tapable"."0.1.10";
-      "memory-fs-0.2.0" = self.by-version."memory-fs"."0.2.0";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."enhanced-resolve"."^2.2.0" =
-    self.by-version."enhanced-resolve"."2.2.2";
-  by-version."enhanced-resolve"."2.2.2" = self.buildNodePackage {
-    name = "enhanced-resolve-2.2.2";
-    version = "2.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-2.2.2.tgz";
-      name = "enhanced-resolve-2.2.2.tgz";
-      sha1 = "4da494d591183308bd46a95f5b40e255dc9d4a16";
-    };
-    deps = {
-      "tapable-0.2.4" = self.by-version."tapable"."0.2.4";
-      "memory-fs-0.3.0" = self.by-version."memory-fs"."0.3.0";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ent"."~2.2.0" =
-    self.by-version."ent"."2.2.0";
-  by-version."ent"."2.2.0" = self.buildNodePackage {
-    name = "ent-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz";
-      name = "ent-2.2.0.tgz";
-      sha1 = "e964219325a21d05f44466a2f686ed6ce5f5dd1d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."entities"."1.0" =
-    self.by-version."entities"."1.0.0";
-  by-version."entities"."1.0.0" = self.buildNodePackage {
-    name = "entities-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/entities/-/entities-1.0.0.tgz";
-      name = "entities-1.0.0.tgz";
-      sha1 = "b2987aa3821347fcde642b24fdfc9e4fb712bf26";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."entities"."^1.1.1" =
-    self.by-version."entities"."1.1.1";
-  by-version."entities"."1.1.1" = self.buildNodePackage {
-    name = "entities-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/entities/-/entities-1.1.1.tgz";
-      name = "entities-1.1.1.tgz";
-      sha1 = "6e5c2d0a5621b5dadaecef80b90edfb5cd7772f0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."entities"."~1.1.1" =
-    self.by-version."entities"."1.1.1";
-  by-spec."errno"."^0.1.1" =
-    self.by-version."errno"."0.1.4";
-  by-version."errno"."0.1.4" = self.buildNodePackage {
-    name = "errno-0.1.4";
-    version = "0.1.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/errno/-/errno-0.1.4.tgz";
-      name = "errno-0.1.4.tgz";
-      sha1 = "b896e23a9e5e8ba33871fc996abd3635fc9a1c7d";
-    };
-    deps = {
-      "prr-0.0.0" = self.by-version."prr"."0.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."errno"."^0.1.3" =
-    self.by-version."errno"."0.1.4";
-  by-spec."errno"."~0.1.1" =
-    self.by-version."errno"."0.1.4";
-  by-spec."error-ex"."^1.2.0" =
-    self.by-version."error-ex"."1.3.0";
-  by-version."error-ex"."1.3.0" = self.buildNodePackage {
-    name = "error-ex-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/error-ex/-/error-ex-1.3.0.tgz";
-      name = "error-ex-1.3.0.tgz";
-      sha1 = "e67b43f3e82c96ea3a584ffee0b9fc3325d802d9";
-    };
-    deps = {
-      "is-arrayish-0.2.1" = self.by-version."is-arrayish"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."errorhandler"."1.0.0" =
-    self.by-version."errorhandler"."1.0.0";
-  by-version."errorhandler"."1.0.0" = self.buildNodePackage {
-    name = "errorhandler-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.0.0.tgz";
-      name = "errorhandler-1.0.0.tgz";
-      sha1 = "d74b37e8dc38c99afb3f5a79edcebaea022d042a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."errorhandler"."1.1.1" =
-    self.by-version."errorhandler"."1.1.1";
-  by-version."errorhandler"."1.1.1" = self.buildNodePackage {
-    name = "errorhandler-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.1.1.tgz";
-      name = "errorhandler-1.1.1.tgz";
-      sha1 = "18defd436d8ca2efe0a2d886c5c4d6ee6d76d691";
-    };
-    deps = {
-      "accepts-1.0.7" = self.by-version."accepts"."1.0.7";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."errorhandler"."^1.1.1" =
-    self.by-version."errorhandler"."1.4.3";
-  by-version."errorhandler"."1.4.3" = self.buildNodePackage {
-    name = "errorhandler-1.4.3";
-    version = "1.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/errorhandler/-/errorhandler-1.4.3.tgz";
-      name = "errorhandler-1.4.3.tgz";
-      sha1 = "b7b70ed8f359e9db88092f2d20c0f831420ad83f";
-    };
-    deps = {
-      "accepts-1.3.3" = self.by-version."accepts"."1.3.3";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."errorhandler"."~1.4.2" =
-    self.by-version."errorhandler"."1.4.3";
-  by-spec."errs"."0.3.x" =
-    self.by-version."errs"."0.3.2";
-  by-version."errs"."0.3.2" = self.buildNodePackage {
-    name = "errs-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/errs/-/errs-0.3.2.tgz";
-      name = "errs-0.3.2.tgz";
-      sha1 = "798099b2dbd37ca2bc749e538a7c1307d0b50499";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es5-ext"."^0.10.7" =
-    self.by-version."es5-ext"."0.10.11";
-  by-version."es5-ext"."0.10.11" = self.buildNodePackage {
-    name = "es5-ext-0.10.11";
-    version = "0.10.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.11.tgz";
-      name = "es5-ext-0.10.11.tgz";
-      sha1 = "8184c3e705a820948c2dbe043849379b1dbd0c45";
-    };
-    deps = {
-      "es6-iterator-2.0.0" = self.by-version."es6-iterator"."2.0.0";
-      "es6-symbol-3.0.2" = self.by-version."es6-symbol"."3.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es5-ext"."^0.10.8" =
-    self.by-version."es5-ext"."0.10.11";
-  by-spec."es5-ext"."~0.10.10" =
-    self.by-version."es5-ext"."0.10.11";
-  by-spec."es5-ext"."~0.10.11" =
-    self.by-version."es5-ext"."0.10.11";
-  by-spec."es5-ext"."~0.10.2" =
-    self.by-version."es5-ext"."0.10.11";
-  by-spec."es5-ext"."~0.10.7" =
-    self.by-version."es5-ext"."0.10.11";
-  by-spec."es6-collections"."^0.5.6" =
-    self.by-version."es6-collections"."0.5.6";
-  by-version."es6-collections"."0.5.6" = self.buildNodePackage {
-    name = "es6-collections-0.5.6";
-    version = "0.5.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-collections/-/es6-collections-0.5.6.tgz";
-      name = "es6-collections-0.5.6.tgz";
-      sha1 = "5552e800ad12c1820cda2bd4a79ae7dbb03d89a2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-iterator"."2" =
-    self.by-version."es6-iterator"."2.0.0";
-  by-version."es6-iterator"."2.0.0" = self.buildNodePackage {
-    name = "es6-iterator-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.0.tgz";
-      name = "es6-iterator-2.0.0.tgz";
-      sha1 = "bd968567d61635e33c0b80727613c9cb4b096bac";
-    };
-    deps = {
-      "d-0.1.1" = self.by-version."d"."0.1.1";
-      "es5-ext-0.10.11" = self.by-version."es5-ext"."0.10.11";
-      "es6-symbol-3.1.0" = self.by-version."es6-symbol"."3.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-map"."^0.1.3" =
-    self.by-version."es6-map"."0.1.4";
-  by-version."es6-map"."0.1.4" = self.buildNodePackage {
-    name = "es6-map-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-map/-/es6-map-0.1.4.tgz";
-      name = "es6-map-0.1.4.tgz";
-      sha1 = "a34b147be224773a4d7da8072794cefa3632b897";
-    };
-    deps = {
-      "d-0.1.1" = self.by-version."d"."0.1.1";
-      "es5-ext-0.10.11" = self.by-version."es5-ext"."0.10.11";
-      "es6-iterator-2.0.0" = self.by-version."es6-iterator"."2.0.0";
-      "es6-set-0.1.4" = self.by-version."es6-set"."0.1.4";
-      "es6-symbol-3.1.0" = self.by-version."es6-symbol"."3.1.0";
-      "event-emitter-0.3.4" = self.by-version."event-emitter"."0.3.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-promise"."2.1.1" =
-    self.by-version."es6-promise"."2.1.1";
-  by-version."es6-promise"."2.1.1" = self.buildNodePackage {
-    name = "es6-promise-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-promise/-/es6-promise-2.1.1.tgz";
-      name = "es6-promise-2.1.1.tgz";
-      sha1 = "03e8f3c7297928e5478d6ab1d0643251507bdedd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-promise"."3.0.2" =
-    self.by-version."es6-promise"."3.0.2";
-  by-version."es6-promise"."3.0.2" = self.buildNodePackage {
-    name = "es6-promise-3.0.2";
-    version = "3.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-promise/-/es6-promise-3.0.2.tgz";
-      name = "es6-promise-3.0.2.tgz";
-      sha1 = "010d5858423a5f118979665f46486a95c6ee2bb6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-promise"."^2.0.0" =
-    self.by-version."es6-promise"."2.3.0";
-  by-version."es6-promise"."2.3.0" = self.buildNodePackage {
-    name = "es6-promise-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-promise/-/es6-promise-2.3.0.tgz";
-      name = "es6-promise-2.3.0.tgz";
-      sha1 = "96edb9f2fdb01995822b263dd8aadab6748181bc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-promise"."^3.0.2" =
-    self.by-version."es6-promise"."3.2.1";
-  by-version."es6-promise"."3.2.1" = self.buildNodePackage {
-    name = "es6-promise-3.2.1";
-    version = "3.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-promise/-/es6-promise-3.2.1.tgz";
-      name = "es6-promise-3.2.1.tgz";
-      sha1 = "ec56233868032909207170c39448e24449dd1fc4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-set"."~0.1.3" =
-    self.by-version."es6-set"."0.1.4";
-  by-version."es6-set"."0.1.4" = self.buildNodePackage {
-    name = "es6-set-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-set/-/es6-set-0.1.4.tgz";
-      name = "es6-set-0.1.4.tgz";
-      sha1 = "9516b6761c2964b92ff479456233a247dc707ce8";
-    };
-    deps = {
-      "d-0.1.1" = self.by-version."d"."0.1.1";
-      "es5-ext-0.10.11" = self.by-version."es5-ext"."0.10.11";
-      "es6-iterator-2.0.0" = self.by-version."es6-iterator"."2.0.0";
-      "es6-symbol-3.1.0" = self.by-version."es6-symbol"."3.1.0";
-      "event-emitter-0.3.4" = self.by-version."event-emitter"."0.3.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-shim"."0.21.x" =
-    self.by-version."es6-shim"."0.21.1";
-  by-version."es6-shim"."0.21.1" = self.buildNodePackage {
-    name = "es6-shim-0.21.1";
-    version = "0.21.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-shim/-/es6-shim-0.21.1.tgz";
-      name = "es6-shim-0.21.1.tgz";
-      sha1 = "6621bce72e1ac80a6e1f002abd4e789f12489fd2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-shim".">=0.10.0 <1.0.0-0" =
-    self.by-version."es6-shim"."0.35.1";
-  by-version."es6-shim"."0.35.1" = self.buildNodePackage {
-    name = "es6-shim-0.35.1";
-    version = "0.35.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-shim/-/es6-shim-0.35.1.tgz";
-      name = "es6-shim-0.35.1.tgz";
-      sha1 = "a23524009005b031ab4a352ac196dfdfd1144ab7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-symbol"."3" =
-    self.by-version."es6-symbol"."3.1.0";
-  by-version."es6-symbol"."3.1.0" = self.buildNodePackage {
-    name = "es6-symbol-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.0.tgz";
-      name = "es6-symbol-3.1.0.tgz";
-      sha1 = "94481c655e7a7cad82eba832d97d5433496d7ffa";
-    };
-    deps = {
-      "d-0.1.1" = self.by-version."d"."0.1.1";
-      "es5-ext-0.10.11" = self.by-version."es5-ext"."0.10.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-symbol"."^3.0.2" =
-    self.by-version."es6-symbol"."3.1.0";
-  by-spec."es6-symbol"."~3.0.2" =
-    self.by-version."es6-symbol"."3.0.2";
-  by-version."es6-symbol"."3.0.2" = self.buildNodePackage {
-    name = "es6-symbol-3.0.2";
-    version = "3.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.0.2.tgz";
-      name = "es6-symbol-3.0.2.tgz";
-      sha1 = "1e928878c6f5e63541625b4bb4df4af07d154219";
-    };
-    deps = {
-      "d-0.1.1" = self.by-version."d"."0.1.1";
-      "es5-ext-0.10.11" = self.by-version."es5-ext"."0.10.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."es6-symbol"."~3.1.0" =
-    self.by-version."es6-symbol"."3.1.0";
-  by-spec."es6-weak-map"."^2.0.1" =
-    self.by-version."es6-weak-map"."2.0.1";
-  by-version."es6-weak-map"."2.0.1" = self.buildNodePackage {
-    name = "es6-weak-map-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.1.tgz";
-      name = "es6-weak-map-2.0.1.tgz";
-      sha1 = "0d2bbd8827eb5fb4ba8f97fbfea50d43db21ea81";
-    };
-    deps = {
-      "d-0.1.1" = self.by-version."d"."0.1.1";
-      "es5-ext-0.10.11" = self.by-version."es5-ext"."0.10.11";
-      "es6-iterator-2.0.0" = self.by-version."es6-iterator"."2.0.0";
-      "es6-symbol-3.1.0" = self.by-version."es6-symbol"."3.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-html"."*" =
-    self.by-version."escape-html"."1.0.3";
-  by-version."escape-html"."1.0.3" = self.buildNodePackage {
-    name = "escape-html-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz";
-      name = "escape-html-1.0.3.tgz";
-      sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "escape-html" = self.by-version."escape-html"."1.0.3";
-  by-spec."escape-html"."1.0.1" =
-    self.by-version."escape-html"."1.0.1";
-  by-version."escape-html"."1.0.1" = self.buildNodePackage {
-    name = "escape-html-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.1.tgz";
-      name = "escape-html-1.0.1.tgz";
-      sha1 = "181a286ead397a39a92857cfb1d43052e356bff0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-html"."1.0.2" =
-    self.by-version."escape-html"."1.0.2";
-  by-version."escape-html"."1.0.2" = self.buildNodePackage {
-    name = "escape-html-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escape-html/-/escape-html-1.0.2.tgz";
-      name = "escape-html-1.0.2.tgz";
-      sha1 = "d77d32fa98e38c2f41ae85e9278e0e0e6ba1022c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-html"."~1.0.3" =
-    self.by-version."escape-html"."1.0.3";
-  by-spec."escape-regexp-component"."^1.0.2" =
-    self.by-version."escape-regexp-component"."1.0.2";
-  by-version."escape-regexp-component"."1.0.2" = self.buildNodePackage {
-    name = "escape-regexp-component-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escape-regexp-component/-/escape-regexp-component-1.0.2.tgz";
-      name = "escape-regexp-component-1.0.2.tgz";
-      sha1 = "9c63b6d0b25ff2a88c3adbd18c5b61acc3b9faa2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-string-regexp"."1.0.2" =
-    self.by-version."escape-string-regexp"."1.0.2";
-  by-version."escape-string-regexp"."1.0.2" = self.buildNodePackage {
-    name = "escape-string-regexp-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.2.tgz";
-      name = "escape-string-regexp-1.0.2.tgz";
-      sha1 = "4dbc2fe674e71949caf3fb2695ce7f2dc1d9a8d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-string-regexp"."^1.0.0" =
-    self.by-version."escape-string-regexp"."1.0.5";
-  by-version."escape-string-regexp"."1.0.5" = self.buildNodePackage {
-    name = "escape-string-regexp-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-      name = "escape-string-regexp-1.0.5.tgz";
-      sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escape-string-regexp"."^1.0.2" =
-    self.by-version."escape-string-regexp"."1.0.5";
-  by-spec."escape-string-regexp"."^1.0.5" =
-    self.by-version."escape-string-regexp"."1.0.5";
-  by-spec."escodegen"."1.8.x" =
-    self.by-version."escodegen"."1.8.0";
-  by-version."escodegen"."1.8.0" = self.buildNodePackage {
-    name = "escodegen-1.8.0";
-    version = "1.8.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escodegen/-/escodegen-1.8.0.tgz";
-      name = "escodegen-1.8.0.tgz";
-      sha1 = "b246aae829ce73d59e2c55727359edd1c130a81b";
-    };
-    deps = {
-      "estraverse-1.9.3" = self.by-version."estraverse"."1.9.3";
-      "esutils-2.0.2" = self.by-version."esutils"."2.0.2";
-      "esprima-2.7.2" = self.by-version."esprima"."2.7.2";
-      "optionator-0.8.1" = self.by-version."optionator"."0.8.1";
-    };
-    optionalDependencies = {
-      "source-map-0.2.0" = self.by-version."source-map"."0.2.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escodegen"."^1.6.1" =
-    self.by-version."escodegen"."1.8.0";
-  by-spec."escodegen"."^1.8.0" =
-    self.by-version."escodegen"."1.8.0";
-  by-spec."escodegen"."~1.3.1" =
-    self.by-version."escodegen"."1.3.3";
-  by-version."escodegen"."1.3.3" = self.buildNodePackage {
-    name = "escodegen-1.3.3";
-    version = "1.3.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escodegen/-/escodegen-1.3.3.tgz";
-      name = "escodegen-1.3.3.tgz";
-      sha1 = "f024016f5a88e046fd12005055e939802e6c5f23";
-    };
-    deps = {
-      "esutils-1.0.0" = self.by-version."esutils"."1.0.0";
-      "estraverse-1.5.1" = self.by-version."estraverse"."1.5.1";
-      "esprima-1.1.1" = self.by-version."esprima"."1.1.1";
-    };
-    optionalDependencies = {
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."escope"."^3.6.0" =
-    self.by-version."escope"."3.6.0";
-  by-version."escope"."3.6.0" = self.buildNodePackage {
-    name = "escope-3.6.0";
-    version = "3.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/escope/-/escope-3.6.0.tgz";
-      name = "escope-3.6.0.tgz";
-      sha1 = "e01975e812781a163a6dadfdd80398dc64c889c3";
-    };
-    deps = {
-      "es6-map-0.1.4" = self.by-version."es6-map"."0.1.4";
-      "es6-weak-map-2.0.1" = self.by-version."es6-weak-map"."2.0.1";
-      "esrecurse-4.1.0" = self.by-version."esrecurse"."4.1.0";
-      "estraverse-4.2.0" = self.by-version."estraverse"."4.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eslint"."*" =
-    self.by-version."eslint"."2.12.0";
-  by-version."eslint"."2.12.0" = self.buildNodePackage {
-    name = "eslint-2.12.0";
-    version = "2.12.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-2.12.0.tgz";
-      name = "eslint-2.12.0.tgz";
-      sha1 = "96d36a3c7ff89fa9655cf3bc24ea7a10296762a6";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "doctrine-1.2.2" = self.by-version."doctrine"."1.2.2";
-      "es6-map-0.1.4" = self.by-version."es6-map"."0.1.4";
-      "escope-3.6.0" = self.by-version."escope"."3.6.0";
-      "espree-3.1.4" = self.by-version."espree"."3.1.4";
-      "estraverse-4.2.0" = self.by-version."estraverse"."4.2.0";
-      "esutils-2.0.2" = self.by-version."esutils"."2.0.2";
-      "file-entry-cache-1.2.4" = self.by-version."file-entry-cache"."1.2.4";
-      "glob-7.0.3" = self.by-version."glob"."7.0.3";
-      "globals-9.8.0" = self.by-version."globals"."9.8.0";
-      "ignore-3.1.2" = self.by-version."ignore"."3.1.2";
-      "imurmurhash-0.1.4" = self.by-version."imurmurhash"."0.1.4";
-      "inquirer-0.12.0" = self.by-version."inquirer"."0.12.0";
-      "is-my-json-valid-2.13.1" = self.by-version."is-my-json-valid"."2.13.1";
-      "is-resolvable-1.0.0" = self.by-version."is-resolvable"."1.0.0";
-      "js-yaml-3.6.1" = self.by-version."js-yaml"."3.6.1";
-      "json-stable-stringify-1.0.1" = self.by-version."json-stable-stringify"."1.0.1";
-      "levn-0.3.0" = self.by-version."levn"."0.3.0";
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "optionator-0.8.1" = self.by-version."optionator"."0.8.1";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
-      "pluralize-1.2.1" = self.by-version."pluralize"."1.2.1";
-      "progress-1.1.8" = self.by-version."progress"."1.1.8";
-      "require-uncached-1.0.2" = self.by-version."require-uncached"."1.0.2";
-      "shelljs-0.6.0" = self.by-version."shelljs"."0.6.0";
-      "strip-json-comments-1.0.4" = self.by-version."strip-json-comments"."1.0.4";
-      "table-3.7.8" = self.by-version."table"."3.7.8";
-      "text-table-0.2.0" = self.by-version."text-table"."0.2.0";
-      "user-home-2.0.0" = self.by-version."user-home"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "eslint" = self.by-version."eslint"."2.12.0";
-  by-spec."eslint".">0.7.3" =
-    self.by-version."eslint"."2.12.0";
-  by-spec."espree"."3.1.4" =
-    self.by-version."espree"."3.1.4";
-  by-version."espree"."3.1.4" = self.buildNodePackage {
-    name = "espree-3.1.4";
-    version = "3.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/espree/-/espree-3.1.4.tgz";
-      name = "espree-3.1.4.tgz";
-      sha1 = "0726d7ac83af97a7c8498da9b363a3609d2a68a1";
-    };
-    deps = {
-      "acorn-3.2.0" = self.by-version."acorn"."3.2.0";
-      "acorn-jsx-3.0.1" = self.by-version."acorn-jsx"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esprima"."2.7.x" =
-    self.by-version."esprima"."2.7.2";
-  by-version."esprima"."2.7.2" = self.buildNodePackage {
-    name = "esprima-2.7.2";
-    version = "2.7.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esprima/-/esprima-2.7.2.tgz";
-      name = "esprima-2.7.2.tgz";
-      sha1 = "f43be543609984eae44c933ac63352a6af35f339";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esprima"."^2.6.0" =
-    self.by-version."esprima"."2.7.2";
-  by-spec."esprima"."^2.7" =
-    self.by-version."esprima"."2.7.2";
-  by-spec."esprima"."^2.7.1" =
-    self.by-version."esprima"."2.7.2";
-  by-spec."esprima"."~ 1.0.2" =
-    self.by-version."esprima"."1.0.4";
-  by-version."esprima"."1.0.4" = self.buildNodePackage {
-    name = "esprima-1.0.4";
-    version = "1.0.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esprima/-/esprima-1.0.4.tgz";
-      name = "esprima-1.0.4.tgz";
-      sha1 = "9f557e08fc3b4d26ece9dd34f8fbf476b62585ad";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esprima"."~1.1.1" =
-    self.by-version."esprima"."1.1.1";
-  by-version."esprima"."1.1.1" = self.buildNodePackage {
-    name = "esprima-1.1.1";
-    version = "1.1.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esprima/-/esprima-1.1.1.tgz";
-      name = "esprima-1.1.1.tgz";
-      sha1 = "5b6f1547f4d102e670e140c509be6771d6aeb549";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esprima"."~2.3.0" =
-    self.by-version."esprima"."2.3.0";
-  by-version."esprima"."2.3.0" = self.buildNodePackage {
-    name = "esprima-2.3.0";
-    version = "2.3.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esprima/-/esprima-2.3.0.tgz";
-      name = "esprima-2.3.0.tgz";
-      sha1 = "d26debd7545fcf8916a80668236310e14da6b345";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esprima-fb"."^15001.1.0-dev-harmony-fb" =
-    self.by-version."esprima-fb"."15001.1.0-dev-harmony-fb";
-  by-version."esprima-fb"."15001.1.0-dev-harmony-fb" = self.buildNodePackage {
-    name = "esprima-fb-15001.1.0-dev-harmony-fb";
-    version = "15001.1.0-dev-harmony-fb";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1.0-dev-harmony-fb.tgz";
-      name = "esprima-fb-15001.1.0-dev-harmony-fb.tgz";
-      sha1 = "30a947303c6b8d5e955bee2b99b1d233206a6901";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esprima-fb"."~15001.1001.0-dev-harmony-fb" =
-    self.by-version."esprima-fb"."15001.1001.0-dev-harmony-fb";
-  by-version."esprima-fb"."15001.1001.0-dev-harmony-fb" = self.buildNodePackage {
-    name = "esprima-fb-15001.1001.0-dev-harmony-fb";
-    version = "15001.1001.0-dev-harmony-fb";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esprima-fb/-/esprima-fb-15001.1001.0-dev-harmony-fb.tgz";
-      name = "esprima-fb-15001.1001.0-dev-harmony-fb.tgz";
-      sha1 = "43beb57ec26e8cf237d3dd8b33e42533577f2659";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esrecurse"."^4.1.0" =
-    self.by-version."esrecurse"."4.1.0";
-  by-version."esrecurse"."4.1.0" = self.buildNodePackage {
-    name = "esrecurse-4.1.0";
-    version = "4.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esrecurse/-/esrecurse-4.1.0.tgz";
-      name = "esrecurse-4.1.0.tgz";
-      sha1 = "4713b6536adf7f2ac4f327d559e7756bff648220";
-    };
-    deps = {
-      "estraverse-4.1.1" = self.by-version."estraverse"."4.1.1";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."estraverse"."^1.9.1" =
-    self.by-version."estraverse"."1.9.3";
-  by-version."estraverse"."1.9.3" = self.buildNodePackage {
-    name = "estraverse-1.9.3";
-    version = "1.9.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/estraverse/-/estraverse-1.9.3.tgz";
-      name = "estraverse-1.9.3.tgz";
-      sha1 = "af67f2dc922582415950926091a4005d29c9bb44";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."estraverse"."^4.1.1" =
-    self.by-version."estraverse"."4.2.0";
-  by-version."estraverse"."4.2.0" = self.buildNodePackage {
-    name = "estraverse-4.2.0";
-    version = "4.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/estraverse/-/estraverse-4.2.0.tgz";
-      name = "estraverse-4.2.0.tgz";
-      sha1 = "0dee3fed31fcd469618ce7342099fc1afa0bdb13";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."estraverse"."^4.2.0" =
-    self.by-version."estraverse"."4.2.0";
-  by-spec."estraverse"."~1.5.0" =
-    self.by-version."estraverse"."1.5.1";
-  by-version."estraverse"."1.5.1" = self.buildNodePackage {
-    name = "estraverse-1.5.1";
-    version = "1.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/estraverse/-/estraverse-1.5.1.tgz";
-      name = "estraverse-1.5.1.tgz";
-      sha1 = "867a3e8e58a9f84618afb6c2ddbcd916b7cbaf71";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."estraverse"."~4.1.0" =
-    self.by-version."estraverse"."4.1.1";
-  by-version."estraverse"."4.1.1" = self.buildNodePackage {
-    name = "estraverse-4.1.1";
-    version = "4.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/estraverse/-/estraverse-4.1.1.tgz";
-      name = "estraverse-4.1.1.tgz";
-      sha1 = "f6caca728933a850ef90661d0e17982ba47111a2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esutils"."^1.1.6" =
-    self.by-version."esutils"."1.1.6";
-  by-version."esutils"."1.1.6" = self.buildNodePackage {
-    name = "esutils-1.1.6";
-    version = "1.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esutils/-/esutils-1.1.6.tgz";
-      name = "esutils-1.1.6.tgz";
-      sha1 = "c01ccaa9ae4b897c6d0c3e210ae52f3c7a844375";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esutils"."^2.0.2" =
-    self.by-version."esutils"."2.0.2";
-  by-version."esutils"."2.0.2" = self.buildNodePackage {
-    name = "esutils-2.0.2";
-    version = "2.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz";
-      name = "esutils-2.0.2.tgz";
-      sha1 = "0abf4f1caa5bcb1f7a9d8acc6dea4faaa04bac9b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."esutils"."~1.0.0" =
-    self.by-version."esutils"."1.0.0";
-  by-version."esutils"."1.0.0" = self.buildNodePackage {
-    name = "esutils-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/esutils/-/esutils-1.0.0.tgz";
-      name = "esutils-1.0.0.tgz";
-      sha1 = "8151d358e20c8acc7fb745e7472c0025fe496570";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."etag"."~1.4.0" =
-    self.by-version."etag"."1.4.0";
-  by-version."etag"."1.4.0" = self.buildNodePackage {
-    name = "etag-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/etag/-/etag-1.4.0.tgz";
-      name = "etag-1.4.0.tgz";
-      sha1 = "3050991615857707c04119d075ba2088e0701225";
-    };
-    deps = {
-      "crc-3.0.0" = self.by-version."crc"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."etag"."~1.7.0" =
-    self.by-version."etag"."1.7.0";
-  by-version."etag"."1.7.0" = self.buildNodePackage {
-    name = "etag-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/etag/-/etag-1.7.0.tgz";
-      name = "etag-1.7.0.tgz";
-      sha1 = "03d30b5f67dd6e632d2945d30d6652731a34d5d8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eve"."~0.4.2" =
-    self.by-version."eve"."0.4.2";
-  by-version."eve"."0.4.2" = self.buildNodePackage {
-    name = "eve-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/eve/-/eve-0.4.2.tgz";
-      name = "eve-0.4.2.tgz";
-      sha1 = "7eea0afc0e4efb7c9365615315a3576833ead2ae";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."event-emitter"."~0.3.4" =
-    self.by-version."event-emitter"."0.3.4";
-  by-version."event-emitter"."0.3.4" = self.buildNodePackage {
-    name = "event-emitter-0.3.4";
-    version = "0.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.4.tgz";
-      name = "event-emitter-0.3.4.tgz";
-      sha1 = "8d63ddfb4cfe1fae3b32ca265c4c720222080bb5";
-    };
-    deps = {
-      "es5-ext-0.10.11" = self.by-version."es5-ext"."0.10.11";
-      "d-0.1.1" = self.by-version."d"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."event-stream"."~0.5" =
-    self.by-version."event-stream"."0.5.3";
-  by-version."event-stream"."0.5.3" = self.buildNodePackage {
-    name = "event-stream-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/event-stream/-/event-stream-0.5.3.tgz";
-      name = "event-stream-0.5.3.tgz";
-      sha1 = "b77b9309f7107addfeab63f0c0eafd8db0bd8c1c";
-    };
-    deps = {
-      "optimist-0.2.8" = self.by-version."optimist"."0.2.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."event-stream"."~3.3.0" =
-    self.by-version."event-stream"."3.3.2";
-  by-version."event-stream"."3.3.2" = self.buildNodePackage {
-    name = "event-stream-3.3.2";
-    version = "3.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/event-stream/-/event-stream-3.3.2.tgz";
-      name = "event-stream-3.3.2.tgz";
-      sha1 = "3cc310feb1f28d2f62b2a085d736a9ef566378b8";
-    };
-    deps = {
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
-      "from-0.1.3" = self.by-version."from"."0.1.3";
-      "map-stream-0.1.0" = self.by-version."map-stream"."0.1.0";
-      "pause-stream-0.0.11" = self.by-version."pause-stream"."0.0.11";
-      "split-0.3.3" = self.by-version."split"."0.3.3";
-      "stream-combiner-0.0.4" = self.by-version."stream-combiner"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eventemitter2"."0.4.14" =
-    self.by-version."eventemitter2"."0.4.14";
-  by-version."eventemitter2"."0.4.14" = self.buildNodePackage {
-    name = "eventemitter2-0.4.14";
-    version = "0.4.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/eventemitter2/-/eventemitter2-0.4.14.tgz";
-      name = "eventemitter2-0.4.14.tgz";
-      sha1 = "8f61b75cde012b2e9eb284d4545583b5643b61ab";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eventemitter2"."0.4.x" =
-    self.by-version."eventemitter2"."0.4.14";
-  by-spec."eventemitter2"."~0.4.13" =
-    self.by-version."eventemitter2"."0.4.14";
-  by-spec."eventemitter2"."~0.4.14" =
-    self.by-version."eventemitter2"."0.4.14";
-  by-spec."eventemitter3"."*" =
-    self.by-version."eventemitter3"."1.2.0";
-  by-version."eventemitter3"."1.2.0" = self.buildNodePackage {
-    name = "eventemitter3-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/eventemitter3/-/eventemitter3-1.2.0.tgz";
-      name = "eventemitter3-1.2.0.tgz";
-      sha1 = "1c86991d816ad1e504750e73874224ecf3bec508";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eventemitter3"."1.x.x" =
-    self.by-version."eventemitter3"."1.2.0";
-  by-spec."events"."^1.0.0" =
-    self.by-version."events"."1.1.0";
-  by-version."events"."1.1.0" = self.buildNodePackage {
-    name = "events-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/events/-/events-1.1.0.tgz";
-      name = "events-1.1.0.tgz";
-      sha1 = "4b389fc200f910742ebff3abb2efe33690f45429";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."events"."~1.0.0" =
-    self.by-version."events"."1.0.2";
-  by-version."events"."1.0.2" = self.buildNodePackage {
-    name = "events-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/events/-/events-1.0.2.tgz";
-      name = "events-1.0.2.tgz";
-      sha1 = "75849dcfe93d10fb057c30055afdbd51d06a8e24";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."events"."~1.1.0" =
-    self.by-version."events"."1.1.0";
-  by-spec."events.node".">= 0.4.0" =
-    self.by-version."events.node"."0.4.9";
-  by-version."events.node"."0.4.9" = self.buildNodePackage {
-    name = "events.node-0.4.9";
-    version = "0.4.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/events.node/-/events.node-0.4.9.tgz";
-      name = "events.node-0.4.9.tgz";
-      sha1 = "82998ea749501145fd2da7cf8ecbe6420fac02a4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."evernote"."^1.25.3" =
-    self.by-version."evernote"."1.25.82";
-  by-version."evernote"."1.25.82" = self.buildNodePackage {
-    name = "evernote-1.25.82";
-    version = "1.25.82";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/evernote/-/evernote-1.25.82.tgz";
-      name = "evernote-1.25.82.tgz";
-      sha1 = "79f3f74767c655c5bb42b2ac341913e81c50fa54";
-    };
-    deps = {
-      "oauth-0.9.14" = self.by-version."oauth"."0.9.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."everyauth"."0.4.5" =
-    self.by-version."everyauth"."0.4.5";
-  by-version."everyauth"."0.4.5" = self.buildNodePackage {
-    name = "everyauth-0.4.5";
-    version = "0.4.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/everyauth/-/everyauth-0.4.5.tgz";
-      name = "everyauth-0.4.5.tgz";
-      sha1 = "282d358439d91c30fb4aa2320dc362edac7dd189";
-    };
-    deps = {
-      "oauth-0.9.14" = self.by-version."oauth"."0.9.14";
-      "request-2.9.203" = self.by-version."request"."2.9.203";
-      "connect-2.3.9" = self.by-version."connect"."2.3.9";
-      "openid-2.0.1" = self.by-version."openid"."2.0.1";
-      "xml2js-0.4.16" = self.by-version."xml2js"."0.4.16";
-      "node-swt-0.1.1" = self.by-version."node-swt"."0.1.1";
-      "node-wsfederation-0.1.1" = self.by-version."node-wsfederation"."0.1.1";
-      "debug-0.5.0" = self.by-version."debug"."0.5.0";
-      "express-3.21.2" = self.by-version."express"."3.21.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."evp_bytestokey"."^1.0.0" =
-    self.by-version."evp_bytestokey"."1.0.0";
-  by-version."evp_bytestokey"."1.0.0" = self.buildNodePackage {
-    name = "evp_bytestokey-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.0.tgz";
-      name = "evp_bytestokey-1.0.0.tgz";
-      sha1 = "497b66ad9fef65cd7c08a6180824ba1476b66e53";
-    };
-    deps = {
-      "create-hash-1.1.2" = self.by-version."create-hash"."1.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."exit"."0.1.2" =
-    self.by-version."exit"."0.1.2";
-  by-version."exit"."0.1.2" = self.buildNodePackage {
-    name = "exit-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz";
-      name = "exit-0.1.2.tgz";
-      sha1 = "0632638f8d877cc82107d30a0fff1a17cba1cd0c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."exit"."0.1.x" =
-    self.by-version."exit"."0.1.2";
-  by-spec."exit"."~0.1.1" =
-    self.by-version."exit"."0.1.2";
-  by-spec."exit-hook"."^1.0.0" =
-    self.by-version."exit-hook"."1.1.1";
-  by-version."exit-hook"."1.1.1" = self.buildNodePackage {
-    name = "exit-hook-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/exit-hook/-/exit-hook-1.1.1.tgz";
-      name = "exit-hook-1.1.1.tgz";
-      sha1 = "f05ca233b48c05d54fff07765df8507e95c02ff8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."exit-on-epipe"."*" =
-    self.by-version."exit-on-epipe"."0.0.1";
-  by-version."exit-on-epipe"."0.0.1" = self.buildNodePackage {
-    name = "exit-on-epipe-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/exit-on-epipe/-/exit-on-epipe-0.0.1.tgz";
-      name = "exit-on-epipe-0.0.1.tgz";
-      sha1 = "ea41650007098c8444519a5d48958170c4ad929b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."expand-braces"."^0.1.1" =
-    self.by-version."expand-braces"."0.1.2";
-  by-version."expand-braces"."0.1.2" = self.buildNodePackage {
-    name = "expand-braces-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/expand-braces/-/expand-braces-0.1.2.tgz";
-      name = "expand-braces-0.1.2.tgz";
-      sha1 = "488b1d1d2451cb3d3a6b192cfc030f44c5855fea";
-    };
-    deps = {
-      "array-slice-0.2.3" = self.by-version."array-slice"."0.2.3";
-      "array-unique-0.2.1" = self.by-version."array-unique"."0.2.1";
-      "braces-0.1.5" = self.by-version."braces"."0.1.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."expand-brackets"."^0.1.4" =
-    self.by-version."expand-brackets"."0.1.5";
-  by-version."expand-brackets"."0.1.5" = self.buildNodePackage {
-    name = "expand-brackets-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/expand-brackets/-/expand-brackets-0.1.5.tgz";
-      name = "expand-brackets-0.1.5.tgz";
-      sha1 = "df07284e342a807cd733ac5af72411e581d1177b";
-    };
-    deps = {
-      "is-posix-bracket-0.1.1" = self.by-version."is-posix-bracket"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."expand-range"."^0.1.0" =
-    self.by-version."expand-range"."0.1.1";
-  by-version."expand-range"."0.1.1" = self.buildNodePackage {
-    name = "expand-range-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/expand-range/-/expand-range-0.1.1.tgz";
-      name = "expand-range-0.1.1.tgz";
-      sha1 = "4cb8eda0993ca56fa4f41fc42f3cbb4ccadff044";
-    };
-    deps = {
-      "is-number-0.1.1" = self.by-version."is-number"."0.1.1";
-      "repeat-string-0.2.2" = self.by-version."repeat-string"."0.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."expand-range"."^1.8.1" =
-    self.by-version."expand-range"."1.8.2";
-  by-version."expand-range"."1.8.2" = self.buildNodePackage {
-    name = "expand-range-1.8.2";
-    version = "1.8.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/expand-range/-/expand-range-1.8.2.tgz";
-      name = "expand-range-1.8.2.tgz";
-      sha1 = "a299effd335fe2721ebae8e257ec79644fc85337";
-    };
-    deps = {
-      "fill-range-2.2.3" = self.by-version."fill-range"."2.2.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."*" =
-    self.by-version."express"."5.0.0-alpha.2";
-  by-version."express"."5.0.0-alpha.2" = self.buildNodePackage {
-    name = "express-5.0.0-alpha.2";
-    version = "5.0.0-alpha.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-5.0.0-alpha.2.tgz";
-      name = "express-5.0.0-alpha.2.tgz";
-      sha1 = "fd54177f657b6a4c4540727702edd1cbaa3a6ac5";
-    };
-    deps = {
-      "accepts-1.2.13" = self.by-version."accepts"."1.2.13";
-      "array-flatten-1.1.0" = self.by-version."array-flatten"."1.1.0";
-      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "cookie-0.1.3" = self.by-version."cookie"."0.1.3";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "finalhandler-0.4.0" = self.by-version."finalhandler"."0.4.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "merge-descriptors-1.0.0" = self.by-version."merge-descriptors"."1.0.0";
-      "methods-1.1.2" = self.by-version."methods"."1.1.2";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-      "path-to-regexp-0.1.6" = self.by-version."path-to-regexp"."0.1.6";
-      "proxy-addr-1.0.10" = self.by-version."proxy-addr"."1.0.10";
-      "qs-4.0.0" = self.by-version."qs"."4.0.0";
-      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
-      "router-1.1.4" = self.by-version."router"."1.1.4";
-      "send-0.13.0" = self.by-version."send"."0.13.0";
-      "serve-static-1.10.3" = self.by-version."serve-static"."1.10.3";
-      "type-is-1.6.13" = self.by-version."type-is"."1.6.13";
-      "vary-1.0.1" = self.by-version."vary"."1.0.1";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "express" = self.by-version."express"."5.0.0-alpha.2";
-  by-spec."express"."2.5.11" =
-    self.by-version."express"."2.5.11";
-  by-version."express"."2.5.11" = self.buildNodePackage {
-    name = "express-2.5.11";
-    version = "2.5.11";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-2.5.11.tgz";
-      name = "express-2.5.11.tgz";
-      sha1 = "4ce8ea1f3635e69e49f0ebb497b6a4b0a51ce6f0";
-    };
-    deps = {
-      "connect-1.9.2" = self.by-version."connect"."1.9.2";
-      "mime-1.2.4" = self.by-version."mime"."1.2.4";
-      "qs-0.4.2" = self.by-version."qs"."0.4.2";
-      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."3.2.0" =
-    self.by-version."express"."3.2.0";
-  by-version."express"."3.2.0" = self.buildNodePackage {
-    name = "express-3.2.0";
-    version = "3.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-3.2.0.tgz";
-      name = "express-3.2.0.tgz";
-      sha1 = "7b66d6c66b038038eedf452804222b3077374ae0";
-    };
-    deps = {
-      "connect-2.7.6" = self.by-version."connect"."2.7.6";
-      "commander-0.6.1" = self.by-version."commander"."0.6.1";
-      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "cookie-0.0.5" = self.by-version."cookie"."0.0.5";
-      "buffer-crc32-0.2.5" = self.by-version."buffer-crc32"."0.2.5";
-      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
-      "methods-0.0.1" = self.by-version."methods"."0.0.1";
-      "send-0.1.0" = self.by-version."send"."0.1.0";
-      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."3.4.4" =
-    self.by-version."express"."3.4.4";
-  by-version."express"."3.4.4" = self.buildNodePackage {
-    name = "express-3.4.4";
-    version = "3.4.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-3.4.4.tgz";
-      name = "express-3.4.4.tgz";
-      sha1 = "0b63ae626c96b71b78d13dfce079c10351635a86";
-    };
-    deps = {
-      "connect-2.11.0" = self.by-version."connect"."2.11.0";
-      "commander-1.3.2" = self.by-version."commander"."1.3.2";
-      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
-      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
-      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
-      "methods-0.1.0" = self.by-version."methods"."0.1.0";
-      "send-0.1.4" = self.by-version."send"."0.1.4";
-      "cookie-signature-1.0.1" = self.by-version."cookie-signature"."1.0.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."3.x" =
-    self.by-version."express"."3.21.2";
-  by-version."express"."3.21.2" = self.buildNodePackage {
-    name = "express-3.21.2";
-    version = "3.21.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-3.21.2.tgz";
-      name = "express-3.21.2.tgz";
-      sha1 = "0c2903ee5c54e63d65a96170764703550665a3de";
-    };
-    deps = {
-      "basic-auth-1.0.4" = self.by-version."basic-auth"."1.0.4";
-      "connect-2.30.2" = self.by-version."connect"."2.30.2";
-      "content-disposition-0.5.0" = self.by-version."content-disposition"."0.5.0";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "commander-2.6.0" = self.by-version."commander"."2.6.0";
-      "cookie-0.1.3" = self.by-version."cookie"."0.1.3";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "merge-descriptors-1.0.0" = self.by-version."merge-descriptors"."1.0.0";
-      "methods-1.1.2" = self.by-version."methods"."1.1.2";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "proxy-addr-1.0.10" = self.by-version."proxy-addr"."1.0.10";
-      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
-      "send-0.13.0" = self.by-version."send"."0.13.0";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-      "vary-1.0.1" = self.by-version."vary"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."4.13.4" =
-    self.by-version."express"."4.13.4";
-  by-version."express"."4.13.4" = self.buildNodePackage {
-    name = "express-4.13.4";
-    version = "4.13.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-4.13.4.tgz";
-      name = "express-4.13.4.tgz";
-      sha1 = "3c0b76f3c77590c8345739061ec0bd3ba067ec24";
-    };
-    deps = {
-      "accepts-1.2.13" = self.by-version."accepts"."1.2.13";
-      "array-flatten-1.1.1" = self.by-version."array-flatten"."1.1.1";
-      "content-disposition-0.5.1" = self.by-version."content-disposition"."0.5.1";
-      "content-type-1.0.2" = self.by-version."content-type"."1.0.2";
-      "cookie-0.1.5" = self.by-version."cookie"."0.1.5";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "finalhandler-0.4.1" = self.by-version."finalhandler"."0.4.1";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "merge-descriptors-1.0.1" = self.by-version."merge-descriptors"."1.0.1";
-      "methods-1.1.2" = self.by-version."methods"."1.1.2";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "path-to-regexp-0.1.7" = self.by-version."path-to-regexp"."0.1.7";
-      "proxy-addr-1.0.10" = self.by-version."proxy-addr"."1.0.10";
-      "qs-4.0.0" = self.by-version."qs"."4.0.0";
-      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
-      "send-0.13.1" = self.by-version."send"."0.13.1";
-      "serve-static-1.10.3" = self.by-version."serve-static"."1.10.3";
-      "type-is-1.6.13" = self.by-version."type-is"."1.6.13";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-      "vary-1.0.1" = self.by-version."vary"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."4.6.1" =
-    self.by-version."express"."4.6.1";
-  by-version."express"."4.6.1" = self.buildNodePackage {
-    name = "express-4.6.1";
-    version = "4.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-4.6.1.tgz";
-      name = "express-4.6.1.tgz";
-      sha1 = "c806e51755cb453ba17fac2f343caff6af885df4";
-    };
-    deps = {
-      "accepts-1.0.7" = self.by-version."accepts"."1.0.7";
-      "buffer-crc32-0.2.3" = self.by-version."buffer-crc32"."0.2.3";
-      "debug-1.0.3" = self.by-version."debug"."1.0.3";
-      "depd-0.3.0" = self.by-version."depd"."0.3.0";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "finalhandler-0.0.3" = self.by-version."finalhandler"."0.0.3";
-      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
-      "methods-1.1.0" = self.by-version."methods"."1.1.0";
-      "parseurl-1.1.3" = self.by-version."parseurl"."1.1.3";
-      "path-to-regexp-0.1.3" = self.by-version."path-to-regexp"."0.1.3";
-      "proxy-addr-1.0.1" = self.by-version."proxy-addr"."1.0.1";
-      "range-parser-1.0.0" = self.by-version."range-parser"."1.0.0";
-      "send-0.6.0" = self.by-version."send"."0.6.0";
-      "serve-static-1.3.2" = self.by-version."serve-static"."1.3.2";
-      "type-is-1.3.2" = self.by-version."type-is"."1.3.2";
-      "vary-0.1.0" = self.by-version."vary"."0.1.0";
-      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
-      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
-      "cookie-signature-1.0.4" = self.by-version."cookie-signature"."1.0.4";
-      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express".">=3.0.0" =
-    self.by-version."express"."4.13.4";
-  by-spec."express".">=4.0.0" =
-    self.by-version."express"."4.13.4";
-  by-spec."express".">=5.0.0-0 <6.0.0-0" =
-    self.by-version."express"."5.0.0-alpha.2";
-  by-spec."express"."^4.12.2" =
-    self.by-version."express"."4.13.4";
-  by-spec."express"."^4.12.3" =
-    self.by-version."express"."4.13.4";
-  by-spec."express"."^4.13.3" =
-    self.by-version."express"."4.13.4";
-  by-spec."express"."~3.5.1" =
-    self.by-version."express"."3.5.3";
-  by-version."express"."3.5.3" = self.buildNodePackage {
-    name = "express-3.5.3";
-    version = "3.5.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express/-/express-3.5.3.tgz";
-      name = "express-3.5.3.tgz";
-      sha1 = "af440e1ddad078934ec78241420b40bbc56dc2ad";
-    };
-    deps = {
-      "connect-2.14.5" = self.by-version."connect"."2.14.5";
-      "commander-1.3.2" = self.by-version."commander"."1.3.2";
-      "range-parser-1.0.0" = self.by-version."range-parser"."1.0.0";
-      "mkdirp-0.4.0" = self.by-version."mkdirp"."0.4.0";
-      "cookie-0.1.2" = self.by-version."cookie"."0.1.2";
-      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
-      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
-      "methods-0.1.0" = self.by-version."methods"."0.1.0";
-      "send-0.3.0" = self.by-version."send"."0.3.0";
-      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
-      "merge-descriptors-0.0.2" = self.by-version."merge-descriptors"."0.0.2";
-      "debug-0.8.1" = self.by-version."debug"."0.8.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express"."~4.13.3" =
-    self.by-version."express"."4.13.4";
-  by-spec."express"."~4.13.4" =
-    self.by-version."express"."4.13.4";
-  by-spec."express-form"."*" =
-    self.by-version."express-form"."0.12.5";
-  by-version."express-form"."0.12.5" = self.buildNodePackage {
-    name = "express-form-0.12.5";
-    version = "0.12.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express-form/-/express-form-0.12.5.tgz";
-      name = "express-form-0.12.5.tgz";
-      sha1 = "09ac0849ad33ffd6f1980dbad91ca24bbe53c125";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "object-additions-0.5.1" = self.by-version."object-additions"."0.5.1";
-      "validator-2.1.0" = self.by-version."validator"."2.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."express"."4.13.4"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "express-form" = self.by-version."express-form"."0.12.5";
-  by-spec."express-handlebars"."~2.0.1" =
-    self.by-version."express-handlebars"."2.0.1";
-  by-version."express-handlebars"."2.0.1" = self.buildNodePackage {
-    name = "express-handlebars-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express-handlebars/-/express-handlebars-2.0.1.tgz";
-      name = "express-handlebars-2.0.1.tgz";
-      sha1 = "975661ffebd6e79463230ba4c8e0ca5cd0522fb1";
-    };
-    deps = {
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-      "graceful-fs-3.0.8" = self.by-version."graceful-fs"."3.0.8";
-      "handlebars-3.0.3" = self.by-version."handlebars"."3.0.3";
-      "object.assign-1.1.1" = self.by-version."object.assign"."1.1.1";
-      "promise-6.1.0" = self.by-version."promise"."6.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express-json5".">=0.1.0 <1.0.0-0" =
-    self.by-version."express-json5"."0.1.0";
-  by-version."express-json5"."0.1.0" = self.buildNodePackage {
-    name = "express-json5-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express-json5/-/express-json5-0.1.0.tgz";
-      name = "express-json5-0.1.0.tgz";
-      sha1 = "114a514bd734b319e018a1bde337923cc455b836";
-    };
-    deps = {
-      "raw-body-1.3.4" = self.by-version."raw-body"."1.3.4";
-      "jju-1.3.0" = self.by-version."jju"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express-partials"."0.0.6" =
-    self.by-version."express-partials"."0.0.6";
-  by-version."express-partials"."0.0.6" = self.buildNodePackage {
-    name = "express-partials-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express-partials/-/express-partials-0.0.6.tgz";
-      name = "express-partials-0.0.6.tgz";
-      sha1 = "b2664f15c636d5248e60fdbe29131c4440552eda";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express-session"."1.0.2" =
-    self.by-version."express-session"."1.0.2";
-  by-version."express-session"."1.0.2" = self.buildNodePackage {
-    name = "express-session-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express-session/-/express-session-1.0.2.tgz";
-      name = "express-session-1.0.2.tgz";
-      sha1 = "004478c742561774411ceb79733155a56b6d49eb";
-    };
-    deps = {
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
-      "cookie-signature-1.0.3" = self.by-version."cookie-signature"."1.0.3";
-      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
-      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express-session"."^1.0.4" =
-    self.by-version."express-session"."1.13.0";
-  by-version."express-session"."1.13.0" = self.buildNodePackage {
-    name = "express-session-1.13.0";
-    version = "1.13.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express-session/-/express-session-1.13.0.tgz";
-      name = "express-session-1.13.0.tgz";
-      sha1 = "8ac3b5c0188b48382851d88207b8e7746efb4011";
-    };
-    deps = {
-      "cookie-0.2.3" = self.by-version."cookie"."0.2.3";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "crc-3.4.0" = self.by-version."crc"."3.4.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "uid-safe-2.0.0" = self.by-version."uid-safe"."2.0.0";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express-session"."~1.11.3" =
-    self.by-version."express-session"."1.11.3";
-  by-version."express-session"."1.11.3" = self.buildNodePackage {
-    name = "express-session-1.11.3";
-    version = "1.11.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/express-session/-/express-session-1.11.3.tgz";
-      name = "express-session-1.11.3.tgz";
-      sha1 = "5cc98f3f5ff84ed835f91cbf0aabd0c7107400af";
-    };
-    deps = {
-      "cookie-0.1.3" = self.by-version."cookie"."0.1.3";
-      "cookie-signature-1.0.6" = self.by-version."cookie-signature"."1.0.6";
-      "crc-3.3.0" = self.by-version."crc"."3.3.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "uid-safe-2.0.0" = self.by-version."uid-safe"."2.0.0";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."express-session"."~1.13.0" =
-    self.by-version."express-session"."1.13.0";
-  by-spec."ext-list"."^2.0.0" =
-    self.by-version."ext-list"."2.2.0";
-  by-version."ext-list"."2.2.0" = self.buildNodePackage {
-    name = "ext-list-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ext-list/-/ext-list-2.2.0.tgz";
-      name = "ext-list-2.2.0.tgz";
-      sha1 = "a3e6fdeab978bca7a320c7e786f537083fc30055";
-    };
-    deps = {
-      "got-2.9.2" = self.by-version."got"."2.9.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ext-name"."^3.0.0" =
-    self.by-version."ext-name"."3.0.0";
-  by-version."ext-name"."3.0.0" = self.buildNodePackage {
-    name = "ext-name-3.0.0";
-    version = "3.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ext-name/-/ext-name-3.0.0.tgz";
-      name = "ext-name-3.0.0.tgz";
-      sha1 = "07e4418737cb1f513c32c6ea48d8b8c8e0471abb";
-    };
-    deps = {
-      "ends-with-0.2.0" = self.by-version."ends-with"."0.2.0";
-      "ext-list-2.2.0" = self.by-version."ext-list"."2.2.0";
-      "meow-3.7.0" = self.by-version."meow"."3.7.0";
-      "sort-keys-length-1.0.1" = self.by-version."sort-keys-length"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extend"."*" =
-    self.by-version."extend"."3.0.0";
-  by-version."extend"."3.0.0" = self.buildNodePackage {
-    name = "extend-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extend/-/extend-3.0.0.tgz";
-      name = "extend-3.0.0.tgz";
-      sha1 = "5a474353b9f3353ddd8176dfd37b91c83a46f1d4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "extend" = self.by-version."extend"."3.0.0";
-  by-spec."extend"."3" =
-    self.by-version."extend"."3.0.0";
-  by-spec."extend"."3.0.0" =
-    self.by-version."extend"."3.0.0";
-  by-spec."extend".">=1.1.3" =
-    self.by-version."extend"."3.0.0";
-  by-spec."extend"."^1.2.1" =
-    self.by-version."extend"."1.3.0";
-  by-version."extend"."1.3.0" = self.buildNodePackage {
-    name = "extend-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extend/-/extend-1.3.0.tgz";
-      name = "extend-1.3.0.tgz";
-      sha1 = "d1516fb0ff5624d2ebf9123ea1dac5a1994004f8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extend"."^1.3.0" =
-    self.by-version."extend"."1.3.0";
-  by-spec."extend"."^2.0.0" =
-    self.by-version."extend"."2.0.1";
-  by-version."extend"."2.0.1" = self.buildNodePackage {
-    name = "extend-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extend/-/extend-2.0.1.tgz";
-      name = "extend-2.0.1.tgz";
-      sha1 = "1ee8010689e7395ff9448241c98652bc759a8260";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extend"."^2.0.1" =
-    self.by-version."extend"."2.0.1";
-  by-spec."extend"."^3.0.0" =
-    self.by-version."extend"."3.0.0";
-  by-spec."extend"."~1.2.1" =
-    self.by-version."extend"."1.2.1";
-  by-version."extend"."1.2.1" = self.buildNodePackage {
-    name = "extend-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extend/-/extend-1.2.1.tgz";
-      name = "extend-1.2.1.tgz";
-      sha1 = "a0f5fd6cfc83a5fe49ef698d60ec8a624dd4576c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extend"."~3.0.0" =
-    self.by-version."extend"."3.0.0";
-  by-spec."extend-shallow"."^2.0.1" =
-    self.by-version."extend-shallow"."2.0.1";
-  by-version."extend-shallow"."2.0.1" = self.buildNodePackage {
-    name = "extend-shallow-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz";
-      name = "extend-shallow-2.0.1.tgz";
-      sha1 = "51af7d614ad9a9f610ea1bafbb989d6b1c56890f";
-    };
-    deps = {
-      "is-extendable-0.1.1" = self.by-version."is-extendable"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extend.js"."0.0.2" =
-    self.by-version."extend.js"."0.0.2";
-  by-version."extend.js"."0.0.2" = self.buildNodePackage {
-    name = "extend.js-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extend.js/-/extend.js-0.0.2.tgz";
-      name = "extend.js-0.0.2.tgz";
-      sha1 = "0f9c7a81a1f208b703eb0c3131fe5716ac6ecd15";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extglob"."^0.3.1" =
-    self.by-version."extglob"."0.3.2";
-  by-version."extglob"."0.3.2" = self.buildNodePackage {
-    name = "extglob-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extglob/-/extglob-0.3.2.tgz";
-      name = "extglob-0.3.2.tgz";
-      sha1 = "2e18ff3d2f49ab2765cec9023f011daa8d8349a1";
-    };
-    deps = {
-      "is-extglob-1.0.0" = self.by-version."is-extglob"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extract-opts"."^2.2.0" =
-    self.by-version."extract-opts"."2.2.0";
-  by-version."extract-opts"."2.2.0" = self.buildNodePackage {
-    name = "extract-opts-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extract-opts/-/extract-opts-2.2.0.tgz";
-      name = "extract-opts-2.2.0.tgz";
-      sha1 = "1fa28eba7352c6db480f885ceb71a46810be6d7d";
-    };
-    deps = {
-      "typechecker-2.0.8" = self.by-version."typechecker"."2.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extract-zip"."~1.5.0" =
-    self.by-version."extract-zip"."1.5.0";
-  by-version."extract-zip"."1.5.0" = self.buildNodePackage {
-    name = "extract-zip-1.5.0";
-    version = "1.5.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extract-zip/-/extract-zip-1.5.0.tgz";
-      name = "extract-zip-1.5.0.tgz";
-      sha1 = "92ccf6d81ef70a9fa4c1747114ccef6d8688a6c4";
-    };
-    deps = {
-      "concat-stream-1.5.0" = self.by-version."concat-stream"."1.5.0";
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "mkdirp-0.5.0" = self.by-version."mkdirp"."0.5.0";
-      "yauzl-2.4.1" = self.by-version."yauzl"."2.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extsprintf"."1.0.0" =
-    self.by-version."extsprintf"."1.0.0";
-  by-version."extsprintf"."1.0.0" = self.buildNodePackage {
-    name = "extsprintf-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.0.tgz";
-      name = "extsprintf-1.0.0.tgz";
-      sha1 = "4d58b815ace5bebfc4ebf03cf98b0a7604a99b86";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extsprintf"."1.0.2" =
-    self.by-version."extsprintf"."1.0.2";
-  by-version."extsprintf"."1.0.2" = self.buildNodePackage {
-    name = "extsprintf-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.0.2.tgz";
-      name = "extsprintf-1.0.2.tgz";
-      sha1 = "e1080e0658e300b06294990cc70e1502235fd550";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extsprintf"."1.2.0" =
-    self.by-version."extsprintf"."1.2.0";
-  by-version."extsprintf"."1.2.0" = self.buildNodePackage {
-    name = "extsprintf-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.2.0.tgz";
-      name = "extsprintf-1.2.0.tgz";
-      sha1 = "5ad946c22f5b32ba7f8cd7426711c6e8a3fc2529";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."extsprintf"."^1.2.0" =
-    self.by-version."extsprintf"."1.3.0";
-  by-version."extsprintf"."1.3.0" = self.buildNodePackage {
-    name = "extsprintf-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz";
-      name = "extsprintf-1.3.0.tgz";
-      sha1 = "96918440e3041a7a414f8c52e3c574eb3c3e1e05";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eyes"."0.1.x" =
-    self.by-version."eyes"."0.1.8";
-  by-version."eyes"."0.1.8" = self.buildNodePackage {
-    name = "eyes-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/eyes/-/eyes-0.1.8.tgz";
-      name = "eyes-0.1.8.tgz";
-      sha1 = "62cf120234c683785d902348a800ef3e0cc20bc0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."eyes"."~0.1.6" =
-    self.by-version."eyes"."0.1.8";
-  by-spec."eyes"."~0.1.8" =
-    self.by-version."eyes"."0.1.8";
-  by-spec."falafel"."^1.0.1" =
-    self.by-version."falafel"."1.2.0";
-  by-version."falafel"."1.2.0" = self.buildNodePackage {
-    name = "falafel-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/falafel/-/falafel-1.2.0.tgz";
-      name = "falafel-1.2.0.tgz";
-      sha1 = "c18d24ef5091174a497f318cd24b026a25cddab4";
-    };
-    deps = {
-      "acorn-1.2.2" = self.by-version."acorn"."1.2.2";
-      "foreach-2.0.5" = self.by-version."foreach"."2.0.5";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "object-keys-1.0.9" = self.by-version."object-keys"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fancy-log"."^1.1.0" =
-    self.by-version."fancy-log"."1.2.0";
-  by-version."fancy-log"."1.2.0" = self.buildNodePackage {
-    name = "fancy-log-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fancy-log/-/fancy-log-1.2.0.tgz";
-      name = "fancy-log-1.2.0.tgz";
-      sha1 = "d5a51b53e9ab22ca07d558f2b67ae55fdb5fcbd8";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "time-stamp-1.0.1" = self.by-version."time-stamp"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fast-diff"."^1.0.1" =
-    self.by-version."fast-diff"."1.0.1";
-  by-version."fast-diff"."1.0.1" = self.buildNodePackage {
-    name = "fast-diff-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fast-diff/-/fast-diff-1.0.1.tgz";
-      name = "fast-diff-1.0.1.tgz";
-      sha1 = "76532d5b8e49f6770fd464658628f9ed47eb5ac8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fast-json-patch"."0.5.x" =
-    self.by-version."fast-json-patch"."0.5.7";
-  by-version."fast-json-patch"."0.5.7" = self.buildNodePackage {
-    name = "fast-json-patch-0.5.7";
-    version = "0.5.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-0.5.7.tgz";
-      name = "fast-json-patch-0.5.7.tgz";
-      sha1 = "b5a8f49d259624596ef98b872f3fda895b4d8665";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fast-levenshtein"."^1.1.0" =
-    self.by-version."fast-levenshtein"."1.1.3";
-  by-version."fast-levenshtein"."1.1.3" = self.buildNodePackage {
-    name = "fast-levenshtein-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-1.1.3.tgz";
-      name = "fast-levenshtein-1.1.3.tgz";
-      sha1 = "2ae7b32abc1e612da48a4e13849b888a2f61e7e9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."favitest"."^1.0.3" =
-    self.by-version."favitest"."1.0.7";
-  by-version."favitest"."1.0.7" = self.buildNodePackage {
-    name = "favitest-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/favitest/-/favitest-1.0.7.tgz";
-      name = "favitest-1.0.7.tgz";
-      sha1 = "efa1ee02866f6e2f0f619a889a6c993269a0b603";
-    };
-    deps = {
-      "htmlparser2-3.9.0" = self.by-version."htmlparser2"."3.9.0";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "tldtools-0.0.19" = self.by-version."tldtools"."0.0.19";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."favitest"."^1.0.7" =
-    self.by-version."favitest"."1.0.7";
-  by-spec."faye-websocket"."*" =
-    self.by-version."faye-websocket"."0.11.0";
-  by-version."faye-websocket"."0.11.0" = self.buildNodePackage {
-    name = "faye-websocket-0.11.0";
-    version = "0.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.0.tgz";
-      name = "faye-websocket-0.11.0.tgz";
-      sha1 = "d9ccf0e789e7db725d74bc4877d23aa42972ac50";
-    };
-    deps = {
-      "websocket-driver-0.6.5" = self.by-version."websocket-driver"."0.6.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "faye-websocket" = self.by-version."faye-websocket"."0.11.0";
-  by-spec."faye-websocket"."^0.10.0" =
-    self.by-version."faye-websocket"."0.10.0";
-  by-version."faye-websocket"."0.10.0" = self.buildNodePackage {
-    name = "faye-websocket-0.10.0";
-    version = "0.10.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz";
-      name = "faye-websocket-0.10.0.tgz";
-      sha1 = "4e492f8d04dfb6f89003507f6edbf2d501e7c6f4";
-    };
-    deps = {
-      "websocket-driver-0.6.5" = self.by-version."websocket-driver"."0.6.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fb".">=0.0.9" =
-    self.by-version."fb"."1.1.1";
-  by-version."fb"."1.1.1" = self.buildNodePackage {
-    name = "fb-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fb/-/fb-1.1.1.tgz";
-      name = "fb-1.1.1.tgz";
-      sha1 = "b3f036689e55098d6f88a6dee6551d0316fd6b57";
-    };
-    deps = {
-      "babel-runtime-6.9.2" = self.by-version."babel-runtime"."6.9.2";
-      "core-decorators-0.12.3" = self.by-version."core-decorators"."0.12.3";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fbjs"."^0.8.0" =
-    self.by-version."fbjs"."0.8.3";
-  by-version."fbjs"."0.8.3" = self.buildNodePackage {
-    name = "fbjs-0.8.3";
-    version = "0.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fbjs/-/fbjs-0.8.3.tgz";
-      name = "fbjs-0.8.3.tgz";
-      sha1 = "d98a77d387fda2c33bc3d5588fce31f3553cb1c8";
-    };
-    deps = {
-      "core-js-1.2.6" = self.by-version."core-js"."1.2.6";
-      "immutable-3.8.1" = self.by-version."immutable"."3.8.1";
-      "isomorphic-fetch-2.2.1" = self.by-version."isomorphic-fetch"."2.2.1";
-      "loose-envify-1.2.0" = self.by-version."loose-envify"."1.2.0";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "promise-7.1.1" = self.by-version."promise"."7.1.1";
-      "ua-parser-js-0.7.10" = self.by-version."ua-parser-js"."0.7.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fd-slicer"."~1.0.1" =
-    self.by-version."fd-slicer"."1.0.1";
-  by-version."fd-slicer"."1.0.1" = self.buildNodePackage {
-    name = "fd-slicer-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.0.1.tgz";
-      name = "fd-slicer-1.0.1.tgz";
-      sha1 = "8b5bcbd9ec327c5041bf9ab023fd6750f1177e65";
-    };
-    deps = {
-      "pend-1.2.0" = self.by-version."pend"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."feedparser"."1.1.3" =
-    self.by-version."feedparser"."1.1.3";
-  by-version."feedparser"."1.1.3" = self.buildNodePackage {
-    name = "feedparser-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/feedparser/-/feedparser-1.1.3.tgz";
-      name = "feedparser-1.1.3.tgz";
-      sha1 = "0b725f6b4cbe4b26d518baec0d010ad020156c8b";
-    };
-    deps = {
-      "sax-0.6.1" = self.by-version."sax"."0.6.1";
-      "addressparser-0.1.3" = self.by-version."addressparser"."0.1.3";
-      "array-indexofobject-0.0.1" = self.by-version."array-indexofobject"."0.0.1";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."feedparser".">=0.16.2" =
-    self.by-version."feedparser"."1.1.4";
-  by-version."feedparser"."1.1.4" = self.buildNodePackage {
-    name = "feedparser-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/feedparser/-/feedparser-1.1.4.tgz";
-      name = "feedparser-1.1.4.tgz";
-      sha1 = "17845be84ad3fcd986daee12fe421f8b54df0def";
-    };
-    deps = {
-      "sax-0.6.1" = self.by-version."sax"."0.6.1";
-      "addressparser-0.1.3" = self.by-version."addressparser"."0.1.3";
-      "array-indexofobject-0.0.1" = self.by-version."array-indexofobject"."0.0.1";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fields"."0.1.24" =
-    self.by-version."fields"."0.1.24";
-  by-version."fields"."0.1.24" = self.buildNodePackage {
-    name = "fields-0.1.24";
-    version = "0.1.24";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fields/-/fields-0.1.24.tgz";
-      name = "fields-0.1.24.tgz";
-      sha1 = "bed93b1c2521f4705fe764f4209267fdfd89f5d3";
-    };
-    deps = {
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "keypress-0.2.1" = self.by-version."keypress"."0.2.1";
-      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fifo"."^0.1.4" =
-    self.by-version."fifo"."0.1.4";
-  by-version."fifo"."0.1.4" = self.buildNodePackage {
-    name = "fifo-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fifo/-/fifo-0.1.4.tgz";
-      name = "fifo-0.1.4.tgz";
-      sha1 = "bf42d87c0ad07b00d0949d12388f6289606ece34";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."figures"."^1.0.1" =
-    self.by-version."figures"."1.7.0";
-  by-version."figures"."1.7.0" = self.buildNodePackage {
-    name = "figures-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/figures/-/figures-1.7.0.tgz";
-      name = "figures-1.7.0.tgz";
-      sha1 = "cbe1e3affcf1cd44b80cadfed28dc793a9701d2e";
-    };
-    deps = {
-      "escape-string-regexp-1.0.5" = self.by-version."escape-string-regexp"."1.0.5";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."figures"."^1.3.5" =
-    self.by-version."figures"."1.7.0";
-  by-spec."file-entry-cache"."^1.1.1" =
-    self.by-version."file-entry-cache"."1.2.4";
-  by-version."file-entry-cache"."1.2.4" = self.buildNodePackage {
-    name = "file-entry-cache-1.2.4";
-    version = "1.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-1.2.4.tgz";
-      name = "file-entry-cache-1.2.4.tgz";
-      sha1 = "9a586072c69365a7ef7ec72a7c2b9046de091e9c";
-    };
-    deps = {
-      "flat-cache-1.0.10" = self.by-version."flat-cache"."1.0.10";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."file-uri-to-path"."0" =
-    self.by-version."file-uri-to-path"."0.0.2";
-  by-version."file-uri-to-path"."0.0.2" = self.buildNodePackage {
-    name = "file-uri-to-path-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-0.0.2.tgz";
-      name = "file-uri-to-path-0.0.2.tgz";
-      sha1 = "37cdd1b5b905404b3f05e1b23645be694ff70f82";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."filed"."0.1.x" =
-    self.by-version."filed"."0.1.0";
-  by-version."filed"."0.1.0" = self.buildNodePackage {
-    name = "filed-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/filed/-/filed-0.1.0.tgz";
-      name = "filed-0.1.0.tgz";
-      sha1 = "b0f626472a2366dc1194537a4eea7e7a89f3c735";
-    };
-    deps = {
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."filename-regex"."^2.0.0" =
-    self.by-version."filename-regex"."2.0.0";
-  by-version."filename-regex"."2.0.0" = self.buildNodePackage {
-    name = "filename-regex-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/filename-regex/-/filename-regex-2.0.0.tgz";
-      name = "filename-regex-2.0.0.tgz";
-      sha1 = "996e3e80479b98b9897f15a8a58b3d084e926775";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fileset"."0.2.x" =
-    self.by-version."fileset"."0.2.1";
-  by-version."fileset"."0.2.1" = self.buildNodePackage {
-    name = "fileset-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fileset/-/fileset-0.2.1.tgz";
-      name = "fileset-0.2.1.tgz";
-      sha1 = "588ef8973c6623b2a76df465105696b96aac8067";
-    };
-    deps = {
-      "minimatch-2.0.10" = self.by-version."minimatch"."2.0.10";
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fill-range"."^2.1.0" =
-    self.by-version."fill-range"."2.2.3";
-  by-version."fill-range"."2.2.3" = self.buildNodePackage {
-    name = "fill-range-2.2.3";
-    version = "2.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fill-range/-/fill-range-2.2.3.tgz";
-      name = "fill-range-2.2.3.tgz";
-      sha1 = "50b77dfd7e469bc7492470963699fe7a8485a723";
-    };
-    deps = {
-      "is-number-2.1.0" = self.by-version."is-number"."2.1.0";
-      "isobject-2.1.0" = self.by-version."isobject"."2.1.0";
-      "randomatic-1.1.5" = self.by-version."randomatic"."1.1.5";
-      "repeat-element-1.1.2" = self.by-version."repeat-element"."1.1.2";
-      "repeat-string-1.5.4" = self.by-version."repeat-string"."1.5.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."finalhandler"."0.0.2" =
-    self.by-version."finalhandler"."0.0.2";
-  by-version."finalhandler"."0.0.2" = self.buildNodePackage {
-    name = "finalhandler-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.0.2.tgz";
-      name = "finalhandler-0.0.2.tgz";
-      sha1 = "0603d875ee87d567a266692815cc8ad44fcceeda";
-    };
-    deps = {
-      "debug-1.0.2" = self.by-version."debug"."1.0.2";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."finalhandler"."0.0.3" =
-    self.by-version."finalhandler"."0.0.3";
-  by-version."finalhandler"."0.0.3" = self.buildNodePackage {
-    name = "finalhandler-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.0.3.tgz";
-      name = "finalhandler-0.0.3.tgz";
-      sha1 = "5a86b7bc4dca3d1275eb0532c81ee81d747504df";
-    };
-    deps = {
-      "debug-1.0.3" = self.by-version."debug"."1.0.3";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."finalhandler"."0.4.0" =
-    self.by-version."finalhandler"."0.4.0";
-  by-version."finalhandler"."0.4.0" = self.buildNodePackage {
-    name = "finalhandler-0.4.0";
-    version = "0.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.0.tgz";
-      name = "finalhandler-0.4.0.tgz";
-      sha1 = "965a52d9e8d05d2b857548541fb89b53a2497d9b";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."finalhandler"."0.4.1" =
-    self.by-version."finalhandler"."0.4.1";
-  by-version."finalhandler"."0.4.1" = self.buildNodePackage {
-    name = "finalhandler-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/finalhandler/-/finalhandler-0.4.1.tgz";
-      name = "finalhandler-0.4.1.tgz";
-      sha1 = "85a17c6c59a94717d262d61230d4b0ebe3d4a14d";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."find-index"."^0.1.1" =
-    self.by-version."find-index"."0.1.1";
-  by-version."find-index"."0.1.1" = self.buildNodePackage {
-    name = "find-index-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/find-index/-/find-index-0.1.1.tgz";
-      name = "find-index-0.1.1.tgz";
-      sha1 = "675d358b2ca3892d795a1ab47232f8b6e2e0dde4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."find-root"."^0.1.1" =
-    self.by-version."find-root"."0.1.2";
-  by-version."find-root"."0.1.2" = self.buildNodePackage {
-    name = "find-root-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/find-root/-/find-root-0.1.2.tgz";
-      name = "find-root-0.1.2.tgz";
-      sha1 = "98d2267cff1916ccaf2743b3a0eea81d79d7dcd1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."find-up"."^1.0.0" =
-    self.by-version."find-up"."1.1.2";
-  by-version."find-up"."1.1.2" = self.buildNodePackage {
-    name = "find-up-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/find-up/-/find-up-1.1.2.tgz";
-      name = "find-up-1.1.2.tgz";
-      sha1 = "6b2e9822b1a2ce0a60ab64d610eccad53cb24d0f";
-    };
-    deps = {
-      "path-exists-2.1.0" = self.by-version."path-exists"."2.1.0";
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."find-up"."^1.1.0" =
-    self.by-version."find-up"."1.1.2";
-  by-spec."findit".">=1.1.0 <2.0.0" =
-    self.by-version."findit"."1.2.0";
-  by-version."findit"."1.2.0" = self.buildNodePackage {
-    name = "findit-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/findit/-/findit-1.2.0.tgz";
-      name = "findit-1.2.0.tgz";
-      sha1 = "f571a3a840749ae8b0cbf4bf43ced7659eec3ce8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."findup-sync"."^0.3.0" =
-    self.by-version."findup-sync"."0.3.0";
-  by-version."findup-sync"."0.3.0" = self.buildNodePackage {
-    name = "findup-sync-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/findup-sync/-/findup-sync-0.3.0.tgz";
-      name = "findup-sync-0.3.0.tgz";
-      sha1 = "37930aa5d816b777c03445e1966cc6790a4c0b16";
-    };
-    deps = {
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."findup-sync"."~0.1.2" =
-    self.by-version."findup-sync"."0.1.3";
-  by-version."findup-sync"."0.1.3" = self.buildNodePackage {
-    name = "findup-sync-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/findup-sync/-/findup-sync-0.1.3.tgz";
-      name = "findup-sync-0.1.3.tgz";
-      sha1 = "7f3e7a97b82392c653bf06589bd85190e93c3683";
-    };
-    deps = {
-      "glob-3.2.11" = self.by-version."glob"."3.2.11";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."findup-sync"."~0.3.0" =
-    self.by-version."findup-sync"."0.3.0";
-  by-spec."finished"."1.2.2" =
-    self.by-version."finished"."1.2.2";
-  by-version."finished"."1.2.2" = self.buildNodePackage {
-    name = "finished-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/finished/-/finished-1.2.2.tgz";
-      name = "finished-1.2.2.tgz";
-      sha1 = "41608eafadfd65683b46a1220bc4b1ec3daedcd8";
-    };
-    deps = {
-      "ee-first-1.0.3" = self.by-version."ee-first"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."finished"."~1.2.2" =
-    self.by-version."finished"."1.2.2";
-  by-spec."first-chunk-stream"."^1.0.0" =
-    self.by-version."first-chunk-stream"."1.0.0";
-  by-version."first-chunk-stream"."1.0.0" = self.buildNodePackage {
-    name = "first-chunk-stream-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/first-chunk-stream/-/first-chunk-stream-1.0.0.tgz";
-      name = "first-chunk-stream-1.0.0.tgz";
-      sha1 = "59bfb50cd905f60d7c394cd3d9acaab4e6ad934e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."flagged-respawn"."^0.3.2" =
-    self.by-version."flagged-respawn"."0.3.2";
-  by-version."flagged-respawn"."0.3.2" = self.buildNodePackage {
-    name = "flagged-respawn-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/flagged-respawn/-/flagged-respawn-0.3.2.tgz";
-      name = "flagged-respawn-0.3.2.tgz";
-      sha1 = "ff191eddcd7088a675b2610fffc976be9b8074b5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."flat-cache"."^1.0.9" =
-    self.by-version."flat-cache"."1.0.10";
-  by-version."flat-cache"."1.0.10" = self.buildNodePackage {
-    name = "flat-cache-1.0.10";
-    version = "1.0.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/flat-cache/-/flat-cache-1.0.10.tgz";
-      name = "flat-cache-1.0.10.tgz";
-      sha1 = "73d6df4a28502160a05e059544a6aeeae8b0047a";
-    };
-    deps = {
-      "del-2.2.0" = self.by-version."del"."2.2.0";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "read-json-sync-1.1.1" = self.by-version."read-json-sync"."1.1.1";
-      "write-0.2.1" = self.by-version."write"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."flatiron"."*" =
-    self.by-version."flatiron"."0.4.3";
-  by-version."flatiron"."0.4.3" = self.buildNodePackage {
-    name = "flatiron-0.4.3";
-    version = "0.4.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/flatiron/-/flatiron-0.4.3.tgz";
-      name = "flatiron-0.4.3.tgz";
-      sha1 = "248cf79a3da7d7dc379e2a11c92a2719cbb540f6";
-    };
-    deps = {
-      "broadway-0.3.6" = self.by-version."broadway"."0.3.6";
-      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
-      "prompt-0.2.14" = self.by-version."prompt"."0.2.14";
-      "director-1.2.7" = self.by-version."director"."1.2.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "flatiron" = self.by-version."flatiron"."0.4.3";
-  by-spec."flatiron"."~0.4.2" =
-    self.by-version."flatiron"."0.4.3";
-  by-spec."flatten"."0.0.1" =
-    self.by-version."flatten"."0.0.1";
-  by-version."flatten"."0.0.1" = self.buildNodePackage {
-    name = "flatten-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/flatten/-/flatten-0.0.1.tgz";
-      name = "flatten-0.0.1.tgz";
-      sha1 = "554440766da0a0d603999f433453f6c2fc6a75c1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."flickrapi".">=0.3.12" =
-    self.by-version."flickrapi"."0.4.2";
-  by-version."flickrapi"."0.4.2" = self.buildNodePackage {
-    name = "flickrapi-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/flickrapi/-/flickrapi-0.4.2.tgz";
-      name = "flickrapi-0.4.2.tgz";
-      sha1 = "b9866a8a9e725920d278e3b936aa6cc0a31bcb58";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "glob-3.2.11" = self.by-version."glob"."3.2.11";
-      "open-0.0.5" = self.by-version."open"."0.0.5";
-      "progress-1.1.4" = self.by-version."progress"."1.1.4";
-      "prompt-0.2.14" = self.by-version."prompt"."0.2.14";
-      "request-2.26.0" = self.by-version."request"."2.26.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fluent-ffmpeg"."^2.0.0-rc3" =
-    self.by-version."fluent-ffmpeg"."2.1.0";
-  by-version."fluent-ffmpeg"."2.1.0" = self.buildNodePackage {
-    name = "fluent-ffmpeg-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fluent-ffmpeg/-/fluent-ffmpeg-2.1.0.tgz";
-      name = "fluent-ffmpeg-2.1.0.tgz";
-      sha1 = "e6ab85e75ba8e49119a3900cd9df10d39831d392";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."flushwritable"."^1.0.0" =
-    self.by-version."flushwritable"."1.0.0";
-  by-version."flushwritable"."1.0.0" = self.buildNodePackage {
-    name = "flushwritable-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/flushwritable/-/flushwritable-1.0.0.tgz";
-      name = "flushwritable-1.0.0.tgz";
-      sha1 = "3e328d8fde412ad47e738e3be750b4d290043498";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."follow-redirects"."0.0.3" =
-    self.by-version."follow-redirects"."0.0.3";
-  by-version."follow-redirects"."0.0.3" = self.buildNodePackage {
-    name = "follow-redirects-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.3.tgz";
-      name = "follow-redirects-0.0.3.tgz";
-      sha1 = "6ce67a24db1fe13f226c1171a72a7ef2b17b8f65";
-    };
-    deps = {
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."follow-redirects"."0.0.7" =
-    self.by-version."follow-redirects"."0.0.7";
-  by-version."follow-redirects"."0.0.7" = self.buildNodePackage {
-    name = "follow-redirects-0.0.7";
-    version = "0.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-0.0.7.tgz";
-      name = "follow-redirects-0.0.7.tgz";
-      sha1 = "34b90bab2a911aa347571da90f22bd36ecd8a919";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "stream-consume-0.1.0" = self.by-version."stream-consume"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."for-in"."^0.1.5" =
-    self.by-version."for-in"."0.1.5";
-  by-version."for-in"."0.1.5" = self.buildNodePackage {
-    name = "for-in-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/for-in/-/for-in-0.1.5.tgz";
-      name = "for-in-0.1.5.tgz";
-      sha1 = "007374e2b6d5c67420a1479bdb75a04872b738c4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."for-own"."^0.1.3" =
-    self.by-version."for-own"."0.1.4";
-  by-version."for-own"."0.1.4" = self.buildNodePackage {
-    name = "for-own-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/for-own/-/for-own-0.1.4.tgz";
-      name = "for-own-0.1.4.tgz";
-      sha1 = "0149b41a39088c7515f51ebe1c1386d45f935072";
-    };
-    deps = {
-      "for-in-0.1.5" = self.by-version."for-in"."0.1.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."foreach"."^2.0.5" =
-    self.by-version."foreach"."2.0.5";
-  by-version."foreach"."2.0.5" = self.buildNodePackage {
-    name = "foreach-2.0.5";
-    version = "2.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz";
-      name = "foreach-2.0.5.tgz";
-      sha1 = "0bee005018aeb260d0a3af3ae658dd0136ec1b99";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."foreachasync"."^3.0.0" =
-    self.by-version."foreachasync"."3.0.0";
-  by-version."foreachasync"."3.0.0" = self.buildNodePackage {
-    name = "foreachasync-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/foreachasync/-/foreachasync-3.0.0.tgz";
-      name = "foreachasync-3.0.0.tgz";
-      sha1 = "5502987dc8714be3392097f32e0071c9dee07cf6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."forever"."*" =
-    self.by-version."forever"."0.15.2";
-  by-version."forever"."0.15.2" = self.buildNodePackage {
-    name = "forever-0.15.2";
-    version = "0.15.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/forever/-/forever-0.15.2.tgz";
-      name = "forever-0.15.2.tgz";
-      sha1 = "fbf21a791ac76bc1a9149a322bc177f338cf5cf9";
-    };
-    deps = {
-      "cliff-0.1.10" = self.by-version."cliff"."0.1.10";
-      "clone-1.0.2" = self.by-version."clone"."1.0.2";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "flatiron-0.4.3" = self.by-version."flatiron"."0.4.3";
-      "forever-monitor-1.6.0" = self.by-version."forever-monitor"."1.6.0";
-      "nconf-0.6.9" = self.by-version."nconf"."0.6.9";
-      "nssocket-0.5.3" = self.by-version."nssocket"."0.5.3";
-      "object-assign-3.0.0" = self.by-version."object-assign"."3.0.0";
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-      "prettyjson-1.1.3" = self.by-version."prettyjson"."1.1.3";
-      "shush-1.0.0" = self.by-version."shush"."1.0.0";
-      "timespan-2.3.0" = self.by-version."timespan"."2.3.0";
-      "utile-0.2.1" = self.by-version."utile"."0.2.1";
-      "winston-0.8.3" = self.by-version."winston"."0.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "forever" = self.by-version."forever"."0.15.2";
-  by-spec."forever-agent"."~0.2.0" =
-    self.by-version."forever-agent"."0.2.0";
-  by-version."forever-agent"."0.2.0" = self.buildNodePackage {
-    name = "forever-agent-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.2.0.tgz";
-      name = "forever-agent-0.2.0.tgz";
-      sha1 = "e1c25c7ad44e09c38f233876c76fcc24ff843b1f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."forever-agent"."~0.5.0" =
-    self.by-version."forever-agent"."0.5.2";
-  by-version."forever-agent"."0.5.2" = self.buildNodePackage {
-    name = "forever-agent-0.5.2";
-    version = "0.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.5.2.tgz";
-      name = "forever-agent-0.5.2.tgz";
-      sha1 = "6d0e09c4921f94a27f63d3b49c5feff1ea4c5130";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."forever-agent"."~0.6.0" =
-    self.by-version."forever-agent"."0.6.1";
-  by-version."forever-agent"."0.6.1" = self.buildNodePackage {
-    name = "forever-agent-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz";
-      name = "forever-agent-0.6.1.tgz";
-      sha1 = "fbc71f0c41adeb37f96c577ad1ed42d8fdacca91";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."forever-agent"."~0.6.1" =
-    self.by-version."forever-agent"."0.6.1";
-  by-spec."forever-monitor"."*" =
-    self.by-version."forever-monitor"."1.7.0";
-  by-version."forever-monitor"."1.7.0" = self.buildNodePackage {
-    name = "forever-monitor-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/forever-monitor/-/forever-monitor-1.7.0.tgz";
-      name = "forever-monitor-1.7.0.tgz";
-      sha1 = "4f3f4d42c78cbf7c795139964f85f2d9167eb192";
-    };
-    deps = {
-      "broadway-0.3.6" = self.by-version."broadway"."0.3.6";
-      "chokidar-1.5.2" = self.by-version."chokidar"."1.5.2";
-      "minimatch-2.0.10" = self.by-version."minimatch"."2.0.10";
-      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
-      "utile-0.2.1" = self.by-version."utile"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "forever-monitor" = self.by-version."forever-monitor"."1.7.0";
-  by-spec."forever-monitor"."~1.1.0" =
-    self.by-version."forever-monitor"."1.1.0";
-  by-version."forever-monitor"."1.1.0" = self.buildNodePackage {
-    name = "forever-monitor-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/forever-monitor/-/forever-monitor-1.1.0.tgz";
-      name = "forever-monitor-1.1.0.tgz";
-      sha1 = "439ce036f999601cff551aea7f5151001a869ef9";
-    };
-    deps = {
-      "broadway-0.2.10" = self.by-version."broadway"."0.2.10";
-      "minimatch-0.0.5" = self.by-version."minimatch"."0.0.5";
-      "pkginfo-0.4.0" = self.by-version."pkginfo"."0.4.0";
-      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
-      "watch-0.5.1" = self.by-version."watch"."0.5.1";
-      "utile-0.1.7" = self.by-version."utile"."0.1.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."forever-monitor"."~1.6.0" =
-    self.by-version."forever-monitor"."1.6.0";
-  by-version."forever-monitor"."1.6.0" = self.buildNodePackage {
-    name = "forever-monitor-1.6.0";
-    version = "1.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/forever-monitor/-/forever-monitor-1.6.0.tgz";
-      name = "forever-monitor-1.6.0.tgz";
-      sha1 = "3de1afd3e49f25712987281a252c02cb2463ad40";
-    };
-    deps = {
-      "broadway-0.3.6" = self.by-version."broadway"."0.3.6";
-      "chokidar-1.5.2" = self.by-version."chokidar"."1.5.2";
-      "minimatch-2.0.10" = self.by-version."minimatch"."2.0.10";
-      "ps-tree-0.0.3" = self.by-version."ps-tree"."0.0.3";
-      "utile-0.2.1" = self.by-version."utile"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."form-data"."0.1.3" =
-    self.by-version."form-data"."0.1.3";
-  by-version."form-data"."0.1.3" = self.buildNodePackage {
-    name = "form-data-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/form-data/-/form-data-0.1.3.tgz";
-      name = "form-data-0.1.3.tgz";
-      sha1 = "4ee4346e6eb5362e8344a02075bd8dbd8c7373ea";
-    };
-    deps = {
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."form-data"."1.0.0-rc3" =
-    self.by-version."form-data"."1.0.0-rc3";
-  by-version."form-data"."1.0.0-rc3" = self.buildNodePackage {
-    name = "form-data-1.0.0-rc3";
-    version = "1.0.0-rc3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc3.tgz";
-      name = "form-data-1.0.0-rc3.tgz";
-      sha1 = "d35bc62e7fbc2937ae78f948aaa0d38d90607577";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."form-data".">=0.1.2" =
-    self.by-version."form-data"."0.2.0";
-  by-version."form-data"."0.2.0" = self.buildNodePackage {
-    name = "form-data-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/form-data/-/form-data-0.2.0.tgz";
-      name = "form-data-0.2.0.tgz";
-      sha1 = "26f8bc26da6440e299cbdcfb69035c4f77a6e466";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."form-data"."^0.1.2" =
-    self.by-version."form-data"."0.1.4";
-  by-version."form-data"."0.1.4" = self.buildNodePackage {
-    name = "form-data-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/form-data/-/form-data-0.1.4.tgz";
-      name = "form-data-0.1.4.tgz";
-      sha1 = "91abd788aba9702b1aabfa8bc01031a2ac9e3b12";
-    };
-    deps = {
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."form-data"."^1.0.0-rc1" =
-    self.by-version."form-data"."1.0.0-rc4";
-  by-version."form-data"."1.0.0-rc4" = self.buildNodePackage {
-    name = "form-data-1.0.0-rc4";
-    version = "1.0.0-rc4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/form-data/-/form-data-1.0.0-rc4.tgz";
-      name = "form-data-1.0.0-rc4.tgz";
-      sha1 = "05ac6bc22227b43e4461f488161554699d4f8b5e";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."form-data"."~0.0.3" =
-    self.by-version."form-data"."0.0.10";
-  by-version."form-data"."0.0.10" = self.buildNodePackage {
-    name = "form-data-0.0.10";
-    version = "0.0.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/form-data/-/form-data-0.0.10.tgz";
-      name = "form-data-0.0.10.tgz";
-      sha1 = "db345a5378d86aeeb1ed5d553b869ac192d2f5ed";
-    };
-    deps = {
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."form-data"."~0.1.0" =
-    self.by-version."form-data"."0.1.4";
-  by-spec."form-data"."~0.2.0" =
-    self.by-version."form-data"."0.2.0";
-  by-spec."form-data"."~1.0.0-rc1" =
-    self.by-version."form-data"."1.0.0-rc4";
-  by-spec."form-data"."~1.0.0-rc3" =
-    self.by-version."form-data"."1.0.0-rc4";
-  by-spec."formatio"."1.1.1" =
-    self.by-version."formatio"."1.1.1";
-  by-version."formatio"."1.1.1" = self.buildNodePackage {
-    name = "formatio-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/formatio/-/formatio-1.1.1.tgz";
-      name = "formatio-1.1.1.tgz";
-      sha1 = "5ed3ccd636551097383465d996199100e86161e9";
-    };
-    deps = {
-      "samsam-1.1.3" = self.by-version."samsam"."1.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."formidable"."1.0.11" =
-    self.by-version."formidable"."1.0.11";
-  by-version."formidable"."1.0.11" = self.buildNodePackage {
-    name = "formidable-1.0.11";
-    version = "1.0.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/formidable/-/formidable-1.0.11.tgz";
-      name = "formidable-1.0.11.tgz";
-      sha1 = "68f63325a035e644b6f7bb3d11243b9761de1b30";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."formidable"."1.0.14" =
-    self.by-version."formidable"."1.0.14";
-  by-version."formidable"."1.0.14" = self.buildNodePackage {
-    name = "formidable-1.0.14";
-    version = "1.0.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/formidable/-/formidable-1.0.14.tgz";
-      name = "formidable-1.0.14.tgz";
-      sha1 = "2b3f4c411cbb5fdd695c44843e2a23514a43231a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."formidable"."1.0.x" =
-    self.by-version."formidable"."1.0.17";
-  by-version."formidable"."1.0.17" = self.buildNodePackage {
-    name = "formidable-1.0.17";
-    version = "1.0.17";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/formidable/-/formidable-1.0.17.tgz";
-      name = "formidable-1.0.17.tgz";
-      sha1 = "ef5491490f9433b705faa77249c99029ae348559";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."formidable"."^1.0.14" =
-    self.by-version."formidable"."1.0.17";
-  by-spec."formidable"."~1.0.14" =
-    self.by-version."formidable"."1.0.17";
-  by-spec."forwarded"."~0.1.0" =
-    self.by-version."forwarded"."0.1.0";
-  by-version."forwarded"."0.1.0" = self.buildNodePackage {
-    name = "forwarded-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/forwarded/-/forwarded-0.1.0.tgz";
-      name = "forwarded-0.1.0.tgz";
-      sha1 = "19ef9874c4ae1c297bcf078fde63a09b66a84363";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fresh"."0.1.0" =
-    self.by-version."fresh"."0.1.0";
-  by-version."fresh"."0.1.0" = self.buildNodePackage {
-    name = "fresh-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fresh/-/fresh-0.1.0.tgz";
-      name = "fresh-0.1.0.tgz";
-      sha1 = "03e4b0178424e4c2d5d19a54d8814cdc97934850";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fresh"."0.2.0" =
-    self.by-version."fresh"."0.2.0";
-  by-version."fresh"."0.2.0" = self.buildNodePackage {
-    name = "fresh-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fresh/-/fresh-0.2.0.tgz";
-      name = "fresh-0.2.0.tgz";
-      sha1 = "bfd9402cf3df12c4a4c310c79f99a3dde13d34a7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fresh"."0.2.2" =
-    self.by-version."fresh"."0.2.2";
-  by-version."fresh"."0.2.2" = self.buildNodePackage {
-    name = "fresh-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fresh/-/fresh-0.2.2.tgz";
-      name = "fresh-0.2.2.tgz";
-      sha1 = "9731dcf5678c7faeb44fb903c4f72df55187fa77";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fresh"."0.2.4" =
-    self.by-version."fresh"."0.2.4";
-  by-version."fresh"."0.2.4" = self.buildNodePackage {
-    name = "fresh-0.2.4";
-    version = "0.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fresh/-/fresh-0.2.4.tgz";
-      name = "fresh-0.2.4.tgz";
-      sha1 = "3582499206c9723714190edd74b4604feb4a614c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fresh"."0.3.0" =
-    self.by-version."fresh"."0.3.0";
-  by-version."fresh"."0.3.0" = self.buildNodePackage {
-    name = "fresh-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fresh/-/fresh-0.3.0.tgz";
-      name = "fresh-0.3.0.tgz";
-      sha1 = "651f838e22424e7566de161d8358caa199f83d4f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fresh"."~0.2.1" =
-    self.by-version."fresh"."0.2.4";
-  by-spec."from"."~0" =
-    self.by-version."from"."0.1.3";
-  by-version."from"."0.1.3" = self.buildNodePackage {
-    name = "from-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/from/-/from-0.1.3.tgz";
-      name = "from-0.1.3.tgz";
-      sha1 = "ef63ac2062ac32acf7862e0d40b44b896f22f3bc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."from2"."^1.1.0" =
-    self.by-version."from2"."1.3.0";
-  by-version."from2"."1.3.0" = self.buildNodePackage {
-    name = "from2-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/from2/-/from2-1.3.0.tgz";
-      name = "from2-1.3.0.tgz";
-      sha1 = "88413baaa5f9a597cfde9221d86986cd3c061dfd";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-access"."^1.0.0" =
-    self.by-version."fs-access"."1.0.0";
-  by-version."fs-access"."1.0.0" = self.buildNodePackage {
-    name = "fs-access-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-access/-/fs-access-1.0.0.tgz";
-      name = "fs-access-1.0.0.tgz";
-      sha1 = "e96872b1f415ae302bdda4ef05309eb4bde1934c";
-    };
-    deps = {
-      "null-check-1.0.0" = self.by-version."null-check"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-blob-store"."^5.0.0" =
-    self.by-version."fs-blob-store"."5.2.1";
-  by-version."fs-blob-store"."5.2.1" = self.buildNodePackage {
-    name = "fs-blob-store-5.2.1";
-    version = "5.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-blob-store/-/fs-blob-store-5.2.1.tgz";
-      name = "fs-blob-store-5.2.1.tgz";
-      sha1 = "2a7db7ef59a5ec548cce8564066508224c9b0457";
-    };
-    deps = {
-      "duplexify-3.4.3" = self.by-version."duplexify"."3.4.3";
-      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
-      "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-chunk-store"."^1.3.0" =
-    self.by-version."fs-chunk-store"."1.6.2";
-  by-version."fs-chunk-store"."1.6.2" = self.buildNodePackage {
-    name = "fs-chunk-store-1.6.2";
-    version = "1.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-chunk-store/-/fs-chunk-store-1.6.2.tgz";
-      name = "fs-chunk-store-1.6.2.tgz";
-      sha1 = "0a72e4c2e42885008c8bf0660204ebebc8cb62cc";
-    };
-    deps = {
-      "hat-0.0.3" = self.by-version."hat"."0.0.3";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "random-access-file-1.2.0" = self.by-version."random-access-file"."1.2.0";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "run-parallel-1.1.6" = self.by-version."run-parallel"."1.1.6";
-      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-ext"."*" =
-    self.by-version."fs-ext"."0.5.0";
-  by-version."fs-ext"."0.5.0" = self.buildNodePackage {
-    name = "fs-ext-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-ext/-/fs-ext-0.5.0.tgz";
-      name = "fs-ext-0.5.0.tgz";
-      sha1 = "9c1f9a20b8e7e012e0a914b5e19132724f44f69e";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-ext".">=0.4.1 <1.0.0-0" =
-    self.by-version."fs-ext"."0.5.0";
-  by-spec."fs-extended"."^0.2.0" =
-    self.by-version."fs-extended"."0.2.1";
-  by-version."fs-extended"."0.2.1" = self.buildNodePackage {
-    name = "fs-extended-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-extended/-/fs-extended-0.2.1.tgz";
-      name = "fs-extended-0.2.1.tgz";
-      sha1 = "3910358127e9c72c8296c30142c7763b5f5e2d3a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-extra"."0.26.7" =
-    self.by-version."fs-extra"."0.26.7";
-  by-version."fs-extra"."0.26.7" = self.buildNodePackage {
-    name = "fs-extra-0.26.7";
-    version = "0.26.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-extra/-/fs-extra-0.26.7.tgz";
-      name = "fs-extra-0.26.7.tgz";
-      sha1 = "9ae1fdd94897798edab76d0918cf42d0c3184fa9";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "jsonfile-2.3.1" = self.by-version."jsonfile"."2.3.1";
-      "klaw-1.3.0" = self.by-version."klaw"."1.3.0";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-extra"."~0.26.4" =
-    self.by-version."fs-extra"."0.26.7";
-  by-spec."fs-extra"."~0.26.5" =
-    self.by-version."fs-extra"."0.26.7";
-  by-spec."fs-extra"."~0.6.1" =
-    self.by-version."fs-extra"."0.6.4";
-  by-version."fs-extra"."0.6.4" = self.buildNodePackage {
-    name = "fs-extra-0.6.4";
-    version = "0.6.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-extra/-/fs-extra-0.6.4.tgz";
-      name = "fs-extra-0.6.4.tgz";
-      sha1 = "f46f0c75b7841f8d200b3348cd4d691d5a099d15";
-    };
-    deps = {
-      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "jsonfile-1.0.1" = self.by-version."jsonfile"."1.0.1";
-      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-extra"."~0.7.0" =
-    self.by-version."fs-extra"."0.7.1";
-  by-version."fs-extra"."0.7.1" = self.buildNodePackage {
-    name = "fs-extra-0.7.1";
-    version = "0.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-extra/-/fs-extra-0.7.1.tgz";
-      name = "fs-extra-0.7.1.tgz";
-      sha1 = "516505a3be70c1bead91df000ceb9955ab1b5f8b";
-    };
-    deps = {
-      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "jsonfile-1.1.1" = self.by-version."jsonfile"."1.1.1";
-      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-vacuum"."~1.2.9" =
-    self.by-version."fs-vacuum"."1.2.9";
-  by-version."fs-vacuum"."1.2.9" = self.buildNodePackage {
-    name = "fs-vacuum-1.2.9";
-    version = "1.2.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-vacuum/-/fs-vacuum-1.2.9.tgz";
-      name = "fs-vacuum-1.2.9.tgz";
-      sha1 = "4f90193ab8ea02890995bcd4e804659a5d366b2d";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs-walk"."*" =
-    self.by-version."fs-walk"."0.0.1";
-  by-version."fs-walk"."0.0.1" = self.buildNodePackage {
-    name = "fs-walk-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-walk/-/fs-walk-0.0.1.tgz";
-      name = "fs-walk-0.0.1.tgz";
-      sha1 = "f7fc91c3ae1eead07c998bc5d0dd41f2dbebd335";
-    };
-    deps = {
-      "async-2.0.0-rc.6" = self.by-version."async"."2.0.0-rc.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "fs-walk" = self.by-version."fs-walk"."0.0.1";
-  by-spec."fs-write-stream-atomic"."~1.0.8" =
-    self.by-version."fs-write-stream-atomic"."1.0.8";
-  by-version."fs-write-stream-atomic"."1.0.8" = self.buildNodePackage {
-    name = "fs-write-stream-atomic-1.0.8";
-    version = "1.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.8.tgz";
-      name = "fs-write-stream-atomic-1.0.8.tgz";
-      sha1 = "e49aaddf288f87d46ff9e882f216a13abc40778b";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "iferr-0.1.5" = self.by-version."iferr"."0.1.5";
-      "imurmurhash-0.1.4" = self.by-version."imurmurhash"."0.1.4";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs.extra".">=1.2.0 <2.0.0" =
-    self.by-version."fs.extra"."1.3.2";
-  by-version."fs.extra"."1.3.2" = self.buildNodePackage {
-    name = "fs.extra-1.3.2";
-    version = "1.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs.extra/-/fs.extra-1.3.2.tgz";
-      name = "fs.extra-1.3.2.tgz";
-      sha1 = "dd023f93013bee24531f1b33514c37b20fd93349";
-    };
-    deps = {
-      "fs-extra-0.6.4" = self.by-version."fs-extra"."0.6.4";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "walk-2.3.9" = self.by-version."walk"."2.3.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fs.notify"."0.0.4" =
-    self.by-version."fs.notify"."0.0.4";
-  by-version."fs.notify"."0.0.4" = self.buildNodePackage {
-    name = "fs.notify-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fs.notify/-/fs.notify-0.0.4.tgz";
-      name = "fs.notify-0.0.4.tgz";
-      sha1 = "63284d45a34b52ce60088a6ddbec5b776d3c013d";
-    };
-    deps = {
-      "async-0.1.22" = self.by-version."async"."0.1.22";
-      "retry-0.6.1" = self.by-version."retry"."0.6.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fsevents"."^1.0.0" =
-    self.by-version."fsevents"."1.0.12";
-  by-version."fsevents"."1.0.12" = self.buildNodePackage {
-    name = "fsevents-1.0.12";
-    version = "1.0.12";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fsevents/-/fsevents-1.0.12.tgz";
-      name = "fsevents-1.0.12.tgz";
-      sha1 = "7929e211c0b31f37f2f0fc346f315e403d7ed33b";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-      "node-pre-gyp-0.6.28" = self.by-version."node-pre-gyp"."0.6.28";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ "darwin" ];
-    cpu = [ ];
-  };
-  by-spec."fstream"."^1.0.0" =
-    self.by-version."fstream"."1.0.9";
-  by-version."fstream"."1.0.9" = self.buildNodePackage {
-    name = "fstream-1.0.9";
-    version = "1.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fstream/-/fstream-1.0.9.tgz";
-      name = "fstream-1.0.9.tgz";
-      sha1 = "5d9c2f0270e475fa8eb9db60e26975a3ae8d2abc";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fstream"."^1.0.2" =
-    self.by-version."fstream"."1.0.9";
-  by-spec."fstream"."~0.1.8" =
-    self.by-version."fstream"."0.1.31";
-  by-version."fstream"."0.1.31" = self.buildNodePackage {
-    name = "fstream-0.1.31";
-    version = "0.1.31";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fstream/-/fstream-0.1.31.tgz";
-      name = "fstream-0.1.31.tgz";
-      sha1 = "7337f058fbbbbefa8c9f561a28cab0849202c988";
-    };
-    deps = {
-      "graceful-fs-3.0.8" = self.by-version."graceful-fs"."3.0.8";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fstream"."~1.0.8" =
-    self.by-version."fstream"."1.0.9";
-  by-spec."fstream-ignore"."^1.0.0" =
-    self.by-version."fstream-ignore"."1.0.5";
-  by-version."fstream-ignore"."1.0.5" = self.buildNodePackage {
-    name = "fstream-ignore-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fstream-ignore/-/fstream-ignore-1.0.5.tgz";
-      name = "fstream-ignore-1.0.5.tgz";
-      sha1 = "9c31dae34767018fe1d249b24dada67d092da105";
-    };
-    deps = {
-      "fstream-1.0.9" = self.by-version."fstream"."1.0.9";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fstream-ignore"."~1.0.3" =
-    self.by-version."fstream-ignore"."1.0.5";
-  by-spec."fstream-npm"."~1.0.7" =
-    self.by-version."fstream-npm"."1.0.7";
-  by-version."fstream-npm"."1.0.7" = self.buildNodePackage {
-    name = "fstream-npm-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.0.7.tgz";
-      name = "fstream-npm-1.0.7.tgz";
-      sha1 = "7ed0d1ac13d7686dd9e1bf6ceb8be273bf6d2f86";
-    };
-    deps = {
-      "fstream-ignore-1.0.5" = self.by-version."fstream-ignore"."1.0.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."fstream-npm"."~1.1.0" =
-    self.by-version."fstream-npm"."1.1.0";
-  by-version."fstream-npm"."1.1.0" = self.buildNodePackage {
-    name = "fstream-npm-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/fstream-npm/-/fstream-npm-1.1.0.tgz";
-      name = "fstream-npm-1.1.0.tgz";
-      sha1 = "80e09743485eaa70d57e89d1ff8fafa366cdefea";
-    };
-    deps = {
-      "fstream-ignore-1.0.5" = self.by-version."fstream-ignore"."1.0.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ftp"."~0.3.5" =
-    self.by-version."ftp"."0.3.10";
-  by-version."ftp"."0.3.10" = self.buildNodePackage {
-    name = "ftp-0.3.10";
-    version = "0.3.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ftp/-/ftp-0.3.10.tgz";
-      name = "ftp-0.3.10.tgz";
-      sha1 = "9197d861ad8142f3e63d5a83bfe4c59f7330885d";
-    };
-    deps = {
-      "xregexp-2.0.0" = self.by-version."xregexp"."2.0.0";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."function-bind"."^1.0.2" =
-    self.by-version."function-bind"."1.1.0";
-  by-version."function-bind"."1.1.0" = self.buildNodePackage {
-    name = "function-bind-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.0.tgz";
-      name = "function-bind-1.1.0.tgz";
-      sha1 = "16176714c801798e4e8f2cf7f7529467bb4a5771";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gapitoken"."^0.1.3" =
-    self.by-version."gapitoken"."0.1.5";
-  by-version."gapitoken"."0.1.5" = self.buildNodePackage {
-    name = "gapitoken-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gapitoken/-/gapitoken-0.1.5.tgz";
-      name = "gapitoken-0.1.5.tgz";
-      sha1 = "3577fcfb5426be3a7b8ebada92671229d8cc81ce";
-    };
-    deps = {
-      "jws-3.0.0" = self.by-version."jws"."3.0.0";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gapitoken"."~0.1.2" =
-    self.by-version."gapitoken"."0.1.5";
-  by-spec."gauge"."~1.2.5" =
-    self.by-version."gauge"."1.2.7";
-  by-version."gauge"."1.2.7" = self.buildNodePackage {
-    name = "gauge-1.2.7";
-    version = "1.2.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gauge/-/gauge-1.2.7.tgz";
-      name = "gauge-1.2.7.tgz";
-      sha1 = "e9cec5483d3d4ee0ef44b60a7d99e4935e136d93";
-    };
-    deps = {
-      "ansi-0.3.1" = self.by-version."ansi"."0.3.1";
-      "has-unicode-2.0.0" = self.by-version."has-unicode"."2.0.0";
-      "lodash.pad-4.4.0" = self.by-version."lodash.pad"."4.4.0";
-      "lodash.padend-4.5.0" = self.by-version."lodash.padend"."4.5.0";
-      "lodash.padstart-4.5.0" = self.by-version."lodash.padstart"."4.5.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gauge"."~2.5.0" =
-    self.by-version."gauge"."2.5.0";
-  by-version."gauge"."2.5.0" = self.buildNodePackage {
-    name = "gauge-2.5.0";
-    version = "2.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gauge/-/gauge-2.5.0.tgz";
-      name = "gauge-2.5.0.tgz";
-      sha1 = "15094f34e20bfce7b3e6ff439818e28027aa2440";
-    };
-    deps = {
-      "aproba-1.0.3" = self.by-version."aproba"."1.0.3";
-      "has-color-0.1.7" = self.by-version."has-color"."0.1.7";
-      "has-unicode-2.0.0" = self.by-version."has-unicode"."2.0.0";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "signal-exit-2.1.2" = self.by-version."signal-exit"."2.1.2";
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "wide-align-1.1.0" = self.by-version."wide-align"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gaze"."^0.5.1" =
-    self.by-version."gaze"."0.5.2";
-  by-version."gaze"."0.5.2" = self.buildNodePackage {
-    name = "gaze-0.5.2";
-    version = "0.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gaze/-/gaze-0.5.2.tgz";
-      name = "gaze-0.5.2.tgz";
-      sha1 = "40b709537d24d1d45767db5a908689dfe69ac44f";
-    };
-    deps = {
-      "globule-0.1.0" = self.by-version."globule"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gcloud"."^0.10.0" =
-    self.by-version."gcloud"."0.10.0";
-  by-version."gcloud"."0.10.0" = self.buildNodePackage {
-    name = "gcloud-0.10.0";
-    version = "0.10.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gcloud/-/gcloud-0.10.0.tgz";
-      name = "gcloud-0.10.0.tgz";
-      sha1 = "855a26b3531dc7b0791513fffb89fc65921f43ee";
-    };
-    deps = {
-      "duplexify-3.4.3" = self.by-version."duplexify"."3.4.3";
-      "extend-1.3.0" = self.by-version."extend"."1.3.0";
-      "gapitoken-0.1.5" = self.by-version."gapitoken"."0.1.5";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "protobufjs-3.8.2" = self.by-version."protobufjs"."3.8.2";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "stream-events-1.0.1" = self.by-version."stream-events"."1.0.1";
-      "through2-0.6.5" = self.by-version."through2"."0.6.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gelf-stream"."~0.2.4" =
-    self.by-version."gelf-stream"."0.2.4";
-  by-version."gelf-stream"."0.2.4" = self.buildNodePackage {
-    name = "gelf-stream-0.2.4";
-    version = "0.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gelf-stream/-/gelf-stream-0.2.4.tgz";
-      name = "gelf-stream-0.2.4.tgz";
-      sha1 = "a418c8c2e39b85b7932a3e8523f6022d6852e013";
-    };
-    deps = {
-      "gelfling-0.2.0" = self.by-version."gelfling"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gelfling"."~0.2.0" =
-    self.by-version."gelfling"."0.2.0";
-  by-version."gelfling"."0.2.0" = self.buildNodePackage {
-    name = "gelfling-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gelfling/-/gelfling-0.2.0.tgz";
-      name = "gelfling-0.2.0.tgz";
-      sha1 = "23a13c366883adae32ecfd252a566be302b88dc3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."generate-function"."^2.0.0" =
-    self.by-version."generate-function"."2.0.0";
-  by-version."generate-function"."2.0.0" = self.buildNodePackage {
-    name = "generate-function-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/generate-function/-/generate-function-2.0.0.tgz";
-      name = "generate-function-2.0.0.tgz";
-      sha1 = "6858fe7c0969b7d4e9093337647ac79f60dfbe74";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."generate-object-property"."^1.1.0" =
-    self.by-version."generate-object-property"."1.2.0";
-  by-version."generate-object-property"."1.2.0" = self.buildNodePackage {
-    name = "generate-object-property-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/generate-object-property/-/generate-object-property-1.2.0.tgz";
-      name = "generate-object-property-1.2.0.tgz";
-      sha1 = "9c0e1c40308ce804f4783618b937fa88f99d50d0";
-    };
-    deps = {
-      "is-property-1.0.2" = self.by-version."is-property"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."generate-schema"."^2.1.1" =
-    self.by-version."generate-schema"."2.1.1";
-  by-version."generate-schema"."2.1.1" = self.buildNodePackage {
-    name = "generate-schema-2.1.1";
-    version = "2.1.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/generate-schema/-/generate-schema-2.1.1.tgz";
-      name = "generate-schema-2.1.1.tgz";
-      sha1 = "d93e50e08460c02d58cada55317e9f4f588a7d42";
-    };
-    deps = {
-      "type-of-is-3.4.0" = self.by-version."type-of-is"."3.4.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."get-browser-rtc"."^1.0.0" =
-    self.by-version."get-browser-rtc"."1.0.2";
-  by-version."get-browser-rtc"."1.0.2" = self.buildNodePackage {
-    name = "get-browser-rtc-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/get-browser-rtc/-/get-browser-rtc-1.0.2.tgz";
-      name = "get-browser-rtc-1.0.2.tgz";
-      sha1 = "bbcd40c8451a7ed4ef5c373b8169a409dd1d11d9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."get-stdin"."^4.0.1" =
-    self.by-version."get-stdin"."4.0.1";
-  by-version."get-stdin"."4.0.1" = self.buildNodePackage {
-    name = "get-stdin-4.0.1";
-    version = "4.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/get-stdin/-/get-stdin-4.0.1.tgz";
-      name = "get-stdin-4.0.1.tgz";
-      sha1 = "b968c6b0a04384324902e8bf1a5df32579a450fe";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."get-stdin"."^5.0.1" =
-    self.by-version."get-stdin"."5.0.1";
-  by-version."get-stdin"."5.0.1" = self.buildNodePackage {
-    name = "get-stdin-5.0.1";
-    version = "5.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/get-stdin/-/get-stdin-5.0.1.tgz";
-      name = "get-stdin-5.0.1.tgz";
-      sha1 = "122e161591e21ff4c52530305693f20e6393a398";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."get-uri"."~0.1.0" =
-    self.by-version."get-uri"."0.1.4";
-  by-version."get-uri"."0.1.4" = self.buildNodePackage {
-    name = "get-uri-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/get-uri/-/get-uri-0.1.4.tgz";
-      name = "get-uri-0.1.4.tgz";
-      sha1 = "35f8a7954c129fb132ff2ddf5ed81a57cb8a9e54";
-    };
-    deps = {
-      "data-uri-to-buffer-0.0.4" = self.by-version."data-uri-to-buffer"."0.0.4";
-      "ftp-0.3.10" = self.by-version."ftp"."0.3.10";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "file-uri-to-path-0.0.2" = self.by-version."file-uri-to-path"."0.0.2";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."getmac"."~1.0.7" =
-    self.by-version."getmac"."1.0.7";
-  by-version."getmac"."1.0.7" = self.buildNodePackage {
-    name = "getmac-1.0.7";
-    version = "1.0.7";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/getmac/-/getmac-1.0.7.tgz";
-      name = "getmac-1.0.7.tgz";
-      sha1 = "94460f9778698d2e159a03da6c165689f22cdd67";
-    };
-    deps = {
-      "extract-opts-2.2.0" = self.by-version."extract-opts"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."getobject"."~0.1.0" =
-    self.by-version."getobject"."0.1.0";
-  by-version."getobject"."0.1.0" = self.buildNodePackage {
-    name = "getobject-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/getobject/-/getobject-0.1.0.tgz";
-      name = "getobject-0.1.0.tgz";
-      sha1 = "047a449789fa160d018f5486ed91320b6ec7885c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."getpass"."^0.1.1" =
-    self.by-version."getpass"."0.1.6";
-  by-version."getpass"."0.1.6" = self.buildNodePackage {
-    name = "getpass-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/getpass/-/getpass-0.1.6.tgz";
-      name = "getpass-0.1.6.tgz";
-      sha1 = "283ffd9fc1256840875311c1b60e8c40187110e6";
-    };
-    deps = {
-      "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."git-run"."*" =
-    self.by-version."git-run"."0.5.1";
-  by-version."git-run"."0.5.1" = self.buildNodePackage {
-    name = "git-run-0.5.1";
-    version = "0.5.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/git-run/-/git-run-0.5.1.tgz";
-      name = "git-run-0.5.1.tgz";
-      sha1 = "7d9cb28a9e8e1076d005b94baa6ec5c6316fe1e9";
-    };
-    deps = {
-      "minilog-2.0.8" = self.by-version."minilog"."2.0.8";
-      "tabtab-0.0.2" = self.by-version."tabtab"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "git-run" = self.by-version."git-run"."0.5.1";
-  by-spec."github"."^0.2.4" =
-    self.by-version."github"."0.2.4";
-  by-version."github"."0.2.4" = self.buildNodePackage {
-    name = "github-0.2.4";
-    version = "0.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/github/-/github-0.2.4.tgz";
-      name = "github-0.2.4.tgz";
-      sha1 = "24fa7f0e13fa11b946af91134c51982a91ce538b";
-    };
-    deps = {
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."github-url-from-git"."~1.4.0" =
-    self.by-version."github-url-from-git"."1.4.0";
-  by-version."github-url-from-git"."1.4.0" = self.buildNodePackage {
-    name = "github-url-from-git-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/github-url-from-git/-/github-url-from-git-1.4.0.tgz";
-      name = "github-url-from-git-1.4.0.tgz";
-      sha1 = "285e6b520819001bde128674704379e4ff03e0de";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."github-url-from-username-repo"."~1.0.2" =
-    self.by-version."github-url-from-username-repo"."1.0.2";
-  by-version."github-url-from-username-repo"."1.0.2" = self.buildNodePackage {
-    name = "github-url-from-username-repo-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/github-url-from-username-repo/-/github-url-from-username-repo-1.0.2.tgz";
-      name = "github-url-from-username-repo-1.0.2.tgz";
-      sha1 = "7dd79330d2abe69c10c2cef79714c97215791dfa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."3" =
-    self.by-version."glob"."3.2.11";
-  by-version."glob"."3.2.11" = self.buildNodePackage {
-    name = "glob-3.2.11";
-    version = "3.2.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob/-/glob-3.2.11.tgz";
-      name = "glob-3.2.11.tgz";
-      sha1 = "4a973f635b9190f715d10987d5c00fd2815ebe3d";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-0.3.0" = self.by-version."minimatch"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."3 || 4" =
-    self.by-version."glob"."4.5.3";
-  by-version."glob"."4.5.3" = self.buildNodePackage {
-    name = "glob-4.5.3";
-    version = "4.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob/-/glob-4.5.3.tgz";
-      name = "glob-4.5.3.tgz";
-      sha1 = "c6cb73d3226c1efef04de3c56d012f03377ee15f";
-    };
-    deps = {
-      "inflight-1.0.5" = self.by-version."inflight"."1.0.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-2.0.10" = self.by-version."minimatch"."2.0.10";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."3.2.11" =
-    self.by-version."glob"."3.2.11";
-  by-spec."glob"."3.2.x" =
-    self.by-version."glob"."3.2.11";
-  by-spec."glob"."5.x" =
-    self.by-version."glob"."5.0.15";
-  by-version."glob"."5.0.15" = self.buildNodePackage {
-    name = "glob-5.0.15";
-    version = "5.0.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob/-/glob-5.0.15.tgz";
-      name = "glob-5.0.15.tgz";
-      sha1 = "1bc936b9e02f4a603fcc222ecf7633d30b8b93b1";
-    };
-    deps = {
-      "inflight-1.0.5" = self.by-version."inflight"."1.0.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."6.0.4" =
-    self.by-version."glob"."6.0.4";
-  by-version."glob"."6.0.4" = self.buildNodePackage {
-    name = "glob-6.0.4";
-    version = "6.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob/-/glob-6.0.4.tgz";
-      name = "glob-6.0.4.tgz";
-      sha1 = "0f08860f6a155127b2fadd4f9ce24b1aab6e4d22";
-    };
-    deps = {
-      "inflight-1.0.5" = self.by-version."inflight"."1.0.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."7.0.x" =
-    self.by-version."glob"."7.0.3";
-  by-version."glob"."7.0.3" = self.buildNodePackage {
-    name = "glob-7.0.3";
-    version = "7.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob/-/glob-7.0.3.tgz";
-      name = "glob-7.0.3.tgz";
-      sha1 = "0aa235931a4a96ac13d60ffac2fb877bd6ed4f58";
-    };
-    deps = {
-      "inflight-1.0.5" = self.by-version."inflight"."1.0.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."^4.0.5" =
-    self.by-version."glob"."4.5.3";
-  by-spec."glob"."^4.3.1" =
-    self.by-version."glob"."4.5.3";
-  by-spec."glob"."^5.0.0" =
-    self.by-version."glob"."5.0.15";
-  by-spec."glob"."^5.0.13" =
-    self.by-version."glob"."5.0.15";
-  by-spec."glob"."^5.0.14" =
-    self.by-version."glob"."5.0.15";
-  by-spec."glob"."^5.0.15" =
-    self.by-version."glob"."5.0.15";
-  by-spec."glob"."^5.0.3" =
-    self.by-version."glob"."5.0.15";
-  by-spec."glob"."^5.0.5" =
-    self.by-version."glob"."5.0.15";
-  by-spec."glob"."^6.0.0" =
-    self.by-version."glob"."6.0.4";
-  by-spec."glob"."^6.0.1" =
-    self.by-version."glob"."6.0.4";
-  by-spec."glob"."^7.0.0" =
-    self.by-version."glob"."7.0.3";
-  by-spec."glob"."^7.0.3" =
-    self.by-version."glob"."7.0.3";
-  by-spec."glob"."~ 3.2.1" =
-    self.by-version."glob"."3.2.11";
-  by-spec."glob"."~3.1.21" =
-    self.by-version."glob"."3.1.21";
-  by-version."glob"."3.1.21" = self.buildNodePackage {
-    name = "glob-3.1.21";
-    version = "3.1.21";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob/-/glob-3.1.21.tgz";
-      name = "glob-3.1.21.tgz";
-      sha1 = "d29e0a055dea5138f4d07ed40e8982e83c2066cd";
-    };
-    deps = {
-      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
-      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
-      "inherits-1.0.2" = self.by-version."inherits"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."~3.2.6" =
-    self.by-version."glob"."3.2.11";
-  by-spec."glob"."~3.2.9" =
-    self.by-version."glob"."3.2.11";
-  by-spec."glob"."~4.0.6" =
-    self.by-version."glob"."4.0.6";
-  by-version."glob"."4.0.6" = self.buildNodePackage {
-    name = "glob-4.0.6";
-    version = "4.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob/-/glob-4.0.6.tgz";
-      name = "glob-4.0.6.tgz";
-      sha1 = "695c50bdd4e2fb5c5d370b091f388d3707e291a7";
-    };
-    deps = {
-      "graceful-fs-3.0.8" = self.by-version."graceful-fs"."3.0.8";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."~4.3.0" =
-    self.by-version."glob"."4.3.5";
-  by-version."glob"."4.3.5" = self.buildNodePackage {
-    name = "glob-4.3.5";
-    version = "4.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob/-/glob-4.3.5.tgz";
-      name = "glob-4.3.5.tgz";
-      sha1 = "80fbb08ca540f238acce5d11d1e9bc41e75173d3";
-    };
-    deps = {
-      "inflight-1.0.5" = self.by-version."inflight"."1.0.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimatch-2.0.10" = self.by-version."minimatch"."2.0.10";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob"."~5.0.0" =
-    self.by-version."glob"."5.0.15";
-  by-spec."glob"."~7.0.0" =
-    self.by-version."glob"."7.0.3";
-  by-spec."glob"."~7.0.3" =
-    self.by-version."glob"."7.0.3";
-  by-spec."glob-base"."^0.3.0" =
-    self.by-version."glob-base"."0.3.0";
-  by-version."glob-base"."0.3.0" = self.buildNodePackage {
-    name = "glob-base-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob-base/-/glob-base-0.3.0.tgz";
-      name = "glob-base-0.3.0.tgz";
-      sha1 = "dbb164f6221b1c0b1ccf82aea328b497df0ea3c4";
-    };
-    deps = {
-      "glob-parent-2.0.0" = self.by-version."glob-parent"."2.0.0";
-      "is-glob-2.0.1" = self.by-version."is-glob"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob-parent"."^2.0.0" =
-    self.by-version."glob-parent"."2.0.0";
-  by-version."glob-parent"."2.0.0" = self.buildNodePackage {
-    name = "glob-parent-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob-parent/-/glob-parent-2.0.0.tgz";
-      name = "glob-parent-2.0.0.tgz";
-      sha1 = "81383d72db054fcccf5336daa902f182f6edbb28";
-    };
-    deps = {
-      "is-glob-2.0.1" = self.by-version."is-glob"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob-stream"."^3.1.5" =
-    self.by-version."glob-stream"."3.1.18";
-  by-version."glob-stream"."3.1.18" = self.buildNodePackage {
-    name = "glob-stream-3.1.18";
-    version = "3.1.18";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob-stream/-/glob-stream-3.1.18.tgz";
-      name = "glob-stream-3.1.18.tgz";
-      sha1 = "9170a5f12b790306fdfe598f313f8f7954fd143b";
-    };
-    deps = {
-      "glob-4.5.3" = self.by-version."glob"."4.5.3";
-      "minimatch-2.0.10" = self.by-version."minimatch"."2.0.10";
-      "ordered-read-streams-0.1.0" = self.by-version."ordered-read-streams"."0.1.0";
-      "glob2base-0.0.12" = self.by-version."glob2base"."0.0.12";
-      "unique-stream-1.0.0" = self.by-version."unique-stream"."1.0.0";
-      "through2-0.6.5" = self.by-version."through2"."0.6.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob-stream"."^5.3.2" =
-    self.by-version."glob-stream"."5.3.2";
-  by-version."glob-stream"."5.3.2" = self.buildNodePackage {
-    name = "glob-stream-5.3.2";
-    version = "5.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob-stream/-/glob-stream-5.3.2.tgz";
-      name = "glob-stream-5.3.2.tgz";
-      sha1 = "cdfdaf7c3243cd53430a84dc934fa39d8c5da1a5";
-    };
-    deps = {
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-      "glob-parent-2.0.0" = self.by-version."glob-parent"."2.0.0";
-      "micromatch-2.3.8" = self.by-version."micromatch"."2.3.8";
-      "ordered-read-streams-0.3.0" = self.by-version."ordered-read-streams"."0.3.0";
-      "through2-0.6.5" = self.by-version."through2"."0.6.5";
-      "to-absolute-glob-0.1.1" = self.by-version."to-absolute-glob"."0.1.1";
-      "unique-stream-2.2.1" = self.by-version."unique-stream"."2.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob-watcher"."^0.0.6" =
-    self.by-version."glob-watcher"."0.0.6";
-  by-version."glob-watcher"."0.0.6" = self.buildNodePackage {
-    name = "glob-watcher-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob-watcher/-/glob-watcher-0.0.6.tgz";
-      name = "glob-watcher-0.0.6.tgz";
-      sha1 = "b95b4a8df74b39c83298b0c05c978b4d9a3b710b";
-    };
-    deps = {
-      "gaze-0.5.2" = self.by-version."gaze"."0.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glob2base"."^0.0.12" =
-    self.by-version."glob2base"."0.0.12";
-  by-version."glob2base"."0.0.12" = self.buildNodePackage {
-    name = "glob2base-0.0.12";
-    version = "0.0.12";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glob2base/-/glob2base-0.0.12.tgz";
-      name = "glob2base-0.0.12.tgz";
-      sha1 = "9d419b3e28f12e83a362164a277055922c9c0d56";
-    };
-    deps = {
-      "find-index-0.1.1" = self.by-version."find-index"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."global"."https://github.com/component/global/archive/v2.0.1.tar.gz" =
-    self.by-version."global"."2.0.1";
-  by-version."global"."2.0.1" = self.buildNodePackage {
-    name = "global-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://github.com/component/global/archive/v2.0.1.tar.gz";
-      name = "global-2.0.1.tgz";
-      sha256 = "42be02b7148745447f6ba21137c972ca82d2cad92d30d63bd4fc310623901785";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."globals"."^9.2.0" =
-    self.by-version."globals"."9.8.0";
-  by-version."globals"."9.8.0" = self.buildNodePackage {
-    name = "globals-9.8.0";
-    version = "9.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/globals/-/globals-9.8.0.tgz";
-      name = "globals-9.8.0.tgz";
-      sha1 = "a436ecf6214e5f73f110a400305325330a7cfd50";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."globby"."^4.0.0" =
-    self.by-version."globby"."4.1.0";
-  by-version."globby"."4.1.0" = self.buildNodePackage {
-    name = "globby-4.1.0";
-    version = "4.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/globby/-/globby-4.1.0.tgz";
-      name = "globby-4.1.0.tgz";
-      sha1 = "080f54549ec1b82a6c60e631fc82e1211dbe95f8";
-    };
-    deps = {
-      "array-union-1.0.1" = self.by-version."array-union"."1.0.1";
-      "arrify-1.0.1" = self.by-version."arrify"."1.0.1";
-      "glob-6.0.4" = self.by-version."glob"."6.0.4";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "pify-2.3.0" = self.by-version."pify"."2.3.0";
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."globule"."~0.1.0" =
-    self.by-version."globule"."0.1.0";
-  by-version."globule"."0.1.0" = self.buildNodePackage {
-    name = "globule-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/globule/-/globule-0.1.0.tgz";
-      name = "globule-0.1.0.tgz";
-      sha1 = "d9c8edde1da79d125a151b79533b978676346ae5";
-    };
-    deps = {
-      "lodash-1.0.2" = self.by-version."lodash"."1.0.2";
-      "glob-3.1.21" = self.by-version."glob"."3.1.21";
-      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."glogg"."^1.0.0" =
-    self.by-version."glogg"."1.0.0";
-  by-version."glogg"."1.0.0" = self.buildNodePackage {
-    name = "glogg-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/glogg/-/glogg-1.0.0.tgz";
-      name = "glogg-1.0.0.tgz";
-      sha1 = "7fe0f199f57ac906cf512feead8f90ee4a284fc5";
-    };
-    deps = {
-      "sparkles-1.0.0" = self.by-version."sparkles"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."google-auth-library"."^0.9.6" =
-    self.by-version."google-auth-library"."0.9.8";
-  by-version."google-auth-library"."0.9.8" = self.buildNodePackage {
-    name = "google-auth-library-0.9.8";
-    version = "0.9.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-0.9.8.tgz";
-      name = "google-auth-library-0.9.8.tgz";
-      sha1 = "667acb8cc2242d8da83f7d308d76ac434ef53679";
-    };
-    deps = {
-      "async-1.4.2" = self.by-version."async"."1.4.2";
-      "gtoken-1.2.1" = self.by-version."gtoken"."1.2.1";
-      "lodash.noop-3.0.1" = self.by-version."lodash.noop"."3.0.1";
-      "jws-3.0.0" = self.by-version."jws"."3.0.0";
-      "request-2.60.0" = self.by-version."request"."2.60.0";
-      "string-template-0.2.1" = self.by-version."string-template"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."google-oauth-jwt"."~0.1.4" =
-    self.by-version."google-oauth-jwt"."0.1.7";
-  by-version."google-oauth-jwt"."0.1.7" = self.buildNodePackage {
-    name = "google-oauth-jwt-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/google-oauth-jwt/-/google-oauth-jwt-0.1.7.tgz";
-      name = "google-oauth-jwt-0.1.7.tgz";
-      sha1 = "3ebb79848aba2602aecc0b482244253df8238033";
-    };
-    deps = {
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."google-p12-pem"."^0.1.0" =
-    self.by-version."google-p12-pem"."0.1.0";
-  by-version."google-p12-pem"."0.1.0" = self.buildNodePackage {
-    name = "google-p12-pem-0.1.0";
-    version = "0.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-0.1.0.tgz";
-      name = "google-p12-pem-0.1.0.tgz";
-      sha1 = "fb2523bf84ff74676e84c72b4def50961e617d1c";
-    };
-    deps = {
-      "node-forge-0.6.39" = self.by-version."node-forge"."0.6.39";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."googleapis"."0.8.0" =
-    self.by-version."googleapis"."0.8.0";
-  by-version."googleapis"."0.8.0" = self.buildNodePackage {
-    name = "googleapis-0.8.0";
-    version = "0.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/googleapis/-/googleapis-0.8.0.tgz";
-      name = "googleapis-0.8.0.tgz";
-      sha1 = "b7bdf177ee839f1bab5cf5e65cb4d0d74f27a86b";
-    };
-    deps = {
-      "request-2.34.0" = self.by-version."request"."2.34.0";
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "gapitoken-0.1.5" = self.by-version."gapitoken"."0.1.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."googleapis"."^1.0.20" =
-    self.by-version."googleapis"."1.1.5";
-  by-version."googleapis"."1.1.5" = self.buildNodePackage {
-    name = "googleapis-1.1.5";
-    version = "1.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/googleapis/-/googleapis-1.1.5.tgz";
-      name = "googleapis-1.1.5.tgz";
-      sha1 = "e10150ac9e8b25fb51799f10ed946c5b9f8064aa";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "gapitoken-0.1.5" = self.by-version."gapitoken"."0.1.5";
-      "request-2.51.0" = self.by-version."request"."2.51.0";
-      "string-template-0.2.1" = self.by-version."string-template"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."googleclientlogin"."~0.2.8" =
-    self.by-version."googleclientlogin"."0.2.8";
-  by-version."googleclientlogin"."0.2.8" = self.buildNodePackage {
-    name = "googleclientlogin-0.2.8";
-    version = "0.2.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/googleclientlogin/-/googleclientlogin-0.2.8.tgz";
-      name = "googleclientlogin-0.2.8.tgz";
-      sha1 = "953ba87bbe8feda8f7e70f9f7721b29a503f8df0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."got"."^1.2.2" =
-    self.by-version."got"."1.2.2";
-  by-version."got"."1.2.2" = self.buildNodePackage {
-    name = "got-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/got/-/got-1.2.2.tgz";
-      name = "got-1.2.2.tgz";
-      sha1 = "d9430ba32f6a30218243884418767340aafc0400";
-    };
-    deps = {
-      "object-assign-1.0.0" = self.by-version."object-assign"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."got"."^2.7.2" =
-    self.by-version."got"."2.9.2";
-  by-version."got"."2.9.2" = self.buildNodePackage {
-    name = "got-2.9.2";
-    version = "2.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/got/-/got-2.9.2.tgz";
-      name = "got-2.9.2.tgz";
-      sha1 = "2e1ee58ea1e8d201e25ae580b96e63c15fefd4ee";
-    };
-    deps = {
-      "duplexify-3.4.3" = self.by-version."duplexify"."3.4.3";
-      "infinity-agent-2.0.3" = self.by-version."infinity-agent"."2.0.3";
-      "is-stream-1.1.0" = self.by-version."is-stream"."1.1.0";
-      "lowercase-keys-1.0.0" = self.by-version."lowercase-keys"."1.0.0";
-      "nested-error-stacks-1.0.2" = self.by-version."nested-error-stacks"."1.0.2";
-      "object-assign-2.1.1" = self.by-version."object-assign"."2.1.1";
-      "prepend-http-1.0.4" = self.by-version."prepend-http"."1.0.4";
-      "read-all-stream-2.2.0" = self.by-version."read-all-stream"."2.2.0";
-      "statuses-1.3.0" = self.by-version."statuses"."1.3.0";
-      "timed-out-2.0.0" = self.by-version."timed-out"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."got"."^3.2.0" =
-    self.by-version."got"."3.3.1";
-  by-version."got"."3.3.1" = self.buildNodePackage {
-    name = "got-3.3.1";
-    version = "3.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/got/-/got-3.3.1.tgz";
-      name = "got-3.3.1.tgz";
-      sha1 = "e5d0ed4af55fc3eef4d56007769d98192bcb2eca";
-    };
-    deps = {
-      "duplexify-3.4.3" = self.by-version."duplexify"."3.4.3";
-      "infinity-agent-2.0.3" = self.by-version."infinity-agent"."2.0.3";
-      "is-redirect-1.0.0" = self.by-version."is-redirect"."1.0.0";
-      "is-stream-1.1.0" = self.by-version."is-stream"."1.1.0";
-      "lowercase-keys-1.0.0" = self.by-version."lowercase-keys"."1.0.0";
-      "nested-error-stacks-1.0.2" = self.by-version."nested-error-stacks"."1.0.2";
-      "object-assign-3.0.0" = self.by-version."object-assign"."3.0.0";
-      "prepend-http-1.0.4" = self.by-version."prepend-http"."1.0.4";
-      "read-all-stream-3.1.0" = self.by-version."read-all-stream"."3.1.0";
-      "timed-out-2.0.0" = self.by-version."timed-out"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-fs"."^3.0.0" =
-    self.by-version."graceful-fs"."3.0.8";
-  by-version."graceful-fs"."3.0.8" = self.buildNodePackage {
-    name = "graceful-fs-3.0.8";
-    version = "3.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-3.0.8.tgz";
-      name = "graceful-fs-3.0.8.tgz";
-      sha1 = "ce813e725fa82f7e6147d51c9a5ca68270551c22";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-fs"."^3.0.2" =
-    self.by-version."graceful-fs"."3.0.8";
-  by-spec."graceful-fs"."^4.0.0" =
-    self.by-version."graceful-fs"."4.1.4";
-  by-version."graceful-fs"."4.1.4" = self.buildNodePackage {
-    name = "graceful-fs-4.1.4";
-    version = "4.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.1.4.tgz";
-      name = "graceful-fs-4.1.4.tgz";
-      sha1 = "ef089d2880f033b011823ce5c8fae798da775dbd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-fs"."^4.1.2" =
-    self.by-version."graceful-fs"."4.1.4";
-  by-spec."graceful-fs"."~1" =
-    self.by-version."graceful-fs"."1.2.3";
-  by-version."graceful-fs"."1.2.3" = self.buildNodePackage {
-    name = "graceful-fs-1.2.3";
-    version = "1.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-1.2.3.tgz";
-      name = "graceful-fs-1.2.3.tgz";
-      sha1 = "15a4806a57547cb2d2dbf27f42e89a8c3451b364";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-fs"."~1.2.0" =
-    self.by-version."graceful-fs"."1.2.3";
-  by-spec."graceful-fs"."~2.0.0" =
-    self.by-version."graceful-fs"."2.0.3";
-  by-version."graceful-fs"."2.0.3" = self.buildNodePackage {
-    name = "graceful-fs-2.0.3";
-    version = "2.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-2.0.3.tgz";
-      name = "graceful-fs-2.0.3.tgz";
-      sha1 = "7cd2cdb228a4a3f36e95efa6cc142de7d1a136d0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."graceful-fs"."~3.0.2" =
-    self.by-version."graceful-fs"."3.0.8";
-  by-spec."graceful-fs"."~4.1.4" =
-    self.by-version."graceful-fs"."4.1.4";
-  by-spec."graceful-readlink".">= 1.0.0" =
-    self.by-version."graceful-readlink"."1.0.1";
-  by-version."graceful-readlink"."1.0.1" = self.buildNodePackage {
-    name = "graceful-readlink-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/graceful-readlink/-/graceful-readlink-1.0.1.tgz";
-      name = "graceful-readlink-1.0.1.tgz";
-      sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gridfs-stream"."*" =
-    self.by-version."gridfs-stream"."1.1.1";
-  by-version."gridfs-stream"."1.1.1" = self.buildNodePackage {
-    name = "gridfs-stream-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gridfs-stream/-/gridfs-stream-1.1.1.tgz";
-      name = "gridfs-stream-1.1.1.tgz";
-      sha1 = "3dd3a100ec2021a181282f6eb46709636074df89";
-    };
-    deps = {
-      "flushwritable-1.0.0" = self.by-version."flushwritable"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "gridfs-stream" = self.by-version."gridfs-stream"."1.1.1";
-  by-spec."growl"."1.9.2" =
-    self.by-version."growl"."1.9.2";
-  by-version."growl"."1.9.2" = self.buildNodePackage {
-    name = "growl-1.9.2";
-    version = "1.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/growl/-/growl-1.9.2.tgz";
-      name = "growl-1.9.2.tgz";
-      sha1 = "0ea7743715db8d8de2c5ede1775e1b45ac85c02f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt".">=0.4.0" =
-    self.by-version."grunt"."1.0.1";
-  by-version."grunt"."1.0.1" = self.buildNodePackage {
-    name = "grunt-1.0.1";
-    version = "1.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt/-/grunt-1.0.1.tgz";
-      name = "grunt-1.0.1.tgz";
-      sha1 = "e8778764e944b18f32bb0f10b9078475c9dfb56b";
-    };
-    deps = {
-      "coffee-script-1.10.0" = self.by-version."coffee-script"."1.10.0";
-      "dateformat-1.0.12" = self.by-version."dateformat"."1.0.12";
-      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
-      "exit-0.1.2" = self.by-version."exit"."0.1.2";
-      "findup-sync-0.3.0" = self.by-version."findup-sync"."0.3.0";
-      "glob-7.0.3" = self.by-version."glob"."7.0.3";
-      "grunt-cli-1.2.0" = self.by-version."grunt-cli"."1.2.0";
-      "grunt-known-options-1.1.0" = self.by-version."grunt-known-options"."1.1.0";
-      "grunt-legacy-log-1.0.0" = self.by-version."grunt-legacy-log"."1.0.0";
-      "grunt-legacy-util-1.0.0" = self.by-version."grunt-legacy-util"."1.0.0";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "js-yaml-3.5.5" = self.by-version."js-yaml"."3.5.5";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt".">=0.4.x" =
-    self.by-version."grunt"."1.0.1";
-  by-spec."grunt"."~0.4" =
-    self.by-version."grunt"."0.4.5";
-  by-version."grunt"."0.4.5" = self.buildNodePackage {
-    name = "grunt-0.4.5";
-    version = "0.4.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt/-/grunt-0.4.5.tgz";
-      name = "grunt-0.4.5.tgz";
-      sha1 = "56937cd5194324adff6d207631832a9d6ba4e7f0";
-    };
-    deps = {
-      "async-0.1.22" = self.by-version."async"."0.1.22";
-      "coffee-script-1.3.3" = self.by-version."coffee-script"."1.3.3";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "dateformat-1.0.2-1.2.3" = self.by-version."dateformat"."1.0.2-1.2.3";
-      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
-      "findup-sync-0.1.3" = self.by-version."findup-sync"."0.1.3";
-      "glob-3.1.21" = self.by-version."glob"."3.1.21";
-      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
-      "iconv-lite-0.2.11" = self.by-version."iconv-lite"."0.2.11";
-      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
-      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
-      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
-      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
-      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
-      "which-1.0.9" = self.by-version."which"."1.0.9";
-      "js-yaml-2.0.5" = self.by-version."js-yaml"."2.0.5";
-      "exit-0.1.2" = self.by-version."exit"."0.1.2";
-      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
-      "grunt-legacy-util-0.2.0" = self.by-version."grunt-legacy-util"."0.2.0";
-      "grunt-legacy-log-0.1.3" = self.by-version."grunt-legacy-log"."0.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-cli"."*" =
-    self.by-version."grunt-cli"."1.2.0";
-  by-version."grunt-cli"."1.2.0" = self.buildNodePackage {
-    name = "grunt-cli-1.2.0";
-    version = "1.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-cli/-/grunt-cli-1.2.0.tgz";
-      name = "grunt-cli-1.2.0.tgz";
-      sha1 = "562b119ebb069ddb464ace2845501be97b35b6a8";
-    };
-    deps = {
-      "findup-sync-0.3.0" = self.by-version."findup-sync"."0.3.0";
-      "grunt-known-options-1.1.0" = self.by-version."grunt-known-options"."1.1.0";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "resolve-1.1.7" = self.by-version."resolve"."1.1.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-cli" = self.by-version."grunt-cli"."1.2.0";
-  by-spec."grunt-cli"."~1.2.0" =
-    self.by-version."grunt-cli"."1.2.0";
-  by-spec."grunt-contrib-cssmin"."*" =
-    self.by-version."grunt-contrib-cssmin"."1.0.1";
-  by-version."grunt-contrib-cssmin"."1.0.1" = self.buildNodePackage {
-    name = "grunt-contrib-cssmin-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-contrib-cssmin/-/grunt-contrib-cssmin-1.0.1.tgz";
-      name = "grunt-contrib-cssmin-1.0.1.tgz";
-      sha1 = "f6d45244cc87efdcc521f6918eafd921efd8c8da";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "clean-css-3.4.17" = self.by-version."clean-css"."3.4.17";
-      "maxmin-1.1.0" = self.by-version."maxmin"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-contrib-cssmin" = self.by-version."grunt-contrib-cssmin"."1.0.1";
-  by-spec."grunt-contrib-eslint"."*" =
-    self.by-version."grunt-contrib-eslint"."0.0.5";
-  by-version."grunt-contrib-eslint"."0.0.5" = self.buildNodePackage {
-    name = "grunt-contrib-eslint-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-contrib-eslint/-/grunt-contrib-eslint-0.0.5.tgz";
-      name = "grunt-contrib-eslint-0.0.5.tgz";
-      sha1 = "6f2096e43262b49d5eaf13b1532dfca00ac9c9b0";
-    };
-    deps = {
-      "eslint-2.12.0" = self.by-version."eslint"."2.12.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."grunt"."1.0.1"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-contrib-eslint" = self.by-version."grunt-contrib-eslint"."0.0.5";
-  by-spec."grunt-contrib-jshint"."*" =
-    self.by-version."grunt-contrib-jshint"."1.0.0";
-  by-version."grunt-contrib-jshint"."1.0.0" = self.buildNodePackage {
-    name = "grunt-contrib-jshint-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-contrib-jshint/-/grunt-contrib-jshint-1.0.0.tgz";
-      name = "grunt-contrib-jshint-1.0.0.tgz";
-      sha1 = "30f405a51de656bfa6eb029b9a464b9fe02a402a";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
-      "jshint-2.9.2" = self.by-version."jshint"."2.9.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."grunt"."1.0.1"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-contrib-jshint" = self.by-version."grunt-contrib-jshint"."1.0.0";
-  by-spec."grunt-contrib-less"."*" =
-    self.by-version."grunt-contrib-less"."1.3.0";
-  by-version."grunt-contrib-less"."1.3.0" = self.buildNodePackage {
-    name = "grunt-contrib-less-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-contrib-less/-/grunt-contrib-less-1.3.0.tgz";
-      name = "grunt-contrib-less-1.3.0.tgz";
-      sha1 = "518ef7c86dc60e159e65108aa75db93a9c8ff5d4";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "less-2.6.1" = self.by-version."less"."2.6.1";
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-contrib-less" = self.by-version."grunt-contrib-less"."1.3.0";
-  by-spec."grunt-contrib-requirejs"."*" =
-    self.by-version."grunt-contrib-requirejs"."1.0.0";
-  by-version."grunt-contrib-requirejs"."1.0.0" = self.buildNodePackage {
-    name = "grunt-contrib-requirejs-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-contrib-requirejs/-/grunt-contrib-requirejs-1.0.0.tgz";
-      name = "grunt-contrib-requirejs-1.0.0.tgz";
-      sha1 = "ec1670cafc32713902ee53569454715b2e3cbad5";
-    };
-    deps = {
-      "requirejs-2.2.0" = self.by-version."requirejs"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-contrib-requirejs" = self.by-version."grunt-contrib-requirejs"."1.0.0";
-  by-spec."grunt-contrib-uglify"."*" =
-    self.by-version."grunt-contrib-uglify"."1.0.1";
-  by-version."grunt-contrib-uglify"."1.0.1" = self.buildNodePackage {
-    name = "grunt-contrib-uglify-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-contrib-uglify/-/grunt-contrib-uglify-1.0.1.tgz";
-      name = "grunt-contrib-uglify-1.0.1.tgz";
-      sha1 = "ad68411b963b99661211f76f466bdeded4fb07ac";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-      "maxmin-1.1.0" = self.by-version."maxmin"."1.1.0";
-      "uglify-js-2.6.2" = self.by-version."uglify-js"."2.6.2";
-      "uri-path-1.0.0" = self.by-version."uri-path"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-contrib-uglify" = self.by-version."grunt-contrib-uglify"."1.0.1";
-  by-spec."grunt-karma"."*" =
-    self.by-version."grunt-karma"."2.0.0";
-  by-version."grunt-karma"."2.0.0" = self.buildNodePackage {
-    name = "grunt-karma-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-karma/-/grunt-karma-2.0.0.tgz";
-      name = "grunt-karma-2.0.0.tgz";
-      sha1 = "753583d115dfdc055fe57e58f96d6b3c7e612118";
-    };
-    deps = {
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."grunt"."1.0.1"
-      self.by-version."karma"."0.13.22"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-karma" = self.by-version."grunt-karma"."2.0.0";
-  by-spec."grunt-known-options"."~1.1.0" =
-    self.by-version."grunt-known-options"."1.1.0";
-  by-version."grunt-known-options"."1.1.0" = self.buildNodePackage {
-    name = "grunt-known-options-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-known-options/-/grunt-known-options-1.1.0.tgz";
-      name = "grunt-known-options-1.1.0.tgz";
-      sha1 = "a4274eeb32fa765da5a7a3b1712617ce3b144149";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-legacy-log"."~0.1.0" =
-    self.by-version."grunt-legacy-log"."0.1.3";
-  by-version."grunt-legacy-log"."0.1.3" = self.buildNodePackage {
-    name = "grunt-legacy-log-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-0.1.3.tgz";
-      name = "grunt-legacy-log-0.1.3.tgz";
-      sha1 = "ec29426e803021af59029f87d2f9cd7335a05531";
-    };
-    deps = {
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "grunt-legacy-log-utils-0.1.1" = self.by-version."grunt-legacy-log-utils"."0.1.1";
-      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-legacy-log"."~1.0.0" =
-    self.by-version."grunt-legacy-log"."1.0.0";
-  by-version."grunt-legacy-log"."1.0.0" = self.buildNodePackage {
-    name = "grunt-legacy-log-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-legacy-log/-/grunt-legacy-log-1.0.0.tgz";
-      name = "grunt-legacy-log-1.0.0.tgz";
-      sha1 = "fb86f1809847bc07dc47843f9ecd6cacb62df2d5";
-    };
-    deps = {
-      "colors-1.1.2" = self.by-version."colors"."1.1.2";
-      "grunt-legacy-log-utils-1.0.0" = self.by-version."grunt-legacy-log-utils"."1.0.0";
-      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-      "underscore.string-3.2.3" = self.by-version."underscore.string"."3.2.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-legacy-log-utils"."~0.1.1" =
-    self.by-version."grunt-legacy-log-utils"."0.1.1";
-  by-version."grunt-legacy-log-utils"."0.1.1" = self.buildNodePackage {
-    name = "grunt-legacy-log-utils-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-0.1.1.tgz";
-      name = "grunt-legacy-log-utils-0.1.1.tgz";
-      sha1 = "c0706b9dd9064e116f36f23fe4e6b048672c0f7e";
-    };
-    deps = {
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-      "underscore.string-2.3.3" = self.by-version."underscore.string"."2.3.3";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-legacy-log-utils"."~1.0.0" =
-    self.by-version."grunt-legacy-log-utils"."1.0.0";
-  by-version."grunt-legacy-log-utils"."1.0.0" = self.buildNodePackage {
-    name = "grunt-legacy-log-utils-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-legacy-log-utils/-/grunt-legacy-log-utils-1.0.0.tgz";
-      name = "grunt-legacy-log-utils-1.0.0.tgz";
-      sha1 = "a7b8e2d0fb35b5a50f4af986fc112749ebc96f3d";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "lodash-4.3.0" = self.by-version."lodash"."4.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-legacy-util"."~0.2.0" =
-    self.by-version."grunt-legacy-util"."0.2.0";
-  by-version."grunt-legacy-util"."0.2.0" = self.buildNodePackage {
-    name = "grunt-legacy-util-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-0.2.0.tgz";
-      name = "grunt-legacy-util-0.2.0.tgz";
-      sha1 = "93324884dbf7e37a9ff7c026dff451d94a9e554b";
-    };
-    deps = {
-      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
-      "async-0.1.22" = self.by-version."async"."0.1.22";
-      "lodash-0.9.2" = self.by-version."lodash"."0.9.2";
-      "exit-0.1.2" = self.by-version."exit"."0.1.2";
-      "underscore.string-2.2.1" = self.by-version."underscore.string"."2.2.1";
-      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
-      "which-1.0.9" = self.by-version."which"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-legacy-util"."~1.0.0" =
-    self.by-version."grunt-legacy-util"."1.0.0";
-  by-version."grunt-legacy-util"."1.0.0" = self.buildNodePackage {
-    name = "grunt-legacy-util-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-legacy-util/-/grunt-legacy-util-1.0.0.tgz";
-      name = "grunt-legacy-util-1.0.0.tgz";
-      sha1 = "386aa78dc6ed50986c2b18957265b1b48abb9b86";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "exit-0.1.2" = self.by-version."exit"."0.1.2";
-      "getobject-0.1.0" = self.by-version."getobject"."0.1.0";
-      "hooker-0.2.3" = self.by-version."hooker"."0.2.3";
-      "lodash-4.3.0" = self.by-version."lodash"."4.3.0";
-      "underscore.string-3.2.3" = self.by-version."underscore.string"."3.2.3";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."grunt-sed"."*" =
-    self.by-version."grunt-sed"."0.1.1";
-  by-version."grunt-sed"."0.1.1" = self.buildNodePackage {
-    name = "grunt-sed-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/grunt-sed/-/grunt-sed-0.1.1.tgz";
-      name = "grunt-sed-0.1.1.tgz";
-      sha1 = "2613d486909319b3f8f4bd75dafb46a642ec3f82";
-    };
-    deps = {
-      "replace-0.2.10" = self.by-version."replace"."0.2.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."grunt"."0.4.5"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "grunt-sed" = self.by-version."grunt-sed"."0.1.1";
-  by-spec."gtoken"."^1.1.0" =
-    self.by-version."gtoken"."1.2.1";
-  by-version."gtoken"."1.2.1" = self.buildNodePackage {
-    name = "gtoken-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gtoken/-/gtoken-1.2.1.tgz";
-      name = "gtoken-1.2.1.tgz";
-      sha1 = "90153a547c2fc1cd24a4d3d2ab3b5aba0a26897a";
-    };
-    deps = {
-      "google-p12-pem-0.1.0" = self.by-version."google-p12-pem"."0.1.0";
-      "jws-3.1.3" = self.by-version."jws"."3.1.3";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."guifi-earth"."https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " =
-    self.by-version."guifi-earth"."0.2.1";
-  by-version."guifi-earth"."0.2.1" = self.buildNodePackage {
-    name = "guifi-earth-0.2.1";
-    version = "0.2.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854";
-      name = "guifi-earth-0.2.1.tgz";
-      sha256 = "a51a5beef55c14c68630275d51cf66c44a4462d1b20c0f08aef6d88a62ca077c";
-    };
-    deps = {
-      "coffee-script-1.10.0" = self.by-version."coffee-script"."1.10.0";
-      "jade-1.11.0" = self.by-version."jade"."1.11.0";
-      "q-2.0.3" = self.by-version."q"."2.0.3";
-      "xml2js-0.4.16" = self.by-version."xml2js"."0.4.16";
-      "msgpack-1.0.2" = self.by-version."msgpack"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "guifi-earth" = self.by-version."guifi-earth"."0.2.1";
-  by-spec."gulp"."*" =
-    self.by-version."gulp"."3.9.1";
-  by-version."gulp"."3.9.1" = self.buildNodePackage {
-    name = "gulp-3.9.1";
-    version = "3.9.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gulp/-/gulp-3.9.1.tgz";
-      name = "gulp-3.9.1.tgz";
-      sha1 = "571ce45928dd40af6514fc4011866016c13845b4";
-    };
-    deps = {
-      "archy-1.0.0" = self.by-version."archy"."1.0.0";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "deprecated-0.0.1" = self.by-version."deprecated"."0.0.1";
-      "gulp-util-3.0.7" = self.by-version."gulp-util"."3.0.7";
-      "interpret-1.0.1" = self.by-version."interpret"."1.0.1";
-      "liftoff-2.2.1" = self.by-version."liftoff"."2.2.1";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "orchestrator-0.3.7" = self.by-version."orchestrator"."0.3.7";
-      "pretty-hrtime-1.0.2" = self.by-version."pretty-hrtime"."1.0.2";
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-      "tildify-1.2.0" = self.by-version."tildify"."1.2.0";
-      "v8flags-2.0.11" = self.by-version."v8flags"."2.0.11";
-      "vinyl-fs-0.3.14" = self.by-version."vinyl-fs"."0.3.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "gulp" = self.by-version."gulp"."3.9.1";
-  by-spec."gulp-sourcemaps"."^1.5.2" =
-    self.by-version."gulp-sourcemaps"."1.6.0";
-  by-version."gulp-sourcemaps"."1.6.0" = self.buildNodePackage {
-    name = "gulp-sourcemaps-1.6.0";
-    version = "1.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gulp-sourcemaps/-/gulp-sourcemaps-1.6.0.tgz";
-      name = "gulp-sourcemaps-1.6.0.tgz";
-      sha1 = "b86ff349d801ceb56e1d9e7dc7bbcb4b7dee600c";
-    };
-    deps = {
-      "convert-source-map-1.2.0" = self.by-version."convert-source-map"."1.2.0";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "strip-bom-2.0.0" = self.by-version."strip-bom"."2.0.0";
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "vinyl-1.1.1" = self.by-version."vinyl"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gulp-util"."^3.0.0" =
-    self.by-version."gulp-util"."3.0.7";
-  by-version."gulp-util"."3.0.7" = self.buildNodePackage {
-    name = "gulp-util-3.0.7";
-    version = "3.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gulp-util/-/gulp-util-3.0.7.tgz";
-      name = "gulp-util-3.0.7.tgz";
-      sha1 = "78925c4b8f8b49005ac01a011c557e6218941cbb";
-    };
-    deps = {
-      "array-differ-1.0.0" = self.by-version."array-differ"."1.0.0";
-      "array-uniq-1.0.2" = self.by-version."array-uniq"."1.0.2";
-      "beeper-1.1.0" = self.by-version."beeper"."1.1.0";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "dateformat-1.0.12" = self.by-version."dateformat"."1.0.12";
-      "fancy-log-1.2.0" = self.by-version."fancy-log"."1.2.0";
-      "gulplog-1.0.0" = self.by-version."gulplog"."1.0.0";
-      "has-gulplog-0.1.0" = self.by-version."has-gulplog"."0.1.0";
-      "lodash._reescape-3.0.0" = self.by-version."lodash._reescape"."3.0.0";
-      "lodash._reevaluate-3.0.0" = self.by-version."lodash._reevaluate"."3.0.0";
-      "lodash._reinterpolate-3.0.0" = self.by-version."lodash._reinterpolate"."3.0.0";
-      "lodash.template-3.6.2" = self.by-version."lodash.template"."3.6.2";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "multipipe-0.1.2" = self.by-version."multipipe"."0.1.2";
-      "object-assign-3.0.0" = self.by-version."object-assign"."3.0.0";
-      "replace-ext-0.0.1" = self.by-version."replace-ext"."0.0.1";
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "vinyl-0.5.3" = self.by-version."vinyl"."0.5.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gulplog"."^1.0.0" =
-    self.by-version."gulplog"."1.0.0";
-  by-version."gulplog"."1.0.0" = self.buildNodePackage {
-    name = "gulplog-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gulplog/-/gulplog-1.0.0.tgz";
-      name = "gulplog-1.0.0.tgz";
-      sha1 = "e28c4d45d05ecbbed818363ce8f9c5926229ffe5";
-    };
-    deps = {
-      "glogg-1.0.0" = self.by-version."glogg"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gzip-size"."^1.0.0" =
-    self.by-version."gzip-size"."1.0.0";
-  by-version."gzip-size"."1.0.0" = self.buildNodePackage {
-    name = "gzip-size-1.0.0";
-    version = "1.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gzip-size/-/gzip-size-1.0.0.tgz";
-      name = "gzip-size-1.0.0.tgz";
-      sha1 = "66cf8b101047227b95bace6ea1da0c177ed5c22f";
-    };
-    deps = {
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."gzippo"."*" =
-    self.by-version."gzippo"."0.2.0";
-  by-version."gzippo"."0.2.0" = self.buildNodePackage {
-    name = "gzippo-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/gzippo/-/gzippo-0.2.0.tgz";
-      name = "gzippo-0.2.0.tgz";
-      sha1 = "ffc594c482190c56531ed2d4a5864d0b0b7d2733";
-    };
-    deps = {
-      "send-0.14.1" = self.by-version."send"."0.14.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "gzippo" = self.by-version."gzippo"."0.2.0";
-  by-spec."handlebars"."2.x" =
-    self.by-version."handlebars"."2.0.0";
-  by-version."handlebars"."2.0.0" = self.buildNodePackage {
-    name = "handlebars-2.0.0";
-    version = "2.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/handlebars/-/handlebars-2.0.0.tgz";
-      name = "handlebars-2.0.0.tgz";
-      sha1 = "6e9d7f8514a3467fa5e9f82cc158ecfc1d5ac76f";
-    };
-    deps = {
-      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
-    };
-    optionalDependencies = {
-      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."handlebars"."^3.0.0" =
-    self.by-version."handlebars"."3.0.3";
-  by-version."handlebars"."3.0.3" = self.buildNodePackage {
-    name = "handlebars-3.0.3";
-    version = "3.0.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/handlebars/-/handlebars-3.0.3.tgz";
-      name = "handlebars-3.0.3.tgz";
-      sha1 = "0e09651a2f0fb3c949160583710d551f92e6d2ad";
-    };
-    deps = {
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-    };
-    optionalDependencies = {
-      "uglify-js-2.3.6" = self.by-version."uglify-js"."2.3.6";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."handlebars"."^4.0.1" =
-    self.by-version."handlebars"."4.0.5";
-  by-version."handlebars"."4.0.5" = self.buildNodePackage {
-    name = "handlebars-4.0.5";
-    version = "4.0.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/handlebars/-/handlebars-4.0.5.tgz";
-      name = "handlebars-4.0.5.tgz";
-      sha1 = "92c6ed6bb164110c50d4d8d0fbddc70806c6f8e7";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-      "source-map-0.4.4" = self.by-version."source-map"."0.4.4";
-    };
-    optionalDependencies = {
-      "uglify-js-2.6.2" = self.by-version."uglify-js"."2.6.2";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."handlebars"."^4.0.3" =
-    self.by-version."handlebars"."4.0.5";
-  by-spec."har-validator"."^1.4.0" =
-    self.by-version."har-validator"."1.8.0";
-  by-version."har-validator"."1.8.0" = self.buildNodePackage {
-    name = "har-validator-1.8.0";
-    version = "1.8.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/har-validator/-/har-validator-1.8.0.tgz";
-      name = "har-validator-1.8.0.tgz";
-      sha1 = "d83842b0eb4c435960aeb108a067a3aa94c0eeb2";
-    };
-    deps = {
-      "bluebird-2.10.2" = self.by-version."bluebird"."2.10.2";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "is-my-json-valid-2.13.1" = self.by-version."is-my-json-valid"."2.13.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."har-validator"."^1.6.1" =
-    self.by-version."har-validator"."1.8.0";
-  by-spec."har-validator"."~2.0.2" =
-    self.by-version."har-validator"."2.0.6";
-  by-version."har-validator"."2.0.6" = self.buildNodePackage {
-    name = "har-validator-2.0.6";
-    version = "2.0.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/har-validator/-/har-validator-2.0.6.tgz";
-      name = "har-validator-2.0.6.tgz";
-      sha1 = "cdcbc08188265ad119b6a5a7c8ab70eecfb5d27d";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "is-my-json-valid-2.13.1" = self.by-version."is-my-json-valid"."2.13.1";
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."har-validator"."~2.0.6" =
-    self.by-version."har-validator"."2.0.6";
-  by-spec."harmony-reflect"."^1.4.2" =
-    self.by-version."harmony-reflect"."1.4.6";
-  by-version."harmony-reflect"."1.4.6" = self.buildNodePackage {
-    name = "harmony-reflect-1.4.6";
-    version = "1.4.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/harmony-reflect/-/harmony-reflect-1.4.6.tgz";
-      name = "harmony-reflect-1.4.6.tgz";
-      sha1 = "f67afe588486b138aef4184e5885af962a9b2531";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has"."^1.0.0" =
-    self.by-version."has"."1.0.1";
-  by-version."has"."1.0.1" = self.buildNodePackage {
-    name = "has-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has/-/has-1.0.1.tgz";
-      name = "has-1.0.1.tgz";
-      sha1 = "8461733f538b0837c9361e39a9ab9e9704dc2f28";
-    };
-    deps = {
-      "function-bind-1.1.0" = self.by-version."function-bind"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-ansi"."^0.1.0" =
-    self.by-version."has-ansi"."0.1.0";
-  by-version."has-ansi"."0.1.0" = self.buildNodePackage {
-    name = "has-ansi-0.1.0";
-    version = "0.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-ansi/-/has-ansi-0.1.0.tgz";
-      name = "has-ansi-0.1.0.tgz";
-      sha1 = "84f265aae8c0e6a88a12d7022894b7568894c62e";
-    };
-    deps = {
-      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-ansi"."^1.0.3" =
-    self.by-version."has-ansi"."1.0.3";
-  by-version."has-ansi"."1.0.3" = self.buildNodePackage {
-    name = "has-ansi-1.0.3";
-    version = "1.0.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-ansi/-/has-ansi-1.0.3.tgz";
-      name = "has-ansi-1.0.3.tgz";
-      sha1 = "c0b5b1615d9e382b0ff67169d967b425e48ca538";
-    };
-    deps = {
-      "ansi-regex-1.1.1" = self.by-version."ansi-regex"."1.1.1";
-      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-ansi"."^2.0.0" =
-    self.by-version."has-ansi"."2.0.0";
-  by-version."has-ansi"."2.0.0" = self.buildNodePackage {
-    name = "has-ansi-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz";
-      name = "has-ansi-2.0.0.tgz";
-      sha1 = "34f5049ce1ecdf2b0649af3ef24e45ed35416d91";
-    };
-    deps = {
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-binary"."0.1.6" =
-    self.by-version."has-binary"."0.1.6";
-  by-version."has-binary"."0.1.6" = self.buildNodePackage {
-    name = "has-binary-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-binary/-/has-binary-0.1.6.tgz";
-      name = "has-binary-0.1.6.tgz";
-      sha1 = "25326f39cfa4f616ad8787894e3af2cfbc7b6e10";
-    };
-    deps = {
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-binary"."0.1.7" =
-    self.by-version."has-binary"."0.1.7";
-  by-version."has-binary"."0.1.7" = self.buildNodePackage {
-    name = "has-binary-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-binary/-/has-binary-0.1.7.tgz";
-      name = "has-binary-0.1.7.tgz";
-      sha1 = "68e61eb16210c9545a0a5cce06a873912fe1e68c";
-    };
-    deps = {
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-binary-data"."0.1.1" =
-    self.by-version."has-binary-data"."0.1.1";
-  by-version."has-binary-data"."0.1.1" = self.buildNodePackage {
-    name = "has-binary-data-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-binary-data/-/has-binary-data-0.1.1.tgz";
-      name = "has-binary-data-0.1.1.tgz";
-      sha1 = "e10749fb87828a52df96f4086587eb4a03966439";
-    };
-    deps = {
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-color"."^0.1.7" =
-    self.by-version."has-color"."0.1.7";
-  by-version."has-color"."0.1.7" = self.buildNodePackage {
-    name = "has-color-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-color/-/has-color-0.1.7.tgz";
-      name = "has-color-0.1.7.tgz";
-      sha1 = "67144a5260c34fc3cca677d041daf52fe7b78b2f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-cors"."1.0.3" =
-    self.by-version."has-cors"."1.0.3";
-  by-version."has-cors"."1.0.3" = self.buildNodePackage {
-    name = "has-cors-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-cors/-/has-cors-1.0.3.tgz";
-      name = "has-cors-1.0.3.tgz";
-      sha1 = "502acb9b3104dac33dd2630eaf2f888b0baf4cb3";
-    };
-    deps = {
-      "global-2.0.1" = self.by-version."global"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-cors"."1.1.0" =
-    self.by-version."has-cors"."1.1.0";
-  by-version."has-cors"."1.1.0" = self.buildNodePackage {
-    name = "has-cors-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz";
-      name = "has-cors-1.1.0.tgz";
-      sha1 = "5e474793f7ea9843d1bb99c23eef49ff126fff39";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-flag"."^1.0.0" =
-    self.by-version."has-flag"."1.0.0";
-  by-version."has-flag"."1.0.0" = self.buildNodePackage {
-    name = "has-flag-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-flag/-/has-flag-1.0.0.tgz";
-      name = "has-flag-1.0.0.tgz";
-      sha1 = "9d9e793165ce017a00f00418c43f942a7b1d11fa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-gulplog"."^0.1.0" =
-    self.by-version."has-gulplog"."0.1.0";
-  by-version."has-gulplog"."0.1.0" = self.buildNodePackage {
-    name = "has-gulplog-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-gulplog/-/has-gulplog-0.1.0.tgz";
-      name = "has-gulplog-0.1.0.tgz";
-      sha1 = "6414c82913697da51590397dafb12f22967811ce";
-    };
-    deps = {
-      "sparkles-1.0.0" = self.by-version."sparkles"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-unicode"."^2.0.0" =
-    self.by-version."has-unicode"."2.0.0";
-  by-version."has-unicode"."2.0.0" = self.buildNodePackage {
-    name = "has-unicode-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.0.tgz";
-      name = "has-unicode-2.0.0.tgz";
-      sha1 = "a3cd96c307ba41d559c5a2ee408c12a11c4c2ec3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."has-unicode"."~2.0.0" =
-    self.by-version."has-unicode"."2.0.0";
-  by-spec."hash.js"."^1.0.0" =
-    self.by-version."hash.js"."1.0.3";
-  by-version."hash.js"."1.0.3" = self.buildNodePackage {
-    name = "hash.js-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hash.js/-/hash.js-1.0.3.tgz";
-      name = "hash.js-1.0.3.tgz";
-      sha1 = "1332ff00156c0a0ffdd8236013d07b77a0451573";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hasha"."^2.2.0" =
-    self.by-version."hasha"."2.2.0";
-  by-version."hasha"."2.2.0" = self.buildNodePackage {
-    name = "hasha-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hasha/-/hasha-2.2.0.tgz";
-      name = "hasha-2.2.0.tgz";
-      sha1 = "78d7cbfc1e6d66303fe79837365984517b2f6ee1";
-    };
-    deps = {
-      "is-stream-1.1.0" = self.by-version."is-stream"."1.1.0";
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hasher"."~1.2.0" =
-    self.by-version."hasher"."1.2.0";
-  by-version."hasher"."1.2.0" = self.buildNodePackage {
-    name = "hasher-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hasher/-/hasher-1.2.0.tgz";
-      name = "hasher-1.2.0.tgz";
-      sha1 = "8b5341c3496124b0724ac8555fbb8ca363ebbb73";
-    };
-    deps = {
-      "signals-1.0.0" = self.by-version."signals"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hashish"."*" =
-    self.by-version."hashish"."0.0.4";
-  by-version."hashish"."0.0.4" = self.buildNodePackage {
-    name = "hashish-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hashish/-/hashish-0.0.4.tgz";
-      name = "hashish-0.0.4.tgz";
-      sha1 = "6d60bc6ffaf711b6afd60e426d077988014e6554";
-    };
-    deps = {
-      "traverse-0.6.6" = self.by-version."traverse"."0.6.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hashish"."0.0.4" =
-    self.by-version."hashish"."0.0.4";
-  by-spec."hat"."*" =
-    self.by-version."hat"."0.0.3";
-  by-version."hat"."0.0.3" = self.buildNodePackage {
-    name = "hat-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hat/-/hat-0.0.3.tgz";
-      name = "hat-0.0.3.tgz";
-      sha1 = "bb014a9e64b3788aed8005917413d4ff3d502d8a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hat"."0.0.3" =
-    self.by-version."hat"."0.0.3";
-  by-spec."hat"."^0.0.3" =
-    self.by-version."hat"."0.0.3";
-  by-spec."hawk"."1.1.1" =
-    self.by-version."hawk"."1.1.1";
-  by-version."hawk"."1.1.1" = self.buildNodePackage {
-    name = "hawk-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hawk/-/hawk-1.1.1.tgz";
-      name = "hawk-1.1.1.tgz";
-      sha1 = "87cd491f9b46e4e2aeaca335416766885d2d1ed9";
-    };
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
-      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hawk"."~0.10.2" =
-    self.by-version."hawk"."0.10.2";
-  by-version."hawk"."0.10.2" = self.buildNodePackage {
-    name = "hawk-0.10.2";
-    version = "0.10.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hawk/-/hawk-0.10.2.tgz";
-      name = "hawk-0.10.2.tgz";
-      sha1 = "9b361dee95a931640e6d504e05609a8fc3ac45d2";
-    };
-    deps = {
-      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
-      "boom-0.3.8" = self.by-version."boom"."0.3.8";
-      "cryptiles-0.1.3" = self.by-version."cryptiles"."0.1.3";
-      "sntp-0.1.4" = self.by-version."sntp"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hawk"."~1.0.0" =
-    self.by-version."hawk"."1.0.0";
-  by-version."hawk"."1.0.0" = self.buildNodePackage {
-    name = "hawk-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hawk/-/hawk-1.0.0.tgz";
-      name = "hawk-1.0.0.tgz";
-      sha1 = "b90bb169807285411da7ffcb8dd2598502d3b52d";
-    };
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-      "boom-0.4.2" = self.by-version."boom"."0.4.2";
-      "cryptiles-0.2.2" = self.by-version."cryptiles"."0.2.2";
-      "sntp-0.2.4" = self.by-version."sntp"."0.2.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hawk"."~2.3.0" =
-    self.by-version."hawk"."2.3.1";
-  by-version."hawk"."2.3.1" = self.buildNodePackage {
-    name = "hawk-2.3.1";
-    version = "2.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hawk/-/hawk-2.3.1.tgz";
-      name = "hawk-2.3.1.tgz";
-      sha1 = "1e731ce39447fa1d0f6d707f7bceebec0fd1ec1f";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-      "boom-2.10.1" = self.by-version."boom"."2.10.1";
-      "cryptiles-2.0.5" = self.by-version."cryptiles"."2.0.5";
-      "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hawk"."~3.1.0" =
-    self.by-version."hawk"."3.1.3";
-  by-version."hawk"."3.1.3" = self.buildNodePackage {
-    name = "hawk-3.1.3";
-    version = "3.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hawk/-/hawk-3.1.3.tgz";
-      name = "hawk-3.1.3.tgz";
-      sha1 = "078444bd7c1640b0fe540d2c9b73d59678e8e1c4";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-      "boom-2.10.1" = self.by-version."boom"."2.10.1";
-      "cryptiles-2.0.5" = self.by-version."cryptiles"."2.0.5";
-      "sntp-1.0.9" = self.by-version."sntp"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hawk"."~3.1.3" =
-    self.by-version."hawk"."3.1.3";
-  by-spec."hbo-dnsd"."0.9.8" =
-    self.by-version."hbo-dnsd"."0.9.8";
-  by-version."hbo-dnsd"."0.9.8" = self.buildNodePackage {
-    name = "hbo-dnsd-0.9.8";
-    version = "0.9.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hbo-dnsd/-/hbo-dnsd-0.9.8.tgz";
-      name = "hbo-dnsd-0.9.8.tgz";
-      sha1 = "ab964f34cf13b40ea7d412f125d576716c551ef2";
-    };
-    deps = {
-      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
-      "defaultable-0.7.2" = self.by-version."defaultable"."0.7.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."he"."~0.3.6" =
-    self.by-version."he"."0.3.6";
-  by-version."he"."0.3.6" = self.buildNodePackage {
-    name = "he-0.3.6";
-    version = "0.3.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/he/-/he-0.3.6.tgz";
-      name = "he-0.3.6.tgz";
-      sha1 = "9d7bc446e77963933301dd602d5731cb861135e0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."headless"."^0.1.7" =
-    self.by-version."headless"."0.1.7";
-  by-version."headless"."0.1.7" = self.buildNodePackage {
-    name = "headless-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/headless/-/headless-0.1.7.tgz";
-      name = "headless-0.1.7.tgz";
-      sha1 = "6e62fae668947f88184d5c156ede7c5695a7e9c8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."help-me"."^0.1.0" =
-    self.by-version."help-me"."0.1.0";
-  by-version."help-me"."0.1.0" = self.buildNodePackage {
-    name = "help-me-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/help-me/-/help-me-0.1.0.tgz";
-      name = "help-me-0.1.0.tgz";
-      sha1 = "0fb3a40537ad5265b6b49413022c60d35b49539a";
-    };
-    deps = {
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "pump-1.0.1" = self.by-version."pump"."1.0.1";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."highlight.js"."8.x" =
-    self.by-version."highlight.js"."8.9.1";
-  by-version."highlight.js"."8.9.1" = self.buildNodePackage {
-    name = "highlight.js-8.9.1";
-    version = "8.9.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/highlight.js/-/highlight.js-8.9.1.tgz";
-      name = "highlight.js-8.9.1.tgz";
-      sha1 = "b8a9c5493212a9392f0222b649c9611497ebfb88";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hipache"."*" =
-    self.by-version."hipache"."0.3.1";
-  by-version."hipache"."0.3.1" = self.buildNodePackage {
-    name = "hipache-0.3.1";
-    version = "0.3.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hipache/-/hipache-0.3.1.tgz";
-      name = "hipache-0.3.1.tgz";
-      sha1 = "e21764eafe6429ec8dc9377b55e1ca86799704d5";
-    };
-    deps = {
-      "http-proxy-1.0.2" = self.by-version."http-proxy"."1.0.2";
-      "redis-0.10.3" = self.by-version."redis"."0.10.3";
-      "lru-cache-2.5.2" = self.by-version."lru-cache"."2.5.2";
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "hipache" = self.by-version."hipache"."0.3.1";
-  by-spec."hiredis"."*" =
-    self.by-version."hiredis"."0.4.1";
-  by-version."hiredis"."0.4.1" = self.buildNodePackage {
-    name = "hiredis-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hiredis/-/hiredis-0.4.1.tgz";
-      name = "hiredis-0.4.1.tgz";
-      sha1 = "aab4dcfd0fc4cbdb219d268005f2335a3c639e8f";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hoek"."0.7.x" =
-    self.by-version."hoek"."0.7.6";
-  by-version."hoek"."0.7.6" = self.buildNodePackage {
-    name = "hoek-0.7.6";
-    version = "0.7.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hoek/-/hoek-0.7.6.tgz";
-      name = "hoek-0.7.6.tgz";
-      sha1 = "60fbd904557541cd2b8795abf308a1b3770e155a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hoek"."0.9.x" =
-    self.by-version."hoek"."0.9.1";
-  by-version."hoek"."0.9.1" = self.buildNodePackage {
-    name = "hoek-0.9.1";
-    version = "0.9.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hoek/-/hoek-0.9.1.tgz";
-      name = "hoek-0.9.1.tgz";
-      sha1 = "3d322462badf07716ea7eb85baf88079cddce505";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hoek"."2.x.x" =
-    self.by-version."hoek"."2.16.3";
-  by-version."hoek"."2.16.3" = self.buildNodePackage {
-    name = "hoek-2.16.3";
-    version = "2.16.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hoek/-/hoek-2.16.3.tgz";
-      name = "hoek-2.16.3.tgz";
-      sha1 = "20bb7403d3cea398e91dc4710a8ff1b8274a25ed";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hoek"."^2.14.0" =
-    self.by-version."hoek"."2.16.3";
-  by-spec."hooker"."^0.2.3" =
-    self.by-version."hooker"."0.2.3";
-  by-version."hooker"."0.2.3" = self.buildNodePackage {
-    name = "hooker-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hooker/-/hooker-0.2.3.tgz";
-      name = "hooker-0.2.3.tgz";
-      sha1 = "b834f723cc4a242aa65963459df6d984c5d3d959";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hooker"."~0.2.3" =
-    self.by-version."hooker"."0.2.3";
-  by-spec."hooks"."0.2.1" =
-    self.by-version."hooks"."0.2.1";
-  by-version."hooks"."0.2.1" = self.buildNodePackage {
-    name = "hooks-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hooks/-/hooks-0.2.1.tgz";
-      name = "hooks-0.2.1.tgz";
-      sha1 = "0f591b1b344bdcb3df59773f62fbbaf85bf4028b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hooks-fixed"."1.1.0" =
-    self.by-version."hooks-fixed"."1.1.0";
-  by-version."hooks-fixed"."1.1.0" = self.buildNodePackage {
-    name = "hooks-fixed-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hooks-fixed/-/hooks-fixed-1.1.0.tgz";
-      name = "hooks-fixed-1.1.0.tgz";
-      sha1 = "0e8c15336708e6611185fe390b44687dd5230dbb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hosted-git-info"."^2.1.4" =
-    self.by-version."hosted-git-info"."2.1.5";
-  by-version."hosted-git-info"."2.1.5" = self.buildNodePackage {
-    name = "hosted-git-info-2.1.5";
-    version = "2.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.1.5.tgz";
-      name = "hosted-git-info-2.1.5.tgz";
-      sha1 = "0ba81d90da2e25ab34a332e6ec77936e1598118b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."hosted-git-info"."~2.1.4" =
-    self.by-version."hosted-git-info"."2.1.5";
-  by-spec."hosted-git-info"."~2.1.5" =
-    self.by-version."hosted-git-info"."2.1.5";
-  by-spec."html-md"."^3.0.2" =
-    self.by-version."html-md"."3.0.2";
-  by-version."html-md"."3.0.2" = self.buildNodePackage {
-    name = "html-md-3.0.2";
-    version = "3.0.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/html-md/-/html-md-3.0.2.tgz";
-      name = "html-md-3.0.2.tgz";
-      sha1 = "becac66f3c7d27aa99409d0a17f1131f16fe510f";
-    };
-    deps = {
-      "commander-2.0.0" = self.by-version."commander"."2.0.0";
-      "fs-extra-0.7.1" = self.by-version."fs-extra"."0.7.1";
-      "jsdom-0.8.11" = self.by-version."jsdom"."0.8.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."html5"."~1.0.5" =
-    self.by-version."html5"."1.0.5";
-  by-version."html5"."1.0.5" = self.buildNodePackage {
-    name = "html5-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/html5/-/html5-1.0.5.tgz";
-      name = "html5-1.0.5.tgz";
-      sha1 = "c9e6ce4e07a70521904bee1b318a4c48feab5848";
-    };
-    deps = {
-      "opts-1.2.2" = self.by-version."opts"."1.2.2";
-      "html5-entities-1.0.0" = self.by-version."html5-entities"."1.0.0";
-    };
-    optionalDependencies = {
-      "jsdom-0.11.1" = self.by-version."jsdom"."0.11.1";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."html5-entities"."^1.0.0" =
-    self.by-version."html5-entities"."1.0.0";
-  by-version."html5-entities"."1.0.0" = self.buildNodePackage {
-    name = "html5-entities-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/html5-entities/-/html5-entities-1.0.0.tgz";
-      name = "html5-entities-1.0.0.tgz";
-      sha1 = "e568fd84d8efb52c806b16c98b92dad548ebe370";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."htmlencode".">=0.0.1" =
-    self.by-version."htmlencode"."0.0.4";
-  by-version."htmlencode"."0.0.4" = self.buildNodePackage {
-    name = "htmlencode-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/htmlencode/-/htmlencode-0.0.4.tgz";
-      name = "htmlencode-0.0.4.tgz";
-      sha1 = "f7e2d6afbe18a87a78e63ba3308e753766740e3f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."htmlescape"."^1.1.0" =
-    self.by-version."htmlescape"."1.1.1";
-  by-version."htmlescape"."1.1.1" = self.buildNodePackage {
-    name = "htmlescape-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/htmlescape/-/htmlescape-1.1.1.tgz";
-      name = "htmlescape-1.1.1.tgz";
-      sha1 = "3a03edc2214bca3b66424a3e7959349509cb0351";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."htmlparser2"."3.8.x" =
-    self.by-version."htmlparser2"."3.8.3";
-  by-version."htmlparser2"."3.8.3" = self.buildNodePackage {
-    name = "htmlparser2-3.8.3";
-    version = "3.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.8.3.tgz";
-      name = "htmlparser2-3.8.3.tgz";
-      sha1 = "996c28b191516a8be86501a7d79757e5c70c1068";
-    };
-    deps = {
-      "domhandler-2.3.0" = self.by-version."domhandler"."2.3.0";
-      "domutils-1.5.1" = self.by-version."domutils"."1.5.1";
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "entities-1.0.0" = self.by-version."entities"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."htmlparser2".">= 3.1.5 <4" =
-    self.by-version."htmlparser2"."3.9.0";
-  by-version."htmlparser2"."3.9.0" = self.buildNodePackage {
-    name = "htmlparser2-3.9.0";
-    version = "3.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.9.0.tgz";
-      name = "htmlparser2-3.9.0.tgz";
-      sha1 = "1bd6ba4d3358bbd31f93e13fb952961cf4d31b3f";
-    };
-    deps = {
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-      "domhandler-2.3.0" = self.by-version."domhandler"."2.3.0";
-      "domutils-1.5.1" = self.by-version."domutils"."1.5.1";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."htmlparser2".">= 3.7.3 < 4.0.0" =
-    self.by-version."htmlparser2"."3.9.0";
-  by-spec."htmlparser2".">=3.4.0" =
-    self.by-version."htmlparser2"."3.9.0";
-  by-spec."htmlparser2"."^3.8.2" =
-    self.by-version."htmlparser2"."3.9.0";
-  by-spec."htmlparser2"."^3.9.0" =
-    self.by-version."htmlparser2"."3.9.0";
-  by-spec."htmlparser2"."~3.7.2" =
-    self.by-version."htmlparser2"."3.7.3";
-  by-version."htmlparser2"."3.7.3" = self.buildNodePackage {
-    name = "htmlparser2-3.7.3";
-    version = "3.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/htmlparser2/-/htmlparser2-3.7.3.tgz";
-      name = "htmlparser2-3.7.3.tgz";
-      sha1 = "6a64c77637c08c6f30ec2a8157a53333be7cb05e";
-    };
-    deps = {
-      "domhandler-2.2.1" = self.by-version."domhandler"."2.2.1";
-      "domutils-1.5.1" = self.by-version."domutils"."1.5.1";
-      "domelementtype-1.3.0" = self.by-version."domelementtype"."1.3.0";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "entities-1.0.0" = self.by-version."entities"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."htmlparser2"."~3.8.1" =
-    self.by-version."htmlparser2"."3.8.3";
-  by-spec."http-auth"."2.0.7" =
-    self.by-version."http-auth"."2.0.7";
-  by-version."http-auth"."2.0.7" = self.buildNodePackage {
-    name = "http-auth-2.0.7";
-    version = "2.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-auth/-/http-auth-2.0.7.tgz";
-      name = "http-auth-2.0.7.tgz";
-      sha1 = "aa1a61a4d6baae9d64436c6f0ef0f4de85c430e3";
-    };
-    deps = {
-      "coffee-script-1.6.3" = self.by-version."coffee-script"."1.6.3";
-      "node-uuid-1.4.1" = self.by-version."node-uuid"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-browserify"."^1.3.2" =
-    self.by-version."http-browserify"."1.7.0";
-  by-version."http-browserify"."1.7.0" = self.buildNodePackage {
-    name = "http-browserify-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-browserify/-/http-browserify-1.7.0.tgz";
-      name = "http-browserify-1.7.0.tgz";
-      sha1 = "33795ade72df88acfbfd36773cefeda764735b20";
-    };
-    deps = {
-      "Base64-0.2.1" = self.by-version."Base64"."0.2.1";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-browserify"."^1.4.0" =
-    self.by-version."http-browserify"."1.7.0";
-  by-spec."http-errors".">=1.2.0" =
-    self.by-version."http-errors"."1.5.0";
-  by-version."http-errors"."1.5.0" = self.buildNodePackage {
-    name = "http-errors-1.5.0";
-    version = "1.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-errors/-/http-errors-1.5.0.tgz";
-      name = "http-errors-1.5.0.tgz";
-      sha1 = "b1cb3d8260fd8e2386cad3189045943372d48211";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "setprototypeof-1.0.1" = self.by-version."setprototypeof"."1.0.1";
-      "statuses-1.3.0" = self.by-version."statuses"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-errors"."~1.3.1" =
-    self.by-version."http-errors"."1.3.1";
-  by-version."http-errors"."1.3.1" = self.buildNodePackage {
-    name = "http-errors-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-errors/-/http-errors-1.3.1.tgz";
-      name = "http-errors-1.3.1.tgz";
-      sha1 = "197e22cdebd4198585e8694ef6786197b91ed942";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "statuses-1.3.0" = self.by-version."statuses"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-errors"."~1.4.0" =
-    self.by-version."http-errors"."1.4.0";
-  by-version."http-errors"."1.4.0" = self.buildNodePackage {
-    name = "http-errors-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-errors/-/http-errors-1.4.0.tgz";
-      name = "http-errors-1.4.0.tgz";
-      sha1 = "6c0242dea6b3df7afda153c71089b31c6e82aabf";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "statuses-1.3.0" = self.by-version."statuses"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-errors"."~1.5.0" =
-    self.by-version."http-errors"."1.5.0";
-  by-spec."http-headers"."^3.0.1" =
-    self.by-version."http-headers"."3.0.1";
-  by-version."http-headers"."3.0.1" = self.buildNodePackage {
-    name = "http-headers-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-headers/-/http-headers-3.0.1.tgz";
-      name = "http-headers-3.0.1.tgz";
-      sha1 = "1cbc691c45cdf6d6c1dc63bf368b2505f56ef839";
-    };
-    deps = {
-      "next-line-1.1.0" = self.by-version."next-line"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-proxy"."1.0.2" =
-    self.by-version."http-proxy"."1.0.2";
-  by-version."http-proxy"."1.0.2" = self.buildNodePackage {
-    name = "http-proxy-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.0.2.tgz";
-      name = "http-proxy-1.0.2.tgz";
-      sha1 = "08060ff2edb2189e57aa3a152d3ac63ed1af7254";
-    };
-    deps = {
-      "eventemitter3-1.2.0" = self.by-version."eventemitter3"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-proxy"."^1.13.0" =
-    self.by-version."http-proxy"."1.13.3";
-  by-version."http-proxy"."1.13.3" = self.buildNodePackage {
-    name = "http-proxy-1.13.3";
-    version = "1.13.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-proxy/-/http-proxy-1.13.3.tgz";
-      name = "http-proxy-1.13.3.tgz";
-      sha1 = "d5ec0e25da0c4b2edaeaa9476672640deda59623";
-    };
-    deps = {
-      "eventemitter3-1.2.0" = self.by-version."eventemitter3"."1.2.0";
-      "requires-port-1.0.0" = self.by-version."requires-port"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-proxy-agent"."0" =
-    self.by-version."http-proxy-agent"."0.2.7";
-  by-version."http-proxy-agent"."0.2.7" = self.buildNodePackage {
-    name = "http-proxy-agent-0.2.7";
-    version = "0.2.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-0.2.7.tgz";
-      name = "http-proxy-agent-0.2.7.tgz";
-      sha1 = "e17fda65f0902d952ce7921e62c7ff8862655a5e";
-    };
-    deps = {
-      "agent-base-1.0.2" = self.by-version."agent-base"."1.0.2";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-signature".">=1.0.2 <2.0.0" =
-    self.by-version."http-signature"."1.1.1";
-  by-version."http-signature"."1.1.1" = self.buildNodePackage {
-    name = "http-signature-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-signature/-/http-signature-1.1.1.tgz";
-      name = "http-signature-1.1.1.tgz";
-      sha1 = "df72e267066cd0ac67fb76adf8e134a8fbcf91bf";
-    };
-    deps = {
-      "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
-      "jsprim-1.2.2" = self.by-version."jsprim"."1.2.2";
-      "sshpk-1.8.3" = self.by-version."sshpk"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-signature"."^0.11.0" =
-    self.by-version."http-signature"."0.11.0";
-  by-version."http-signature"."0.11.0" = self.buildNodePackage {
-    name = "http-signature-0.11.0";
-    version = "0.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-signature/-/http-signature-0.11.0.tgz";
-      name = "http-signature-0.11.0.tgz";
-      sha1 = "1796cf67a001ad5cd6849dca0991485f09089fe6";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
-      "ctype-0.5.3" = self.by-version."ctype"."0.5.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-signature"."~0.10.0" =
-    self.by-version."http-signature"."0.10.1";
-  by-version."http-signature"."0.10.1" = self.buildNodePackage {
-    name = "http-signature-0.10.1";
-    version = "0.10.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/http-signature/-/http-signature-0.10.1.tgz";
-      name = "http-signature-0.10.1.tgz";
-      sha1 = "4fbdac132559aa8323121e540779c0a012b27e66";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "asn1-0.1.11" = self.by-version."asn1"."0.1.11";
-      "ctype-0.5.3" = self.by-version."ctype"."0.5.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."http-signature"."~0.11.0" =
-    self.by-version."http-signature"."0.11.0";
-  by-spec."http-signature"."~1.1.0" =
-    self.by-version."http-signature"."1.1.1";
-  by-spec."https-browserify"."0.0.1" =
-    self.by-version."https-browserify"."0.0.1";
-  by-version."https-browserify"."0.0.1" = self.buildNodePackage {
-    name = "https-browserify-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/https-browserify/-/https-browserify-0.0.1.tgz";
-      name = "https-browserify-0.0.1.tgz";
-      sha1 = "3f91365cabe60b77ed0ebba24b454e3e09d95a82";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."https-browserify"."~0.0.0" =
-    self.by-version."https-browserify"."0.0.1";
-  by-spec."https-proxy-agent"."0" =
-    self.by-version."https-proxy-agent"."0.3.6";
-  by-version."https-proxy-agent"."0.3.6" = self.buildNodePackage {
-    name = "https-proxy-agent-0.3.6";
-    version = "0.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-0.3.6.tgz";
-      name = "https-proxy-agent-0.3.6.tgz";
-      sha1 = "713fa38e5d353f50eb14a342febe29033ed1619b";
-    };
-    deps = {
-      "agent-base-1.0.2" = self.by-version."agent-base"."1.0.2";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."https-proxy-agent"."^1.0.0" =
-    self.by-version."https-proxy-agent"."1.0.0";
-  by-version."https-proxy-agent"."1.0.0" = self.buildNodePackage {
-    name = "https-proxy-agent-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-1.0.0.tgz";
-      name = "https-proxy-agent-1.0.0.tgz";
-      sha1 = "35f7da6c48ce4ddbfa264891ac593ee5ff8671e6";
-    };
-    deps = {
-      "agent-base-2.0.1" = self.by-version."agent-base"."2.0.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."humanize"."0.0.9" =
-    self.by-version."humanize"."0.0.9";
-  by-version."humanize"."0.0.9" = self.buildNodePackage {
-    name = "humanize-0.0.9";
-    version = "0.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/humanize/-/humanize-0.0.9.tgz";
-      name = "humanize-0.0.9.tgz";
-      sha1 = "1994ffaecdfe9c441ed2bdac7452b7bb4c9e41a4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."i"."0.3.x" =
-    self.by-version."i"."0.3.5";
-  by-version."i"."0.3.5" = self.buildNodePackage {
-    name = "i-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/i/-/i-0.3.5.tgz";
-      name = "i-0.3.5.tgz";
-      sha1 = "1d2b854158ec8169113c6cb7f6b6801e99e211d5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."i18next"."*" =
-    self.by-version."i18next"."3.1.0";
-  by-version."i18next"."3.1.0" = self.buildNodePackage {
-    name = "i18next-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/i18next/-/i18next-3.1.0.tgz";
-      name = "i18next-3.1.0.tgz";
-      sha1 = "3481d8e4c760f1316738db7ba3fd35bc648c0a45";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "i18next" = self.by-version."i18next"."3.1.0";
-  by-spec."i18next"."1.10.6" =
-    self.by-version."i18next"."1.10.6";
-  by-version."i18next"."1.10.6" = self.buildNodePackage {
-    name = "i18next-1.10.6";
-    version = "1.10.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/i18next/-/i18next-1.10.6.tgz";
-      name = "i18next-1.10.6.tgz";
-      sha1 = "fddd8b491502c48967a62963bc722ff897cddea0";
-    };
-    deps = {
-      "cookies-0.6.1" = self.by-version."cookies"."0.6.1";
-      "i18next-client-1.10.3" = self.by-version."i18next-client"."1.10.3";
-      "json5-0.2.0" = self.by-version."json5"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."i18next-client"."1.10.3" =
-    self.by-version."i18next-client"."1.10.3";
-  by-version."i18next-client"."1.10.3" = self.buildNodePackage {
-    name = "i18next-client-1.10.3";
-    version = "1.10.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/i18next-client/-/i18next-client-1.10.3.tgz";
-      name = "i18next-client-1.10.3.tgz";
-      sha1 = "76d0353557ed90d1e7a87754d5004d3f7801fde9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iconv-lite"."0.4.11" =
-    self.by-version."iconv-lite"."0.4.11";
-  by-version."iconv-lite"."0.4.11" = self.buildNodePackage {
-    name = "iconv-lite-0.4.11";
-    version = "0.4.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.11.tgz";
-      name = "iconv-lite-0.4.11.tgz";
-      sha1 = "2ecb42fd294744922209a2e7c404dac8793d8ade";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iconv-lite"."0.4.13" =
-    self.by-version."iconv-lite"."0.4.13";
-  by-version."iconv-lite"."0.4.13" = self.buildNodePackage {
-    name = "iconv-lite-0.4.13";
-    version = "0.4.13";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.13.tgz";
-      name = "iconv-lite-0.4.13.tgz";
-      sha1 = "1f88aba4ab0b1508e8312acc39345f36e992e2f2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iconv-lite"."0.4.4" =
-    self.by-version."iconv-lite"."0.4.4";
-  by-version."iconv-lite"."0.4.4" = self.buildNodePackage {
-    name = "iconv-lite-0.4.4";
-    version = "0.4.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.4.tgz";
-      name = "iconv-lite-0.4.4.tgz";
-      sha1 = "e95f2e41db0735fc21652f7827a5ee32e63c83a8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iconv-lite"."0.4.8" =
-    self.by-version."iconv-lite"."0.4.8";
-  by-version."iconv-lite"."0.4.8" = self.buildNodePackage {
-    name = "iconv-lite-0.4.8";
-    version = "0.4.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.8.tgz";
-      name = "iconv-lite-0.4.8.tgz";
-      sha1 = "c6019a7595f2cefca702eab694a010bcd9298d20";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iconv-lite"."^0.4.13" =
-    self.by-version."iconv-lite"."0.4.13";
-  by-spec."iconv-lite"."^0.4.4" =
-    self.by-version."iconv-lite"."0.4.13";
-  by-spec."iconv-lite"."^0.4.5" =
-    self.by-version."iconv-lite"."0.4.13";
-  by-spec."iconv-lite"."~0.2.11" =
-    self.by-version."iconv-lite"."0.2.11";
-  by-version."iconv-lite"."0.2.11" = self.buildNodePackage {
-    name = "iconv-lite-0.2.11";
-    version = "0.2.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.2.11.tgz";
-      name = "iconv-lite-0.2.11.tgz";
-      sha1 = "1ce60a3a57864a292d1321ff4609ca4bb965adc8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iconv-lite"."~0.4.13" =
-    self.by-version."iconv-lite"."0.4.13";
-  by-spec."ieee754"."^1.1.4" =
-    self.by-version."ieee754"."1.1.6";
-  by-version."ieee754"."1.1.6" = self.buildNodePackage {
-    name = "ieee754-1.1.6";
-    version = "1.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ieee754/-/ieee754-1.1.6.tgz";
-      name = "ieee754-1.1.6.tgz";
-      sha1 = "2e1013219c6d6712973ec54d981ec19e5579de97";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iferr"."^0.1.5" =
-    self.by-version."iferr"."0.1.5";
-  by-version."iferr"."0.1.5" = self.buildNodePackage {
-    name = "iferr-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz";
-      name = "iferr-0.1.5.tgz";
-      sha1 = "c60eed69e6d8fdb6b3104a1fcbca1c192dc5b501";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."iferr"."~0.1.5" =
-    self.by-version."iferr"."0.1.5";
-  by-spec."ignore"."^3.1.2" =
-    self.by-version."ignore"."3.1.2";
-  by-version."ignore"."3.1.2" = self.buildNodePackage {
-    name = "ignore-3.1.2";
-    version = "3.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ignore/-/ignore-3.1.2.tgz";
-      name = "ignore-3.1.2.tgz";
-      sha1 = "dd17765e9233b4019762ba82b892202b0980161b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ignore-by-default"."^1.0.0" =
-    self.by-version."ignore-by-default"."1.0.1";
-  by-version."ignore-by-default"."1.0.1" = self.buildNodePackage {
-    name = "ignore-by-default-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz";
-      name = "ignore-by-default-1.0.1.tgz";
-      sha1 = "48ca6d72f6c6a3af00a9ad4ae6876be3889e2b09";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."image-size"."~0.4.0" =
-    self.by-version."image-size"."0.4.0";
-  by-version."image-size"."0.4.0" = self.buildNodePackage {
-    name = "image-size-0.4.0";
-    version = "0.4.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/image-size/-/image-size-0.4.0.tgz";
-      name = "image-size-0.4.0.tgz";
-      sha1 = "d4b4e1f61952e4cbc1cea9a6b0c915fecb707510";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."image-size"."~0.5.0" =
-    self.by-version."image-size"."0.5.0";
-  by-version."image-size"."0.5.0" = self.buildNodePackage {
-    name = "image-size-0.5.0";
-    version = "0.5.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/image-size/-/image-size-0.5.0.tgz";
-      name = "image-size-0.5.0.tgz";
-      sha1 = "be7aed1c37b5ac3d9ba1d66a24b4c47ff8397651";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."imagemagick".">=0.1.3" =
-    self.by-version."imagemagick"."0.1.3";
-  by-version."imagemagick"."0.1.3" = self.buildNodePackage {
-    name = "imagemagick-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/imagemagick/-/imagemagick-0.1.3.tgz";
-      name = "imagemagick-0.1.3.tgz";
-      sha1 = "7483cea093b4d9f2e2f396857adc8821b537c56a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."imap"."^0.8.17" =
-    self.by-version."imap"."0.8.17";
-  by-version."imap"."0.8.17" = self.buildNodePackage {
-    name = "imap-0.8.17";
-    version = "0.8.17";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/imap/-/imap-0.8.17.tgz";
-      name = "imap-0.8.17.tgz";
-      sha1 = "e70ff1d1def0456af8bf1d96164d36176662172a";
-    };
-    deps = {
-      "utf7-1.0.0" = self.by-version."utf7"."1.0.0";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."immediate-chunk-store"."^1.0.5" =
-    self.by-version."immediate-chunk-store"."1.0.8";
-  by-version."immediate-chunk-store"."1.0.8" = self.buildNodePackage {
-    name = "immediate-chunk-store-1.0.8";
-    version = "1.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/immediate-chunk-store/-/immediate-chunk-store-1.0.8.tgz";
-      name = "immediate-chunk-store-1.0.8.tgz";
-      sha1 = "0ecdad0c546332672d7b5b511b26bb18ce56e73f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."immutable"."^3.7.6" =
-    self.by-version."immutable"."3.8.1";
-  by-version."immutable"."3.8.1" = self.buildNodePackage {
-    name = "immutable-3.8.1";
-    version = "3.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/immutable/-/immutable-3.8.1.tgz";
-      name = "immutable-3.8.1.tgz";
-      sha1 = "200807f11ab0f72710ea485542de088075f68cd2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."imurmurhash"."*" =
-    self.by-version."imurmurhash"."0.1.4";
-  by-version."imurmurhash"."0.1.4" = self.buildNodePackage {
-    name = "imurmurhash-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz";
-      name = "imurmurhash-0.1.4.tgz";
-      sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."imurmurhash"."^0.1.4" =
-    self.by-version."imurmurhash"."0.1.4";
-  by-spec."indent-string"."^1.1.0" =
-    self.by-version."indent-string"."1.2.2";
-  by-version."indent-string"."1.2.2" = self.buildNodePackage {
-    name = "indent-string-1.2.2";
-    version = "1.2.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/indent-string/-/indent-string-1.2.2.tgz";
-      name = "indent-string-1.2.2.tgz";
-      sha1 = "db99bcc583eb6abbb1e48dcbb1999a986041cb6b";
-    };
-    deps = {
-      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "repeating-1.1.3" = self.by-version."repeating"."1.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."indent-string"."^2.1.0" =
-    self.by-version."indent-string"."2.1.0";
-  by-version."indent-string"."2.1.0" = self.buildNodePackage {
-    name = "indent-string-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/indent-string/-/indent-string-2.1.0.tgz";
-      name = "indent-string-2.1.0.tgz";
-      sha1 = "8e2d48348742121b4a8218b7a137e9a52049dc80";
-    };
-    deps = {
-      "repeating-2.0.1" = self.by-version."repeating"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."indexof"."0.0.1" =
-    self.by-version."indexof"."0.0.1";
-  by-version."indexof"."0.0.1" = self.buildNodePackage {
-    name = "indexof-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz";
-      name = "indexof-0.0.1.tgz";
-      sha1 = "82dc336d232b9062179d05ab3293a66059fd435d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."infinity-agent"."^2.0.0" =
-    self.by-version."infinity-agent"."2.0.3";
-  by-version."infinity-agent"."2.0.3" = self.buildNodePackage {
-    name = "infinity-agent-2.0.3";
-    version = "2.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/infinity-agent/-/infinity-agent-2.0.3.tgz";
-      name = "infinity-agent-2.0.3.tgz";
-      sha1 = "45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inflection"."~1.3.0" =
-    self.by-version."inflection"."1.3.8";
-  by-version."inflection"."1.3.8" = self.buildNodePackage {
-    name = "inflection-1.3.8";
-    version = "1.3.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inflection/-/inflection-1.3.8.tgz";
-      name = "inflection-1.3.8.tgz";
-      sha1 = "cbd160da9f75b14c3cc63578d4f396784bf3014e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inflection"."~1.5.3" =
-    self.by-version."inflection"."1.5.3";
-  by-version."inflection"."1.5.3" = self.buildNodePackage {
-    name = "inflection-1.5.3";
-    version = "1.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inflection/-/inflection-1.5.3.tgz";
-      name = "inflection-1.5.3.tgz";
-      sha1 = "192a6d80f666d11b10012311d7f330ee40dbc01e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inflight"."^1.0.4" =
-    self.by-version."inflight"."1.0.5";
-  by-version."inflight"."1.0.5" = self.buildNodePackage {
-    name = "inflight-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inflight/-/inflight-1.0.5.tgz";
-      name = "inflight-1.0.5.tgz";
-      sha1 = "db3204cd5a9de2e6cd890b85c6e2f66bcf4f620a";
-    };
-    deps = {
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "wrappy-1.0.2" = self.by-version."wrappy"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inflight"."~1.0.4" =
-    self.by-version."inflight"."1.0.5";
-  by-spec."inflight"."~1.0.5" =
-    self.by-version."inflight"."1.0.5";
-  by-spec."inherits"."1" =
-    self.by-version."inherits"."1.0.2";
-  by-version."inherits"."1.0.2" = self.buildNodePackage {
-    name = "inherits-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inherits/-/inherits-1.0.2.tgz";
-      name = "inherits-1.0.2.tgz";
-      sha1 = "ca4309dadee6b54cc0b8d247e8d7c7a0975bdc9b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inherits"."1.x" =
-    self.by-version."inherits"."1.0.2";
-  by-spec."inherits"."2" =
-    self.by-version."inherits"."2.0.1";
-  by-version."inherits"."2.0.1" = self.buildNodePackage {
-    name = "inherits-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz";
-      name = "inherits-2.0.1.tgz";
-      sha1 = "b17d08d326b4423e568eff719f91b0b1cbdf69f1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inherits"."2.0.1" =
-    self.by-version."inherits"."2.0.1";
-  by-spec."inherits"."^2.0.1" =
-    self.by-version."inherits"."2.0.1";
-  by-spec."inherits"."~1.0.0" =
-    self.by-version."inherits"."1.0.2";
-  by-spec."inherits"."~2.0.0" =
-    self.by-version."inherits"."2.0.1";
-  by-spec."inherits"."~2.0.1" =
-    self.by-version."inherits"."2.0.1";
-  by-spec."ini"."1.x.x" =
-    self.by-version."ini"."1.3.4";
-  by-version."ini"."1.3.4" = self.buildNodePackage {
-    name = "ini-1.3.4";
-    version = "1.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ini/-/ini-1.3.4.tgz";
-      name = "ini-1.3.4.tgz";
-      sha1 = "0537cb79daf59b59a1a517dff706c86ec039162e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ini"."^1.2.0" =
-    self.by-version."ini"."1.3.4";
-  by-spec."ini"."^1.3.0" =
-    self.by-version."ini"."1.3.4";
-  by-spec."ini"."^1.3.4" =
-    self.by-version."ini"."1.3.4";
-  by-spec."ini"."~1.1.0" =
-    self.by-version."ini"."1.1.0";
-  by-version."ini"."1.1.0" = self.buildNodePackage {
-    name = "ini-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ini/-/ini-1.1.0.tgz";
-      name = "ini-1.1.0.tgz";
-      sha1 = "4e808c2ce144c6c1788918e034d6797bc6cf6281";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ini"."~1.3.0" =
-    self.by-version."ini"."1.3.4";
-  by-spec."ini"."~1.3.4" =
-    self.by-version."ini"."1.3.4";
-  by-spec."init-package-json"."^1.2.0" =
-    self.by-version."init-package-json"."1.9.4";
-  by-version."init-package-json"."1.9.4" = self.buildNodePackage {
-    name = "init-package-json-1.9.4";
-    version = "1.9.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/init-package-json/-/init-package-json-1.9.4.tgz";
-      name = "init-package-json-1.9.4.tgz";
-      sha1 = "b4053d0b40f0cf842a41966937cb3dc0f534e856";
-    };
-    deps = {
-      "glob-6.0.4" = self.by-version."glob"."6.0.4";
-      "npm-package-arg-4.1.1" = self.by-version."npm-package-arg"."4.1.1";
-      "promzard-0.3.0" = self.by-version."promzard"."0.3.0";
-      "read-1.0.7" = self.by-version."read"."1.0.7";
-      "read-package-json-2.0.4" = self.by-version."read-package-json"."2.0.4";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "validate-npm-package-license-3.0.1" = self.by-version."validate-npm-package-license"."3.0.1";
-      "validate-npm-package-name-2.2.2" = self.by-version."validate-npm-package-name"."2.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."init-package-json"."~1.9.3" =
-    self.by-version."init-package-json"."1.9.4";
-  by-spec."init-package-json"."~1.9.4" =
-    self.by-version."init-package-json"."1.9.4";
-  by-spec."inline-source-map"."~0.3.0" =
-    self.by-version."inline-source-map"."0.3.1";
-  by-version."inline-source-map"."0.3.1" = self.buildNodePackage {
-    name = "inline-source-map-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.3.1.tgz";
-      name = "inline-source-map-0.3.1.tgz";
-      sha1 = "a528b514e689fce90db3089e870d92f527acb5eb";
-    };
-    deps = {
-      "source-map-0.3.0" = self.by-version."source-map"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inline-source-map"."~0.5.0" =
-    self.by-version."inline-source-map"."0.5.0";
-  by-version."inline-source-map"."0.5.0" = self.buildNodePackage {
-    name = "inline-source-map-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.5.0.tgz";
-      name = "inline-source-map-0.5.0.tgz";
-      sha1 = "4a4c5dd8e4fb5e9b3cda60c822dfadcaee66e0af";
-    };
-    deps = {
-      "source-map-0.4.4" = self.by-version."source-map"."0.4.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inline-source-map"."~0.6.0" =
-    self.by-version."inline-source-map"."0.6.2";
-  by-version."inline-source-map"."0.6.2" = self.buildNodePackage {
-    name = "inline-source-map-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inline-source-map/-/inline-source-map-0.6.2.tgz";
-      name = "inline-source-map-0.6.2.tgz";
-      sha1 = "f9393471c18a79d1724f863fa38b586370ade2a5";
-    };
-    deps = {
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inquirer".">=0.2.4" =
-    self.by-version."inquirer"."1.0.3";
-  by-version."inquirer"."1.0.3" = self.buildNodePackage {
-    name = "inquirer-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inquirer/-/inquirer-1.0.3.tgz";
-      name = "inquirer-1.0.3.tgz";
-      sha1 = "ebe3a0948571bcc46ccccbe2f9bcec251e984bd0";
-    };
-    deps = {
-      "ansi-escapes-1.4.0" = self.by-version."ansi-escapes"."1.4.0";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "cli-cursor-1.0.2" = self.by-version."cli-cursor"."1.0.2";
-      "cli-width-2.1.0" = self.by-version."cli-width"."2.1.0";
-      "figures-1.7.0" = self.by-version."figures"."1.7.0";
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-      "mute-stream-0.0.6" = self.by-version."mute-stream"."0.0.6";
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-      "run-async-2.2.0" = self.by-version."run-async"."2.2.0";
-      "rx-4.1.0" = self.by-version."rx"."4.1.0";
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inquirer"."^0.10.0" =
-    self.by-version."inquirer"."0.10.1";
-  by-version."inquirer"."0.10.1" = self.buildNodePackage {
-    name = "inquirer-0.10.1";
-    version = "0.10.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inquirer/-/inquirer-0.10.1.tgz";
-      name = "inquirer-0.10.1.tgz";
-      sha1 = "ea25e4ce69ca145e05c99e46dcfec05e4012594a";
-    };
-    deps = {
-      "ansi-escapes-1.4.0" = self.by-version."ansi-escapes"."1.4.0";
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "cli-cursor-1.0.2" = self.by-version."cli-cursor"."1.0.2";
-      "cli-width-1.1.1" = self.by-version."cli-width"."1.1.1";
-      "figures-1.7.0" = self.by-version."figures"."1.7.0";
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-      "readline2-1.0.1" = self.by-version."readline2"."1.0.1";
-      "run-async-0.1.0" = self.by-version."run-async"."0.1.0";
-      "rx-lite-3.1.2" = self.by-version."rx-lite"."3.1.2";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inquirer"."^0.12.0" =
-    self.by-version."inquirer"."0.12.0";
-  by-version."inquirer"."0.12.0" = self.buildNodePackage {
-    name = "inquirer-0.12.0";
-    version = "0.12.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inquirer/-/inquirer-0.12.0.tgz";
-      name = "inquirer-0.12.0.tgz";
-      sha1 = "1ef2bfd63504df0bc75785fff8c2c41df12f077e";
-    };
-    deps = {
-      "ansi-escapes-1.4.0" = self.by-version."ansi-escapes"."1.4.0";
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "cli-cursor-1.0.2" = self.by-version."cli-cursor"."1.0.2";
-      "cli-width-2.1.0" = self.by-version."cli-width"."2.1.0";
-      "figures-1.7.0" = self.by-version."figures"."1.7.0";
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-      "readline2-1.0.1" = self.by-version."readline2"."1.0.1";
-      "run-async-0.1.0" = self.by-version."run-async"."0.1.0";
-      "rx-lite-3.1.2" = self.by-version."rx-lite"."3.1.2";
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."inquirer"."^0.8.0" =
-    self.by-version."inquirer"."0.8.5";
-  by-version."inquirer"."0.8.5" = self.buildNodePackage {
-    name = "inquirer-0.8.5";
-    version = "0.8.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/inquirer/-/inquirer-0.8.5.tgz";
-      name = "inquirer-0.8.5.tgz";
-      sha1 = "dbd740cf6ca3b731296a63ce6f6d961851f336df";
-    };
-    deps = {
-      "ansi-regex-1.1.1" = self.by-version."ansi-regex"."1.1.1";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "cli-width-1.1.1" = self.by-version."cli-width"."1.1.1";
-      "figures-1.7.0" = self.by-version."figures"."1.7.0";
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-      "readline2-0.1.1" = self.by-version."readline2"."0.1.1";
-      "rx-2.5.3" = self.by-version."rx"."2.5.3";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."insert-module-globals"."^6.4.1" =
-    self.by-version."insert-module-globals"."6.6.3";
-  by-version."insert-module-globals"."6.6.3" = self.buildNodePackage {
-    name = "insert-module-globals-6.6.3";
-    version = "6.6.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-6.6.3.tgz";
-      name = "insert-module-globals-6.6.3.tgz";
-      sha1 = "20638e29a30f9ed1ca2e3a825fbc2cba5246ddfc";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "combine-source-map-0.6.1" = self.by-version."combine-source-map"."0.6.1";
-      "concat-stream-1.4.10" = self.by-version."concat-stream"."1.4.10";
-      "is-buffer-1.1.3" = self.by-version."is-buffer"."1.1.3";
-      "lexical-scope-1.2.0" = self.by-version."lexical-scope"."1.2.0";
-      "process-0.11.4" = self.by-version."process"."0.11.4";
-      "through2-1.1.1" = self.by-version."through2"."1.1.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."insert-module-globals"."^7.0.0" =
-    self.by-version."insert-module-globals"."7.0.1";
-  by-version."insert-module-globals"."7.0.1" = self.buildNodePackage {
-    name = "insert-module-globals-7.0.1";
-    version = "7.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/insert-module-globals/-/insert-module-globals-7.0.1.tgz";
-      name = "insert-module-globals-7.0.1.tgz";
-      sha1 = "c03bf4e01cb086d5b5e5ace8ad0afe7889d638c3";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "combine-source-map-0.7.2" = self.by-version."combine-source-map"."0.7.2";
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "is-buffer-1.1.3" = self.by-version."is-buffer"."1.1.3";
-      "lexical-scope-1.2.0" = self.by-version."lexical-scope"."1.2.0";
-      "process-0.11.4" = self.by-version."process"."0.11.4";
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."insight"."~0.8.2" =
-    self.by-version."insight"."0.8.2";
-  by-version."insight"."0.8.2" = self.buildNodePackage {
-    name = "insight-0.8.2";
-    version = "0.8.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/insight/-/insight-0.8.2.tgz";
-      name = "insight-0.8.2.tgz";
-      sha1 = "18c2acf1b6055491278fc7529f1f21d32e1f0eda";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "configstore-1.4.0" = self.by-version."configstore"."1.4.0";
-      "inquirer-0.10.1" = self.by-version."inquirer"."0.10.1";
-      "lodash.debounce-3.1.1" = self.by-version."lodash.debounce"."3.1.1";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "os-name-1.0.3" = self.by-version."os-name"."1.0.3";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."internal-ip"."^1.0.0" =
-    self.by-version."internal-ip"."1.2.0";
-  by-version."internal-ip"."1.2.0" = self.buildNodePackage {
-    name = "internal-ip-1.2.0";
-    version = "1.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/internal-ip/-/internal-ip-1.2.0.tgz";
-      name = "internal-ip-1.2.0.tgz";
-      sha1 = "ae9fbf93b984878785d50a8de1b356956058cf5c";
-    };
-    deps = {
-      "meow-3.7.0" = self.by-version."meow"."3.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."internal-ip"."^1.2.0" =
-    self.by-version."internal-ip"."1.2.0";
-  by-spec."interpret"."^1.0.0" =
-    self.by-version."interpret"."1.0.1";
-  by-version."interpret"."1.0.1" = self.buildNodePackage {
-    name = "interpret-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/interpret/-/interpret-1.0.1.tgz";
-      name = "interpret-1.0.1.tgz";
-      sha1 = "d579fb7f693b858004947af39fa0db49f795602c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."intersect"."^1.0.1" =
-    self.by-version."intersect"."1.0.1";
-  by-version."intersect"."1.0.1" = self.buildNodePackage {
-    name = "intersect-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/intersect/-/intersect-1.0.1.tgz";
-      name = "intersect-1.0.1.tgz";
-      sha1 = "332650e10854d8c0ac58c192bdc27a8bf7e7a30c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."invert-kv"."^1.0.0" =
-    self.by-version."invert-kv"."1.0.0";
-  by-version."invert-kv"."1.0.0" = self.buildNodePackage {
-    name = "invert-kv-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/invert-kv/-/invert-kv-1.0.0.tgz";
-      name = "invert-kv-1.0.0.tgz";
-      sha1 = "104a8e4aaca6d3d8cd157a8ef8bfab2d7a3ffdb6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ip"."0.3.x" =
-    self.by-version."ip"."0.3.3";
-  by-version."ip"."0.3.3" = self.buildNodePackage {
-    name = "ip-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ip/-/ip-0.3.3.tgz";
-      name = "ip-0.3.3.tgz";
-      sha1 = "8ee8309e92f0b040d287f72efaca1a21702d3fb4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ip"."^0.3.0" =
-    self.by-version."ip"."0.3.3";
-  by-spec."ip"."^1.0.1" =
-    self.by-version."ip"."1.1.3";
-  by-version."ip"."1.1.3" = self.buildNodePackage {
-    name = "ip-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ip/-/ip-1.1.3.tgz";
-      name = "ip-1.1.3.tgz";
-      sha1 = "12b16294a38925486d618a1103506e4eb4f8b296";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ip"."^1.1.0" =
-    self.by-version."ip"."1.1.3";
-  by-spec."ip"."^1.1.2" =
-    self.by-version."ip"."1.1.3";
-  by-spec."ip-regex"."^1.0.0" =
-    self.by-version."ip-regex"."1.0.3";
-  by-version."ip-regex"."1.0.3" = self.buildNodePackage {
-    name = "ip-regex-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ip-regex/-/ip-regex-1.0.3.tgz";
-      name = "ip-regex-1.0.3.tgz";
-      sha1 = "dc589076f659f419c222039a33316f1c7387effd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ip-set"."^1.0.0" =
-    self.by-version."ip-set"."1.0.0";
-  by-version."ip-set"."1.0.0" = self.buildNodePackage {
-    name = "ip-set-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ip-set/-/ip-set-1.0.0.tgz";
-      name = "ip-set-1.0.0.tgz";
-      sha1 = "54782fb5ae37ab6e697a2b49e07748d9e069dda6";
-    };
-    deps = {
-      "ip-0.3.3" = self.by-version."ip"."0.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ipaddr.js"."0.1.2" =
-    self.by-version."ipaddr.js"."0.1.2";
-  by-version."ipaddr.js"."0.1.2" = self.buildNodePackage {
-    name = "ipaddr.js-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.2.tgz";
-      name = "ipaddr.js-0.1.2.tgz";
-      sha1 = "6a1fd3d854f5002965c34d7bbcd9b4a8d4b0467e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ipaddr.js"."1.0.5" =
-    self.by-version."ipaddr.js"."1.0.5";
-  by-version."ipaddr.js"."1.0.5" = self.buildNodePackage {
-    name = "ipaddr.js-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.0.5.tgz";
-      name = "ipaddr.js-1.0.5.tgz";
-      sha1 = "5fa78cf301b825c78abc3042d812723049ea23c7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ipaddr.js".">= 0.1.1" =
-    self.by-version."ipaddr.js"."1.1.1";
-  by-version."ipaddr.js"."1.1.1" = self.buildNodePackage {
-    name = "ipaddr.js-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.1.1.tgz";
-      name = "ipaddr.js-1.1.1.tgz";
-      sha1 = "c791d95f52b29c1247d5df80ada39b8a73647230";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ipaddr.js".">= 0.1.5" =
-    self.by-version."ipaddr.js"."1.1.1";
-  by-spec."ipaddr.js".">=0.1.2" =
-    self.by-version."ipaddr.js"."1.1.1";
-  by-spec."ipaddr.js"."^0.1.5" =
-    self.by-version."ipaddr.js"."0.1.9";
-  by-version."ipaddr.js"."0.1.9" = self.buildNodePackage {
-    name = "ipaddr.js-0.1.9";
-    version = "0.1.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-0.1.9.tgz";
-      name = "ipaddr.js-0.1.9.tgz";
-      sha1 = "a9c78ccc12dc9010f296ab9aef2f61f432d69efa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ipaddr.js"."^1.0.1" =
-    self.by-version."ipaddr.js"."1.1.1";
-  by-spec."ironhorse"."*" =
-    self.by-version."ironhorse"."0.0.11";
-  by-version."ironhorse"."0.0.11" = self.buildNodePackage {
-    name = "ironhorse-0.0.11";
-    version = "0.0.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ironhorse/-/ironhorse-0.0.11.tgz";
-      name = "ironhorse-0.0.11.tgz";
-      sha1 = "e28ea9c4f23d1fd17008f97df5f2a24f7bb928d2";
-    };
-    deps = {
-      "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
-      "winston-2.2.0" = self.by-version."winston"."2.2.0";
-      "nconf-0.8.4" = self.by-version."nconf"."0.8.4";
-      "fs-walk-0.0.1" = self.by-version."fs-walk"."0.0.1";
-      "async-2.0.0-rc.6" = self.by-version."async"."2.0.0-rc.6";
-      "express-5.0.0-alpha.2" = self.by-version."express"."5.0.0-alpha.2";
-      "jade-1.11.0" = self.by-version."jade"."1.11.0";
-      "passport-0.3.2" = self.by-version."passport"."0.3.2";
-      "passport-http-0.3.0" = self.by-version."passport-http"."0.3.0";
-      "js-yaml-3.6.1" = self.by-version."js-yaml"."3.6.1";
-      "mongoose-4.4.20" = self.by-version."mongoose"."4.4.20";
-      "gridfs-stream-1.1.1" = self.by-version."gridfs-stream"."1.1.1";
-      "temp-0.8.3" = self.by-version."temp"."0.8.3";
-      "kue-0.11.0" = self.by-version."kue"."0.11.0";
-      "redis-2.6.1" = self.by-version."redis"."2.6.1";
-      "hiredis-0.4.1" = self.by-version."hiredis"."0.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "ironhorse" = self.by-version."ironhorse"."0.0.11";
-  by-spec."is-arrayish"."^0.2.1" =
-    self.by-version."is-arrayish"."0.2.1";
-  by-version."is-arrayish"."0.2.1" = self.buildNodePackage {
-    name = "is-arrayish-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz";
-      name = "is-arrayish-0.2.1.tgz";
-      sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-binary-path"."^1.0.0" =
-    self.by-version."is-binary-path"."1.0.1";
-  by-version."is-binary-path"."1.0.1" = self.buildNodePackage {
-    name = "is-binary-path-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz";
-      name = "is-binary-path-1.0.1.tgz";
-      sha1 = "75f16642b480f187a711c814161fd3a4a7655898";
-    };
-    deps = {
-      "binary-extensions-1.4.1" = self.by-version."binary-extensions"."1.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-buffer"."^1.0.2" =
-    self.by-version."is-buffer"."1.1.3";
-  by-version."is-buffer"."1.1.3" = self.buildNodePackage {
-    name = "is-buffer-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.3.tgz";
-      name = "is-buffer-1.1.3.tgz";
-      sha1 = "db897fc3f7aca2d50de94b6c8c2896a4771627af";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-buffer"."^1.1.0" =
-    self.by-version."is-buffer"."1.1.3";
-  by-spec."is-builtin-module"."^1.0.0" =
-    self.by-version."is-builtin-module"."1.0.0";
-  by-version."is-builtin-module"."1.0.0" = self.buildNodePackage {
-    name = "is-builtin-module-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-1.0.0.tgz";
-      name = "is-builtin-module-1.0.0.tgz";
-      sha1 = "540572d34f7ac3119f8f76c30cbc1b1e037affbe";
-    };
-    deps = {
-      "builtin-modules-1.1.1" = self.by-version."builtin-modules"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-dotfile"."^1.0.0" =
-    self.by-version."is-dotfile"."1.0.2";
-  by-version."is-dotfile"."1.0.2" = self.buildNodePackage {
-    name = "is-dotfile-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-dotfile/-/is-dotfile-1.0.2.tgz";
-      name = "is-dotfile-1.0.2.tgz";
-      sha1 = "2c132383f39199f8edc268ca01b9b007d205cc4d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-equal-shallow"."^0.1.3" =
-    self.by-version."is-equal-shallow"."0.1.3";
-  by-version."is-equal-shallow"."0.1.3" = self.buildNodePackage {
-    name = "is-equal-shallow-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-equal-shallow/-/is-equal-shallow-0.1.3.tgz";
-      name = "is-equal-shallow-0.1.3.tgz";
-      sha1 = "2238098fc221de0bcfa5d9eac4c45d638aa1c534";
-    };
-    deps = {
-      "is-primitive-2.0.0" = self.by-version."is-primitive"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-extendable"."^0.1.0" =
-    self.by-version."is-extendable"."0.1.1";
-  by-version."is-extendable"."0.1.1" = self.buildNodePackage {
-    name = "is-extendable-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz";
-      name = "is-extendable-0.1.1.tgz";
-      sha1 = "62b110e289a471418e3ec36a617d472e301dfc89";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-extendable"."^0.1.1" =
-    self.by-version."is-extendable"."0.1.1";
-  by-spec."is-extglob"."^1.0.0" =
-    self.by-version."is-extglob"."1.0.0";
-  by-version."is-extglob"."1.0.0" = self.buildNodePackage {
-    name = "is-extglob-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-extglob/-/is-extglob-1.0.0.tgz";
-      name = "is-extglob-1.0.0.tgz";
-      sha1 = "ac468177c4943405a092fc8f29760c6ffc6206c0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-finite"."^1.0.0" =
-    self.by-version."is-finite"."1.0.1";
-  by-version."is-finite"."1.0.1" = self.buildNodePackage {
-    name = "is-finite-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-finite/-/is-finite-1.0.1.tgz";
-      name = "is-finite-1.0.1.tgz";
-      sha1 = "6438603eaebe2793948ff4a4262ec8db3d62597b";
-    };
-    deps = {
-      "number-is-nan-1.0.0" = self.by-version."number-is-nan"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-fullwidth-code-point"."^1.0.0" =
-    self.by-version."is-fullwidth-code-point"."1.0.0";
-  by-version."is-fullwidth-code-point"."1.0.0" = self.buildNodePackage {
-    name = "is-fullwidth-code-point-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
-      name = "is-fullwidth-code-point-1.0.0.tgz";
-      sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
-    };
-    deps = {
-      "number-is-nan-1.0.0" = self.by-version."number-is-nan"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-glob"."^2.0.0" =
-    self.by-version."is-glob"."2.0.1";
-  by-version."is-glob"."2.0.1" = self.buildNodePackage {
-    name = "is-glob-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-glob/-/is-glob-2.0.1.tgz";
-      name = "is-glob-2.0.1.tgz";
-      sha1 = "d096f926a3ded5600f3fdfd91198cb0888c2d863";
-    };
-    deps = {
-      "is-extglob-1.0.0" = self.by-version."is-extglob"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-glob"."^2.0.1" =
-    self.by-version."is-glob"."2.0.1";
-  by-spec."is-ip"."^1.0.0" =
-    self.by-version."is-ip"."1.0.0";
-  by-version."is-ip"."1.0.0" = self.buildNodePackage {
-    name = "is-ip-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-ip/-/is-ip-1.0.0.tgz";
-      name = "is-ip-1.0.0.tgz";
-      sha1 = "2bb6959f797ccd6f9fdc812758bcbc87c4c59074";
-    };
-    deps = {
-      "ip-regex-1.0.3" = self.by-version."ip-regex"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-my-json-valid"."^2.10.0" =
-    self.by-version."is-my-json-valid"."2.13.1";
-  by-version."is-my-json-valid"."2.13.1" = self.buildNodePackage {
-    name = "is-my-json-valid-2.13.1";
-    version = "2.13.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-my-json-valid/-/is-my-json-valid-2.13.1.tgz";
-      name = "is-my-json-valid-2.13.1.tgz";
-      sha1 = "d55778a82feb6b0963ff4be111d5d1684e890707";
-    };
-    deps = {
-      "generate-function-2.0.0" = self.by-version."generate-function"."2.0.0";
-      "generate-object-property-1.2.0" = self.by-version."generate-object-property"."1.2.0";
-      "jsonpointer-2.0.0" = self.by-version."jsonpointer"."2.0.0";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-my-json-valid"."^2.12.0" =
-    self.by-version."is-my-json-valid"."2.13.1";
-  by-spec."is-my-json-valid"."^2.12.4" =
-    self.by-version."is-my-json-valid"."2.13.1";
-  by-spec."is-npm"."^1.0.0" =
-    self.by-version."is-npm"."1.0.0";
-  by-version."is-npm"."1.0.0" = self.buildNodePackage {
-    name = "is-npm-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-npm/-/is-npm-1.0.0.tgz";
-      name = "is-npm-1.0.0.tgz";
-      sha1 = "f2fb63a65e4905b406c86072765a1a4dc793b9f4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-number"."^0.1.1" =
-    self.by-version."is-number"."0.1.1";
-  by-version."is-number"."0.1.1" = self.buildNodePackage {
-    name = "is-number-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-number/-/is-number-0.1.1.tgz";
-      name = "is-number-0.1.1.tgz";
-      sha1 = "69a7af116963d47206ec9bd9b48a14216f1e3806";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-number"."^2.0.2" =
-    self.by-version."is-number"."2.1.0";
-  by-version."is-number"."2.1.0" = self.buildNodePackage {
-    name = "is-number-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-number/-/is-number-2.1.0.tgz";
-      name = "is-number-2.1.0.tgz";
-      sha1 = "01fcbbb393463a548f2f466cce16dece49db908f";
-    };
-    deps = {
-      "kind-of-3.0.3" = self.by-version."kind-of"."3.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-number"."^2.1.0" =
-    self.by-version."is-number"."2.1.0";
-  by-spec."is-path-cwd"."^1.0.0" =
-    self.by-version."is-path-cwd"."1.0.0";
-  by-version."is-path-cwd"."1.0.0" = self.buildNodePackage {
-    name = "is-path-cwd-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz";
-      name = "is-path-cwd-1.0.0.tgz";
-      sha1 = "d225ec23132e89edd38fda767472e62e65f1106d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-path-in-cwd"."^1.0.0" =
-    self.by-version."is-path-in-cwd"."1.0.0";
-  by-version."is-path-in-cwd"."1.0.0" = self.buildNodePackage {
-    name = "is-path-in-cwd-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.0.tgz";
-      name = "is-path-in-cwd-1.0.0.tgz";
-      sha1 = "6477582b8214d602346094567003be8a9eac04dc";
-    };
-    deps = {
-      "is-path-inside-1.0.0" = self.by-version."is-path-inside"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-path-inside"."^1.0.0" =
-    self.by-version."is-path-inside"."1.0.0";
-  by-version."is-path-inside"."1.0.0" = self.buildNodePackage {
-    name = "is-path-inside-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.0.tgz";
-      name = "is-path-inside-1.0.0.tgz";
-      sha1 = "fc06e5a1683fbda13de667aff717bbc10a48f37f";
-    };
-    deps = {
-      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-plain-obj"."^1.0.0" =
-    self.by-version."is-plain-obj"."1.1.0";
-  by-version."is-plain-obj"."1.1.0" = self.buildNodePackage {
-    name = "is-plain-obj-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz";
-      name = "is-plain-obj-1.1.0.tgz";
-      sha1 = "71a50c8429dfca773c92a390a4a03b39fcd51d3e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-posix-bracket"."^0.1.0" =
-    self.by-version."is-posix-bracket"."0.1.1";
-  by-version."is-posix-bracket"."0.1.1" = self.buildNodePackage {
-    name = "is-posix-bracket-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-posix-bracket/-/is-posix-bracket-0.1.1.tgz";
-      name = "is-posix-bracket-0.1.1.tgz";
-      sha1 = "3334dc79774368e92f016e6fbc0a88f5cd6e6bc4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-primitive"."^2.0.0" =
-    self.by-version."is-primitive"."2.0.0";
-  by-version."is-primitive"."2.0.0" = self.buildNodePackage {
-    name = "is-primitive-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-primitive/-/is-primitive-2.0.0.tgz";
-      name = "is-primitive-2.0.0.tgz";
-      sha1 = "207bab91638499c07b2adf240a41a87210034575";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-promise"."^2.0.0" =
-    self.by-version."is-promise"."2.1.0";
-  by-version."is-promise"."2.1.0" = self.buildNodePackage {
-    name = "is-promise-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz";
-      name = "is-promise-2.1.0.tgz";
-      sha1 = "79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-promise"."^2.1.0" =
-    self.by-version."is-promise"."2.1.0";
-  by-spec."is-promise"."~1" =
-    self.by-version."is-promise"."1.0.1";
-  by-version."is-promise"."1.0.1" = self.buildNodePackage {
-    name = "is-promise-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-promise/-/is-promise-1.0.1.tgz";
-      name = "is-promise-1.0.1.tgz";
-      sha1 = "31573761c057e33c2e91aab9e96da08cefbe76e5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-property"."^1.0.0" =
-    self.by-version."is-property"."1.0.2";
-  by-version."is-property"."1.0.2" = self.buildNodePackage {
-    name = "is-property-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz";
-      name = "is-property-1.0.2.tgz";
-      sha1 = "57fe1c4e48474edd65b09911f26b1cd4095dda84";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-redirect"."^1.0.0" =
-    self.by-version."is-redirect"."1.0.0";
-  by-version."is-redirect"."1.0.0" = self.buildNodePackage {
-    name = "is-redirect-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-redirect/-/is-redirect-1.0.0.tgz";
-      name = "is-redirect-1.0.0.tgz";
-      sha1 = "1d03dded53bd8db0f30c26e4f95d36fc7c87dc24";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-resolvable"."^1.0.0" =
-    self.by-version."is-resolvable"."1.0.0";
-  by-version."is-resolvable"."1.0.0" = self.buildNodePackage {
-    name = "is-resolvable-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.0.0.tgz";
-      name = "is-resolvable-1.0.0.tgz";
-      sha1 = "8df57c61ea2e3c501408d100fb013cf8d6e0cc62";
-    };
-    deps = {
-      "tryit-1.0.2" = self.by-version."tryit"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-stream"."^1.0.0" =
-    self.by-version."is-stream"."1.1.0";
-  by-version."is-stream"."1.1.0" = self.buildNodePackage {
-    name = "is-stream-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz";
-      name = "is-stream-1.1.0.tgz";
-      sha1 = "12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-stream"."^1.0.1" =
-    self.by-version."is-stream"."1.1.0";
-  by-spec."is-typedarray"."~1.0.0" =
-    self.by-version."is-typedarray"."1.0.0";
-  by-version."is-typedarray"."1.0.0" = self.buildNodePackage {
-    name = "is-typedarray-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz";
-      name = "is-typedarray-1.0.0.tgz";
-      sha1 = "e479c80858df0c1b11ddda6940f96011fcda4a9a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-url"."^1.2.1" =
-    self.by-version."is-url"."1.2.1";
-  by-version."is-url"."1.2.1" = self.buildNodePackage {
-    name = "is-url-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-url/-/is-url-1.2.1.tgz";
-      name = "is-url-1.2.1.tgz";
-      sha1 = "bc92ffd29b23d5f2180e253b916bce6fda711873";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-utf8"."0.2.1" =
-    self.by-version."is-utf8"."0.2.1";
-  by-version."is-utf8"."0.2.1" = self.buildNodePackage {
-    name = "is-utf8-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-utf8/-/is-utf8-0.2.1.tgz";
-      name = "is-utf8-0.2.1.tgz";
-      sha1 = "4b0da1442104d1b336340e80797e865cf39f7d72";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."is-utf8"."^0.2.0" =
-    self.by-version."is-utf8"."0.2.1";
-  by-spec."is-valid-glob"."^0.3.0" =
-    self.by-version."is-valid-glob"."0.3.0";
-  by-version."is-valid-glob"."0.3.0" = self.buildNodePackage {
-    name = "is-valid-glob-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/is-valid-glob/-/is-valid-glob-0.3.0.tgz";
-      name = "is-valid-glob-0.3.0.tgz";
-      sha1 = "d4b55c69f51886f9b65c70d6c2622d37e29f48fe";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isarray"."0.0.1" =
-    self.by-version."isarray"."0.0.1";
-  by-version."isarray"."0.0.1" = self.buildNodePackage {
-    name = "isarray-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz";
-      name = "isarray-0.0.1.tgz";
-      sha1 = "8a18acfca9a8f4177e09abfc6038939b05d1eedf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isarray"."1.0.0" =
-    self.by-version."isarray"."1.0.0";
-  by-version."isarray"."1.0.0" = self.buildNodePackage {
-    name = "isarray-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz";
-      name = "isarray-1.0.0.tgz";
-      sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isarray"."^1.0.0" =
-    self.by-version."isarray"."1.0.0";
-  by-spec."isarray"."~0.0.1" =
-    self.by-version."isarray"."0.0.1";
-  by-spec."isarray"."~1.0.0" =
-    self.by-version."isarray"."1.0.0";
-  by-spec."isbinaryfile"."^3.0.0" =
-    self.by-version."isbinaryfile"."3.0.0";
-  by-version."isbinaryfile"."3.0.0" = self.buildNodePackage {
-    name = "isbinaryfile-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.0.tgz";
-      name = "isbinaryfile-3.0.0.tgz";
-      sha1 = "e9382ebe16aa0f7c874848008d928020e42175f7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isemail"."1.x.x" =
-    self.by-version."isemail"."1.2.0";
-  by-version."isemail"."1.2.0" = self.buildNodePackage {
-    name = "isemail-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/isemail/-/isemail-1.2.0.tgz";
-      name = "isemail-1.2.0.tgz";
-      sha1 = "be03df8cc3e29de4d2c5df6501263f1fa4595e9a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isexe"."^1.1.1" =
-    self.by-version."isexe"."1.1.2";
-  by-version."isexe"."1.1.2" = self.buildNodePackage {
-    name = "isexe-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/isexe/-/isexe-1.1.2.tgz";
-      name = "isexe-1.1.2.tgz";
-      sha1 = "36f3e22e60750920f5e7241a476a8c6a42275ad0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isobject"."^2.0.0" =
-    self.by-version."isobject"."2.1.0";
-  by-version."isobject"."2.1.0" = self.buildNodePackage {
-    name = "isobject-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz";
-      name = "isobject-2.1.0.tgz";
-      sha1 = "f065561096a3f1da2ef46272f815c840d87e0c89";
-    };
-    deps = {
-      "isarray-1.0.0" = self.by-version."isarray"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isomorphic-fetch"."^2.1.1" =
-    self.by-version."isomorphic-fetch"."2.2.1";
-  by-version."isomorphic-fetch"."2.2.1" = self.buildNodePackage {
-    name = "isomorphic-fetch-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz";
-      name = "isomorphic-fetch-2.2.1.tgz";
-      sha1 = "611ae1acf14f5e81f729507472819fe9733558a9";
-    };
-    deps = {
-      "node-fetch-1.5.3" = self.by-version."node-fetch"."1.5.3";
-      "whatwg-fetch-1.0.0" = self.by-version."whatwg-fetch"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isstream"."0.1.x" =
-    self.by-version."isstream"."0.1.2";
-  by-version."isstream"."0.1.2" = self.buildNodePackage {
-    name = "isstream-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz";
-      name = "isstream-0.1.2.tgz";
-      sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."isstream"."~0.1.1" =
-    self.by-version."isstream"."0.1.2";
-  by-spec."isstream"."~0.1.2" =
-    self.by-version."isstream"."0.1.2";
-  by-spec."istanbul"."*" =
-    self.by-version."istanbul"."1.0.0-alpha.2";
-  by-version."istanbul"."1.0.0-alpha.2" = self.buildNodePackage {
-    name = "istanbul-1.0.0-alpha.2";
-    version = "1.0.0-alpha.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/istanbul/-/istanbul-1.0.0-alpha.2.tgz";
-      name = "istanbul-1.0.0-alpha.2.tgz";
-      sha1 = "06096bc08e98baad744aae46962d8df9fac63d08";
-    };
-    deps = {
-      "istanbul-api-1.0.0-aplha.1" = self.by-version."istanbul-api"."1.0.0-aplha.1";
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "js-yaml-3.6.1" = self.by-version."js-yaml"."3.6.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-      "wordwrap-1.0.0" = self.by-version."wordwrap"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "istanbul" = self.by-version."istanbul"."1.0.0-alpha.2";
-  by-spec."istanbul"."^0.4.0" =
-    self.by-version."istanbul"."0.4.3";
-  by-version."istanbul"."0.4.3" = self.buildNodePackage {
-    name = "istanbul-0.4.3";
-    version = "0.4.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/istanbul/-/istanbul-0.4.3.tgz";
-      name = "istanbul-0.4.3.tgz";
-      sha1 = "5b714ee0ae493ac5ef204b99f3872bceef73d53a";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "escodegen-1.8.0" = self.by-version."escodegen"."1.8.0";
-      "esprima-2.7.2" = self.by-version."esprima"."2.7.2";
-      "fileset-0.2.1" = self.by-version."fileset"."0.2.1";
-      "handlebars-4.0.5" = self.by-version."handlebars"."4.0.5";
-      "js-yaml-3.6.1" = self.by-version."js-yaml"."3.6.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "resolve-1.1.7" = self.by-version."resolve"."1.1.7";
-      "supports-color-3.1.2" = self.by-version."supports-color"."3.1.2";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-      "wordwrap-1.0.0" = self.by-version."wordwrap"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."istanbul"."^0.4.1" =
-    self.by-version."istanbul"."0.4.3";
-  by-spec."istanbul-api"."^1.0.0-alpha" =
-    self.by-version."istanbul-api"."1.0.0-aplha.1";
-  by-version."istanbul-api"."1.0.0-aplha.1" = self.buildNodePackage {
-    name = "istanbul-api-1.0.0-aplha.1";
-    version = "1.0.0-aplha.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/istanbul-api/-/istanbul-api-1.0.0-aplha.1.tgz";
-      name = "istanbul-api-1.0.0-aplha.1.tgz";
-      sha1 = "3fa47f44acd58d52c6764218f5f7ef453fc50f5c";
-    };
-    deps = {
-      "istanbul-lib-coverage-1.0.0-alpha.4" = self.by-version."istanbul-lib-coverage"."1.0.0-alpha.4";
-      "istanbul-lib-instrument-1.0.0-alpha.6" = self.by-version."istanbul-lib-instrument"."1.0.0-alpha.6";
-      "istanbul-lib-report-1.0.0-alpha.3" = self.by-version."istanbul-lib-report"."1.0.0-alpha.3";
-      "istanbul-lib-hook-1.0.0-alpha.4" = self.by-version."istanbul-lib-hook"."1.0.0-alpha.4";
-      "istanbul-reports-1.0.0-alpha.4" = self.by-version."istanbul-reports"."1.0.0-alpha.4";
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "fileset-0.2.1" = self.by-version."fileset"."0.2.1";
-      "js-yaml-3.6.1" = self.by-version."js-yaml"."3.6.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."istanbul-lib-coverage"."^1.0.0-alpha" =
-    self.by-version."istanbul-lib-coverage"."1.0.0-alpha.4";
-  by-version."istanbul-lib-coverage"."1.0.0-alpha.4" = self.buildNodePackage {
-    name = "istanbul-lib-coverage-1.0.0-alpha.4";
-    version = "1.0.0-alpha.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-1.0.0-alpha.4.tgz";
-      name = "istanbul-lib-coverage-1.0.0-alpha.4.tgz";
-      sha1 = "626f7fd9cf809b6e3bf7ed42a809f8e0b64ae976";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."istanbul-lib-hook"."^1.0.0-alpha" =
-    self.by-version."istanbul-lib-hook"."1.0.0-alpha.4";
-  by-version."istanbul-lib-hook"."1.0.0-alpha.4" = self.buildNodePackage {
-    name = "istanbul-lib-hook-1.0.0-alpha.4";
-    version = "1.0.0-alpha.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-1.0.0-alpha.4.tgz";
-      name = "istanbul-lib-hook-1.0.0-alpha.4.tgz";
-      sha1 = "8c5bb9f6fbd8526e0ae6cf639af28266906b938f";
-    };
-    deps = {
-      "append-transform-0.3.0" = self.by-version."append-transform"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."istanbul-lib-instrument"."^1.0.0-alpha" =
-    self.by-version."istanbul-lib-instrument"."1.0.0-alpha.6";
-  by-version."istanbul-lib-instrument"."1.0.0-alpha.6" = self.buildNodePackage {
-    name = "istanbul-lib-instrument-1.0.0-alpha.6";
-    version = "1.0.0-alpha.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-1.0.0-alpha.6.tgz";
-      name = "istanbul-lib-instrument-1.0.0-alpha.6.tgz";
-      sha1 = "5529ca5534d6a98fe038c3c3de7a97ed130df385";
-    };
-    deps = {
-      "escodegen-1.8.0" = self.by-version."escodegen"."1.8.0";
-      "esprima-2.7.2" = self.by-version."esprima"."2.7.2";
-      "istanbul-lib-coverage-1.0.0-alpha.4" = self.by-version."istanbul-lib-coverage"."1.0.0-alpha.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."istanbul-lib-report"."^1.0.0-alpha" =
-    self.by-version."istanbul-lib-report"."1.0.0-alpha.3";
-  by-version."istanbul-lib-report"."1.0.0-alpha.3" = self.buildNodePackage {
-    name = "istanbul-lib-report-1.0.0-alpha.3";
-    version = "1.0.0-alpha.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-1.0.0-alpha.3.tgz";
-      name = "istanbul-lib-report-1.0.0-alpha.3.tgz";
-      sha1 = "32d5f6ec7f33ca3a602209e278b2e6ff143498af";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "istanbul-lib-coverage-1.0.0-alpha.4" = self.by-version."istanbul-lib-coverage"."1.0.0-alpha.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "path-parse-1.0.5" = self.by-version."path-parse"."1.0.5";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "supports-color-3.1.2" = self.by-version."supports-color"."3.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."istanbul-reports"."^1.0.0-alpha" =
-    self.by-version."istanbul-reports"."1.0.0-alpha.4";
-  by-version."istanbul-reports"."1.0.0-alpha.4" = self.buildNodePackage {
-    name = "istanbul-reports-1.0.0-alpha.4";
-    version = "1.0.0-alpha.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-1.0.0-alpha.4.tgz";
-      name = "istanbul-reports-1.0.0-alpha.4.tgz";
-      sha1 = "5086d417b4bb97bf6870f3fb5cb55b7e703361b8";
-    };
-    deps = {
-      "handlebars-4.0.5" = self.by-version."handlebars"."4.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jade"."*" =
-    self.by-version."jade"."1.11.0";
-  by-version."jade"."1.11.0" = self.buildNodePackage {
-    name = "jade-1.11.0";
-    version = "1.11.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jade/-/jade-1.11.0.tgz";
-      name = "jade-1.11.0.tgz";
-      sha1 = "9c80e538c12d3fb95c8d9bb9559fa0cc040405fd";
-    };
-    deps = {
-      "character-parser-1.2.1" = self.by-version."character-parser"."1.2.1";
-      "clean-css-3.4.17" = self.by-version."clean-css"."3.4.17";
-      "commander-2.6.0" = self.by-version."commander"."2.6.0";
-      "constantinople-3.0.2" = self.by-version."constantinople"."3.0.2";
-      "jstransformer-0.0.2" = self.by-version."jstransformer"."0.0.2";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "transformers-2.1.0" = self.by-version."transformers"."2.1.0";
-      "uglify-js-2.6.2" = self.by-version."uglify-js"."2.6.2";
-      "void-elements-2.0.1" = self.by-version."void-elements"."2.0.1";
-      "with-4.0.3" = self.by-version."with"."4.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "jade" = self.by-version."jade"."1.11.0";
-  by-spec."jade"."0.26.3" =
-    self.by-version."jade"."0.26.3";
-  by-version."jade"."0.26.3" = self.buildNodePackage {
-    name = "jade-0.26.3";
-    version = "0.26.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jade/-/jade-0.26.3.tgz";
-      name = "jade-0.26.3.tgz";
-      sha1 = "8f10d7977d8d79f2f6ff862a81b0513ccb25686c";
-    };
-    deps = {
-      "commander-0.6.1" = self.by-version."commander"."0.6.1";
-      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jade"."0.27.0" =
-    self.by-version."jade"."0.27.0";
-  by-version."jade"."0.27.0" = self.buildNodePackage {
-    name = "jade-0.27.0";
-    version = "0.27.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jade/-/jade-0.27.0.tgz";
-      name = "jade-0.27.0.tgz";
-      sha1 = "dc5ebed10d04a5e0eaf49ef0009bec473d1a6b31";
-    };
-    deps = {
-      "commander-0.6.1" = self.by-version."commander"."0.6.1";
-      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jade".">= 0.0.1" =
-    self.by-version."jade"."1.11.0";
-  by-spec."jade"."^1.11.0" =
-    self.by-version."jade"."1.11.0";
-  by-spec."jayschema"."*" =
-    self.by-version."jayschema"."0.3.1";
-  by-version."jayschema"."0.3.1" = self.buildNodePackage {
-    name = "jayschema-0.3.1";
-    version = "0.3.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jayschema/-/jayschema-0.3.1.tgz";
-      name = "jayschema-0.3.1.tgz";
-      sha1 = "76f4769f9b172ef7d5dcde4875b49cb736179b58";
-    };
-    deps = {
-      "when-3.4.6" = self.by-version."when"."3.4.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "jayschema" = self.by-version."jayschema"."0.3.1";
-  by-spec."jfs"."*" =
-    self.by-version."jfs"."0.2.6";
-  by-version."jfs"."0.2.6" = self.buildNodePackage {
-    name = "jfs-0.2.6";
-    version = "0.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jfs/-/jfs-0.2.6.tgz";
-      name = "jfs-0.2.6.tgz";
-      sha1 = "851b728ee5cff449855cf9ad554f4a5e14ab6912";
-    };
-    deps = {
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "async-1.2.1" = self.by-version."async"."1.2.1";
-      "clone-1.0.2" = self.by-version."clone"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "jfs" = self.by-version."jfs"."0.2.6";
-  by-spec."jju"."1.x" =
-    self.by-version."jju"."1.3.0";
-  by-version."jju"."1.3.0" = self.buildNodePackage {
-    name = "jju-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jju/-/jju-1.3.0.tgz";
-      name = "jju-1.3.0.tgz";
-      sha1 = "dadd9ef01924bc728b03f2f7979bdbd62f7a2aaa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jju"."^1.1.0" =
-    self.by-version."jju"."1.3.0";
-  by-spec."jmespath"."0.15.0" =
-    self.by-version."jmespath"."0.15.0";
-  by-version."jmespath"."0.15.0" = self.buildNodePackage {
-    name = "jmespath-0.15.0";
-    version = "0.15.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz";
-      name = "jmespath-0.15.0.tgz";
-      sha1 = "a3f222a9aae9f966f5d27c796510e28091764217";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jodid25519".">=1.0.0 <2.0.0" =
-    self.by-version."jodid25519"."1.0.2";
-  by-version."jodid25519"."1.0.2" = self.buildNodePackage {
-    name = "jodid25519-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jodid25519/-/jodid25519-1.0.2.tgz";
-      name = "jodid25519-1.0.2.tgz";
-      sha1 = "06d4912255093419477d425633606e0e90782967";
-    };
-    deps = {
-      "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jodid25519"."^1.0.0" =
-    self.by-version."jodid25519"."1.0.2";
-  by-spec."joi"."^6.4.3" =
-    self.by-version."joi"."6.10.1";
-  by-version."joi"."6.10.1" = self.buildNodePackage {
-    name = "joi-6.10.1";
-    version = "6.10.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/joi/-/joi-6.10.1.tgz";
-      name = "joi-6.10.1.tgz";
-      sha1 = "4d50c318079122000fe5f16af1ff8e1917b77e06";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-      "topo-1.1.0" = self.by-version."topo"."1.1.0";
-      "isemail-1.2.0" = self.by-version."isemail"."1.2.0";
-      "moment-2.13.0" = self.by-version."moment"."2.13.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."joi"."~6.10.1" =
-    self.by-version."joi"."6.10.1";
-  by-spec."js-tokens"."^1.0.1" =
-    self.by-version."js-tokens"."1.0.3";
-  by-version."js-tokens"."1.0.3" = self.buildNodePackage {
-    name = "js-tokens-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/js-tokens/-/js-tokens-1.0.3.tgz";
-      name = "js-tokens-1.0.3.tgz";
-      sha1 = "14e56eb68c8f1a92c43d59f5014ec29dc20f2ae1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."js-yaml"."*" =
-    self.by-version."js-yaml"."3.6.1";
-  by-version."js-yaml"."3.6.1" = self.buildNodePackage {
-    name = "js-yaml-3.6.1";
-    version = "3.6.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.6.1.tgz";
-      name = "js-yaml-3.6.1.tgz";
-      sha1 = "6e5fe67d8b205ce4d22fad05b7781e8dadcc4b30";
-    };
-    deps = {
-      "argparse-1.0.7" = self.by-version."argparse"."1.0.7";
-      "esprima-2.7.2" = self.by-version."esprima"."2.7.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "js-yaml" = self.by-version."js-yaml"."3.6.1";
-  by-spec."js-yaml"."0.3.x" =
-    self.by-version."js-yaml"."0.3.7";
-  by-version."js-yaml"."0.3.7" = self.buildNodePackage {
-    name = "js-yaml-0.3.7";
-    version = "0.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-0.3.7.tgz";
-      name = "js-yaml-0.3.7.tgz";
-      sha1 = "d739d8ee86461e54b354d6a7d7d1f2ad9a167f62";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."js-yaml"."2.1.0" =
-    self.by-version."js-yaml"."2.1.0";
-  by-version."js-yaml"."2.1.0" = self.buildNodePackage {
-    name = "js-yaml-2.1.0";
-    version = "2.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-2.1.0.tgz";
-      name = "js-yaml-2.1.0.tgz";
-      sha1 = "a55a6e4706b01d06326259a6f4bfc42e6ae38b1f";
-    };
-    deps = {
-      "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
-      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."js-yaml"."3.0.1" =
-    self.by-version."js-yaml"."3.0.1";
-  by-version."js-yaml"."3.0.1" = self.buildNodePackage {
-    name = "js-yaml-3.0.1";
-    version = "3.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.0.1.tgz";
-      name = "js-yaml-3.0.1.tgz";
-      sha1 = "76405fea5bce30fc8f405d48c6dca7f0a32c6afe";
-    };
-    deps = {
-      "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
-      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."js-yaml"."3.x" =
-    self.by-version."js-yaml"."3.6.1";
-  by-spec."js-yaml"."3.x >=3.2" =
-    self.by-version."js-yaml"."3.6.1";
-  by-spec."js-yaml".">=3.0.1 <4.0.0-0" =
-    self.by-version."js-yaml"."3.6.1";
-  by-spec."js-yaml"."^3.5.1" =
-    self.by-version."js-yaml"."3.6.1";
-  by-spec."js-yaml"."~2.0.5" =
-    self.by-version."js-yaml"."2.0.5";
-  by-version."js-yaml"."2.0.5" = self.buildNodePackage {
-    name = "js-yaml-2.0.5";
-    version = "2.0.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-2.0.5.tgz";
-      name = "js-yaml-2.0.5.tgz";
-      sha1 = "a25ae6509999e97df278c6719da11bd0687743a8";
-    };
-    deps = {
-      "argparse-0.1.16" = self.by-version."argparse"."0.1.16";
-      "esprima-1.0.4" = self.by-version."esprima"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."js-yaml"."~3.5.2" =
-    self.by-version."js-yaml"."3.5.5";
-  by-version."js-yaml"."3.5.5" = self.buildNodePackage {
-    name = "js-yaml-3.5.5";
-    version = "3.5.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/js-yaml/-/js-yaml-3.5.5.tgz";
-      name = "js-yaml-3.5.5.tgz";
-      sha1 = "0377c38017cabc7322b0d1fbcd25a491641f2fbe";
-    };
-    deps = {
-      "argparse-1.0.7" = self.by-version."argparse"."1.0.7";
-      "esprima-2.7.2" = self.by-version."esprima"."2.7.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."js-yaml"."~3.6.0" =
-    self.by-version."js-yaml"."3.6.1";
-  by-spec."jsbn".">=0.1.0 <0.2.0" =
-    self.by-version."jsbn"."0.1.0";
-  by-version."jsbn"."0.1.0" = self.buildNodePackage {
-    name = "jsbn-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsbn/-/jsbn-0.1.0.tgz";
-      name = "jsbn-0.1.0.tgz";
-      sha1 = "650987da0dd74f4ebf5a11377a2aa2d273e97dfd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsbn"."~0.1.0" =
-    self.by-version."jsbn"."0.1.0";
-  by-spec."jsdom"."3.1.2" =
-    self.by-version."jsdom"."3.1.2";
-  by-version."jsdom"."3.1.2" = self.buildNodePackage {
-    name = "jsdom-3.1.2";
-    version = "3.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsdom/-/jsdom-3.1.2.tgz";
-      name = "jsdom-3.1.2.tgz";
-      sha1 = "88e5fe2d3b45b628a153011e2aa0ead7f395b19c";
-    };
-    deps = {
-      "browser-request-0.3.3" = self.by-version."browser-request"."0.3.3";
-      "contextify-0.1.15" = self.by-version."contextify"."0.1.15";
-      "cssom-0.3.1" = self.by-version."cssom"."0.3.1";
-      "cssstyle-0.2.36" = self.by-version."cssstyle"."0.2.36";
-      "htmlparser2-3.9.0" = self.by-version."htmlparser2"."3.9.0";
-      "nwmatcher-1.3.7" = self.by-version."nwmatcher"."1.3.7";
-      "parse5-1.5.1" = self.by-version."parse5"."1.5.1";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "xml-name-validator-1.0.0" = self.by-version."xml-name-validator"."1.0.0";
-      "xmlhttprequest-1.8.0" = self.by-version."xmlhttprequest"."1.8.0";
-      "acorn-globals-1.0.9" = self.by-version."acorn-globals"."1.0.9";
-      "acorn-0.11.0" = self.by-version."acorn"."0.11.0";
-      "escodegen-1.8.0" = self.by-version."escodegen"."1.8.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsdom"."^0.11.0" =
-    self.by-version."jsdom"."0.11.1";
-  by-version."jsdom"."0.11.1" = self.buildNodePackage {
-    name = "jsdom-0.11.1";
-    version = "0.11.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsdom/-/jsdom-0.11.1.tgz";
-      name = "jsdom-0.11.1.tgz";
-      sha1 = "f1a79756ebc2116932caef8c6bfde7022dacdbfb";
-    };
-    deps = {
-      "htmlparser2-3.9.0" = self.by-version."htmlparser2"."3.9.0";
-      "nwmatcher-1.3.7" = self.by-version."nwmatcher"."1.3.7";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "xmlhttprequest-1.8.0" = self.by-version."xmlhttprequest"."1.8.0";
-      "cssom-0.3.1" = self.by-version."cssom"."0.3.1";
-      "cssstyle-0.2.36" = self.by-version."cssstyle"."0.2.36";
-      "contextify-0.1.15" = self.by-version."contextify"."0.1.15";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsdom"."~0.8.6" =
-    self.by-version."jsdom"."0.8.11";
-  by-version."jsdom"."0.8.11" = self.buildNodePackage {
-    name = "jsdom-0.8.11";
-    version = "0.8.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsdom/-/jsdom-0.8.11.tgz";
-      name = "jsdom-0.8.11.tgz";
-      sha1 = "2a065f72863ac491137d19bd762ce9be1955527b";
-    };
-    deps = {
-      "htmlparser2-3.9.0" = self.by-version."htmlparser2"."3.9.0";
-      "nwmatcher-1.3.7" = self.by-version."nwmatcher"."1.3.7";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "xmlhttprequest-1.8.0" = self.by-version."xmlhttprequest"."1.8.0";
-      "cssom-0.3.1" = self.by-version."cssom"."0.3.1";
-      "cssstyle-0.2.36" = self.by-version."cssstyle"."0.2.36";
-      "contextify-0.1.15" = self.by-version."contextify"."0.1.15";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsesc"."0.4.3" =
-    self.by-version."jsesc"."0.4.3";
-  by-version."jsesc"."0.4.3" = self.buildNodePackage {
-    name = "jsesc-0.4.3";
-    version = "0.4.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsesc/-/jsesc-0.4.3.tgz";
-      name = "jsesc-0.4.3.tgz";
-      sha1 = "a9c7f90afd5a1bf2ee64df6c416dab61672d2ae9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsesc"."~0.4.3" =
-    self.by-version."jsesc"."0.4.3";
-  by-spec."jshint"."*" =
-    self.by-version."jshint"."2.9.2";
-  by-version."jshint"."2.9.2" = self.buildNodePackage {
-    name = "jshint-2.9.2";
-    version = "2.9.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jshint/-/jshint-2.9.2.tgz";
-      name = "jshint-2.9.2.tgz";
-      sha1 = "0b12d75f8eafb0823b7bf8efbb265b3262401619";
-    };
-    deps = {
-      "cli-0.6.6" = self.by-version."cli"."0.6.6";
-      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
-      "exit-0.1.2" = self.by-version."exit"."0.1.2";
-      "htmlparser2-3.8.3" = self.by-version."htmlparser2"."3.8.3";
-      "minimatch-2.0.10" = self.by-version."minimatch"."2.0.10";
-      "shelljs-0.3.0" = self.by-version."shelljs"."0.3.0";
-      "strip-json-comments-1.0.4" = self.by-version."strip-json-comments"."1.0.4";
-      "lodash-3.7.0" = self.by-version."lodash"."3.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "jshint" = self.by-version."jshint"."2.9.2";
-  by-spec."jshint"."~2.9.1" =
-    self.by-version."jshint"."2.9.2";
-  by-spec."json"."*" =
-    self.by-version."json"."9.0.4";
-  by-version."json"."9.0.4" = self.buildNodePackage {
-    name = "json-9.0.4";
-    version = "9.0.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json/-/json-9.0.4.tgz";
-      name = "json-9.0.4.tgz";
-      sha1 = "d0dbf2404c128572a935ecafadfc782ec81112ce";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "json" = self.by-version."json"."9.0.4";
-  by-spec."json-middleware"."^1.0.2" =
-    self.by-version."json-middleware"."1.0.2";
-  by-version."json-middleware"."1.0.2" = self.buildNodePackage {
-    name = "json-middleware-1.0.2";
-    version = "1.0.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json-middleware/-/json-middleware-1.0.2.tgz";
-      name = "json-middleware-1.0.2.tgz";
-      sha1 = "bc55c6d43231df6846df6ba880f72454e2a32596";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json-parse-helpfulerror"."^1.0.2" =
-    self.by-version."json-parse-helpfulerror"."1.0.3";
-  by-version."json-parse-helpfulerror"."1.0.3" = self.buildNodePackage {
-    name = "json-parse-helpfulerror-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json-parse-helpfulerror/-/json-parse-helpfulerror-1.0.3.tgz";
-      name = "json-parse-helpfulerror-1.0.3.tgz";
-      sha1 = "13f14ce02eed4e981297b64eb9e3b932e2dd13dc";
-    };
-    deps = {
-      "jju-1.3.0" = self.by-version."jju"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json-parse-helpfulerror"."^1.0.3" =
-    self.by-version."json-parse-helpfulerror"."1.0.3";
-  by-spec."json-schema"."0.2.2" =
-    self.by-version."json-schema"."0.2.2";
-  by-version."json-schema"."0.2.2" = self.buildNodePackage {
-    name = "json-schema-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.2.tgz";
-      name = "json-schema-0.2.2.tgz";
-      sha1 = "50354f19f603917c695f70b85afa77c3b0f23506";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json-stable-stringify"."^1.0.0" =
-    self.by-version."json-stable-stringify"."1.0.1";
-  by-version."json-stable-stringify"."1.0.1" = self.buildNodePackage {
-    name = "json-stable-stringify-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-1.0.1.tgz";
-      name = "json-stable-stringify-1.0.1.tgz";
-      sha1 = "9a759d39c5f2ff503fd5300646ed445f88c4f9af";
-    };
-    deps = {
-      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json-stable-stringify"."~0.0.0" =
-    self.by-version."json-stable-stringify"."0.0.1";
-  by-version."json-stable-stringify"."0.0.1" = self.buildNodePackage {
-    name = "json-stable-stringify-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json-stable-stringify/-/json-stable-stringify-0.0.1.tgz";
-      name = "json-stable-stringify-0.0.1.tgz";
-      sha1 = "611c23e814db375527df851193db59dd2af27f45";
-    };
-    deps = {
-      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json-stringify-safe"."~3.0.0" =
-    self.by-version."json-stringify-safe"."3.0.0";
-  by-version."json-stringify-safe"."3.0.0" = self.buildNodePackage {
-    name = "json-stringify-safe-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-3.0.0.tgz";
-      name = "json-stringify-safe-3.0.0.tgz";
-      sha1 = "9db7b0e530c7f289c5e8c8432af191c2ff75a5b3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json-stringify-safe"."~5.0.0" =
-    self.by-version."json-stringify-safe"."5.0.1";
-  by-version."json-stringify-safe"."5.0.1" = self.buildNodePackage {
-    name = "json-stringify-safe-5.0.1";
-    version = "5.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz";
-      name = "json-stringify-safe-5.0.1.tgz";
-      sha1 = "1296a2d58fd45f19a0f6ce01d65701e2c735b6eb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json-stringify-safe"."~5.0.1" =
-    self.by-version."json-stringify-safe"."5.0.1";
-  by-spec."json3"."3.2.6" =
-    self.by-version."json3"."3.2.6";
-  by-version."json3"."3.2.6" = self.buildNodePackage {
-    name = "json3-3.2.6";
-    version = "3.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json3/-/json3-3.2.6.tgz";
-      name = "json3-3.2.6.tgz";
-      sha1 = "f6efc93c06a04de9aec53053df2559bb19e2038b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json3"."3.3.2" =
-    self.by-version."json3"."3.3.2";
-  by-version."json3"."3.3.2" = self.buildNodePackage {
-    name = "json3-3.3.2";
-    version = "3.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json3/-/json3-3.3.2.tgz";
-      name = "json3-3.3.2.tgz";
-      sha1 = "3c0434743df93e2f5c42aee7b19bcb483575f4e1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json3"."^3.3.2" =
-    self.by-version."json3"."3.3.2";
-  by-spec."json5"."^0.2.0" =
-    self.by-version."json5"."0.2.0";
-  by-version."json5"."0.2.0" = self.buildNodePackage {
-    name = "json5-0.2.0";
-    version = "0.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json5/-/json5-0.2.0.tgz";
-      name = "json5-0.2.0.tgz";
-      sha1 = "b6d7035c70c4570f883c7edc759de3ae03db3343";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."json5"."^0.5.0" =
-    self.by-version."json5"."0.5.0";
-  by-version."json5"."0.5.0" = self.buildNodePackage {
-    name = "json5-0.5.0";
-    version = "0.5.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/json5/-/json5-0.5.0.tgz";
-      name = "json5-0.5.0.tgz";
-      sha1 = "9b20715b026cbe3778fd769edccd822d8332a5b2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonfile"."^2.1.0" =
-    self.by-version."jsonfile"."2.3.1";
-  by-version."jsonfile"."2.3.1" = self.buildNodePackage {
-    name = "jsonfile-2.3.1";
-    version = "2.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsonfile/-/jsonfile-2.3.1.tgz";
-      name = "jsonfile-2.3.1.tgz";
-      sha1 = "28bcb29c596b5b7aafd34e662a329ba62cd842fc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonfile"."~1.0.1" =
-    self.by-version."jsonfile"."1.0.1";
-  by-version."jsonfile"."1.0.1" = self.buildNodePackage {
-    name = "jsonfile-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsonfile/-/jsonfile-1.0.1.tgz";
-      name = "jsonfile-1.0.1.tgz";
-      sha1 = "ea5efe40b83690b98667614a7392fc60e842c0dd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonfile"."~1.1.0" =
-    self.by-version."jsonfile"."1.1.1";
-  by-version."jsonfile"."1.1.1" = self.buildNodePackage {
-    name = "jsonfile-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsonfile/-/jsonfile-1.1.1.tgz";
-      name = "jsonfile-1.1.1.tgz";
-      sha1 = "da4fd6ad77f1a255203ea63c7bc32dc31ef64433";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonify"."~0.0.0" =
-    self.by-version."jsonify"."0.0.0";
-  by-version."jsonify"."0.0.0" = self.buildNodePackage {
-    name = "jsonify-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz";
-      name = "jsonify-0.0.0.tgz";
-      sha1 = "2c74b6ee41d93ca51b7b5aaee8f503631d252a73";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonparse"."0.0.5" =
-    self.by-version."jsonparse"."0.0.5";
-  by-version."jsonparse"."0.0.5" = self.buildNodePackage {
-    name = "jsonparse-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsonparse/-/jsonparse-0.0.5.tgz";
-      name = "jsonparse-0.0.5.tgz";
-      sha1 = "330542ad3f0a654665b778f3eb2d9a9fa507ac64";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonparse"."^1.1.0" =
-    self.by-version."jsonparse"."1.2.0";
-  by-version."jsonparse"."1.2.0" = self.buildNodePackage {
-    name = "jsonparse-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsonparse/-/jsonparse-1.2.0.tgz";
-      name = "jsonparse-1.2.0.tgz";
-      sha1 = "5c0c5685107160e72fe7489bddea0b44c2bc67bd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonpointer"."2.0.0" =
-    self.by-version."jsonpointer"."2.0.0";
-  by-version."jsonpointer"."2.0.0" = self.buildNodePackage {
-    name = "jsonpointer-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsonpointer/-/jsonpointer-2.0.0.tgz";
-      name = "jsonpointer-2.0.0.tgz";
-      sha1 = "3af1dd20fe85463910d469a385e33017d2a030d9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsontool"."*" =
-    self.by-version."jsontool"."7.0.2";
-  by-version."jsontool"."7.0.2" = self.buildNodePackage {
-    name = "jsontool-7.0.2";
-    version = "7.0.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsontool/-/jsontool-7.0.2.tgz";
-      name = "jsontool-7.0.2.tgz";
-      sha1 = "e29d3d1b0766ba4e179a18a96578b904dca43207";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "jsontool" = self.by-version."jsontool"."7.0.2";
-  by-spec."jsonwebtoken"."5.4.x" =
-    self.by-version."jsonwebtoken"."5.4.1";
-  by-version."jsonwebtoken"."5.4.1" = self.buildNodePackage {
-    name = "jsonwebtoken-5.4.1";
-    version = "5.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-5.4.1.tgz";
-      name = "jsonwebtoken-5.4.1.tgz";
-      sha1 = "2055c639195ffe56314fa6a51df02468186a9695";
-    };
-    deps = {
-      "jws-3.1.3" = self.by-version."jws"."3.1.3";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsonwebtoken".">=1.0.0" =
-    self.by-version."jsonwebtoken"."7.0.0";
-  by-version."jsonwebtoken"."7.0.0" = self.buildNodePackage {
-    name = "jsonwebtoken-7.0.0";
-    version = "7.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-7.0.0.tgz";
-      name = "jsonwebtoken-7.0.0.tgz";
-      sha1 = "0e1eb109cffe631db7dc0ec8c3face3b57f8f5c3";
-    };
-    deps = {
-      "joi-6.10.1" = self.by-version."joi"."6.10.1";
-      "jws-3.1.3" = self.by-version."jws"."3.1.3";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsprim"."0.3.0" =
-    self.by-version."jsprim"."0.3.0";
-  by-version."jsprim"."0.3.0" = self.buildNodePackage {
-    name = "jsprim-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsprim/-/jsprim-0.3.0.tgz";
-      name = "jsprim-0.3.0.tgz";
-      sha1 = "cd13466ea2480dbd8396a570d47d31dda476f8b1";
-    };
-    deps = {
-      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
-      "json-schema-0.2.2" = self.by-version."json-schema"."0.2.2";
-      "verror-1.3.3" = self.by-version."verror"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jsprim"."^1.2.2" =
-    self.by-version."jsprim"."1.2.2";
-  by-version."jsprim"."1.2.2" = self.buildNodePackage {
-    name = "jsprim-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jsprim/-/jsprim-1.2.2.tgz";
-      name = "jsprim-1.2.2.tgz";
-      sha1 = "f20c906ac92abd58e3b79ac8bc70a48832512da1";
-    };
-    deps = {
-      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
-      "json-schema-0.2.2" = self.by-version."json-schema"."0.2.2";
-      "verror-1.3.6" = self.by-version."verror"."1.3.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jstransform"."^11.0.0" =
-    self.by-version."jstransform"."11.0.3";
-  by-version."jstransform"."11.0.3" = self.buildNodePackage {
-    name = "jstransform-11.0.3";
-    version = "11.0.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jstransform/-/jstransform-11.0.3.tgz";
-      name = "jstransform-11.0.3.tgz";
-      sha1 = "09a78993e0ae4d4ef4487f6155a91f6190cb4223";
-    };
-    deps = {
-      "base62-1.1.1" = self.by-version."base62"."1.1.1";
-      "commoner-0.10.4" = self.by-version."commoner"."0.10.4";
-      "esprima-fb-15001.1.0-dev-harmony-fb" = self.by-version."esprima-fb"."15001.1.0-dev-harmony-fb";
-      "object-assign-2.1.1" = self.by-version."object-assign"."2.1.1";
-      "source-map-0.4.4" = self.by-version."source-map"."0.4.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jstransformer"."0.0.2" =
-    self.by-version."jstransformer"."0.0.2";
-  by-version."jstransformer"."0.0.2" = self.buildNodePackage {
-    name = "jstransformer-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jstransformer/-/jstransformer-0.0.2.tgz";
-      name = "jstransformer-0.0.2.tgz";
-      sha1 = "7aae29a903d196cfa0973d885d3e47947ecd76ab";
-    };
-    deps = {
-      "is-promise-2.1.0" = self.by-version."is-promise"."2.1.0";
-      "promise-6.1.0" = self.by-version."promise"."6.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jwa"."^1.1.2" =
-    self.by-version."jwa"."1.1.3";
-  by-version."jwa"."1.1.3" = self.buildNodePackage {
-    name = "jwa-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jwa/-/jwa-1.1.3.tgz";
-      name = "jwa-1.1.3.tgz";
-      sha1 = "fa9f2f005ff0c630e7c41526a31f37f79733cd6d";
-    };
-    deps = {
-      "base64url-1.0.6" = self.by-version."base64url"."1.0.6";
-      "buffer-equal-constant-time-1.0.1" = self.by-version."buffer-equal-constant-time"."1.0.1";
-      "ecdsa-sig-formatter-1.0.5" = self.by-version."ecdsa-sig-formatter"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jwa"."~1.0.0" =
-    self.by-version."jwa"."1.0.2";
-  by-version."jwa"."1.0.2" = self.buildNodePackage {
-    name = "jwa-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jwa/-/jwa-1.0.2.tgz";
-      name = "jwa-1.0.2.tgz";
-      sha1 = "fd79609f1e772e299dce8ddb76d00659dd83511f";
-    };
-    deps = {
-      "base64url-0.0.6" = self.by-version."base64url"."0.0.6";
-      "buffer-equal-constant-time-1.0.1" = self.by-version."buffer-equal-constant-time"."1.0.1";
-      "ecdsa-sig-formatter-1.0.5" = self.by-version."ecdsa-sig-formatter"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jws"."^3.0.0" =
-    self.by-version."jws"."3.1.3";
-  by-version."jws"."3.1.3" = self.buildNodePackage {
-    name = "jws-3.1.3";
-    version = "3.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jws/-/jws-3.1.3.tgz";
-      name = "jws-3.1.3.tgz";
-      sha1 = "b88f1b4581a2c5ee8813c06b3fdf90ea9b5c7e6c";
-    };
-    deps = {
-      "base64url-1.0.6" = self.by-version."base64url"."1.0.6";
-      "jwa-1.1.3" = self.by-version."jwa"."1.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jws"."~3.0.0" =
-    self.by-version."jws"."3.0.0";
-  by-version."jws"."3.0.0" = self.buildNodePackage {
-    name = "jws-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jws/-/jws-3.0.0.tgz";
-      name = "jws-3.0.0.tgz";
-      sha1 = "da5f267897dd4e9cf8137979db33fc54a3c05418";
-    };
-    deps = {
-      "jwa-1.0.2" = self.by-version."jwa"."1.0.2";
-      "base64url-1.0.6" = self.by-version."base64url"."1.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."jwt-simple"."0.1.x" =
-    self.by-version."jwt-simple"."0.1.0";
-  by-version."jwt-simple"."0.1.0" = self.buildNodePackage {
-    name = "jwt-simple-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/jwt-simple/-/jwt-simple-0.1.0.tgz";
-      name = "jwt-simple-0.1.0.tgz";
-      sha1 = "546b34aab02e3cd49c43a4279498b34d940041e3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."k-bucket"."^0.5.0" =
-    self.by-version."k-bucket"."0.5.0";
-  by-version."k-bucket"."0.5.0" = self.buildNodePackage {
-    name = "k-bucket-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/k-bucket/-/k-bucket-0.5.0.tgz";
-      name = "k-bucket-0.5.0.tgz";
-      sha1 = "31d462d86cdb2e8d245528acfe5e71382f552e1d";
-    };
-    deps = {
-      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."k-bucket"."^0.6.0" =
-    self.by-version."k-bucket"."0.6.0";
-  by-version."k-bucket"."0.6.0" = self.buildNodePackage {
-    name = "k-bucket-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/k-bucket/-/k-bucket-0.6.0.tgz";
-      name = "k-bucket-0.6.0.tgz";
-      sha1 = "afc532545f69d466293e887b00d5fc73377c3abb";
-    };
-    deps = {
-      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."k-bucket"."^2.0.0" =
-    self.by-version."k-bucket"."2.0.1";
-  by-version."k-bucket"."2.0.1" = self.buildNodePackage {
-    name = "k-bucket-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/k-bucket/-/k-bucket-2.0.1.tgz";
-      name = "k-bucket-2.0.1.tgz";
-      sha1 = "58cccb244f563326ba893bf5c06a35f644846daa";
-    };
-    deps = {
-      "buffer-equal-0.0.1" = self.by-version."buffer-equal"."0.0.1";
-      "randombytes-2.0.3" = self.by-version."randombytes"."2.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."k-rpc"."^3.6.0" =
-    self.by-version."k-rpc"."3.7.0";
-  by-version."k-rpc"."3.7.0" = self.buildNodePackage {
-    name = "k-rpc-3.7.0";
-    version = "3.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/k-rpc/-/k-rpc-3.7.0.tgz";
-      name = "k-rpc-3.7.0.tgz";
-      sha1 = "641f99b2825be34b6e7984f22b7962dc1a906c23";
-    };
-    deps = {
-      "buffer-equals-1.0.3" = self.by-version."buffer-equals"."1.0.3";
-      "k-bucket-2.0.1" = self.by-version."k-bucket"."2.0.1";
-      "k-rpc-socket-1.5.2" = self.by-version."k-rpc-socket"."1.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."k-rpc-socket"."^1.5.0" =
-    self.by-version."k-rpc-socket"."1.5.2";
-  by-version."k-rpc-socket"."1.5.2" = self.buildNodePackage {
-    name = "k-rpc-socket-1.5.2";
-    version = "1.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/k-rpc-socket/-/k-rpc-socket-1.5.2.tgz";
-      name = "k-rpc-socket-1.5.2.tgz";
-      sha1 = "16fe671041f270241fbaf3b007debb7312a95d40";
-    };
-    deps = {
-      "bencode-0.10.0" = self.by-version."bencode"."0.10.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."kareem"."1.0.1" =
-    self.by-version."kareem"."1.0.1";
-  by-version."kareem"."1.0.1" = self.buildNodePackage {
-    name = "kareem-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/kareem/-/kareem-1.0.1.tgz";
-      name = "kareem-1.0.1.tgz";
-      sha1 = "7805d215bb53214ec3af969a1d0b1f17e3e7b95c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."karma"."*" =
-    self.by-version."karma"."0.13.22";
-  by-version."karma"."0.13.22" = self.buildNodePackage {
-    name = "karma-0.13.22";
-    version = "0.13.22";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/karma/-/karma-0.13.22.tgz";
-      name = "karma-0.13.22.tgz";
-      sha1 = "07750b1bd063d7e7e7b91bcd2e6354d8f2aa8744";
-    };
-    deps = {
-      "batch-0.5.3" = self.by-version."batch"."0.5.3";
-      "bluebird-2.10.2" = self.by-version."bluebird"."2.10.2";
-      "body-parser-1.15.1" = self.by-version."body-parser"."1.15.1";
-      "chokidar-1.5.2" = self.by-version."chokidar"."1.5.2";
-      "colors-1.1.2" = self.by-version."colors"."1.1.2";
-      "connect-3.4.1" = self.by-version."connect"."3.4.1";
-      "core-js-2.4.0" = self.by-version."core-js"."2.4.0";
-      "di-0.0.1" = self.by-version."di"."0.0.1";
-      "dom-serialize-2.2.1" = self.by-version."dom-serialize"."2.2.1";
-      "expand-braces-0.1.2" = self.by-version."expand-braces"."0.1.2";
-      "glob-7.0.3" = self.by-version."glob"."7.0.3";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "http-proxy-1.13.3" = self.by-version."http-proxy"."1.13.3";
-      "isbinaryfile-3.0.0" = self.by-version."isbinaryfile"."3.0.0";
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-      "log4js-0.6.36" = self.by-version."log4js"."0.6.36";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "socket.io-1.4.6" = self.by-version."socket.io"."1.4.6";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-      "useragent-2.1.9" = self.by-version."useragent"."2.1.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "karma" = self.by-version."karma"."0.13.22";
-  by-spec."karma".">=0.9" =
-    self.by-version."karma"."0.13.22";
-  by-spec."karma"."^0.13.0 || >= 0.14.0-rc.0" =
-    self.by-version."karma"."0.13.22";
-  by-spec."karma-chrome-launcher"."*" =
-    self.by-version."karma-chrome-launcher"."1.0.1";
-  by-version."karma-chrome-launcher"."1.0.1" = self.buildNodePackage {
-    name = "karma-chrome-launcher-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-1.0.1.tgz";
-      name = "karma-chrome-launcher-1.0.1.tgz";
-      sha1 = "be5ae7c4264f9a0a2e22e3d984beb325ad92c8cb";
-    };
-    deps = {
-      "fs-access-1.0.0" = self.by-version."fs-access"."1.0.0";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "karma-chrome-launcher" = self.by-version."karma-chrome-launcher"."1.0.1";
-  by-spec."karma-coverage"."*" =
-    self.by-version."karma-coverage"."1.0.0";
-  by-version."karma-coverage"."1.0.0" = self.buildNodePackage {
-    name = "karma-coverage-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/karma-coverage/-/karma-coverage-1.0.0.tgz";
-      name = "karma-coverage-1.0.0.tgz";
-      sha1 = "679a1152310f96ef91c32f5fe357d6c5b78f1f1d";
-    };
-    deps = {
-      "istanbul-0.4.3" = self.by-version."istanbul"."0.4.3";
-      "dateformat-1.0.12" = self.by-version."dateformat"."1.0.12";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "karma-coverage" = self.by-version."karma-coverage"."1.0.0";
-  by-spec."karma-junit-reporter"."*" =
-    self.by-version."karma-junit-reporter"."2.0.0";
-  by-version."karma-junit-reporter"."2.0.0" = self.buildNodePackage {
-    name = "karma-junit-reporter-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/karma-junit-reporter/-/karma-junit-reporter-2.0.0.tgz";
-      name = "karma-junit-reporter-2.0.0.tgz";
-      sha1 = "f84629e0e1ef28dd2977c96f346c33d5bf93e159";
-    };
-    deps = {
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-      "xmlbuilder-3.1.0" = self.by-version."xmlbuilder"."3.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."karma"."0.13.22"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "karma-junit-reporter" = self.by-version."karma-junit-reporter"."2.0.0";
-  by-spec."karma-mocha"."*" =
-    self.by-version."karma-mocha"."1.0.1";
-  by-version."karma-mocha"."1.0.1" = self.buildNodePackage {
-    name = "karma-mocha-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/karma-mocha/-/karma-mocha-1.0.1.tgz";
-      name = "karma-mocha-1.0.1.tgz";
-      sha1 = "98519f19115cd1a3455d8a95e14049a878fd0670";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."mocha"."2.5.3"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "karma-mocha" = self.by-version."karma-mocha"."1.0.1";
-  by-spec."karma-requirejs"."*" =
-    self.by-version."karma-requirejs"."1.0.0";
-  by-version."karma-requirejs"."1.0.0" = self.buildNodePackage {
-    name = "karma-requirejs-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/karma-requirejs/-/karma-requirejs-1.0.0.tgz";
-      name = "karma-requirejs-1.0.0.tgz";
-      sha1 = "183b9ac456a9e958564b75b458baedfdba78cd6d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."karma"."0.13.22"
-      self.by-version."requirejs"."2.2.0"];
-    os = [ ];
-    cpu = [ ];
-  };
-  "karma-requirejs" = self.by-version."karma-requirejs"."1.0.0";
-  by-spec."karma-sauce-launcher"."*" =
-    self.by-version."karma-sauce-launcher"."1.0.0";
-  by-version."karma-sauce-launcher"."1.0.0" = self.buildNodePackage {
-    name = "karma-sauce-launcher-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/karma-sauce-launcher/-/karma-sauce-launcher-1.0.0.tgz";
-      name = "karma-sauce-launcher-1.0.0.tgz";
-      sha1 = "569bf356f7c143a337bba5dcbf5787de0d9a640c";
-    };
-    deps = {
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-      "sauce-connect-launcher-0.13.0" = self.by-version."sauce-connect-launcher"."0.13.0";
-      "saucelabs-1.2.0" = self.by-version."saucelabs"."1.2.0";
-      "wd-0.3.12" = self.by-version."wd"."0.3.12";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "karma-sauce-launcher" = self.by-version."karma-sauce-launcher"."1.0.0";
-  by-spec."keen-js"."^3.2.4" =
-    self.by-version."keen-js"."3.4.1";
-  by-version."keen-js"."3.4.1" = self.buildNodePackage {
-    name = "keen-js-3.4.1";
-    version = "3.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/keen-js/-/keen-js-3.4.1.tgz";
-      name = "keen-js-3.4.1.tgz";
-      sha1 = "822a5b1e211d1f47caae576a42926efec0cad05b";
-    };
-    deps = {
-      "JSON2-0.1.0" = self.by-version."JSON2"."0.1.0";
-      "browserify-versionify-1.0.3" = self.by-version."browserify-versionify"."1.0.3";
-      "component-emitter-1.2.1" = self.by-version."component-emitter"."1.2.1";
-      "domready-0.3.0" = self.by-version."domready"."0.3.0";
-      "json3-3.3.2" = self.by-version."json3"."3.3.2";
-      "spin.js-2.3.2" = self.by-version."spin.js"."2.3.2";
-      "superagent-1.8.3" = self.by-version."superagent"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keen.io"."~0.1.3" =
-    self.by-version."keen.io"."0.1.3";
-  by-version."keen.io"."0.1.3" = self.buildNodePackage {
-    name = "keen.io-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/keen.io/-/keen.io-0.1.3.tgz";
-      name = "keen.io-0.1.3.tgz";
-      sha1 = "5056f5c989ab14ccf62fc20ed7598115ae7d09e3";
-    };
-    deps = {
-      "superagent-0.21.0" = self.by-version."superagent"."0.21.0";
-      "underscore-1.5.2" = self.by-version."underscore"."1.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keep-alive-agent"."^0.0.1" =
-    self.by-version."keep-alive-agent"."0.0.1";
-  by-version."keep-alive-agent"."0.0.1" = self.buildNodePackage {
-    name = "keep-alive-agent-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/keep-alive-agent/-/keep-alive-agent-0.0.1.tgz";
-      name = "keep-alive-agent-0.0.1.tgz";
-      sha1 = "44847ca394ce8d6b521ae85816bd64509942b385";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."kerberos"."0.0.3" =
-    self.by-version."kerberos"."0.0.3";
-  by-version."kerberos"."0.0.3" = self.buildNodePackage {
-    name = "kerberos-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/kerberos/-/kerberos-0.0.3.tgz";
-      name = "kerberos-0.0.3.tgz";
-      sha1 = "4285d92a0748db2784062f5adcec9f5956cb818a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."kerberos"."~0.0" =
-    self.by-version."kerberos"."0.0.21";
-  by-version."kerberos"."0.0.21" = self.buildNodePackage {
-    name = "kerberos-0.0.21";
-    version = "0.0.21";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/kerberos/-/kerberos-0.0.21.tgz";
-      name = "kerberos-0.0.21.tgz";
-      sha1 = "414f7f947d45afff10406018f233bf471a1d1195";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."kew"."~0.1.7" =
-    self.by-version."kew"."0.1.7";
-  by-version."kew"."0.1.7" = self.buildNodePackage {
-    name = "kew-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/kew/-/kew-0.1.7.tgz";
-      name = "kew-0.1.7.tgz";
-      sha1 = "0a32a817ff1a9b3b12b8c9bacf4bc4d679af8e72";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."kew"."~0.7.0" =
-    self.by-version."kew"."0.7.0";
-  by-version."kew"."0.7.0" = self.buildNodePackage {
-    name = "kew-0.7.0";
-    version = "0.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/kew/-/kew-0.7.0.tgz";
-      name = "kew-0.7.0.tgz";
-      sha1 = "79d93d2d33363d6fdd2970b335d9141ad591d79b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keygrip"."0.2.x" =
-    self.by-version."keygrip"."0.2.4";
-  by-version."keygrip"."0.2.4" = self.buildNodePackage {
-    name = "keygrip-0.2.4";
-    version = "0.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/keygrip/-/keygrip-0.2.4.tgz";
-      name = "keygrip-0.2.4.tgz";
-      sha1 = "9dd1b2e485a1162c9d4e6f787de87fc50f87bc58";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keygrip"."~1.0.0" =
-    self.by-version."keygrip"."1.0.1";
-  by-version."keygrip"."1.0.1" = self.buildNodePackage {
-    name = "keygrip-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/keygrip/-/keygrip-1.0.1.tgz";
-      name = "keygrip-1.0.1.tgz";
-      sha1 = "b02fa4816eef21a8c4b35ca9e52921ffc89a30e9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keypress"."0.1.x" =
-    self.by-version."keypress"."0.1.0";
-  by-version."keypress"."0.1.0" = self.buildNodePackage {
-    name = "keypress-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/keypress/-/keypress-0.1.0.tgz";
-      name = "keypress-0.1.0.tgz";
-      sha1 = "4a3188d4291b66b4f65edb99f806aa9ae293592a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keypress"."^0.2.1" =
-    self.by-version."keypress"."0.2.1";
-  by-version."keypress"."0.2.1" = self.buildNodePackage {
-    name = "keypress-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/keypress/-/keypress-0.2.1.tgz";
-      name = "keypress-0.2.1.tgz";
-      sha1 = "1e80454250018dbad4c3fe94497d6e67b6269c77";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."keypress"."~0.2.1" =
-    self.by-version."keypress"."0.2.1";
-  by-spec."kind-of"."^3.0.2" =
-    self.by-version."kind-of"."3.0.3";
-  by-version."kind-of"."3.0.3" = self.buildNodePackage {
-    name = "kind-of-3.0.3";
-    version = "3.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/kind-of/-/kind-of-3.0.3.tgz";
-      name = "kind-of-3.0.3.tgz";
-      sha1 = "c61608747d815b0362556db3276362a7a38aded3";
-    };
-    deps = {
-      "is-buffer-1.1.3" = self.by-version."is-buffer"."1.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."klaw"."^1.0.0" =
-    self.by-version."klaw"."1.3.0";
-  by-version."klaw"."1.3.0" = self.buildNodePackage {
-    name = "klaw-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/klaw/-/klaw-1.3.0.tgz";
-      name = "klaw-1.3.0.tgz";
-      sha1 = "8857bfbc1d824badf13d3d0241d8bbe46fb12f73";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."knockout"."~3.4.0" =
-    self.by-version."knockout"."3.4.0";
-  by-version."knockout"."3.4.0" = self.buildNodePackage {
-    name = "knockout-3.4.0";
-    version = "3.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/knockout/-/knockout-3.4.0.tgz";
-      name = "knockout-3.4.0.tgz";
-      sha1 = "59d7261815a11eb7c1a3f3c7077ca898a44caadb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."knox"."*" =
-    self.by-version."knox"."0.9.2";
-  by-version."knox"."0.9.2" = self.buildNodePackage {
-    name = "knox-0.9.2";
-    version = "0.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/knox/-/knox-0.9.2.tgz";
-      name = "knox-0.9.2.tgz";
-      sha1 = "3736593669e24f024fdaf723b6a1dc4afd839a71";
-    };
-    deps = {
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "xml2js-0.4.16" = self.by-version."xml2js"."0.4.16";
-      "debug-1.0.4" = self.by-version."debug"."1.0.4";
-      "stream-counter-1.0.0" = self.by-version."stream-counter"."1.0.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "knox" = self.by-version."knox"."0.9.2";
-  by-spec."kue"."*" =
-    self.by-version."kue"."0.11.0";
-  by-version."kue"."0.11.0" = self.buildNodePackage {
-    name = "kue-0.11.0";
-    version = "0.11.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/kue/-/kue-0.11.0.tgz";
-      name = "kue-0.11.0.tgz";
-      sha1 = "54f2769b09a09ebeff0906db3896a92ed8a73332";
-    };
-    deps = {
-      "body-parser-1.15.1" = self.by-version."body-parser"."1.15.1";
-      "express-4.13.4" = self.by-version."express"."4.13.4";
-      "jade-1.11.0" = self.by-version."jade"."1.11.0";
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-      "lodash-deep-1.6.0" = self.by-version."lodash-deep"."1.6.0";
-      "nib-1.1.0" = self.by-version."nib"."1.1.0";
-      "node-redis-warlock-0.1.4" = self.by-version."node-redis-warlock"."0.1.4";
-      "redis-2.4.2" = self.by-version."redis"."2.4.2";
-      "reds-0.2.5" = self.by-version."reds"."0.2.5";
-      "stylus-0.52.4" = self.by-version."stylus"."0.52.4";
-      "yargs-3.32.0" = self.by-version."yargs"."3.32.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "kue" = self.by-version."kue"."0.11.0";
-  by-spec."labeled-stream-splicer"."^1.0.0" =
-    self.by-version."labeled-stream-splicer"."1.0.2";
-  by-version."labeled-stream-splicer"."1.0.2" = self.buildNodePackage {
-    name = "labeled-stream-splicer-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-1.0.2.tgz";
-      name = "labeled-stream-splicer-1.0.2.tgz";
-      sha1 = "4615331537784981e8fd264e1f3a434c4e0ddd65";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "stream-splicer-1.3.2" = self.by-version."stream-splicer"."1.3.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."labeled-stream-splicer"."^2.0.0" =
-    self.by-version."labeled-stream-splicer"."2.0.0";
-  by-version."labeled-stream-splicer"."2.0.0" = self.buildNodePackage {
-    name = "labeled-stream-splicer-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/labeled-stream-splicer/-/labeled-stream-splicer-2.0.0.tgz";
-      name = "labeled-stream-splicer-2.0.0.tgz";
-      sha1 = "a52e1d138024c00b86b1c0c91f677918b8ae0a59";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "stream-splicer-2.0.0" = self.by-version."stream-splicer"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."latest-version"."^1.0.0" =
-    self.by-version."latest-version"."1.0.1";
-  by-version."latest-version"."1.0.1" = self.buildNodePackage {
-    name = "latest-version-1.0.1";
-    version = "1.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/latest-version/-/latest-version-1.0.1.tgz";
-      name = "latest-version-1.0.1.tgz";
-      sha1 = "72cfc46e3e8d1be651e1ebb54ea9f6ea96f374bb";
-    };
-    deps = {
-      "package-json-1.2.0" = self.by-version."package-json"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lazy"."~1.0.11" =
-    self.by-version."lazy"."1.0.11";
-  by-version."lazy"."1.0.11" = self.buildNodePackage {
-    name = "lazy-1.0.11";
-    version = "1.0.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lazy/-/lazy-1.0.11.tgz";
-      name = "lazy-1.0.11.tgz";
-      sha1 = "daa068206282542c088288e975c297c1ae77b690";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lazy-cache"."^1.0.3" =
-    self.by-version."lazy-cache"."1.0.4";
-  by-version."lazy-cache"."1.0.4" = self.buildNodePackage {
-    name = "lazy-cache-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz";
-      name = "lazy-cache-1.0.4.tgz";
-      sha1 = "a1d78fc3a50474cb80845d3b3b6e1da49a446e8e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lazystream"."^1.0.0" =
-    self.by-version."lazystream"."1.0.0";
-  by-version."lazystream"."1.0.0" = self.buildNodePackage {
-    name = "lazystream-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lazystream/-/lazystream-1.0.0.tgz";
-      name = "lazystream-1.0.0.tgz";
-      sha1 = "f6995fe0f820392f61396be89462407bb77168e4";
-    };
-    deps = {
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lazystream"."~0.1.0" =
-    self.by-version."lazystream"."0.1.0";
-  by-version."lazystream"."0.1.0" = self.buildNodePackage {
-    name = "lazystream-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lazystream/-/lazystream-0.1.0.tgz";
-      name = "lazystream-0.1.0.tgz";
-      sha1 = "1b25d63c772a4c20f0a5ed0a9d77f484b6e16920";
-    };
-    deps = {
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lcid"."^1.0.0" =
-    self.by-version."lcid"."1.0.0";
-  by-version."lcid"."1.0.0" = self.buildNodePackage {
-    name = "lcid-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lcid/-/lcid-1.0.0.tgz";
-      name = "lcid-1.0.0.tgz";
-      sha1 = "308accafa0bc483a3867b4b6f2b9506251d1b835";
-    };
-    deps = {
-      "invert-kv-1.0.0" = self.by-version."invert-kv"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lcov-parse"."0.0.6" =
-    self.by-version."lcov-parse"."0.0.6";
-  by-version."lcov-parse"."0.0.6" = self.buildNodePackage {
-    name = "lcov-parse-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.6.tgz";
-      name = "lcov-parse-0.0.6.tgz";
-      sha1 = "819e5da8bf0791f9d3f39eea5ed1868187f11175";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lcov-result-merger"."*" =
-    self.by-version."lcov-result-merger"."1.2.0";
-  by-version."lcov-result-merger"."1.2.0" = self.buildNodePackage {
-    name = "lcov-result-merger-1.2.0";
-    version = "1.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lcov-result-merger/-/lcov-result-merger-1.2.0.tgz";
-      name = "lcov-result-merger-1.2.0.tgz";
-      sha1 = "5de1e6426f885929b77357f014de5fee1dad0553";
-    };
-    deps = {
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "vinyl-1.1.1" = self.by-version."vinyl"."1.1.1";
-      "vinyl-fs-2.4.3" = self.by-version."vinyl-fs"."2.4.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "lcov-result-merger" = self.by-version."lcov-result-merger"."1.2.0";
-  by-spec."ldapjs"."^0.7.1" =
-    self.by-version."ldapjs"."0.7.1";
-  by-version."ldapjs"."0.7.1" = self.buildNodePackage {
-    name = "ldapjs-0.7.1";
-    version = "0.7.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ldapjs/-/ldapjs-0.7.1.tgz";
-      name = "ldapjs-0.7.1.tgz";
-      sha1 = "684798a687640bab1afbd802cf532f30492dfb56";
-    };
-    deps = {
-      "asn1-0.2.1" = self.by-version."asn1"."0.2.1";
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "bunyan-0.22.1" = self.by-version."bunyan"."0.22.1";
-      "nopt-2.1.1" = self.by-version."nopt"."2.1.1";
-      "pooling-0.4.6" = self.by-version."pooling"."0.4.6";
-    };
-    optionalDependencies = {
-      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."less"."*" =
-    self.by-version."less"."2.7.1";
-  by-version."less"."2.7.1" = self.buildNodePackage {
-    name = "less-2.7.1";
-    version = "2.7.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/less/-/less-2.7.1.tgz";
-      name = "less-2.7.1.tgz";
-      sha1 = "6cbfea22b3b830304e9a5fb371d54fa480c9d7cf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "errno-0.1.4" = self.by-version."errno"."0.1.4";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "image-size-0.5.0" = self.by-version."image-size"."0.5.0";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "promise-7.1.1" = self.by-version."promise"."7.1.1";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "less" = self.by-version."less"."2.7.1";
-  by-spec."less"."~2.6.0" =
-    self.by-version."less"."2.6.1";
-  by-version."less"."2.6.1" = self.buildNodePackage {
-    name = "less-2.6.1";
-    version = "2.6.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/less/-/less-2.6.1.tgz";
-      name = "less-2.6.1.tgz";
-      sha1 = "658e01ec9ac3149959c6b6dfbcfbc0a170afda7a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "errno-0.1.4" = self.by-version."errno"."0.1.4";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "image-size-0.4.0" = self.by-version."image-size"."0.4.0";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "promise-7.1.1" = self.by-version."promise"."7.1.1";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."level"."^0.18.0" =
-    self.by-version."level"."0.18.0";
-  by-version."level"."0.18.0" = self.buildNodePackage {
-    name = "level-0.18.0";
-    version = "0.18.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/level/-/level-0.18.0.tgz";
-      name = "level-0.18.0.tgz";
-      sha1 = "e1a3f4cad65fc02e25070a47d63d7b527361c1cf";
-    };
-    deps = {
-      "leveldown-0.10.6" = self.by-version."leveldown"."0.10.6";
-      "level-packager-0.18.0" = self.by-version."level-packager"."0.18.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."level-packager"."~0.18.0" =
-    self.by-version."level-packager"."0.18.0";
-  by-version."level-packager"."0.18.0" = self.buildNodePackage {
-    name = "level-packager-0.18.0";
-    version = "0.18.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/level-packager/-/level-packager-0.18.0.tgz";
-      name = "level-packager-0.18.0.tgz";
-      sha1 = "c076b087646f1d7dedcc3442f58800dd0a0b45f5";
-    };
-    deps = {
-      "levelup-0.18.6" = self.by-version."levelup"."0.18.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."level-sublevel"."^6.3.15" =
-    self.by-version."level-sublevel"."6.5.4";
-  by-version."level-sublevel"."6.5.4" = self.buildNodePackage {
-    name = "level-sublevel-6.5.4";
-    version = "6.5.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/level-sublevel/-/level-sublevel-6.5.4.tgz";
-      name = "level-sublevel-6.5.4.tgz";
-      sha1 = "92e6534e7ac3fa35c8bdb121b8a8094a8d1c0826";
-    };
-    deps = {
-      "pull-stream-2.21.0" = self.by-version."pull-stream"."2.21.0";
-      "ltgt-2.1.2" = self.by-version."ltgt"."2.1.2";
-      "levelup-0.19.1" = self.by-version."levelup"."0.19.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-      "bytewise-1.1.0" = self.by-version."bytewise"."1.1.0";
-      "typewiselite-1.0.0" = self.by-version."typewiselite"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."leveldown"."^0.10.2" =
-    self.by-version."leveldown"."0.10.6";
-  by-version."leveldown"."0.10.6" = self.buildNodePackage {
-    name = "leveldown-0.10.6";
-    version = "0.10.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/leveldown/-/leveldown-0.10.6.tgz";
-      name = "leveldown-0.10.6.tgz";
-      sha1 = "a1bb751c95263ff60f41bde0f973ff8c1e98bbe9";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.1.0" = self.by-version."nan"."2.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."leveldown"."~0.10.0" =
-    self.by-version."leveldown"."0.10.6";
-  by-spec."levelup"."^0.18.5" =
-    self.by-version."levelup"."0.18.6";
-  by-version."levelup"."0.18.6" = self.buildNodePackage {
-    name = "levelup-0.18.6";
-    version = "0.18.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/levelup/-/levelup-0.18.6.tgz";
-      name = "levelup-0.18.6.tgz";
-      sha1 = "e6a01cb089616c8ecc0291c2a9bd3f0c44e3e5eb";
-    };
-    deps = {
-      "bl-0.8.2" = self.by-version."bl"."0.8.2";
-      "deferred-leveldown-0.2.0" = self.by-version."deferred-leveldown"."0.2.0";
-      "errno-0.1.4" = self.by-version."errno"."0.1.4";
-      "prr-0.0.0" = self.by-version."prr"."0.0.0";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "semver-2.3.2" = self.by-version."semver"."2.3.2";
-      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."levelup"."~0.18.0" =
-    self.by-version."levelup"."0.18.6";
-  by-spec."levelup"."~0.19.0" =
-    self.by-version."levelup"."0.19.1";
-  by-version."levelup"."0.19.1" = self.buildNodePackage {
-    name = "levelup-0.19.1";
-    version = "0.19.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/levelup/-/levelup-0.19.1.tgz";
-      name = "levelup-0.19.1.tgz";
-      sha1 = "f3a6a7205272c4b5f35e412ff004a03a0aedf50b";
-    };
-    deps = {
-      "bl-0.8.2" = self.by-version."bl"."0.8.2";
-      "deferred-leveldown-0.2.0" = self.by-version."deferred-leveldown"."0.2.0";
-      "errno-0.1.4" = self.by-version."errno"."0.1.4";
-      "prr-0.0.0" = self.by-version."prr"."0.0.0";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."leven"."^1.0.0" =
-    self.by-version."leven"."1.0.2";
-  by-version."leven"."1.0.2" = self.buildNodePackage {
-    name = "leven-1.0.2";
-    version = "1.0.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/leven/-/leven-1.0.2.tgz";
-      name = "leven-1.0.2.tgz";
-      sha1 = "9144b6eebca5f1d0680169f1a6770dcea60b75c3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."levn"."^0.3.0" =
-    self.by-version."levn"."0.3.0";
-  by-version."levn"."0.3.0" = self.buildNodePackage {
-    name = "levn-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/levn/-/levn-0.3.0.tgz";
-      name = "levn-0.3.0.tgz";
-      sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
-    };
-    deps = {
-      "prelude-ls-1.1.2" = self.by-version."prelude-ls"."1.1.2";
-      "type-check-0.3.2" = self.by-version."type-check"."0.3.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."levn"."~0.3.0" =
-    self.by-version."levn"."0.3.0";
-  by-spec."lexical-scope"."^1.2.0" =
-    self.by-version."lexical-scope"."1.2.0";
-  by-version."lexical-scope"."1.2.0" = self.buildNodePackage {
-    name = "lexical-scope-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lexical-scope/-/lexical-scope-1.2.0.tgz";
-      name = "lexical-scope-1.2.0.tgz";
-      sha1 = "fcea5edc704a4b3a8796cdca419c3a0afaf22df4";
-    };
-    deps = {
-      "astw-2.0.0" = self.by-version."astw"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lexicographic-integer"."^1.1.0" =
-    self.by-version."lexicographic-integer"."1.1.0";
-  by-version."lexicographic-integer"."1.1.0" = self.buildNodePackage {
-    name = "lexicographic-integer-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lexicographic-integer/-/lexicographic-integer-1.1.0.tgz";
-      name = "lexicographic-integer-1.1.0.tgz";
-      sha1 = "52ca6d998a572e6322b515f5b80e396c6043e9b8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."libbase64"."0.1.0" =
-    self.by-version."libbase64"."0.1.0";
-  by-version."libbase64"."0.1.0" = self.buildNodePackage {
-    name = "libbase64-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/libbase64/-/libbase64-0.1.0.tgz";
-      name = "libbase64-0.1.0.tgz";
-      sha1 = "62351a839563ac5ff5bd26f12f60e9830bb751e6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."libbase64"."^0.1.0" =
-    self.by-version."libbase64"."0.1.0";
-  by-spec."libmime"."2.0.3" =
-    self.by-version."libmime"."2.0.3";
-  by-version."libmime"."2.0.3" = self.buildNodePackage {
-    name = "libmime-2.0.3";
-    version = "2.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/libmime/-/libmime-2.0.3.tgz";
-      name = "libmime-2.0.3.tgz";
-      sha1 = "55751aa832d31492363df3dd810580dfd59d080c";
-    };
-    deps = {
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "libbase64-0.1.0" = self.by-version."libbase64"."0.1.0";
-      "libqp-1.1.0" = self.by-version."libqp"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."libmime"."^1.2.0" =
-    self.by-version."libmime"."1.2.0";
-  by-version."libmime"."1.2.0" = self.buildNodePackage {
-    name = "libmime-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/libmime/-/libmime-1.2.0.tgz";
-      name = "libmime-1.2.0.tgz";
-      sha1 = "8d84b4f3b225b3704410236ef494906436ba742b";
-    };
-    deps = {
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "libbase64-0.1.0" = self.by-version."libbase64"."0.1.0";
-      "libqp-1.1.0" = self.by-version."libqp"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."libqp"."1.1.0" =
-    self.by-version."libqp"."1.1.0";
-  by-version."libqp"."1.1.0" = self.buildNodePackage {
-    name = "libqp-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/libqp/-/libqp-1.1.0.tgz";
-      name = "libqp-1.1.0.tgz";
-      sha1 = "f5e6e06ad74b794fb5b5b66988bf728ef1dedbe8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."libqp"."^1.1.0" =
-    self.by-version."libqp"."1.1.0";
-  by-spec."libxmljs"."^0.17.1" =
-    self.by-version."libxmljs"."0.17.1";
-  by-version."libxmljs"."0.17.1" = self.buildNodePackage {
-    name = "libxmljs-0.17.1";
-    version = "0.17.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/libxmljs/-/libxmljs-0.17.1.tgz";
-      name = "libxmljs-0.17.1.tgz";
-      sha1 = "1f77e529b5bd1c0e49936726daed95577092ee8a";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.0.7" = self.by-version."nan"."2.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."liftoff"."^2.1.0" =
-    self.by-version."liftoff"."2.2.1";
-  by-version."liftoff"."2.2.1" = self.buildNodePackage {
-    name = "liftoff-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/liftoff/-/liftoff-2.2.1.tgz";
-      name = "liftoff-2.2.1.tgz";
-      sha1 = "8dfef848d3f441921c4a311fc3203ae9c34c41a7";
-    };
-    deps = {
-      "extend-2.0.1" = self.by-version."extend"."2.0.1";
-      "findup-sync-0.3.0" = self.by-version."findup-sync"."0.3.0";
-      "flagged-respawn-0.3.2" = self.by-version."flagged-respawn"."0.3.2";
-      "rechoir-0.6.2" = self.by-version."rechoir"."0.6.2";
-      "resolve-1.1.7" = self.by-version."resolve"."1.1.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."linkify-it"."~1.2.0" =
-    self.by-version."linkify-it"."1.2.4";
-  by-version."linkify-it"."1.2.4" = self.buildNodePackage {
-    name = "linkify-it-1.2.4";
-    version = "1.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/linkify-it/-/linkify-it-1.2.4.tgz";
-      name = "linkify-it-1.2.4.tgz";
-      sha1 = "0773526c317c8fd13bd534ee1d180ff88abf881a";
-    };
-    deps = {
-      "uc.micro-1.0.1" = self.by-version."uc.micro"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."load-json-file"."^1.0.0" =
-    self.by-version."load-json-file"."1.1.0";
-  by-version."load-json-file"."1.1.0" = self.buildNodePackage {
-    name = "load-json-file-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/load-json-file/-/load-json-file-1.1.0.tgz";
-      name = "load-json-file-1.1.0.tgz";
-      sha1 = "956905708d58b4bab4c2261b04f59f31c99374c0";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "parse-json-2.2.0" = self.by-version."parse-json"."2.2.0";
-      "pify-2.3.0" = self.by-version."pify"."2.3.0";
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-      "strip-bom-2.0.0" = self.by-version."strip-bom"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."load-json-file"."^1.1.0" =
-    self.by-version."load-json-file"."1.1.0";
-  by-spec."loader-runner"."^2.1.0" =
-    self.by-version."loader-runner"."2.1.1";
-  by-version."loader-runner"."2.1.1" = self.buildNodePackage {
-    name = "loader-runner-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/loader-runner/-/loader-runner-2.1.1.tgz";
-      name = "loader-runner-2.1.1.tgz";
-      sha1 = "60a30f2a7c8eae79f0805b5848fee134f8ade519";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."loader-utils"."^0.2.11" =
-    self.by-version."loader-utils"."0.2.15";
-  by-version."loader-utils"."0.2.15" = self.buildNodePackage {
-    name = "loader-utils-0.2.15";
-    version = "0.2.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/loader-utils/-/loader-utils-0.2.15.tgz";
-      name = "loader-utils-0.2.15.tgz";
-      sha1 = "c7df3342a9d4e2103dddc97d4060daccc246d6ac";
-    };
-    deps = {
-      "big.js-3.1.3" = self.by-version."big.js"."3.1.3";
-      "emojis-list-2.0.1" = self.by-version."emojis-list"."2.0.1";
-      "json5-0.5.0" = self.by-version."json5"."0.5.0";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lockfile"."~1.0.1" =
-    self.by-version."lockfile"."1.0.1";
-  by-version."lockfile"."1.0.1" = self.buildNodePackage {
-    name = "lockfile-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lockfile/-/lockfile-1.0.1.tgz";
-      name = "lockfile-1.0.1.tgz";
-      sha1 = "9d353ecfe3f54d150bb57f89d51746935a39c4f5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."*" =
-    self.by-version."lodash"."4.13.1";
-  by-version."lodash"."4.13.1" = self.buildNodePackage {
-    name = "lodash-4.13.1";
-    version = "4.13.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-4.13.1.tgz";
-      name = "lodash-4.13.1.tgz";
-      sha1 = "83e4b10913f48496d4d16fec4a560af2ee744b68";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."3.10.1" =
-    self.by-version."lodash"."3.10.1";
-  by-version."lodash"."3.10.1" = self.buildNodePackage {
-    name = "lodash-3.10.1";
-    version = "3.10.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-3.10.1.tgz";
-      name = "lodash-3.10.1.tgz";
-      sha1 = "5bf45e8e49ba4189e17d482789dfd15bd140b7b6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."3.7.x" =
-    self.by-version."lodash"."3.7.0";
-  by-version."lodash"."3.7.0" = self.buildNodePackage {
-    name = "lodash-3.7.0";
-    version = "3.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-3.7.0.tgz";
-      name = "lodash-3.7.0.tgz";
-      sha1 = "3678bd8ab995057c07ade836ed2ef087da811d45";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash".">= 4.0.0 < 5.0.0" =
-    self.by-version."lodash"."4.13.1";
-  by-spec."lodash".">=2.4.1" =
-    self.by-version."lodash"."4.13.1";
-  by-spec."lodash"."^2.4.1" =
-    self.by-version."lodash"."2.4.2";
-  by-version."lodash"."2.4.2" = self.buildNodePackage {
-    name = "lodash-2.4.2";
-    version = "2.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-2.4.2.tgz";
-      name = "lodash-2.4.2.tgz";
-      sha1 = "fadd834b9683073da179b3eae6d9c0d15053f73e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."^3.10.1" =
-    self.by-version."lodash"."3.10.1";
-  by-spec."lodash"."^3.2.0" =
-    self.by-version."lodash"."3.10.1";
-  by-spec."lodash"."^3.3.1" =
-    self.by-version."lodash"."3.10.1";
-  by-spec."lodash"."^3.5.0" =
-    self.by-version."lodash"."3.10.1";
-  by-spec."lodash"."^3.8.0" =
-    self.by-version."lodash"."3.10.1";
-  by-spec."lodash"."^4.0.0" =
-    self.by-version."lodash"."4.13.1";
-  by-spec."lodash"."^4.0.1" =
-    self.by-version."lodash"."4.13.1";
-  by-spec."lodash"."^4.2.0" =
-    self.by-version."lodash"."4.13.1";
-  by-spec."lodash"."^4.3.0" =
-    self.by-version."lodash"."4.13.1";
-  by-spec."lodash"."^4.8.0" =
-    self.by-version."lodash"."4.13.1";
-  by-spec."lodash"."^4.8.2" =
-    self.by-version."lodash"."4.13.1";
-  by-spec."lodash"."~0.9.2" =
-    self.by-version."lodash"."0.9.2";
-  by-version."lodash"."0.9.2" = self.buildNodePackage {
-    name = "lodash-0.9.2";
-    version = "0.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-0.9.2.tgz";
-      name = "lodash-0.9.2.tgz";
-      sha1 = "8f3499c5245d346d682e5b0d3b40767e09f1a92c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."~1.0.1" =
-    self.by-version."lodash"."1.0.2";
-  by-version."lodash"."1.0.2" = self.buildNodePackage {
-    name = "lodash-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-1.0.2.tgz";
-      name = "lodash-1.0.2.tgz";
-      sha1 = "8f57560c83b59fc270bd3d561b690043430e2551";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."~2.4.1" =
-    self.by-version."lodash"."2.4.2";
-  by-spec."lodash"."~3.10.1" =
-    self.by-version."lodash"."3.10.1";
-  by-spec."lodash"."~3.2.0" =
-    self.by-version."lodash"."3.2.0";
-  by-version."lodash"."3.2.0" = self.buildNodePackage {
-    name = "lodash-3.2.0";
-    version = "3.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-3.2.0.tgz";
-      name = "lodash-3.2.0.tgz";
-      sha1 = "4bf50a3243f9aeb0bac41a55d3d5990675a462fb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."~3.5.0" =
-    self.by-version."lodash"."3.5.0";
-  by-version."lodash"."3.5.0" = self.buildNodePackage {
-    name = "lodash-3.5.0";
-    version = "3.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-3.5.0.tgz";
-      name = "lodash-3.5.0.tgz";
-      sha1 = "19bb3f4d51278f0b8c818ed145c74ecf9fe40e6d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."~3.9.3" =
-    self.by-version."lodash"."3.9.3";
-  by-version."lodash"."3.9.3" = self.buildNodePackage {
-    name = "lodash-3.9.3";
-    version = "3.9.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-3.9.3.tgz";
-      name = "lodash-3.9.3.tgz";
-      sha1 = "0159e86832feffc6d61d852b12a953b99496bd32";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."~4.2.1" =
-    self.by-version."lodash"."4.2.1";
-  by-version."lodash"."4.2.1" = self.buildNodePackage {
-    name = "lodash-4.2.1";
-    version = "4.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-4.2.1.tgz";
-      name = "lodash-4.2.1.tgz";
-      sha1 = "171fdcfbbc30d689c544cd18c0529f56de6c1aa9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash"."~4.3.0" =
-    self.by-version."lodash"."4.3.0";
-  by-version."lodash"."4.3.0" = self.buildNodePackage {
-    name = "lodash-4.3.0";
-    version = "4.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash/-/lodash-4.3.0.tgz";
-      name = "lodash-4.3.0.tgz";
-      sha1 = "efd9c4a6ec53f3b05412429915c3e4824e4d25a4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash-deep"."^1.1.0" =
-    self.by-version."lodash-deep"."1.6.0";
-  by-version."lodash-deep"."1.6.0" = self.buildNodePackage {
-    name = "lodash-deep-1.6.0";
-    version = "1.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash-deep/-/lodash-deep-1.6.0.tgz";
-      name = "lodash-deep-1.6.0.tgz";
-      sha1 = "a7ce672759472b91d12b193c69d8a24a02d8428d";
-    };
-    deps = {
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._baseassign"."^3.0.0" =
-    self.by-version."lodash._baseassign"."3.2.0";
-  by-version."lodash._baseassign"."3.2.0" = self.buildNodePackage {
-    name = "lodash._baseassign-3.2.0";
-    version = "3.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._baseassign/-/lodash._baseassign-3.2.0.tgz";
-      name = "lodash._baseassign-3.2.0.tgz";
-      sha1 = "8c38a099500f215ad09e59f1722fd0c52bfe0a4e";
-    };
-    deps = {
-      "lodash._basecopy-3.0.1" = self.by-version."lodash._basecopy"."3.0.1";
-      "lodash.keys-3.1.2" = self.by-version."lodash.keys"."3.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._baseclone"."~4.5.0" =
-    self.by-version."lodash._baseclone"."4.5.7";
-  by-version."lodash._baseclone"."4.5.7" = self.buildNodePackage {
-    name = "lodash._baseclone-4.5.7";
-    version = "4.5.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._baseclone/-/lodash._baseclone-4.5.7.tgz";
-      name = "lodash._baseclone-4.5.7.tgz";
-      sha1 = "ce42ade08384ef5d62fa77c30f61a46e686f8434";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._basecopy"."^3.0.0" =
-    self.by-version."lodash._basecopy"."3.0.1";
-  by-version."lodash._basecopy"."3.0.1" = self.buildNodePackage {
-    name = "lodash._basecopy-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._basecopy/-/lodash._basecopy-3.0.1.tgz";
-      name = "lodash._basecopy-3.0.1.tgz";
-      sha1 = "8da0e6a876cf344c0ad8a54882111dd3c5c7ca36";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._basedifference"."~4.5.0" =
-    self.by-version."lodash._basedifference"."4.5.0";
-  by-version."lodash._basedifference"."4.5.0" = self.buildNodePackage {
-    name = "lodash._basedifference-4.5.0";
-    version = "4.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._basedifference/-/lodash._basedifference-4.5.0.tgz";
-      name = "lodash._basedifference-4.5.0.tgz";
-      sha1 = "56ea7d601367bfa46cd7de115dc3daeb18837938";
-    };
-    deps = {
-      "lodash._root-3.0.1" = self.by-version."lodash._root"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._baseflatten"."~4.2.0" =
-    self.by-version."lodash._baseflatten"."4.2.1";
-  by-version."lodash._baseflatten"."4.2.1" = self.buildNodePackage {
-    name = "lodash._baseflatten-4.2.1";
-    version = "4.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._baseflatten/-/lodash._baseflatten-4.2.1.tgz";
-      name = "lodash._baseflatten-4.2.1.tgz";
-      sha1 = "54acad5e6ef53532a5b8269c0ad725470cfd9208";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._baseindexof"."*" =
-    self.by-version."lodash._baseindexof"."3.1.0";
-  by-version."lodash._baseindexof"."3.1.0" = self.buildNodePackage {
-    name = "lodash._baseindexof-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._baseindexof/-/lodash._baseindexof-3.1.0.tgz";
-      name = "lodash._baseindexof-3.1.0.tgz";
-      sha1 = "fe52b53a1c6761e42618d654e4a25789ed61822c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._baseslice"."~4.0.0" =
-    self.by-version."lodash._baseslice"."4.0.0";
-  by-version."lodash._baseslice"."4.0.0" = self.buildNodePackage {
-    name = "lodash._baseslice-4.0.0";
-    version = "4.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._baseslice/-/lodash._baseslice-4.0.0.tgz";
-      name = "lodash._baseslice-4.0.0.tgz";
-      sha1 = "f5ce1df982948ecaff63f223853415b7b9763704";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._basetostring"."^3.0.0" =
-    self.by-version."lodash._basetostring"."3.0.1";
-  by-version."lodash._basetostring"."3.0.1" = self.buildNodePackage {
-    name = "lodash._basetostring-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-3.0.1.tgz";
-      name = "lodash._basetostring-3.0.1.tgz";
-      sha1 = "d1861d877f824a52f669832dcaf3ee15566a07d5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._basetostring"."~4.12.0" =
-    self.by-version."lodash._basetostring"."4.12.0";
-  by-version."lodash._basetostring"."4.12.0" = self.buildNodePackage {
-    name = "lodash._basetostring-4.12.0";
-    version = "4.12.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._basetostring/-/lodash._basetostring-4.12.0.tgz";
-      name = "lodash._basetostring-4.12.0.tgz";
-      sha1 = "9327c9dc5158866b7fa4b9d42f4638e5766dd9df";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._baseuniq"."~4.6.0" =
-    self.by-version."lodash._baseuniq"."4.6.0";
-  by-version."lodash._baseuniq"."4.6.0" = self.buildNodePackage {
-    name = "lodash._baseuniq-4.6.0";
-    version = "4.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._baseuniq/-/lodash._baseuniq-4.6.0.tgz";
-      name = "lodash._baseuniq-4.6.0.tgz";
-      sha1 = "0ebb44e456814af7905c6212fa2c9b2d51b841e8";
-    };
-    deps = {
-      "lodash._createset-4.0.3" = self.by-version."lodash._createset"."4.0.3";
-      "lodash._root-3.0.1" = self.by-version."lodash._root"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._basevalues"."^3.0.0" =
-    self.by-version."lodash._basevalues"."3.0.0";
-  by-version."lodash._basevalues"."3.0.0" = self.buildNodePackage {
-    name = "lodash._basevalues-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._basevalues/-/lodash._basevalues-3.0.0.tgz";
-      name = "lodash._basevalues-3.0.0.tgz";
-      sha1 = "5b775762802bde3d3297503e26300820fdf661b7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._bindcallback"."*" =
-    self.by-version."lodash._bindcallback"."3.0.1";
-  by-version."lodash._bindcallback"."3.0.1" = self.buildNodePackage {
-    name = "lodash._bindcallback-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._bindcallback/-/lodash._bindcallback-3.0.1.tgz";
-      name = "lodash._bindcallback-3.0.1.tgz";
-      sha1 = "e531c27644cf8b57a99e17ed95b35c748789392e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._bindcallback"."^3.0.0" =
-    self.by-version."lodash._bindcallback"."3.0.1";
-  by-spec."lodash._cacheindexof"."*" =
-    self.by-version."lodash._cacheindexof"."3.0.2";
-  by-version."lodash._cacheindexof"."3.0.2" = self.buildNodePackage {
-    name = "lodash._cacheindexof-3.0.2";
-    version = "3.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._cacheindexof/-/lodash._cacheindexof-3.0.2.tgz";
-      name = "lodash._cacheindexof-3.0.2.tgz";
-      sha1 = "3dc69ac82498d2ee5e3ce56091bafd2adc7bde92";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._createassigner"."^3.0.0" =
-    self.by-version."lodash._createassigner"."3.1.1";
-  by-version."lodash._createassigner"."3.1.1" = self.buildNodePackage {
-    name = "lodash._createassigner-3.1.1";
-    version = "3.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._createassigner/-/lodash._createassigner-3.1.1.tgz";
-      name = "lodash._createassigner-3.1.1.tgz";
-      sha1 = "838a5bae2fdaca63ac22dee8e19fa4e6d6970b11";
-    };
-    deps = {
-      "lodash._bindcallback-3.0.1" = self.by-version."lodash._bindcallback"."3.0.1";
-      "lodash._isiterateecall-3.0.9" = self.by-version."lodash._isiterateecall"."3.0.9";
-      "lodash.restparam-3.6.1" = self.by-version."lodash.restparam"."3.6.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._createcache"."*" =
-    self.by-version."lodash._createcache"."3.1.2";
-  by-version."lodash._createcache"."3.1.2" = self.buildNodePackage {
-    name = "lodash._createcache-3.1.2";
-    version = "3.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._createcache/-/lodash._createcache-3.1.2.tgz";
-      name = "lodash._createcache-3.1.2.tgz";
-      sha1 = "56d6a064017625e79ebca6b8018e17440bdcf093";
-    };
-    deps = {
-      "lodash._getnative-3.9.1" = self.by-version."lodash._getnative"."3.9.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._createset"."~4.0.0" =
-    self.by-version."lodash._createset"."4.0.3";
-  by-version."lodash._createset"."4.0.3" = self.buildNodePackage {
-    name = "lodash._createset-4.0.3";
-    version = "4.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._createset/-/lodash._createset-4.0.3.tgz";
-      name = "lodash._createset-4.0.3.tgz";
-      sha1 = "0f4659fbb09d75194fa9e2b88a6644d363c9fe26";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._getnative"."*" =
-    self.by-version."lodash._getnative"."3.9.1";
-  by-version."lodash._getnative"."3.9.1" = self.buildNodePackage {
-    name = "lodash._getnative-3.9.1";
-    version = "3.9.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._getnative/-/lodash._getnative-3.9.1.tgz";
-      name = "lodash._getnative-3.9.1.tgz";
-      sha1 = "570bc7dede46d61cdcde687d65d3eecbaa3aaff5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._getnative"."^3.0.0" =
-    self.by-version."lodash._getnative"."3.9.1";
-  by-spec."lodash._isiterateecall"."^3.0.0" =
-    self.by-version."lodash._isiterateecall"."3.0.9";
-  by-version."lodash._isiterateecall"."3.0.9" = self.buildNodePackage {
-    name = "lodash._isiterateecall-3.0.9";
-    version = "3.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._isiterateecall/-/lodash._isiterateecall-3.0.9.tgz";
-      name = "lodash._isiterateecall-3.0.9.tgz";
-      sha1 = "5203ad7ba425fae842460e696db9cf3e6aac057c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._reescape"."^3.0.0" =
-    self.by-version."lodash._reescape"."3.0.0";
-  by-version."lodash._reescape"."3.0.0" = self.buildNodePackage {
-    name = "lodash._reescape-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._reescape/-/lodash._reescape-3.0.0.tgz";
-      name = "lodash._reescape-3.0.0.tgz";
-      sha1 = "2b1d6f5dfe07c8a355753e5f27fac7f1cde1616a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._reevaluate"."^3.0.0" =
-    self.by-version."lodash._reevaluate"."3.0.0";
-  by-version."lodash._reevaluate"."3.0.0" = self.buildNodePackage {
-    name = "lodash._reevaluate-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._reevaluate/-/lodash._reevaluate-3.0.0.tgz";
-      name = "lodash._reevaluate-3.0.0.tgz";
-      sha1 = "58bc74c40664953ae0b124d806996daca431e2ed";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._reinterpolate"."^3.0.0" =
-    self.by-version."lodash._reinterpolate"."3.0.0";
-  by-version."lodash._reinterpolate"."3.0.0" = self.buildNodePackage {
-    name = "lodash._reinterpolate-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz";
-      name = "lodash._reinterpolate-3.0.0.tgz";
-      sha1 = "0ccf2d89166af03b3663c796538b75ac6e114d9d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._root"."^3.0.0" =
-    self.by-version."lodash._root"."3.0.1";
-  by-version."lodash._root"."3.0.1" = self.buildNodePackage {
-    name = "lodash._root-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash._root/-/lodash._root-3.0.1.tgz";
-      name = "lodash._root-3.0.1.tgz";
-      sha1 = "fba1c4524c19ee9a5f8136b4609f017cf4ded692";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash._root"."~3.0.0" =
-    self.by-version."lodash._root"."3.0.1";
-  by-spec."lodash.assign"."4.0.1" =
-    self.by-version."lodash.assign"."4.0.1";
-  by-version."lodash.assign"."4.0.1" = self.buildNodePackage {
-    name = "lodash.assign-4.0.1";
-    version = "4.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.0.1.tgz";
-      name = "lodash.assign-4.0.1.tgz";
-      sha1 = "8e7ff0206897a99dca32fc8123309f5c4c2c731e";
-    };
-    deps = {
-      "lodash.keys-4.0.7" = self.by-version."lodash.keys"."4.0.7";
-      "lodash.rest-4.0.3" = self.by-version."lodash.rest"."4.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.assign"."^3.0.0" =
-    self.by-version."lodash.assign"."3.2.0";
-  by-version."lodash.assign"."3.2.0" = self.buildNodePackage {
-    name = "lodash.assign-3.2.0";
-    version = "3.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-3.2.0.tgz";
-      name = "lodash.assign-3.2.0.tgz";
-      sha1 = "3ce9f0234b4b2223e296b8fa0ac1fee8ebca64fa";
-    };
-    deps = {
-      "lodash._baseassign-3.2.0" = self.by-version."lodash._baseassign"."3.2.0";
-      "lodash._createassigner-3.1.1" = self.by-version."lodash._createassigner"."3.1.1";
-      "lodash.keys-3.1.2" = self.by-version."lodash.keys"."3.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.assign"."^4.0.0" =
-    self.by-version."lodash.assign"."4.0.9";
-  by-version."lodash.assign"."4.0.9" = self.buildNodePackage {
-    name = "lodash.assign-4.0.9";
-    version = "4.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.assign/-/lodash.assign-4.0.9.tgz";
-      name = "lodash.assign-4.0.9.tgz";
-      sha1 = "0a0731d93590ddd9ba4589fad65aaf6ee09217e3";
-    };
-    deps = {
-      "lodash.keys-4.0.7" = self.by-version."lodash.keys"."4.0.7";
-      "lodash.rest-4.0.3" = self.by-version."lodash.rest"."4.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.assign"."^4.0.3" =
-    self.by-version."lodash.assign"."4.0.9";
-  by-spec."lodash.assign"."^4.0.6" =
-    self.by-version."lodash.assign"."4.0.9";
-  by-spec."lodash.clonedeep"."~4.3.2" =
-    self.by-version."lodash.clonedeep"."4.3.2";
-  by-version."lodash.clonedeep"."4.3.2" = self.buildNodePackage {
-    name = "lodash.clonedeep-4.3.2";
-    version = "4.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.3.2.tgz";
-      name = "lodash.clonedeep-4.3.2.tgz";
-      sha1 = "d0112c02c76b5223833aebc6a4b6e334f0d057de";
-    };
-    deps = {
-      "lodash._baseclone-4.5.7" = self.by-version."lodash._baseclone"."4.5.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.debounce"."^3.0.1" =
-    self.by-version."lodash.debounce"."3.1.1";
-  by-version."lodash.debounce"."3.1.1" = self.buildNodePackage {
-    name = "lodash.debounce-3.1.1";
-    version = "3.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-3.1.1.tgz";
-      name = "lodash.debounce-3.1.1.tgz";
-      sha1 = "812211c378a94cc29d5aa4e3346cf0bfce3a7df5";
-    };
-    deps = {
-      "lodash._getnative-3.9.1" = self.by-version."lodash._getnative"."3.9.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.defaults"."^3.1.2" =
-    self.by-version."lodash.defaults"."3.1.2";
-  by-version."lodash.defaults"."3.1.2" = self.buildNodePackage {
-    name = "lodash.defaults-3.1.2";
-    version = "3.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.defaults/-/lodash.defaults-3.1.2.tgz";
-      name = "lodash.defaults-3.1.2.tgz";
-      sha1 = "c7308b18dbf8bc9372d701a73493c61192bd2e2c";
-    };
-    deps = {
-      "lodash.assign-3.2.0" = self.by-version."lodash.assign"."3.2.0";
-      "lodash.restparam-3.6.1" = self.by-version."lodash.restparam"."3.6.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.escape"."^3.0.0" =
-    self.by-version."lodash.escape"."3.2.0";
-  by-version."lodash.escape"."3.2.0" = self.buildNodePackage {
-    name = "lodash.escape-3.2.0";
-    version = "3.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.escape/-/lodash.escape-3.2.0.tgz";
-      name = "lodash.escape-3.2.0.tgz";
-      sha1 = "995ee0dc18c1b48cc92effae71a10aab5b487698";
-    };
-    deps = {
-      "lodash._root-3.0.1" = self.by-version."lodash._root"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.isarguments"."^3.0.0" =
-    self.by-version."lodash.isarguments"."3.0.8";
-  by-version."lodash.isarguments"."3.0.8" = self.buildNodePackage {
-    name = "lodash.isarguments-3.0.8";
-    version = "3.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.isarguments/-/lodash.isarguments-3.0.8.tgz";
-      name = "lodash.isarguments-3.0.8.tgz";
-      sha1 = "5bf8da887f01f2a9e49c0a175cdaeb318a0e43dc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.isarray"."^3.0.0" =
-    self.by-version."lodash.isarray"."3.0.4";
-  by-version."lodash.isarray"."3.0.4" = self.buildNodePackage {
-    name = "lodash.isarray-3.0.4";
-    version = "3.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.isarray/-/lodash.isarray-3.0.4.tgz";
-      name = "lodash.isarray-3.0.4.tgz";
-      sha1 = "79e4eb88c36a8122af86f844aa9bcd851b5fbb55";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.isequal"."^4.0.0" =
-    self.by-version."lodash.isequal"."4.2.0";
-  by-version."lodash.isequal"."4.2.0" = self.buildNodePackage {
-    name = "lodash.isequal-4.2.0";
-    version = "4.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.isequal/-/lodash.isequal-4.2.0.tgz";
-      name = "lodash.isequal-4.2.0.tgz";
-      sha1 = "43f5518f59e37463d3944e846b3a413180b0f46a";
-    };
-    deps = {
-      "lodash._root-3.0.1" = self.by-version."lodash._root"."3.0.1";
-      "lodash.keys-4.0.7" = self.by-version."lodash.keys"."4.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.keys"."^3.0.0" =
-    self.by-version."lodash.keys"."3.1.2";
-  by-version."lodash.keys"."3.1.2" = self.buildNodePackage {
-    name = "lodash.keys-3.1.2";
-    version = "3.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.keys/-/lodash.keys-3.1.2.tgz";
-      name = "lodash.keys-3.1.2.tgz";
-      sha1 = "4dbc0472b156be50a0b286855d1bd0b0c656098a";
-    };
-    deps = {
-      "lodash._getnative-3.9.1" = self.by-version."lodash._getnative"."3.9.1";
-      "lodash.isarguments-3.0.8" = self.by-version."lodash.isarguments"."3.0.8";
-      "lodash.isarray-3.0.4" = self.by-version."lodash.isarray"."3.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.keys"."^4.0.0" =
-    self.by-version."lodash.keys"."4.0.7";
-  by-version."lodash.keys"."4.0.7" = self.buildNodePackage {
-    name = "lodash.keys-4.0.7";
-    version = "4.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.keys/-/lodash.keys-4.0.7.tgz";
-      name = "lodash.keys-4.0.7.tgz";
-      sha1 = "30e1b3bd98e54d6a0611991812685b6bc47cb63b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.memoize"."~3.0.3" =
-    self.by-version."lodash.memoize"."3.0.4";
-  by-version."lodash.memoize"."3.0.4" = self.buildNodePackage {
-    name = "lodash.memoize-3.0.4";
-    version = "3.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-3.0.4.tgz";
-      name = "lodash.memoize-3.0.4.tgz";
-      sha1 = "2dcbd2c287cbc0a55cc42328bd0c736150d53e3f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.noop"."~3.0.0" =
-    self.by-version."lodash.noop"."3.0.1";
-  by-version."lodash.noop"."3.0.1" = self.buildNodePackage {
-    name = "lodash.noop-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.noop/-/lodash.noop-3.0.1.tgz";
-      name = "lodash.noop-3.0.1.tgz";
-      sha1 = "38188f4d650a3a474258439b96ec45b32617133c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.pad"."^4.1.0" =
-    self.by-version."lodash.pad"."4.4.0";
-  by-version."lodash.pad"."4.4.0" = self.buildNodePackage {
-    name = "lodash.pad-4.4.0";
-    version = "4.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.pad/-/lodash.pad-4.4.0.tgz";
-      name = "lodash.pad-4.4.0.tgz";
-      sha1 = "faa38df26c0a69ec5086a82246c958e150dcb1ab";
-    };
-    deps = {
-      "lodash._baseslice-4.0.0" = self.by-version."lodash._baseslice"."4.0.0";
-      "lodash._basetostring-4.12.0" = self.by-version."lodash._basetostring"."4.12.0";
-      "lodash.tostring-4.1.3" = self.by-version."lodash.tostring"."4.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.padend"."^4.1.0" =
-    self.by-version."lodash.padend"."4.5.0";
-  by-version."lodash.padend"."4.5.0" = self.buildNodePackage {
-    name = "lodash.padend-4.5.0";
-    version = "4.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.padend/-/lodash.padend-4.5.0.tgz";
-      name = "lodash.padend-4.5.0.tgz";
-      sha1 = "a289e9377ee2e6de8ba7f11f3a8eb326070b7619";
-    };
-    deps = {
-      "lodash._baseslice-4.0.0" = self.by-version."lodash._baseslice"."4.0.0";
-      "lodash._basetostring-4.12.0" = self.by-version."lodash._basetostring"."4.12.0";
-      "lodash.tostring-4.1.3" = self.by-version."lodash.tostring"."4.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.padstart"."^4.1.0" =
-    self.by-version."lodash.padstart"."4.5.0";
-  by-version."lodash.padstart"."4.5.0" = self.buildNodePackage {
-    name = "lodash.padstart-4.5.0";
-    version = "4.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.padstart/-/lodash.padstart-4.5.0.tgz";
-      name = "lodash.padstart-4.5.0.tgz";
-      sha1 = "3ea190f6734841c3364d279d11e056726b60a79a";
-    };
-    deps = {
-      "lodash._baseslice-4.0.0" = self.by-version."lodash._baseslice"."4.0.0";
-      "lodash._basetostring-4.12.0" = self.by-version."lodash._basetostring"."4.12.0";
-      "lodash.tostring-4.1.3" = self.by-version."lodash.tostring"."4.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.rest"."^4.0.0" =
-    self.by-version."lodash.rest"."4.0.3";
-  by-version."lodash.rest"."4.0.3" = self.buildNodePackage {
-    name = "lodash.rest-4.0.3";
-    version = "4.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.rest/-/lodash.rest-4.0.3.tgz";
-      name = "lodash.rest-4.0.3.tgz";
-      sha1 = "4c1c32c40028087250fabf70d42e0151548f48c5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.restparam"."*" =
-    self.by-version."lodash.restparam"."3.6.1";
-  by-version."lodash.restparam"."3.6.1" = self.buildNodePackage {
-    name = "lodash.restparam-3.6.1";
-    version = "3.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.restparam/-/lodash.restparam-3.6.1.tgz";
-      name = "lodash.restparam-3.6.1.tgz";
-      sha1 = "936a4e309ef330a7645ed4145986c85ae5b20805";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.restparam"."^3.0.0" =
-    self.by-version."lodash.restparam"."3.6.1";
-  by-spec."lodash.template"."^3.0.0" =
-    self.by-version."lodash.template"."3.6.2";
-  by-version."lodash.template"."3.6.2" = self.buildNodePackage {
-    name = "lodash.template-3.6.2";
-    version = "3.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.template/-/lodash.template-3.6.2.tgz";
-      name = "lodash.template-3.6.2.tgz";
-      sha1 = "f8cdecc6169a255be9098ae8b0c53d378931d14f";
-    };
-    deps = {
-      "lodash._basecopy-3.0.1" = self.by-version."lodash._basecopy"."3.0.1";
-      "lodash._basetostring-3.0.1" = self.by-version."lodash._basetostring"."3.0.1";
-      "lodash._basevalues-3.0.0" = self.by-version."lodash._basevalues"."3.0.0";
-      "lodash._isiterateecall-3.0.9" = self.by-version."lodash._isiterateecall"."3.0.9";
-      "lodash._reinterpolate-3.0.0" = self.by-version."lodash._reinterpolate"."3.0.0";
-      "lodash.escape-3.2.0" = self.by-version."lodash.escape"."3.2.0";
-      "lodash.keys-3.1.2" = self.by-version."lodash.keys"."3.1.2";
-      "lodash.restparam-3.6.1" = self.by-version."lodash.restparam"."3.6.1";
-      "lodash.templatesettings-3.1.1" = self.by-version."lodash.templatesettings"."3.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.templatesettings"."^3.0.0" =
-    self.by-version."lodash.templatesettings"."3.1.1";
-  by-version."lodash.templatesettings"."3.1.1" = self.buildNodePackage {
-    name = "lodash.templatesettings-3.1.1";
-    version = "3.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.templatesettings/-/lodash.templatesettings-3.1.1.tgz";
-      name = "lodash.templatesettings-3.1.1.tgz";
-      sha1 = "fb307844753b66b9f1afa54e262c745307dba8e5";
-    };
-    deps = {
-      "lodash._reinterpolate-3.0.0" = self.by-version."lodash._reinterpolate"."3.0.0";
-      "lodash.escape-3.2.0" = self.by-version."lodash.escape"."3.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.tostring"."^4.0.0" =
-    self.by-version."lodash.tostring"."4.1.3";
-  by-version."lodash.tostring"."4.1.3" = self.buildNodePackage {
-    name = "lodash.tostring-4.1.3";
-    version = "4.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.tostring/-/lodash.tostring-4.1.3.tgz";
-      name = "lodash.tostring-4.1.3.tgz";
-      sha1 = "5697f62973f30105a76c2deb3e2d1669f04fd825";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.union"."~4.4.0" =
-    self.by-version."lodash.union"."4.4.0";
-  by-version."lodash.union"."4.4.0" = self.buildNodePackage {
-    name = "lodash.union-4.4.0";
-    version = "4.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.union/-/lodash.union-4.4.0.tgz";
-      name = "lodash.union-4.4.0.tgz";
-      sha1 = "22be23b4c84b49d0436e573949ad1d4a48c7fa38";
-    };
-    deps = {
-      "lodash._baseflatten-4.2.1" = self.by-version."lodash._baseflatten"."4.2.1";
-      "lodash._baseuniq-4.6.0" = self.by-version."lodash._baseuniq"."4.6.0";
-      "lodash.rest-4.0.3" = self.by-version."lodash.rest"."4.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.uniq"."~4.3.0" =
-    self.by-version."lodash.uniq"."4.3.0";
-  by-version."lodash.uniq"."4.3.0" = self.buildNodePackage {
-    name = "lodash.uniq-4.3.0";
-    version = "4.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.3.0.tgz";
-      name = "lodash.uniq-4.3.0.tgz";
-      sha1 = "dcad810876841447d8f3ec662323c86a6d938227";
-    };
-    deps = {
-      "lodash._baseuniq-4.6.0" = self.by-version."lodash._baseuniq"."4.6.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lodash.without"."~4.2.0" =
-    self.by-version."lodash.without"."4.2.0";
-  by-version."lodash.without"."4.2.0" = self.buildNodePackage {
-    name = "lodash.without-4.2.0";
-    version = "4.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lodash.without/-/lodash.without-4.2.0.tgz";
-      name = "lodash.without-4.2.0.tgz";
-      sha1 = "f89ec9a8ee2d7ec14f8a9cad72a3f5ee12c5a4a6";
-    };
-    deps = {
-      "lodash._basedifference-4.5.0" = self.by-version."lodash._basedifference"."4.5.0";
-      "lodash.rest-4.0.3" = self.by-version."lodash.rest"."4.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."log-driver"."1.2.4" =
-    self.by-version."log-driver"."1.2.4";
-  by-version."log-driver"."1.2.4" = self.buildNodePackage {
-    name = "log-driver-1.2.4";
-    version = "1.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/log-driver/-/log-driver-1.2.4.tgz";
-      name = "log-driver-1.2.4.tgz";
-      sha1 = "2d62d7faef45d8a71341961a04b0761eca99cfa3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."log4js"."^0.6.31" =
-    self.by-version."log4js"."0.6.36";
-  by-version."log4js"."0.6.36" = self.buildNodePackage {
-    name = "log4js-0.6.36";
-    version = "0.6.36";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/log4js/-/log4js-0.6.36.tgz";
-      name = "log4js-0.6.36.tgz";
-      sha1 = "4ba7497a209a6d775676ab5efbc4237433858012";
-    };
-    deps = {
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lolex"."1.3.2" =
-    self.by-version."lolex"."1.3.2";
-  by-version."lolex"."1.3.2" = self.buildNodePackage {
-    name = "lolex-1.3.2";
-    version = "1.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lolex/-/lolex-1.3.2.tgz";
-      name = "lolex-1.3.2.tgz";
-      sha1 = "7c3da62ffcb30f0f5a80a2566ca24e45d8a01f31";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."long"."~2 >=2.2.3" =
-    self.by-version."long"."2.4.0";
-  by-version."long"."2.4.0" = self.buildNodePackage {
-    name = "long-2.4.0";
-    version = "2.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/long/-/long-2.4.0.tgz";
-      name = "long-2.4.0.tgz";
-      sha1 = "9fa180bb1d9500cdc29c4156766a1995e1f4524f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."longest"."^1.0.1" =
-    self.by-version."longest"."1.0.1";
-  by-version."longest"."1.0.1" = self.buildNodePackage {
-    name = "longest-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz";
-      name = "longest-1.0.1.tgz";
-      sha1 = "30a0b2da38f73770e8294a0d22e6625ed77d0097";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."longjohn"."0.2.9" =
-    self.by-version."longjohn"."0.2.9";
-  by-version."longjohn"."0.2.9" = self.buildNodePackage {
-    name = "longjohn-0.2.9";
-    version = "0.2.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/longjohn/-/longjohn-0.2.9.tgz";
-      name = "longjohn-0.2.9.tgz";
-      sha1 = "db1bf175fcfffcfce099132d1470f52f41a31519";
-    };
-    deps = {
-      "source-map-support-0.3.2" = self.by-version."source-map-support"."0.3.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."loose-envify"."^1.0.0" =
-    self.by-version."loose-envify"."1.2.0";
-  by-version."loose-envify"."1.2.0" = self.buildNodePackage {
-    name = "loose-envify-1.2.0";
-    version = "1.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/loose-envify/-/loose-envify-1.2.0.tgz";
-      name = "loose-envify-1.2.0.tgz";
-      sha1 = "69a65aad3de542cf4ee0f4fe74e8e33c709ccb0f";
-    };
-    deps = {
-      "js-tokens-1.0.3" = self.by-version."js-tokens"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."loose-envify"."^1.1.0" =
-    self.by-version."loose-envify"."1.2.0";
-  by-spec."loud-rejection"."^1.0.0" =
-    self.by-version."loud-rejection"."1.4.1";
-  by-version."loud-rejection"."1.4.1" = self.buildNodePackage {
-    name = "loud-rejection-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/loud-rejection/-/loud-rejection-1.4.1.tgz";
-      name = "loud-rejection-1.4.1.tgz";
-      sha1 = "13f58c75b1430e65141cd075ace9a2ee575b236c";
-    };
-    deps = {
-      "currently-unhandled-0.4.1" = self.by-version."currently-unhandled"."0.4.1";
-      "signal-exit-2.1.2" = self.by-version."signal-exit"."2.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lowercase-keys"."^1.0.0" =
-    self.by-version."lowercase-keys"."1.0.0";
-  by-version."lowercase-keys"."1.0.0" = self.buildNodePackage {
-    name = "lowercase-keys-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.0.tgz";
-      name = "lowercase-keys-1.0.0.tgz";
-      sha1 = "4e3366b39e7f5457e35f1324bdf6f88d0bfc7306";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lru"."^2.0.0" =
-    self.by-version."lru"."2.0.1";
-  by-version."lru"."2.0.1" = self.buildNodePackage {
-    name = "lru-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lru/-/lru-2.0.1.tgz";
-      name = "lru-2.0.1.tgz";
-      sha1 = "f979871e162e3f5ca254be46844c53d4c5364544";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lru-cache"."2" =
-    self.by-version."lru-cache"."2.7.3";
-  by-version."lru-cache"."2.7.3" = self.buildNodePackage {
-    name = "lru-cache-2.7.3";
-    version = "2.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.7.3.tgz";
-      name = "lru-cache-2.7.3.tgz";
-      sha1 = "6d4524e8b955f95d4f5b58851ce21dd72fb4e952";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lru-cache"."2.2.0" =
-    self.by-version."lru-cache"."2.2.0";
-  by-version."lru-cache"."2.2.0" = self.buildNodePackage {
-    name = "lru-cache-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.0.tgz";
-      name = "lru-cache-2.2.0.tgz";
-      sha1 = "ec2bba603f4c5bb3e7a1bf62ce1c1dbc1d474e08";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lru-cache"."2.2.x" =
-    self.by-version."lru-cache"."2.2.4";
-  by-version."lru-cache"."2.2.4" = self.buildNodePackage {
-    name = "lru-cache-2.2.4";
-    version = "2.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.2.4.tgz";
-      name = "lru-cache-2.2.4.tgz";
-      sha1 = "6c658619becf14031d0d0b594b16042ce4dc063d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lru-cache"."2.5.x" =
-    self.by-version."lru-cache"."2.5.2";
-  by-version."lru-cache"."2.5.2" = self.buildNodePackage {
-    name = "lru-cache-2.5.2";
-    version = "2.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lru-cache/-/lru-cache-2.5.2.tgz";
-      name = "lru-cache-2.5.2.tgz";
-      sha1 = "1fddad938aae1263ce138680be1b3f591c0ab41c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lru-cache"."^2.5.0" =
-    self.by-version."lru-cache"."2.7.3";
-  by-spec."lru-cache"."~1.0.2" =
-    self.by-version."lru-cache"."1.0.6";
-  by-version."lru-cache"."1.0.6" = self.buildNodePackage {
-    name = "lru-cache-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lru-cache/-/lru-cache-1.0.6.tgz";
-      name = "lru-cache-1.0.6.tgz";
-      sha1 = "aa50f97047422ac72543bda177a9c9d018d98452";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lru-cache"."~2.5.0" =
-    self.by-version."lru-cache"."2.5.2";
-  by-spec."lru-cache"."~4.0.1" =
-    self.by-version."lru-cache"."4.0.1";
-  by-version."lru-cache"."4.0.1" = self.buildNodePackage {
-    name = "lru-cache-4.0.1";
-    version = "4.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lru-cache/-/lru-cache-4.0.1.tgz";
-      name = "lru-cache-4.0.1.tgz";
-      sha1 = "1343955edaf2e37d9b9e7ee7241e27c4b9fb72be";
-    };
-    deps = {
-      "pseudomap-1.0.2" = self.by-version."pseudomap"."1.0.2";
-      "yallist-2.0.0" = self.by-version."yallist"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."lsmod"."~0.0.3" =
-    self.by-version."lsmod"."0.0.3";
-  by-version."lsmod"."0.0.3" = self.buildNodePackage {
-    name = "lsmod-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lsmod/-/lsmod-0.0.3.tgz";
-      name = "lsmod-0.0.3.tgz";
-      sha1 = "17e13d4e1ae91750ea5653548cd89e7147ad0244";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ltgt"."~1.0.2" =
-    self.by-version."ltgt"."1.0.2";
-  by-version."ltgt"."1.0.2" = self.buildNodePackage {
-    name = "ltgt-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ltgt/-/ltgt-1.0.2.tgz";
-      name = "ltgt-1.0.2.tgz";
-      sha1 = "e6817eb29ad204fc0c9e96ef8b0fee98ef6b9aa3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ltgt"."~2.1.1" =
-    self.by-version."ltgt"."2.1.2";
-  by-version."ltgt"."2.1.2" = self.buildNodePackage {
-    name = "ltgt-2.1.2";
-    version = "2.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ltgt/-/ltgt-2.1.2.tgz";
-      name = "ltgt-2.1.2.tgz";
-      sha1 = "e7472324fee690afc0d5ecf900403ce5788a311d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ltx"."*" =
-    self.by-version."ltx"."2.4.1";
-  by-version."ltx"."2.4.1" = self.buildNodePackage {
-    name = "ltx-2.4.1";
-    version = "2.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ltx/-/ltx-2.4.1.tgz";
-      name = "ltx-2.4.1.tgz";
-      sha1 = "6a5cb23fd508b5e4833acdc910d4ea037e9dbefe";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "ltx" = self.by-version."ltx"."2.4.1";
-  by-spec."ltx"."^0.9.0" =
-    self.by-version."ltx"."0.9.1";
-  by-version."ltx"."0.9.1" = self.buildNodePackage {
-    name = "ltx-0.9.1";
-    version = "0.9.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ltx/-/ltx-0.9.1.tgz";
-      name = "ltx-0.9.1.tgz";
-      sha1 = "56393ba7798c2cd18fce781a4ed7d83deb6daae6";
-    };
-    deps = {
-      "sax-0.6.1" = self.by-version."sax"."0.6.1";
-      "node-expat-2.3.13" = self.by-version."node-expat"."2.3.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ltx"."^2.2.0" =
-    self.by-version."ltx"."2.4.1";
-  by-spec."ltx"."~0.9.0" =
-    self.by-version."ltx"."0.9.1";
-  by-spec."lunr".">=0.5.2 <1.0.0-0" =
-    self.by-version."lunr"."0.7.1";
-  by-version."lunr"."0.7.1" = self.buildNodePackage {
-    name = "lunr-0.7.1";
-    version = "0.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/lunr/-/lunr-0.7.1.tgz";
-      name = "lunr-0.7.1.tgz";
-      sha1 = "b5a2cff99555b7893f5f1a4a17af3f638373c4bb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."magnet-uri"."^2.0.1" =
-    self.by-version."magnet-uri"."2.0.1";
-  by-version."magnet-uri"."2.0.1" = self.buildNodePackage {
-    name = "magnet-uri-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/magnet-uri/-/magnet-uri-2.0.1.tgz";
-      name = "magnet-uri-2.0.1.tgz";
-      sha1 = "d331d3dfcd3836565ade0fc3ca315e39217bb209";
-    };
-    deps = {
-      "thirty-two-0.0.2" = self.by-version."thirty-two"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."magnet-uri"."^4.0.0" =
-    self.by-version."magnet-uri"."4.2.3";
-  by-version."magnet-uri"."4.2.3" = self.buildNodePackage {
-    name = "magnet-uri-4.2.3";
-    version = "4.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/magnet-uri/-/magnet-uri-4.2.3.tgz";
-      name = "magnet-uri-4.2.3.tgz";
-      sha1 = "79cc6d65a00bb5b7ef5c25ae60ebbb5d9a7681a8";
-    };
-    deps = {
-      "flatten-0.0.1" = self.by-version."flatten"."0.0.1";
-      "thirty-two-0.0.2" = self.by-version."thirty-two"."0.0.2";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."magnet-uri"."^5.1.3" =
-    self.by-version."magnet-uri"."5.1.3";
-  by-version."magnet-uri"."5.1.3" = self.buildNodePackage {
-    name = "magnet-uri-5.1.3";
-    version = "5.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/magnet-uri/-/magnet-uri-5.1.3.tgz";
-      name = "magnet-uri-5.1.3.tgz";
-      sha1 = "02dee3b07b639363afa991f44a3fe2bb06d6342d";
-    };
-    deps = {
-      "thirty-two-1.0.1" = self.by-version."thirty-two"."1.0.1";
-      "uniq-1.0.1" = self.by-version."uniq"."1.0.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."magnet-uri"."~2.0.0" =
-    self.by-version."magnet-uri"."2.0.1";
-  by-spec."mailchimp".">=1.1.0" =
-    self.by-version."mailchimp"."1.2.0";
-  by-version."mailchimp"."1.2.0" = self.buildNodePackage {
-    name = "mailchimp-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mailchimp/-/mailchimp-1.2.0.tgz";
-      name = "mailchimp-1.2.0.tgz";
-      sha1 = "cbabf992120e5f7225ca9484a4393844a58272b4";
-    };
-    deps = {
-      "qs-6.2.0" = self.by-version."qs"."6.2.0";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mailcomposer".">= 0.1.27" =
-    self.by-version."mailcomposer"."3.9.0";
-  by-version."mailcomposer"."3.9.0" = self.buildNodePackage {
-    name = "mailcomposer-3.9.0";
-    version = "3.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mailcomposer/-/mailcomposer-3.9.0.tgz";
-      name = "mailcomposer-3.9.0.tgz";
-      sha1 = "1b2781d349732f3f2ae419e1e187dcd5d9702712";
-    };
-    deps = {
-      "buildmail-3.7.0" = self.by-version."buildmail"."3.7.0";
-      "libmime-2.0.3" = self.by-version."libmime"."2.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mailcomposer"."^2.1.0" =
-    self.by-version."mailcomposer"."2.1.0";
-  by-version."mailcomposer"."2.1.0" = self.buildNodePackage {
-    name = "mailcomposer-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mailcomposer/-/mailcomposer-2.1.0.tgz";
-      name = "mailcomposer-2.1.0.tgz";
-      sha1 = "a6531822899614fee899c92226d81e2b9cbb183d";
-    };
-    deps = {
-      "buildmail-2.0.0" = self.by-version."buildmail"."2.0.0";
-      "libmime-1.2.0" = self.by-version."libmime"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mailcomposer"."~0.2.10" =
-    self.by-version."mailcomposer"."0.2.12";
-  by-version."mailcomposer"."0.2.12" = self.buildNodePackage {
-    name = "mailcomposer-0.2.12";
-    version = "0.2.12";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mailcomposer/-/mailcomposer-0.2.12.tgz";
-      name = "mailcomposer-0.2.12.tgz";
-      sha1 = "4d02a604616adcb45fb36d37513f4c1bd0b75681";
-    };
-    deps = {
-      "mimelib-0.2.19" = self.by-version."mimelib"."0.2.19";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "he-0.3.6" = self.by-version."he"."0.3.6";
-      "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
-      "dkim-signer-0.1.2" = self.by-version."dkim-signer"."0.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mailgun-js"."^0.6.7" =
-    self.by-version."mailgun-js"."0.6.9";
-  by-version."mailgun-js"."0.6.9" = self.buildNodePackage {
-    name = "mailgun-js-0.6.9";
-    version = "0.6.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mailgun-js/-/mailgun-js-0.6.9.tgz";
-      name = "mailgun-js-0.6.9.tgz";
-      sha1 = "1bdc22b636a249b6870e920695b8338370b2cf98";
-    };
-    deps = {
-      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
-      "inflection-1.5.3" = self.by-version."inflection"."1.5.3";
-      "path-proxy-1.0.0" = self.by-version."path-proxy"."1.0.0";
-      "proxy-agent-1.1.1" = self.by-version."proxy-agent"."1.1.1";
-      "q-1.1.2" = self.by-version."q"."1.1.2";
-      "scmp-1.0.0" = self.by-version."scmp"."1.0.0";
-      "debug-2.1.3" = self.by-version."debug"."2.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mailparser"."^0.6.0" =
-    self.by-version."mailparser"."0.6.0";
-  by-version."mailparser"."0.6.0" = self.buildNodePackage {
-    name = "mailparser-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mailparser/-/mailparser-0.6.0.tgz";
-      name = "mailparser-0.6.0.tgz";
-      sha1 = "6fb84c3012d34acccf97a27e778d0288ebb20248";
-    };
-    deps = {
-      "mimelib-0.2.19" = self.by-version."mimelib"."0.2.19";
-      "encoding-0.1.12" = self.by-version."encoding"."0.1.12";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "uue-3.0.0" = self.by-version."uue"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."map-obj"."^1.0.0" =
-    self.by-version."map-obj"."1.0.1";
-  by-version."map-obj"."1.0.1" = self.buildNodePackage {
-    name = "map-obj-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz";
-      name = "map-obj-1.0.1.tgz";
-      sha1 = "d933ceb9205d82bdcf4886f6742bdc2b4dea146d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."map-obj"."^1.0.1" =
-    self.by-version."map-obj"."1.0.1";
-  by-spec."map-stream"."~0.1.0" =
-    self.by-version."map-stream"."0.1.0";
-  by-version."map-stream"."0.1.0" = self.buildNodePackage {
-    name = "map-stream-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/map-stream/-/map-stream-0.1.0.tgz";
-      name = "map-stream-0.1.0.tgz";
-      sha1 = "e56aa94c4c8055a16404a0674b78f215f7c8e194";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."markdown-it"."4.x" =
-    self.by-version."markdown-it"."4.4.0";
-  by-version."markdown-it"."4.4.0" = self.buildNodePackage {
-    name = "markdown-it-4.4.0";
-    version = "4.4.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/markdown-it/-/markdown-it-4.4.0.tgz";
-      name = "markdown-it-4.4.0.tgz";
-      sha1 = "3df373dbea587a9a7fef3e56311b68908f75c414";
-    };
-    deps = {
-      "argparse-1.0.7" = self.by-version."argparse"."1.0.7";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-      "linkify-it-1.2.4" = self.by-version."linkify-it"."1.2.4";
-      "mdurl-1.0.1" = self.by-version."mdurl"."1.0.1";
-      "uc.micro-1.0.1" = self.by-version."uc.micro"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."marked"."*" =
-    self.by-version."marked"."0.3.5";
-  by-version."marked"."0.3.5" = self.buildNodePackage {
-    name = "marked-0.3.5";
-    version = "0.3.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/marked/-/marked-0.3.5.tgz";
-      name = "marked-0.3.5.tgz";
-      sha1 = "4113a15ac5d7bca158a5aae07224587b9fa15b94";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "marked" = self.by-version."marked"."0.3.5";
-  by-spec."marked".">=0.2.9" =
-    self.by-version."marked"."0.3.5";
-  by-spec."marked"."^0.3.2" =
-    self.by-version."marked"."0.3.5";
-  by-spec."mathjs"."~0.19.0" =
-    self.by-version."mathjs"."0.19.0";
-  by-version."mathjs"."0.19.0" = self.buildNodePackage {
-    name = "mathjs-0.19.0";
-    version = "0.19.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mathjs/-/mathjs-0.19.0.tgz";
-      name = "mathjs-0.19.0.tgz";
-      sha1 = "35f7bdfcca1431dac5438cbf095eefce4e1aae78";
-    };
-    deps = {
-      "bignumber.js-1.5.0" = self.by-version."bignumber.js"."1.5.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."maxmin"."^1.1.0" =
-    self.by-version."maxmin"."1.1.0";
-  by-version."maxmin"."1.1.0" = self.buildNodePackage {
-    name = "maxmin-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/maxmin/-/maxmin-1.1.0.tgz";
-      name = "maxmin-1.1.0.tgz";
-      sha1 = "71365e84a99dd8f8b3f7d5fde2f00d1e7f73be61";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "figures-1.7.0" = self.by-version."figures"."1.7.0";
-      "gzip-size-1.0.0" = self.by-version."gzip-size"."1.0.0";
-      "pretty-bytes-1.0.4" = self.by-version."pretty-bytes"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mdns-js"."*" =
-    self.by-version."mdns-js"."0.5.0";
-  by-version."mdns-js"."0.5.0" = self.buildNodePackage {
-    name = "mdns-js-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mdns-js/-/mdns-js-0.5.0.tgz";
-      name = "mdns-js-0.5.0.tgz";
-      sha1 = "4c8abb6ba7cabdc892d39228c3faa2556e09cf87";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "mdns-js-packet-0.2.0" = self.by-version."mdns-js-packet"."0.2.0";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mdns-js-packet"."~0.2.0" =
-    self.by-version."mdns-js-packet"."0.2.0";
-  by-version."mdns-js-packet"."0.2.0" = self.buildNodePackage {
-    name = "mdns-js-packet-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mdns-js-packet/-/mdns-js-packet-0.2.0.tgz";
-      name = "mdns-js-packet-0.2.0.tgz";
-      sha1 = "642409e8183c7561cc60615bbd1420ec2fad7616";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "qap-3.1.3" = self.by-version."qap"."3.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mdurl"."~1.0.0" =
-    self.by-version."mdurl"."1.0.1";
-  by-version."mdurl"."1.0.1" = self.buildNodePackage {
-    name = "mdurl-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz";
-      name = "mdurl-1.0.1.tgz";
-      sha1 = "fe85b2ec75a59037f2adfec100fd6c601761152e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."meat"."*" =
-    self.by-version."meat"."0.3.4";
-  by-version."meat"."0.3.4" = self.buildNodePackage {
-    name = "meat-0.3.4";
-    version = "0.3.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/meat/-/meat-0.3.4.tgz";
-      name = "meat-0.3.4.tgz";
-      sha1 = "e2b6b721014096e30de9c97114e1dd6696135d13";
-    };
-    deps = {
-      "express-2.5.11" = self.by-version."express"."2.5.11";
-      "jade-0.27.0" = self.by-version."jade"."0.27.0";
-      "open-0.0.2" = self.by-version."open"."0.0.2";
-      "winston-0.6.2" = self.by-version."winston"."0.6.2";
-      "mkdirp-0.3.0" = self.by-version."mkdirp"."0.3.0";
-      "node.extend-1.0.0" = self.by-version."node.extend"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "meat" = self.by-version."meat"."0.3.4";
-  by-spec."media-typer"."0.2.0" =
-    self.by-version."media-typer"."0.2.0";
-  by-version."media-typer"."0.2.0" = self.buildNodePackage {
-    name = "media-typer-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/media-typer/-/media-typer-0.2.0.tgz";
-      name = "media-typer-0.2.0.tgz";
-      sha1 = "d8a065213adfeaa2e76321a2b6dda36ff6335984";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."media-typer"."0.3.0" =
-    self.by-version."media-typer"."0.3.0";
-  by-version."media-typer"."0.3.0" = self.buildNodePackage {
-    name = "media-typer-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz";
-      name = "media-typer-0.3.0.tgz";
-      sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."memdown"."^0.10.2" =
-    self.by-version."memdown"."0.10.2";
-  by-version."memdown"."0.10.2" = self.buildNodePackage {
-    name = "memdown-0.10.2";
-    version = "0.10.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/memdown/-/memdown-0.10.2.tgz";
-      name = "memdown-0.10.2.tgz";
-      sha1 = "a15ed0b6a8f216848d80a75c0fe8dd0bad89b608";
-    };
-    deps = {
-      "abstract-leveldown-0.12.4" = self.by-version."abstract-leveldown"."0.12.4";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "ltgt-1.0.2" = self.by-version."ltgt"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."memory-fs"."^0.2.0" =
-    self.by-version."memory-fs"."0.2.0";
-  by-version."memory-fs"."0.2.0" = self.buildNodePackage {
-    name = "memory-fs-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.2.0.tgz";
-      name = "memory-fs-0.2.0.tgz";
-      sha1 = "f2bb25368bc121e391c2520de92969caee0a0290";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."memory-fs"."^0.3.0" =
-    self.by-version."memory-fs"."0.3.0";
-  by-version."memory-fs"."0.3.0" = self.buildNodePackage {
-    name = "memory-fs-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/memory-fs/-/memory-fs-0.3.0.tgz";
-      name = "memory-fs-0.3.0.tgz";
-      sha1 = "7bcc6b629e3a43e871d7e29aca6ae8a7f15cbb20";
-    };
-    deps = {
-      "errno-0.1.4" = self.by-version."errno"."0.1.4";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."memory-fs"."~0.3.0" =
-    self.by-version."memory-fs"."0.3.0";
-  by-spec."meow"."^3.1.0" =
-    self.by-version."meow"."3.7.0";
-  by-version."meow"."3.7.0" = self.buildNodePackage {
-    name = "meow-3.7.0";
-    version = "3.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/meow/-/meow-3.7.0.tgz";
-      name = "meow-3.7.0.tgz";
-      sha1 = "72cb668b425228290abbfa856892587308a801fb";
-    };
-    deps = {
-      "camelcase-keys-2.1.0" = self.by-version."camelcase-keys"."2.1.0";
-      "decamelize-1.2.0" = self.by-version."decamelize"."1.2.0";
-      "loud-rejection-1.4.1" = self.by-version."loud-rejection"."1.4.1";
-      "map-obj-1.0.1" = self.by-version."map-obj"."1.0.1";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "read-pkg-up-1.0.1" = self.by-version."read-pkg-up"."1.0.1";
-      "redent-1.0.0" = self.by-version."redent"."1.0.0";
-      "trim-newlines-1.0.0" = self.by-version."trim-newlines"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."meow"."^3.3.0" =
-    self.by-version."meow"."3.7.0";
-  by-spec."meow"."~2.0.0" =
-    self.by-version."meow"."2.0.0";
-  by-version."meow"."2.0.0" = self.buildNodePackage {
-    name = "meow-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/meow/-/meow-2.0.0.tgz";
-      name = "meow-2.0.0.tgz";
-      sha1 = "8f530a8ecf5d40d3f4b4df93c3472900fba2a8f1";
-    };
-    deps = {
-      "camelcase-keys-1.0.0" = self.by-version."camelcase-keys"."1.0.0";
-      "indent-string-1.2.2" = self.by-version."indent-string"."1.2.2";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "object-assign-1.0.0" = self.by-version."object-assign"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."merge-descriptors"."0.0.2" =
-    self.by-version."merge-descriptors"."0.0.2";
-  by-version."merge-descriptors"."0.0.2" = self.buildNodePackage {
-    name = "merge-descriptors-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-0.0.2.tgz";
-      name = "merge-descriptors-0.0.2.tgz";
-      sha1 = "c36a52a781437513c57275f39dd9d317514ac8c7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."merge-descriptors"."1.0.0" =
-    self.by-version."merge-descriptors"."1.0.0";
-  by-version."merge-descriptors"."1.0.0" = self.buildNodePackage {
-    name = "merge-descriptors-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.0.tgz";
-      name = "merge-descriptors-1.0.0.tgz";
-      sha1 = "2169cf7538e1b0cc87fb88e1502d8474bbf79864";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."merge-descriptors"."1.0.1" =
-    self.by-version."merge-descriptors"."1.0.1";
-  by-version."merge-descriptors"."1.0.1" = self.buildNodePackage {
-    name = "merge-descriptors-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
-      name = "merge-descriptors-1.0.1.tgz";
-      sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."merge-stream"."^1.0.0" =
-    self.by-version."merge-stream"."1.0.0";
-  by-version."merge-stream"."1.0.0" = self.buildNodePackage {
-    name = "merge-stream-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/merge-stream/-/merge-stream-1.0.0.tgz";
-      name = "merge-stream-1.0.0.tgz";
-      sha1 = "9cfd156fef35421e2b5403ce11dc6eb1962b026e";
-    };
-    deps = {
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."method-override"."1.0.0" =
-    self.by-version."method-override"."1.0.0";
-  by-version."method-override"."1.0.0" = self.buildNodePackage {
-    name = "method-override-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/method-override/-/method-override-1.0.0.tgz";
-      name = "method-override-1.0.0.tgz";
-      sha1 = "9e5bfbd80f3b9e043801dd3fe60bbab0f15b5f61";
-    };
-    deps = {
-      "methods-1.1.2" = self.by-version."methods"."1.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."method-override"."^1.0.0" =
-    self.by-version."method-override"."1.0.2";
-  by-version."method-override"."1.0.2" = self.buildNodePackage {
-    name = "method-override-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/method-override/-/method-override-1.0.2.tgz";
-      name = "method-override-1.0.2.tgz";
-      sha1 = "d6f80275db23a23380028c9215b97470be01d689";
-    };
-    deps = {
-      "methods-1.0.0" = self.by-version."methods"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."method-override"."~2.3.5" =
-    self.by-version."method-override"."2.3.6";
-  by-version."method-override"."2.3.6" = self.buildNodePackage {
-    name = "method-override-2.3.6";
-    version = "2.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/method-override/-/method-override-2.3.6.tgz";
-      name = "method-override-2.3.6.tgz";
-      sha1 = "209261cc588d45d9d5a022ff20d7d5eb8e92179e";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "methods-1.1.2" = self.by-version."methods"."1.1.2";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "vary-1.1.0" = self.by-version."vary"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."methods"."*" =
-    self.by-version."methods"."1.1.2";
-  by-version."methods"."1.1.2" = self.buildNodePackage {
-    name = "methods-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz";
-      name = "methods-1.1.2.tgz";
-      sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."methods"."0.0.1" =
-    self.by-version."methods"."0.0.1";
-  by-version."methods"."0.0.1" = self.buildNodePackage {
-    name = "methods-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/methods/-/methods-0.0.1.tgz";
-      name = "methods-0.0.1.tgz";
-      sha1 = "277c90f8bef39709645a8371c51c3b6c648e068c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."methods"."0.1.0" =
-    self.by-version."methods"."0.1.0";
-  by-version."methods"."0.1.0" = self.buildNodePackage {
-    name = "methods-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/methods/-/methods-0.1.0.tgz";
-      name = "methods-0.1.0.tgz";
-      sha1 = "335d429eefd21b7bacf2e9c922a8d2bd14a30e4f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."methods"."1.0.0" =
-    self.by-version."methods"."1.0.0";
-  by-version."methods"."1.0.0" = self.buildNodePackage {
-    name = "methods-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/methods/-/methods-1.0.0.tgz";
-      name = "methods-1.0.0.tgz";
-      sha1 = "9a73d86375dfcef26ef61ca3e4b8a2e2538a80e3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."methods"."1.0.1" =
-    self.by-version."methods"."1.0.1";
-  by-version."methods"."1.0.1" = self.buildNodePackage {
-    name = "methods-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/methods/-/methods-1.0.1.tgz";
-      name = "methods-1.0.1.tgz";
-      sha1 = "75bc91943dffd7da037cf3eeb0ed73a0037cd14b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."methods"."1.1.0" =
-    self.by-version."methods"."1.1.0";
-  by-version."methods"."1.1.0" = self.buildNodePackage {
-    name = "methods-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/methods/-/methods-1.1.0.tgz";
-      name = "methods-1.1.0.tgz";
-      sha1 = "5dca4ee12df52ff3b056145986a8f01cbc86436f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."methods"."~1.1.1" =
-    self.by-version."methods"."1.1.2";
-  by-spec."methods"."~1.1.2" =
-    self.by-version."methods"."1.1.2";
-  by-spec."microee"."0.0.2" =
-    self.by-version."microee"."0.0.2";
-  by-version."microee"."0.0.2" = self.buildNodePackage {
-    name = "microee-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/microee/-/microee-0.0.2.tgz";
-      name = "microee-0.0.2.tgz";
-      sha1 = "72e80d477075e5e799470f5defea96d1dd121587";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."micromatch"."^2.1.5" =
-    self.by-version."micromatch"."2.3.8";
-  by-version."micromatch"."2.3.8" = self.buildNodePackage {
-    name = "micromatch-2.3.8";
-    version = "2.3.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/micromatch/-/micromatch-2.3.8.tgz";
-      name = "micromatch-2.3.8.tgz";
-      sha1 = "94fbf8f37ed9edeca06bf1c8f7b743fb5f6f5854";
-    };
-    deps = {
-      "arr-diff-2.0.0" = self.by-version."arr-diff"."2.0.0";
-      "array-unique-0.2.1" = self.by-version."array-unique"."0.2.1";
-      "braces-1.8.5" = self.by-version."braces"."1.8.5";
-      "expand-brackets-0.1.5" = self.by-version."expand-brackets"."0.1.5";
-      "extglob-0.3.2" = self.by-version."extglob"."0.3.2";
-      "filename-regex-2.0.0" = self.by-version."filename-regex"."2.0.0";
-      "is-extglob-1.0.0" = self.by-version."is-extglob"."1.0.0";
-      "is-glob-2.0.1" = self.by-version."is-glob"."2.0.1";
-      "kind-of-3.0.3" = self.by-version."kind-of"."3.0.3";
-      "normalize-path-2.0.1" = self.by-version."normalize-path"."2.0.1";
-      "object.omit-2.0.0" = self.by-version."object.omit"."2.0.0";
-      "parse-glob-3.0.4" = self.by-version."parse-glob"."3.0.4";
-      "regex-cache-0.4.3" = self.by-version."regex-cache"."0.4.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."micromatch"."^2.3.7" =
-    self.by-version."micromatch"."2.3.8";
-  by-spec."miller-rabin"."^4.0.0" =
-    self.by-version."miller-rabin"."4.0.0";
-  by-version."miller-rabin"."4.0.0" = self.buildNodePackage {
-    name = "miller-rabin-4.0.0";
-    version = "4.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.0.tgz";
-      name = "miller-rabin-4.0.0.tgz";
-      sha1 = "4a62fb1d42933c05583982f4c716f6fb9e6c6d3d";
-    };
-    deps = {
-      "bn.js-4.11.4" = self.by-version."bn.js"."4.11.4";
-      "brorand-1.0.5" = self.by-version."brorand"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime"."*" =
-    self.by-version."mime"."1.3.4";
-  by-version."mime"."1.3.4" = self.buildNodePackage {
-    name = "mime-1.3.4";
-    version = "1.3.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime/-/mime-1.3.4.tgz";
-      name = "mime-1.3.4.tgz";
-      sha1 = "115f9e3b6b3daf2959983cb38f149a2d40eb5d53";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime"."1.2.11" =
-    self.by-version."mime"."1.2.11";
-  by-version."mime"."1.2.11" = self.buildNodePackage {
-    name = "mime-1.2.11";
-    version = "1.2.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime/-/mime-1.2.11.tgz";
-      name = "mime-1.2.11.tgz";
-      sha1 = "58203eed86e3a5ef17aed2b7d9ebd47f0a60dd10";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime"."1.2.4" =
-    self.by-version."mime"."1.2.4";
-  by-version."mime"."1.2.4" = self.buildNodePackage {
-    name = "mime-1.2.4";
-    version = "1.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime/-/mime-1.2.4.tgz";
-      name = "mime-1.2.4.tgz";
-      sha1 = "11b5fdaf29c2509255176b80ad520294f5de92b7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime"."1.2.6" =
-    self.by-version."mime"."1.2.6";
-  by-version."mime"."1.2.6" = self.buildNodePackage {
-    name = "mime-1.2.6";
-    version = "1.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime/-/mime-1.2.6.tgz";
-      name = "mime-1.2.6.tgz";
-      sha1 = "b1f86c768c025fa87b48075f1709f28aeaf20365";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime"."1.2.x" =
-    self.by-version."mime"."1.2.11";
-  by-spec."mime"."1.3.4" =
-    self.by-version."mime"."1.3.4";
-  by-spec."mime".">= 0.0.1" =
-    self.by-version."mime"."1.3.4";
-  by-spec."mime".">= 1.2.6" =
-    self.by-version."mime"."1.3.4";
-  by-spec."mime".">=1.2.11" =
-    self.by-version."mime"."1.3.4";
-  by-spec."mime"."^1.2.11" =
-    self.by-version."mime"."1.3.4";
-  by-spec."mime"."^1.3.4" =
-    self.by-version."mime"."1.3.4";
-  by-spec."mime"."~1.2.11" =
-    self.by-version."mime"."1.2.11";
-  by-spec."mime"."~1.2.2" =
-    self.by-version."mime"."1.2.11";
-  by-spec."mime"."~1.2.7" =
-    self.by-version."mime"."1.2.11";
-  by-spec."mime"."~1.2.9" =
-    self.by-version."mime"."1.2.11";
-  by-spec."mime-db".">= 1.23.0 < 2" =
-    self.by-version."mime-db"."1.23.0";
-  by-version."mime-db"."1.23.0" = self.buildNodePackage {
-    name = "mime-db-1.23.0";
-    version = "1.23.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime-db/-/mime-db-1.23.0.tgz";
-      name = "mime-db-1.23.0.tgz";
-      sha1 = "a31b4070adaea27d732ea333740a64d0ec9a6659";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-db"."~1.12.0" =
-    self.by-version."mime-db"."1.12.0";
-  by-version."mime-db"."1.12.0" = self.buildNodePackage {
-    name = "mime-db-1.12.0";
-    version = "1.12.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime-db/-/mime-db-1.12.0.tgz";
-      name = "mime-db-1.12.0.tgz";
-      sha1 = "3d0c63180f458eb10d325aaa37d7c58ae312e9d7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-db"."~1.23.0" =
-    self.by-version."mime-db"."1.23.0";
-  by-spec."mime-types"."^2.1.10" =
-    self.by-version."mime-types"."2.1.11";
-  by-version."mime-types"."2.1.11" = self.buildNodePackage {
-    name = "mime-types-2.1.11";
-    version = "2.1.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.11.tgz";
-      name = "mime-types-2.1.11.tgz";
-      sha1 = "c259c471bda808a85d6cd193b430a5fae4473b3c";
-    };
-    deps = {
-      "mime-db-1.23.0" = self.by-version."mime-db"."1.23.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-types"."^2.1.3" =
-    self.by-version."mime-types"."2.1.11";
-  by-spec."mime-types"."^2.1.7" =
-    self.by-version."mime-types"."2.1.11";
-  by-spec."mime-types"."~1.0.0" =
-    self.by-version."mime-types"."1.0.2";
-  by-version."mime-types"."1.0.2" = self.buildNodePackage {
-    name = "mime-types-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime-types/-/mime-types-1.0.2.tgz";
-      name = "mime-types-1.0.2.tgz";
-      sha1 = "995ae1392ab8affcbfcb2641dd054e943c0d5dce";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-types"."~1.0.1" =
-    self.by-version."mime-types"."1.0.2";
-  by-spec."mime-types"."~2.0.1" =
-    self.by-version."mime-types"."2.0.14";
-  by-version."mime-types"."2.0.14" = self.buildNodePackage {
-    name = "mime-types-2.0.14";
-    version = "2.0.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mime-types/-/mime-types-2.0.14.tgz";
-      name = "mime-types-2.0.14.tgz";
-      sha1 = "310e159db23e077f8bb22b748dabfa4957140aa6";
-    };
-    deps = {
-      "mime-db-1.12.0" = self.by-version."mime-db"."1.12.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mime-types"."~2.0.3" =
-    self.by-version."mime-types"."2.0.14";
-  by-spec."mime-types"."~2.0.4" =
-    self.by-version."mime-types"."2.0.14";
-  by-spec."mime-types"."~2.0.9" =
-    self.by-version."mime-types"."2.0.14";
-  by-spec."mime-types"."~2.1.11" =
-    self.by-version."mime-types"."2.1.11";
-  by-spec."mime-types"."~2.1.2" =
-    self.by-version."mime-types"."2.1.11";
-  by-spec."mime-types"."~2.1.6" =
-    self.by-version."mime-types"."2.1.11";
-  by-spec."mime-types"."~2.1.7" =
-    self.by-version."mime-types"."2.1.11";
-  by-spec."mime-types"."~2.1.9" =
-    self.by-version."mime-types"."2.1.11";
-  by-spec."mimelib"."^0.2.19" =
-    self.by-version."mimelib"."0.2.19";
-  by-version."mimelib"."0.2.19" = self.buildNodePackage {
-    name = "mimelib-0.2.19";
-    version = "0.2.19";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mimelib/-/mimelib-0.2.19.tgz";
-      name = "mimelib-0.2.19.tgz";
-      sha1 = "37ec90a6ac7d00954851d0b2c31618f0a49da0ee";
-    };
-    deps = {
-      "encoding-0.1.12" = self.by-version."encoding"."0.1.12";
-      "addressparser-0.3.2" = self.by-version."addressparser"."0.3.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mimelib"."~0.2.15" =
-    self.by-version."mimelib"."0.2.19";
-  by-spec."minilog"."~2.0.2" =
-    self.by-version."minilog"."2.0.8";
-  by-version."minilog"."2.0.8" = self.buildNodePackage {
-    name = "minilog-2.0.8";
-    version = "2.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minilog/-/minilog-2.0.8.tgz";
-      name = "minilog-2.0.8.tgz";
-      sha1 = "21ffdc429be2b50cb361df990a40a7731288e935";
-    };
-    deps = {
-      "microee-0.0.2" = self.by-version."microee"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimalistic-assert"."^1.0.0" =
-    self.by-version."minimalistic-assert"."1.0.0";
-  by-version."minimalistic-assert"."1.0.0" = self.buildNodePackage {
-    name = "minimalistic-assert-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.0.tgz";
-      name = "minimalistic-assert-1.0.0.tgz";
-      sha1 = "702be2dda6b37f4836bcb3f5db56641b64a1d3d3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimatch"."0.0.x" =
-    self.by-version."minimatch"."0.0.5";
-  by-version."minimatch"."0.0.5" = self.buildNodePackage {
-    name = "minimatch-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimatch/-/minimatch-0.0.5.tgz";
-      name = "minimatch-0.0.5.tgz";
-      sha1 = "96bb490bbd3ba6836bbfac111adf75301b1584de";
-    };
-    deps = {
-      "lru-cache-1.0.6" = self.by-version."lru-cache"."1.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimatch"."0.2" =
-    self.by-version."minimatch"."0.2.14";
-  by-version."minimatch"."0.2.14" = self.buildNodePackage {
-    name = "minimatch-0.2.14";
-    version = "0.2.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimatch/-/minimatch-0.2.14.tgz";
-      name = "minimatch-0.2.14.tgz";
-      sha1 = "c74e780574f63c6f9a090e90efbe6ef53a6a756a";
-    };
-    deps = {
-      "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
-      "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimatch"."0.3" =
-    self.by-version."minimatch"."0.3.0";
-  by-version."minimatch"."0.3.0" = self.buildNodePackage {
-    name = "minimatch-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimatch/-/minimatch-0.3.0.tgz";
-      name = "minimatch-0.3.0.tgz";
-      sha1 = "275d8edaac4f1bb3326472089e7949c8394699dd";
-    };
-    deps = {
-      "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
-      "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimatch"."1" =
-    self.by-version."minimatch"."1.0.0";
-  by-version."minimatch"."1.0.0" = self.buildNodePackage {
-    name = "minimatch-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimatch/-/minimatch-1.0.0.tgz";
-      name = "minimatch-1.0.0.tgz";
-      sha1 = "e0dd2120b49e1b724ce8d714c520822a9438576d";
-    };
-    deps = {
-      "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
-      "sigmund-1.0.1" = self.by-version."sigmund"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimatch"."2 || 3" =
-    self.by-version."minimatch"."3.0.0";
-  by-version."minimatch"."3.0.0" = self.buildNodePackage {
-    name = "minimatch-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.0.tgz";
-      name = "minimatch-3.0.0.tgz";
-      sha1 = "5236157a51e4f004c177fb3c527ff7dd78f0ef83";
-    };
-    deps = {
-      "brace-expansion-1.1.4" = self.by-version."brace-expansion"."1.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimatch"."2.0.x" =
-    self.by-version."minimatch"."2.0.10";
-  by-version."minimatch"."2.0.10" = self.buildNodePackage {
-    name = "minimatch-2.0.10";
-    version = "2.0.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimatch/-/minimatch-2.0.10.tgz";
-      name = "minimatch-2.0.10.tgz";
-      sha1 = "8d087c39c6b38c001b97fca7ce6d0e1e80afbac7";
-    };
-    deps = {
-      "brace-expansion-1.1.4" = self.by-version."brace-expansion"."1.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimatch"."2.x" =
-    self.by-version."minimatch"."2.0.10";
-  by-spec."minimatch".">=0.2.14 <2.0.0-0" =
-    self.by-version."minimatch"."1.0.0";
-  by-spec."minimatch"."^1.0.0" =
-    self.by-version."minimatch"."1.0.0";
-  by-spec."minimatch"."^2.0.1" =
-    self.by-version."minimatch"."2.0.10";
-  by-spec."minimatch"."^2.0.10" =
-    self.by-version."minimatch"."2.0.10";
-  by-spec."minimatch"."^3.0.0" =
-    self.by-version."minimatch"."3.0.0";
-  by-spec."minimatch"."~0.2.11" =
-    self.by-version."minimatch"."0.2.14";
-  by-spec."minimatch"."~0.2.12" =
-    self.by-version."minimatch"."0.2.14";
-  by-spec."minimatch"."~0.2.9" =
-    self.by-version."minimatch"."0.2.14";
-  by-spec."minimatch"."~2.0.0" =
-    self.by-version."minimatch"."2.0.10";
-  by-spec."minimatch"."~3.0.0" =
-    self.by-version."minimatch"."3.0.0";
-  by-spec."minimist"."0.0.8" =
-    self.by-version."minimist"."0.0.8";
-  by-version."minimist"."0.0.8" = self.buildNodePackage {
-    name = "minimist-0.0.8";
-    version = "0.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz";
-      name = "minimist-0.0.8.tgz";
-      sha1 = "857fcabfc3397d2625b8228262e86aa7a011b05d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimist"."1.2.0" =
-    self.by-version."minimist"."1.2.0";
-  by-version."minimist"."1.2.0" = self.buildNodePackage {
-    name = "minimist-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz";
-      name = "minimist-1.2.0.tgz";
-      sha1 = "a35008b20f41383eec1fb914f4cd5df79a264284";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimist"."^0.2.0" =
-    self.by-version."minimist"."0.2.0";
-  by-version."minimist"."0.2.0" = self.buildNodePackage {
-    name = "minimist-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimist/-/minimist-0.2.0.tgz";
-      name = "minimist-0.2.0.tgz";
-      sha1 = "4dffe525dae2b864c66c2e23c6271d7afdecefce";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimist"."^1.1.0" =
-    self.by-version."minimist"."1.2.0";
-  by-spec."minimist"."^1.1.1" =
-    self.by-version."minimist"."1.2.0";
-  by-spec."minimist"."^1.1.3" =
-    self.by-version."minimist"."1.2.0";
-  by-spec."minimist"."^1.2.0" =
-    self.by-version."minimist"."1.2.0";
-  by-spec."minimist"."~0.0.1" =
-    self.by-version."minimist"."0.0.10";
-  by-version."minimist"."0.0.10" = self.buildNodePackage {
-    name = "minimist-0.0.10";
-    version = "0.0.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz";
-      name = "minimist-0.0.10.tgz";
-      sha1 = "de3f98543dbf96082be48ad1a0c7cda836301dcf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."minimist"."~0.0.7" =
-    self.by-version."minimist"."0.0.10";
-  by-spec."ministyle"."~0.1.3" =
-    self.by-version."ministyle"."0.1.4";
-  by-version."ministyle"."0.1.4" = self.buildNodePackage {
-    name = "ministyle-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ministyle/-/ministyle-0.1.4.tgz";
-      name = "ministyle-0.1.4.tgz";
-      sha1 = "b10481eb16aa8f7b6cd983817393a44da0e5a0cd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."miniwrite"."~0.1.3" =
-    self.by-version."miniwrite"."0.1.4";
-  by-version."miniwrite"."0.1.4" = self.buildNodePackage {
-    name = "miniwrite-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/miniwrite/-/miniwrite-0.1.4.tgz";
-      name = "miniwrite-0.1.4.tgz";
-      sha1 = "72f02385c0ac37d542efe27dc6764b31908725ce";
-    };
-    deps = {
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."*" =
-    self.by-version."mkdirp"."0.5.1";
-  by-version."mkdirp"."0.5.1" = self.buildNodePackage {
-    name = "mkdirp-0.5.1";
-    version = "0.5.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz";
-      name = "mkdirp-0.5.1.tgz";
-      sha1 = "30057438eac6cf7f8c4767f38648d6697d75c903";
-    };
-    deps = {
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mkdirp" = self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp"."0.0.x" =
-    self.by-version."mkdirp"."0.0.7";
-  by-version."mkdirp"."0.0.7" = self.buildNodePackage {
-    name = "mkdirp-0.0.7";
-    version = "0.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.0.7.tgz";
-      name = "mkdirp-0.0.7.tgz";
-      sha1 = "d89b4f0e4c3e5e5ca54235931675e094fe1a5072";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.3.0" =
-    self.by-version."mkdirp"."0.3.0";
-  by-version."mkdirp"."0.3.0" = self.buildNodePackage {
-    name = "mkdirp-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.0.tgz";
-      name = "mkdirp-0.3.0.tgz";
-      sha1 = "1bbf5ab1ba827af23575143490426455f481fe1e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.3.5" =
-    self.by-version."mkdirp"."0.3.5";
-  by-version."mkdirp"."0.3.5" = self.buildNodePackage {
-    name = "mkdirp-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.3.5.tgz";
-      name = "mkdirp-0.3.5.tgz";
-      sha1 = "de3e5f8961c88c787ee1368df849ac4413eca8d7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.3.x" =
-    self.by-version."mkdirp"."0.3.5";
-  by-spec."mkdirp"."0.4.0" =
-    self.by-version."mkdirp"."0.4.0";
-  by-version."mkdirp"."0.4.0" = self.buildNodePackage {
-    name = "mkdirp-0.4.0";
-    version = "0.4.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.4.0.tgz";
-      name = "mkdirp-0.4.0.tgz";
-      sha1 = "291ac2a2d43a19c478662577b5be846fe83b5923";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.5" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp"."0.5.0" =
-    self.by-version."mkdirp"."0.5.0";
-  by-version."mkdirp"."0.5.0" = self.buildNodePackage {
-    name = "mkdirp-0.5.0";
-    version = "0.5.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz";
-      name = "mkdirp-0.5.0.tgz";
-      sha1 = "1d73076a6df986cd9344e15e71fcc05a4c9abf12";
-    };
-    deps = {
-      "minimist-0.0.8" = self.by-version."minimist"."0.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mkdirp"."0.5.1" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp"."0.5.x" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp"."0.x.x" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp".">=0.3.5" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp".">=0.3.5 <1.0.0-0" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp".">=0.5 0" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp"."^0.3.5" =
-    self.by-version."mkdirp"."0.3.5";
-  by-spec."mkdirp"."^0.5.0" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp"."^0.5.1" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp"."~0.3.3" =
-    self.by-version."mkdirp"."0.3.5";
-  by-spec."mkdirp"."~0.3.4" =
-    self.by-version."mkdirp"."0.3.5";
-  by-spec."mkdirp"."~0.3.5" =
-    self.by-version."mkdirp"."0.3.5";
-  by-spec."mkdirp"."~0.5.0" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mkdirp"."~0.5.1" =
-    self.by-version."mkdirp"."0.5.1";
-  by-spec."mocha"."*" =
-    self.by-version."mocha"."2.5.3";
-  by-version."mocha"."2.5.3" = self.buildNodePackage {
-    name = "mocha-2.5.3";
-    version = "2.5.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-2.5.3.tgz";
-      name = "mocha-2.5.3.tgz";
-      sha1 = "161be5bdeb496771eb9b35745050b622b5aefc58";
-    };
-    deps = {
-      "commander-2.3.0" = self.by-version."commander"."2.3.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "diff-1.4.0" = self.by-version."diff"."1.4.0";
-      "escape-string-regexp-1.0.2" = self.by-version."escape-string-regexp"."1.0.2";
-      "glob-3.2.11" = self.by-version."glob"."3.2.11";
-      "growl-1.9.2" = self.by-version."growl"."1.9.2";
-      "jade-0.26.3" = self.by-version."jade"."0.26.3";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "supports-color-1.2.0" = self.by-version."supports-color"."1.2.0";
-      "to-iso-string-0.0.2" = self.by-version."to-iso-string"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mocha" = self.by-version."mocha"."2.5.3";
-  by-spec."mocha-phantomjs"."*" =
-    self.by-version."mocha-phantomjs"."4.0.2";
-  by-version."mocha-phantomjs"."4.0.2" = self.buildNodePackage {
-    name = "mocha-phantomjs-4.0.2";
-    version = "4.0.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mocha-phantomjs/-/mocha-phantomjs-4.0.2.tgz";
-      name = "mocha-phantomjs-4.0.2.tgz";
-      sha1 = "808e43e01f3250201660c52cf441e6992d89dd9b";
-    };
-    deps = {
-      "phantomjs-1.9.7-15" = self.by-version."phantomjs"."1.9.7-15";
-      "mocha-phantomjs-core-1.3.1" = self.by-version."mocha-phantomjs-core"."1.3.1";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mocha-phantomjs" = self.by-version."mocha-phantomjs"."4.0.2";
-  by-spec."mocha-phantomjs-core"."^1.1.0" =
-    self.by-version."mocha-phantomjs-core"."1.3.1";
-  by-version."mocha-phantomjs-core"."1.3.1" = self.buildNodePackage {
-    name = "mocha-phantomjs-core-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mocha-phantomjs-core/-/mocha-phantomjs-core-1.3.1.tgz";
-      name = "mocha-phantomjs-core-1.3.1.tgz";
-      sha1 = "586538c8d71fa8de90c41a46acc0481c1fb83e18";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mocha-unfunk-reporter"."*" =
-    self.by-version."mocha-unfunk-reporter"."0.4.0";
-  by-version."mocha-unfunk-reporter"."0.4.0" = self.buildNodePackage {
-    name = "mocha-unfunk-reporter-0.4.0";
-    version = "0.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mocha-unfunk-reporter/-/mocha-unfunk-reporter-0.4.0.tgz";
-      name = "mocha-unfunk-reporter-0.4.0.tgz";
-      sha1 = "59eda97aec6ae6e26d7af4173490a65b7b082d20";
-    };
-    deps = {
-      "jsesc-0.4.3" = self.by-version."jsesc"."0.4.3";
-      "unfunk-diff-0.0.2" = self.by-version."unfunk-diff"."0.0.2";
-      "miniwrite-0.1.4" = self.by-version."miniwrite"."0.1.4";
-      "ministyle-0.1.4" = self.by-version."ministyle"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mocha-unfunk-reporter" = self.by-version."mocha-unfunk-reporter"."0.4.0";
-  by-spec."module-deps"."^3.7.11" =
-    self.by-version."module-deps"."3.9.1";
-  by-version."module-deps"."3.9.1" = self.buildNodePackage {
-    name = "module-deps-3.9.1";
-    version = "3.9.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/module-deps/-/module-deps-3.9.1.tgz";
-      name = "module-deps-3.9.1.tgz";
-      sha1 = "ea75caf9199090d25b0d5512b5acacb96e7f87f3";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "browser-resolve-1.11.2" = self.by-version."browser-resolve"."1.11.2";
-      "concat-stream-1.4.10" = self.by-version."concat-stream"."1.4.10";
-      "defined-1.0.0" = self.by-version."defined"."1.0.0";
-      "detective-4.3.1" = self.by-version."detective"."4.3.1";
-      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "parents-1.0.1" = self.by-version."parents"."1.0.1";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "resolve-1.1.7" = self.by-version."resolve"."1.1.7";
-      "stream-combiner2-1.0.2" = self.by-version."stream-combiner2"."1.0.2";
-      "subarg-1.0.0" = self.by-version."subarg"."1.0.0";
-      "through2-1.1.1" = self.by-version."through2"."1.1.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."module-deps"."^4.0.2" =
-    self.by-version."module-deps"."4.0.7";
-  by-version."module-deps"."4.0.7" = self.buildNodePackage {
-    name = "module-deps-4.0.7";
-    version = "4.0.7";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/module-deps/-/module-deps-4.0.7.tgz";
-      name = "module-deps-4.0.7.tgz";
-      sha1 = "edfeb3937be7359bc14a6672c22ef124887f6ed2";
-    };
-    deps = {
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "browser-resolve-1.11.2" = self.by-version."browser-resolve"."1.11.2";
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "defined-1.0.0" = self.by-version."defined"."1.0.0";
-      "detective-4.3.1" = self.by-version."detective"."4.3.1";
-      "duplexer2-0.1.4" = self.by-version."duplexer2"."0.1.4";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "parents-1.0.1" = self.by-version."parents"."1.0.1";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-      "resolve-1.1.7" = self.by-version."resolve"."1.1.7";
-      "stream-combiner2-1.1.1" = self.by-version."stream-combiner2"."1.1.1";
-      "subarg-1.0.0" = self.by-version."subarg"."1.0.0";
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."moment"."2.1.0" =
-    self.by-version."moment"."2.1.0";
-  by-version."moment"."2.1.0" = self.buildNodePackage {
-    name = "moment-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/moment/-/moment-2.1.0.tgz";
-      name = "moment-2.1.0.tgz";
-      sha1 = "1fd7b1134029a953c6ea371dbaee37598ac03567";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."moment"."2.10.6" =
-    self.by-version."moment"."2.10.6";
-  by-version."moment"."2.10.6" = self.buildNodePackage {
-    name = "moment-2.10.6";
-    version = "2.10.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/moment/-/moment-2.10.6.tgz";
-      name = "moment-2.10.6.tgz";
-      sha1 = "6cb21967c79cba7b0ca5e66644f173662b3efa77";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."moment"."2.x.x" =
-    self.by-version."moment"."2.13.0";
-  by-version."moment"."2.13.0" = self.buildNodePackage {
-    name = "moment-2.13.0";
-    version = "2.13.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/moment/-/moment-2.13.0.tgz";
-      name = "moment-2.13.0.tgz";
-      sha1 = "24162d99521e6d40f99ae6939e806d2139eaac52";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."moment".">= 2.6.0" =
-    self.by-version."moment"."2.13.0";
-  by-spec."moment".">=2.4.0" =
-    self.by-version."moment"."2.13.0";
-  by-spec."moment".">=2.5.0" =
-    self.by-version."moment"."2.13.0";
-  by-spec."moment"."^2.10.6" =
-    self.by-version."moment"."2.13.0";
-  by-spec."moment"."^2.8.4" =
-    self.by-version."moment"."2.13.0";
-  by-spec."moment"."~2.11.2" =
-    self.by-version."moment"."2.11.2";
-  by-version."moment"."2.11.2" = self.buildNodePackage {
-    name = "moment-2.11.2";
-    version = "2.11.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/moment/-/moment-2.11.2.tgz";
-      name = "moment-2.11.2.tgz";
-      sha1 = "87968e5f95ac038c2e42ac959c75819cd3f52901";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."moment"."~2.5.0" =
-    self.by-version."moment"."2.5.1";
-  by-version."moment"."2.5.1" = self.buildNodePackage {
-    name = "moment-2.5.1";
-    version = "2.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/moment/-/moment-2.5.1.tgz";
-      name = "moment-2.5.1.tgz";
-      sha1 = "7146a3900533064ca799d5e792f4e480ee0e82bc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."moment"."~2.5.1" =
-    self.by-version."moment"."2.5.1";
-  by-spec."moment-timezone".">=0.0.3" =
-    self.by-version."moment-timezone"."0.5.4";
-  by-version."moment-timezone"."0.5.4" = self.buildNodePackage {
-    name = "moment-timezone-0.5.4";
-    version = "0.5.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.4.tgz";
-      name = "moment-timezone-0.5.4.tgz";
-      sha1 = "b6188b8f08557ea9ffb0d42899f5b171e1858e93";
-    };
-    deps = {
-      "moment-2.13.0" = self.by-version."moment"."2.13.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."moment-timezone".">=0.3.0" =
-    self.by-version."moment-timezone"."0.5.4";
-  by-spec."moment-timezone"."~0.3.0" =
-    self.by-version."moment-timezone"."0.3.1";
-  by-version."moment-timezone"."0.3.1" = self.buildNodePackage {
-    name = "moment-timezone-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.3.1.tgz";
-      name = "moment-timezone-0.3.1.tgz";
-      sha1 = "3ef47856b02d53b718a10a5ec2023aa299e07bf5";
-    };
-    deps = {
-      "moment-2.13.0" = self.by-version."moment"."2.13.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb"."1.2.14" =
-    self.by-version."mongodb"."1.2.14";
-  by-version."mongodb"."1.2.14" = self.buildNodePackage {
-    name = "mongodb-1.2.14";
-    version = "1.2.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb/-/mongodb-1.2.14.tgz";
-      name = "mongodb-1.2.14.tgz";
-      sha1 = "269665552066437308d0942036646e6795c3a9a3";
-    };
-    deps = {
-      "bson-0.1.8" = self.by-version."bson"."0.1.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb"."1.3.19" =
-    self.by-version."mongodb"."1.3.19";
-  by-version."mongodb"."1.3.19" = self.buildNodePackage {
-    name = "mongodb-1.3.19";
-    version = "1.3.19";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb/-/mongodb-1.3.19.tgz";
-      name = "mongodb-1.3.19.tgz";
-      sha1 = "f229db24098f019d86d135aaf8a1ab5f2658b1d4";
-    };
-    deps = {
-      "bson-0.2.2" = self.by-version."bson"."0.2.2";
-    };
-    optionalDependencies = {
-      "kerberos-0.0.3" = self.by-version."kerberos"."0.0.3";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb"."2.0.46" =
-    self.by-version."mongodb"."2.0.46";
-  by-version."mongodb"."2.0.46" = self.buildNodePackage {
-    name = "mongodb-2.0.46";
-    version = "2.0.46";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb/-/mongodb-2.0.46.tgz";
-      name = "mongodb-2.0.46.tgz";
-      sha1 = "b1b857465e45e259b1e0e033698341a64cb93559";
-    };
-    deps = {
-      "mongodb-core-1.2.19" = self.by-version."mongodb-core"."1.2.19";
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
-      "es6-promise-2.1.1" = self.by-version."es6-promise"."2.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb"."2.1.18" =
-    self.by-version."mongodb"."2.1.18";
-  by-version."mongodb"."2.1.18" = self.buildNodePackage {
-    name = "mongodb-2.1.18";
-    version = "2.1.18";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb/-/mongodb-2.1.18.tgz";
-      name = "mongodb-2.1.18.tgz";
-      sha1 = "28d40b515b2be4d5a69ffdd4c535f0df432e4097";
-    };
-    deps = {
-      "es6-promise-3.0.2" = self.by-version."es6-promise"."3.0.2";
-      "mongodb-core-1.3.18" = self.by-version."mongodb-core"."1.3.18";
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb".">= 1.2.0 <2.1.0" =
-    self.by-version."mongodb"."2.0.55";
-  by-version."mongodb"."2.0.55" = self.buildNodePackage {
-    name = "mongodb-2.0.55";
-    version = "2.0.55";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb/-/mongodb-2.0.55.tgz";
-      name = "mongodb-2.0.55.tgz";
-      sha1 = "a09dd77259f6bba69f7dd592a011c11aa5761097";
-    };
-    deps = {
-      "mongodb-core-1.2.31" = self.by-version."mongodb-core"."1.2.31";
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
-      "es6-promise-2.1.1" = self.by-version."es6-promise"."2.1.1";
-      "kerberos-0.0.21" = self.by-version."kerberos"."0.0.21";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb".">= 1.2.0 <2.2.0" =
-    self.by-version."mongodb"."2.1.21";
-  by-version."mongodb"."2.1.21" = self.buildNodePackage {
-    name = "mongodb-2.1.21";
-    version = "2.1.21";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb/-/mongodb-2.1.21.tgz";
-      name = "mongodb-2.1.21.tgz";
-      sha1 = "764709dbcceb5825b4eb31f95395f965fd442272";
-    };
-    deps = {
-      "es6-promise-3.0.2" = self.by-version."es6-promise"."3.0.2";
-      "mongodb-core-1.3.21" = self.by-version."mongodb-core"."1.3.21";
-      "readable-stream-1.0.31" = self.by-version."readable-stream"."1.0.31";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb"."~2.0" =
-    self.by-version."mongodb"."2.0.55";
-  by-spec."mongodb-core"."1.2.19" =
-    self.by-version."mongodb-core"."1.2.19";
-  by-version."mongodb-core"."1.2.19" = self.buildNodePackage {
-    name = "mongodb-core-1.2.19";
-    version = "1.2.19";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-1.2.19.tgz";
-      name = "mongodb-core-1.2.19.tgz";
-      sha1 = "fcb35f6b6abc5c3de1f1a4a5db526b9e306f3eb7";
-    };
-    deps = {
-      "bson-0.4.23" = self.by-version."bson"."0.4.23";
-    };
-    optionalDependencies = {
-      "kerberos-0.0.21" = self.by-version."kerberos"."0.0.21";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb-core"."1.2.31" =
-    self.by-version."mongodb-core"."1.2.31";
-  by-version."mongodb-core"."1.2.31" = self.buildNodePackage {
-    name = "mongodb-core-1.2.31";
-    version = "1.2.31";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-1.2.31.tgz";
-      name = "mongodb-core-1.2.31.tgz";
-      sha1 = "f1e6405f03d40846fdb838a702507affa3cb2c39";
-    };
-    deps = {
-      "bson-0.4.23" = self.by-version."bson"."0.4.23";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."kerberos"."0.0.21"];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb-core"."1.3.18" =
-    self.by-version."mongodb-core"."1.3.18";
-  by-version."mongodb-core"."1.3.18" = self.buildNodePackage {
-    name = "mongodb-core-1.3.18";
-    version = "1.3.18";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-1.3.18.tgz";
-      name = "mongodb-core-1.3.18.tgz";
-      sha1 = "90684b3b7c7356d65ae356391d30b0f248804c7a";
-    };
-    deps = {
-      "bson-0.4.23" = self.by-version."bson"."0.4.23";
-      "require_optional-1.0.0" = self.by-version."require_optional"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongodb-core"."1.3.21" =
-    self.by-version."mongodb-core"."1.3.21";
-  by-version."mongodb-core"."1.3.21" = self.buildNodePackage {
-    name = "mongodb-core-1.3.21";
-    version = "1.3.21";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongodb-core/-/mongodb-core-1.3.21.tgz";
-      name = "mongodb-core-1.3.21.tgz";
-      sha1 = "fe129e7bee2b3b26c1409de02ab60d03f6291cca";
-    };
-    deps = {
-      "bson-0.4.23" = self.by-version."bson"."0.4.23";
-      "require_optional-1.0.0" = self.by-version."require_optional"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongoose"."*" =
-    self.by-version."mongoose"."4.4.20";
-  by-version."mongoose"."4.4.20" = self.buildNodePackage {
-    name = "mongoose-4.4.20";
-    version = "4.4.20";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongoose/-/mongoose-4.4.20.tgz";
-      name = "mongoose-4.4.20.tgz";
-      sha1 = "e974ffb6ae8c50f409801a8497a98e9f3b51f2dd";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "bson-0.4.23" = self.by-version."bson"."0.4.23";
-      "hooks-fixed-1.1.0" = self.by-version."hooks-fixed"."1.1.0";
-      "kareem-1.0.1" = self.by-version."kareem"."1.0.1";
-      "mongodb-2.1.18" = self.by-version."mongodb"."2.1.18";
-      "mpath-0.2.1" = self.by-version."mpath"."0.2.1";
-      "mpromise-0.5.5" = self.by-version."mpromise"."0.5.5";
-      "mquery-1.11.0" = self.by-version."mquery"."1.11.0";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "muri-1.1.0" = self.by-version."muri"."1.1.0";
-      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
-      "sliced-1.0.1" = self.by-version."sliced"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongoose"."3.6.7" =
-    self.by-version."mongoose"."3.6.7";
-  by-version."mongoose"."3.6.7" = self.buildNodePackage {
-    name = "mongoose-3.6.7";
-    version = "3.6.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongoose/-/mongoose-3.6.7.tgz";
-      name = "mongoose-3.6.7.tgz";
-      sha1 = "aa6c9f4dfb740c7721dbe734fbb97714e5ab0ebc";
-    };
-    deps = {
-      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
-      "mongodb-1.2.14" = self.by-version."mongodb"."1.2.14";
-      "ms-0.1.0" = self.by-version."ms"."0.1.0";
-      "sliced-0.0.3" = self.by-version."sliced"."0.0.3";
-      "muri-0.3.1" = self.by-version."muri"."0.3.1";
-      "mpromise-0.2.1" = self.by-version."mpromise"."0.2.1";
-      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongoose"."3.6.x" =
-    self.by-version."mongoose"."3.6.20";
-  by-version."mongoose"."3.6.20" = self.buildNodePackage {
-    name = "mongoose-3.6.20";
-    version = "3.6.20";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongoose/-/mongoose-3.6.20.tgz";
-      name = "mongoose-3.6.20.tgz";
-      sha1 = "47263843e6b812ea207eec104c40a36c8d215f53";
-    };
-    deps = {
-      "hooks-0.2.1" = self.by-version."hooks"."0.2.1";
-      "mongodb-1.3.19" = self.by-version."mongodb"."1.3.19";
-      "ms-0.1.0" = self.by-version."ms"."0.1.0";
-      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
-      "muri-0.3.1" = self.by-version."muri"."0.3.1";
-      "mpromise-0.2.1" = self.by-version."mpromise"."0.2.1";
-      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
-      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mongoose" = self.by-version."mongoose"."3.6.20";
-  by-spec."mongoose"."4.2.3" =
-    self.by-version."mongoose"."4.2.3";
-  by-version."mongoose"."4.2.3" = self.buildNodePackage {
-    name = "mongoose-4.2.3";
-    version = "4.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongoose/-/mongoose-4.2.3.tgz";
-      name = "mongoose-4.2.3.tgz";
-      sha1 = "a6781998d11f7d0f18d496ee035d76bf9f6b99ed";
-    };
-    deps = {
-      "async-0.9.0" = self.by-version."async"."0.9.0";
-      "bson-0.4.23" = self.by-version."bson"."0.4.23";
-      "hooks-fixed-1.1.0" = self.by-version."hooks-fixed"."1.1.0";
-      "kareem-1.0.1" = self.by-version."kareem"."1.0.1";
-      "mongodb-2.0.46" = self.by-version."mongodb"."2.0.46";
-      "mpath-0.1.1" = self.by-version."mpath"."0.1.1";
-      "mpromise-0.5.4" = self.by-version."mpromise"."0.5.4";
-      "mquery-1.6.3" = self.by-version."mquery"."1.6.3";
-      "ms-0.1.0" = self.by-version."ms"."0.1.0";
-      "muri-1.0.0" = self.by-version."muri"."1.0.0";
-      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
-      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongoose-lifecycle"."1.0.0" =
-    self.by-version."mongoose-lifecycle"."1.0.0";
-  by-version."mongoose-lifecycle"."1.0.0" = self.buildNodePackage {
-    name = "mongoose-lifecycle-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongoose-lifecycle/-/mongoose-lifecycle-1.0.0.tgz";
-      name = "mongoose-lifecycle-1.0.0.tgz";
-      sha1 = "3bac3f3924a845d147784fc6558dee900b0151e2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mongoose-schema-extend"."*" =
-    self.by-version."mongoose-schema-extend"."0.2.2";
-  by-version."mongoose-schema-extend"."0.2.2" = self.buildNodePackage {
-    name = "mongoose-schema-extend-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mongoose-schema-extend/-/mongoose-schema-extend-0.2.2.tgz";
-      name = "mongoose-schema-extend-0.2.2.tgz";
-      sha1 = "f63dd313c422a3871f5569e36b0d28ca1a224631";
-    };
-    deps = {
-      "harmony-reflect-1.4.6" = self.by-version."harmony-reflect"."1.4.6";
-      "owl-deepcopy-0.0.4" = self.by-version."owl-deepcopy"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "mongoose-schema-extend" = self.by-version."mongoose-schema-extend"."0.2.2";
-  by-spec."morgan"."1.0.0" =
-    self.by-version."morgan"."1.0.0";
-  by-version."morgan"."1.0.0" = self.buildNodePackage {
-    name = "morgan-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/morgan/-/morgan-1.0.0.tgz";
-      name = "morgan-1.0.0.tgz";
-      sha1 = "83cf74b9f2d841901f1a9a6b8fa7a468d2e47a8d";
-    };
-    deps = {
-      "bytes-0.2.1" = self.by-version."bytes"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."morgan"."1.2.0" =
-    self.by-version."morgan"."1.2.0";
-  by-version."morgan"."1.2.0" = self.buildNodePackage {
-    name = "morgan-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/morgan/-/morgan-1.2.0.tgz";
-      name = "morgan-1.2.0.tgz";
-      sha1 = "8dc17a57599598f80cd7a7e1e3b54e72c689910d";
-    };
-    deps = {
-      "basic-auth-1.0.0" = self.by-version."basic-auth"."1.0.0";
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "depd-0.4.2" = self.by-version."depd"."0.4.2";
-      "finished-1.2.2" = self.by-version."finished"."1.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."morgan"."~1.6.1" =
-    self.by-version."morgan"."1.6.1";
-  by-version."morgan"."1.6.1" = self.buildNodePackage {
-    name = "morgan-1.6.1";
-    version = "1.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/morgan/-/morgan-1.6.1.tgz";
-      name = "morgan-1.6.1.tgz";
-      sha1 = "5fd818398c6819cba28a7cd6664f292fe1c0bbf2";
-    };
-    deps = {
-      "basic-auth-1.0.4" = self.by-version."basic-auth"."1.0.4";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mpath"."0.1.1" =
-    self.by-version."mpath"."0.1.1";
-  by-version."mpath"."0.1.1" = self.buildNodePackage {
-    name = "mpath-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mpath/-/mpath-0.1.1.tgz";
-      name = "mpath-0.1.1.tgz";
-      sha1 = "23da852b7c232ee097f4759d29c0ee9cd22d5e46";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mpath"."0.2.1" =
-    self.by-version."mpath"."0.2.1";
-  by-version."mpath"."0.2.1" = self.buildNodePackage {
-    name = "mpath-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mpath/-/mpath-0.2.1.tgz";
-      name = "mpath-0.2.1.tgz";
-      sha1 = "3a4e829359801de96309c27a6b2e102e89f9e96e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mpromise"."0.2.1" =
-    self.by-version."mpromise"."0.2.1";
-  by-version."mpromise"."0.2.1" = self.buildNodePackage {
-    name = "mpromise-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mpromise/-/mpromise-0.2.1.tgz";
-      name = "mpromise-0.2.1.tgz";
-      sha1 = "fbbdc28cb0207e49b8a4eb1a4c0cea6c2de794c8";
-    };
-    deps = {
-      "sliced-0.0.4" = self.by-version."sliced"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mpromise"."0.5.4" =
-    self.by-version."mpromise"."0.5.4";
-  by-version."mpromise"."0.5.4" = self.buildNodePackage {
-    name = "mpromise-0.5.4";
-    version = "0.5.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mpromise/-/mpromise-0.5.4.tgz";
-      name = "mpromise-0.5.4.tgz";
-      sha1 = "b610613ec6de37419f944b35f0783b4de9f5dc75";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mpromise"."0.5.5" =
-    self.by-version."mpromise"."0.5.5";
-  by-version."mpromise"."0.5.5" = self.buildNodePackage {
-    name = "mpromise-0.5.5";
-    version = "0.5.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mpromise/-/mpromise-0.5.5.tgz";
-      name = "mpromise-0.5.5.tgz";
-      sha1 = "f5b24259d763acc2257b0a0c8c6d866fd51732e6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mqtt"."1.7.4" =
-    self.by-version."mqtt"."1.7.4";
-  by-version."mqtt"."1.7.4" = self.buildNodePackage {
-    name = "mqtt-1.7.4";
-    version = "1.7.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mqtt/-/mqtt-1.7.4.tgz";
-      name = "mqtt-1.7.4.tgz";
-      sha1 = "bda47e1f6f0cfbd8b861bcfd60012ac39b563f16";
-    };
-    deps = {
-      "commist-1.0.0" = self.by-version."commist"."1.0.0";
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
-      "help-me-0.1.0" = self.by-version."help-me"."0.1.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "mqtt-connection-2.1.1" = self.by-version."mqtt-connection"."2.1.1";
-      "mqtt-packet-3.4.7" = self.by-version."mqtt-packet"."3.4.7";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "reinterval-1.0.2" = self.by-version."reinterval"."1.0.2";
-      "websocket-stream-3.2.1" = self.by-version."websocket-stream"."3.2.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mqtt-connection"."^2.0.0" =
-    self.by-version."mqtt-connection"."2.1.1";
-  by-version."mqtt-connection"."2.1.1" = self.buildNodePackage {
-    name = "mqtt-connection-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mqtt-connection/-/mqtt-connection-2.1.1.tgz";
-      name = "mqtt-connection-2.1.1.tgz";
-      sha1 = "7b2e985a74e196619430bebd35da162c34c4e56a";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "mqtt-packet-3.4.7" = self.by-version."mqtt-packet"."3.4.7";
-      "reduplexer-1.1.0" = self.by-version."reduplexer"."1.1.0";
-      "through2-0.6.5" = self.by-version."through2"."0.6.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mqtt-packet"."^3.0.0" =
-    self.by-version."mqtt-packet"."3.4.7";
-  by-version."mqtt-packet"."3.4.7" = self.buildNodePackage {
-    name = "mqtt-packet-3.4.7";
-    version = "3.4.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mqtt-packet/-/mqtt-packet-3.4.7.tgz";
-      name = "mqtt-packet-3.4.7.tgz";
-      sha1 = "be8c267be7f0bf6a2a2d4f6de28307b6e0940e5f";
-    };
-    deps = {
-      "bl-0.9.5" = self.by-version."bl"."0.9.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mqtt-packet"."^3.2.0" =
-    self.by-version."mqtt-packet"."3.4.7";
-  by-spec."mquery"."1.11.0" =
-    self.by-version."mquery"."1.11.0";
-  by-version."mquery"."1.11.0" = self.buildNodePackage {
-    name = "mquery-1.11.0";
-    version = "1.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mquery/-/mquery-1.11.0.tgz";
-      name = "mquery-1.11.0.tgz";
-      sha1 = "e0c65dedb1037edbf6cfb88262e777fee23551d9";
-    };
-    deps = {
-      "bluebird-2.10.2" = self.by-version."bluebird"."2.10.2";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
-      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mquery"."1.6.3" =
-    self.by-version."mquery"."1.6.3";
-  by-version."mquery"."1.6.3" = self.buildNodePackage {
-    name = "mquery-1.6.3";
-    version = "1.6.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mquery/-/mquery-1.6.3.tgz";
-      name = "mquery-1.6.3.tgz";
-      sha1 = "7c02bfb7e49c8012cece1556c5e65fef61f3c8e5";
-    };
-    deps = {
-      "bluebird-2.9.26" = self.by-version."bluebird"."2.9.26";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "regexp-clone-0.0.1" = self.by-version."regexp-clone"."0.0.1";
-      "sliced-0.0.5" = self.by-version."sliced"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ms"."0.1.0" =
-    self.by-version."ms"."0.1.0";
-  by-version."ms"."0.1.0" = self.buildNodePackage {
-    name = "ms-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ms/-/ms-0.1.0.tgz";
-      name = "ms-0.1.0.tgz";
-      sha1 = "f21fac490daf1d7667fd180fe9077389cc9442b2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ms"."0.6.2" =
-    self.by-version."ms"."0.6.2";
-  by-version."ms"."0.6.2" = self.buildNodePackage {
-    name = "ms-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ms/-/ms-0.6.2.tgz";
-      name = "ms-0.6.2.tgz";
-      sha1 = "d89c2124c6fdc1353d65a8b77bf1aac4b193708c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ms"."0.7.0" =
-    self.by-version."ms"."0.7.0";
-  by-version."ms"."0.7.0" = self.buildNodePackage {
-    name = "ms-0.7.0";
-    version = "0.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ms/-/ms-0.7.0.tgz";
-      name = "ms-0.7.0.tgz";
-      sha1 = "865be94c2e7397ad8a57da6a633a6e2f30798b83";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ms"."0.7.1" =
-    self.by-version."ms"."0.7.1";
-  by-version."ms"."0.7.1" = self.buildNodePackage {
-    name = "ms-0.7.1";
-    version = "0.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ms/-/ms-0.7.1.tgz";
-      name = "ms-0.7.1.tgz";
-      sha1 = "9cd13c03adbff25b65effde7ce864ee952017098";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ms"."^0.7.1" =
-    self.by-version."ms"."0.7.1";
-  by-spec."msgpack".">= 0.0.1" =
-    self.by-version."msgpack"."1.0.2";
-  by-version."msgpack"."1.0.2" = self.buildNodePackage {
-    name = "msgpack-1.0.2";
-    version = "1.0.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/msgpack/-/msgpack-1.0.2.tgz";
-      name = "msgpack-1.0.2.tgz";
-      sha1 = "923e2c5cffa65c8418e9b228d1124793969c429c";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."multer"."0.1.8" =
-    self.by-version."multer"."0.1.8";
-  by-version."multer"."0.1.8" = self.buildNodePackage {
-    name = "multer-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/multer/-/multer-0.1.8.tgz";
-      name = "multer-0.1.8.tgz";
-      sha1 = "551b8a6015093701bcacc964916b1ae06578f37b";
-    };
-    deps = {
-      "busboy-0.2.13" = self.by-version."busboy"."0.2.13";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "qs-1.2.2" = self.by-version."qs"."1.2.2";
-      "type-is-1.5.7" = self.by-version."type-is"."1.5.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."multicast-dns"."^4.0.0" =
-    self.by-version."multicast-dns"."4.0.1";
-  by-version."multicast-dns"."4.0.1" = self.buildNodePackage {
-    name = "multicast-dns-4.0.1";
-    version = "4.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-4.0.1.tgz";
-      name = "multicast-dns-4.0.1.tgz";
-      sha1 = "abf022fc866727055a9e0c2bc98097f5ebad97a2";
-    };
-    deps = {
-      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."multicast-dns"."^6.0.1" =
-    self.by-version."multicast-dns"."6.0.1";
-  by-version."multicast-dns"."6.0.1" = self.buildNodePackage {
-    name = "multicast-dns-6.0.1";
-    version = "6.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.0.1.tgz";
-      name = "multicast-dns-6.0.1.tgz";
-      sha1 = "069da64a0b695e156ef47c86a94e69e1a17ff2c2";
-    };
-    deps = {
-      "dns-packet-1.1.0" = self.by-version."dns-packet"."1.1.0";
-      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."multicast-dns-service-types"."^1.1.0" =
-    self.by-version."multicast-dns-service-types"."1.1.0";
-  by-version."multicast-dns-service-types"."1.1.0" = self.buildNodePackage {
-    name = "multicast-dns-service-types-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz";
-      name = "multicast-dns-service-types-1.1.0.tgz";
-      sha1 = "899f11d9686e5e05cb91b35d5f0e63b773cfc901";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."multiparty"."2.2.0" =
-    self.by-version."multiparty"."2.2.0";
-  by-version."multiparty"."2.2.0" = self.buildNodePackage {
-    name = "multiparty-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/multiparty/-/multiparty-2.2.0.tgz";
-      name = "multiparty-2.2.0.tgz";
-      sha1 = "a567c2af000ad22dc8f2a653d91978ae1f5316f4";
-    };
-    deps = {
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."multiparty"."3.3.2" =
-    self.by-version."multiparty"."3.3.2";
-  by-version."multiparty"."3.3.2" = self.buildNodePackage {
-    name = "multiparty-3.3.2";
-    version = "3.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/multiparty/-/multiparty-3.3.2.tgz";
-      name = "multiparty-3.3.2.tgz";
-      sha1 = "35de6804dc19643e5249f3d3e3bdc6c8ce301d3f";
-    };
-    deps = {
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "stream-counter-0.2.0" = self.by-version."stream-counter"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."multiparty"."~3.3.2" =
-    self.by-version."multiparty"."3.3.2";
-  by-spec."multipipe"."^0.1.2" =
-    self.by-version."multipipe"."0.1.2";
-  by-version."multipipe"."0.1.2" = self.buildNodePackage {
-    name = "multipipe-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/multipipe/-/multipipe-0.1.2.tgz";
-      name = "multipipe-0.1.2.tgz";
-      sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b";
-    };
-    deps = {
-      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."muri"."0.3.1" =
-    self.by-version."muri"."0.3.1";
-  by-version."muri"."0.3.1" = self.buildNodePackage {
-    name = "muri-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/muri/-/muri-0.3.1.tgz";
-      name = "muri-0.3.1.tgz";
-      sha1 = "861889c5c857f1a43700bee85d50731f61727c9a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."muri"."1.0.0" =
-    self.by-version."muri"."1.0.0";
-  by-version."muri"."1.0.0" = self.buildNodePackage {
-    name = "muri-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/muri/-/muri-1.0.0.tgz";
-      name = "muri-1.0.0.tgz";
-      sha1 = "de3bf6bd71d67eae71d76689b950d2de118695c6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."muri"."1.1.0" =
-    self.by-version."muri"."1.1.0";
-  by-version."muri"."1.1.0" = self.buildNodePackage {
-    name = "muri-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/muri/-/muri-1.1.0.tgz";
-      name = "muri-1.1.0.tgz";
-      sha1 = "a3a6d74e68a880f433a249a74969cbb665cc0add";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."murl"."0.4.x" =
-    self.by-version."murl"."0.4.1";
-  by-version."murl"."0.4.1" = self.buildNodePackage {
-    name = "murl-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/murl/-/murl-0.4.1.tgz";
-      name = "murl-0.4.1.tgz";
-      sha1 = "489fbcc7f1b2b77e689c84120a51339c3849c939";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mustache"."2.2.1" =
-    self.by-version."mustache"."2.2.1";
-  by-version."mustache"."2.2.1" = self.buildNodePackage {
-    name = "mustache-2.2.1";
-    version = "2.2.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mustache/-/mustache-2.2.1.tgz";
-      name = "mustache-2.2.1.tgz";
-      sha1 = "2c40ca21c278f53150682bcf9090e41a3339b876";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mutate.js"."^0.2.0" =
-    self.by-version."mutate.js"."0.2.0";
-  by-version."mutate.js"."0.2.0" = self.buildNodePackage {
-    name = "mutate.js-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mutate.js/-/mutate.js-0.2.0.tgz";
-      name = "mutate.js-0.2.0.tgz";
-      sha1 = "2e5cb1ac64c937dae28296e8f42af5eafd9bc7ef";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mute-stream"."0.0.4" =
-    self.by-version."mute-stream"."0.0.4";
-  by-version."mute-stream"."0.0.4" = self.buildNodePackage {
-    name = "mute-stream-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.4.tgz";
-      name = "mute-stream-0.0.4.tgz";
-      sha1 = "a9219960a6d5d5d046597aee51252c6655f7177e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mute-stream"."0.0.5" =
-    self.by-version."mute-stream"."0.0.5";
-  by-version."mute-stream"."0.0.5" = self.buildNodePackage {
-    name = "mute-stream-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.5.tgz";
-      name = "mute-stream-0.0.5.tgz";
-      sha1 = "8fbfabb0a98a253d3184331f9e8deb7372fac6c0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mute-stream"."0.0.6" =
-    self.by-version."mute-stream"."0.0.6";
-  by-version."mute-stream"."0.0.6" = self.buildNodePackage {
-    name = "mute-stream-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.6.tgz";
-      name = "mute-stream-0.0.6.tgz";
-      sha1 = "48962b19e169fd1dfc240b3f1e7317627bbc47db";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mute-stream"."~0.0.4" =
-    self.by-version."mute-stream"."0.0.6";
-  by-spec."mv"."0.0.5" =
-    self.by-version."mv"."0.0.5";
-  by-version."mv"."0.0.5" = self.buildNodePackage {
-    name = "mv-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mv/-/mv-0.0.5.tgz";
-      name = "mv-0.0.5.tgz";
-      sha1 = "15eac759479884df1131d6de56bce20b654f5391";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."mv"."~2" =
-    self.by-version."mv"."2.1.1";
-  by-version."mv"."2.1.1" = self.buildNodePackage {
-    name = "mv-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/mv/-/mv-2.1.1.tgz";
-      name = "mv-2.1.1.tgz";
-      sha1 = "ae6ce0d6f6d5e0a4f7d893798d03c1ea9559b6a2";
-    };
-    deps = {
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "ncp-2.0.0" = self.by-version."ncp"."2.0.0";
-      "rimraf-2.4.5" = self.by-version."rimraf"."2.4.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."2" =
-    self.by-version."nan"."2.3.5";
-  by-version."nan"."2.3.5" = self.buildNodePackage {
-    name = "nan-2.3.5";
-    version = "2.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-2.3.5.tgz";
-      name = "nan-2.3.5.tgz";
-      sha1 = "822a0dc266290ce4cd3a12282ca3e7e364668a08";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."2.0.5" =
-    self.by-version."nan"."2.0.5";
-  by-version."nan"."2.0.5" = self.buildNodePackage {
-    name = "nan-2.0.5";
-    version = "2.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-2.0.5.tgz";
-      name = "nan-2.0.5.tgz";
-      sha1 = "365888014be1fd178db0cbfa258edf7b0cb1c408";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."2.0.7" =
-    self.by-version."nan"."2.0.7";
-  by-version."nan"."2.0.7" = self.buildNodePackage {
-    name = "nan-2.0.7";
-    version = "2.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-2.0.7.tgz";
-      name = "nan-2.0.7.tgz";
-      sha1 = "c726ce45dbd863b46234e4dfe5bf02d0cb309cd8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."2.2.0" =
-    self.by-version."nan"."2.2.0";
-  by-version."nan"."2.2.0" = self.buildNodePackage {
-    name = "nan-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-2.2.0.tgz";
-      name = "nan-2.2.0.tgz";
-      sha1 = "779c07135629503cf6a7b7e6aab33049b3c3853c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."2.3.*" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."2.3.5" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."2.3.x" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan".">=2.0.0" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."^2.0" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."^2.0.5" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."^2.0.8" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."^2.0.9" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."^2.1.0" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."^2.2.0" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."^2.3.0" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."^2.3.2" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."~0.3.0" =
-    self.by-version."nan"."0.3.2";
-  by-version."nan"."0.3.2" = self.buildNodePackage {
-    name = "nan-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-0.3.2.tgz";
-      name = "nan-0.3.2.tgz";
-      sha1 = "0df1935cab15369075ef160ad2894107aa14dc2d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."~1.0.0" =
-    self.by-version."nan"."1.0.0";
-  by-version."nan"."1.0.0" = self.buildNodePackage {
-    name = "nan-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-1.0.0.tgz";
-      name = "nan-1.0.0.tgz";
-      sha1 = "ae24f8850818d662fcab5acf7f3b95bfaa2ccf38";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."~1.8.4" =
-    self.by-version."nan"."1.8.4";
-  by-version."nan"."1.8.4" = self.buildNodePackage {
-    name = "nan-1.8.4";
-    version = "1.8.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-1.8.4.tgz";
-      name = "nan-1.8.4.tgz";
-      sha1 = "3c76b5382eab33e44b758d2813ca9d92e9342f34";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."~2.0.0" =
-    self.by-version."nan"."2.0.9";
-  by-version."nan"."2.0.9" = self.buildNodePackage {
-    name = "nan-2.0.9";
-    version = "2.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-2.0.9.tgz";
-      name = "nan-2.0.9.tgz";
-      sha1 = "d02a770f46778842cceb94e17cab31ffc7234a05";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."~2.1.0" =
-    self.by-version."nan"."2.1.0";
-  by-version."nan"."2.1.0" = self.buildNodePackage {
-    name = "nan-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nan/-/nan-2.1.0.tgz";
-      name = "nan-2.1.0.tgz";
-      sha1 = "020a7ccedc63fdee85f85967d5607849e74abbe8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nan"."~2.3" =
-    self.by-version."nan"."2.3.5";
-  by-spec."nan"."~2.3.3" =
-    self.by-version."nan"."2.3.5";
-  by-spec."native-dns"."0.6.1" =
-    self.by-version."native-dns"."0.6.1";
-  by-version."native-dns"."0.6.1" = self.buildNodePackage {
-    name = "native-dns-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/native-dns/-/native-dns-0.6.1.tgz";
-      name = "native-dns-0.6.1.tgz";
-      sha1 = "f7d2a3c5464bb6f09d9167e35a7350bd7ffe9b82";
-    };
-    deps = {
-      "ipaddr.js-1.1.1" = self.by-version."ipaddr.js"."1.1.1";
-      "native-dns-cache-0.0.2" = self.by-version."native-dns-cache"."0.0.2";
-      "native-dns-packet-0.1.1" = self.by-version."native-dns-packet"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."native-dns-cache".">= 0.0.1" =
-    self.by-version."native-dns-cache"."0.0.2";
-  by-version."native-dns-cache"."0.0.2" = self.buildNodePackage {
-    name = "native-dns-cache-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/native-dns-cache/-/native-dns-cache-0.0.2.tgz";
-      name = "native-dns-cache-0.0.2.tgz";
-      sha1 = "ce0998f7fdf6c7990970a33190624b0e98ee959b";
-    };
-    deps = {
-      "binaryheap-0.0.3" = self.by-version."binaryheap"."0.0.3";
-      "native-dns-packet-0.1.1" = self.by-version."native-dns-packet"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."native-dns-packet".">= 0.0.1" =
-    self.by-version."native-dns-packet"."0.1.1";
-  by-version."native-dns-packet"."0.1.1" = self.buildNodePackage {
-    name = "native-dns-packet-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/native-dns-packet/-/native-dns-packet-0.1.1.tgz";
-      name = "native-dns-packet-0.1.1.tgz";
-      sha1 = "97da90570b8438a00194701ce24d011fd3cc109a";
-    };
-    deps = {
-      "buffercursor-0.0.12" = self.by-version."buffercursor"."0.0.12";
-      "ipaddr.js-1.1.1" = self.by-version."ipaddr.js"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."native-dns-packet".">= 0.0.4" =
-    self.by-version."native-dns-packet"."0.1.1";
-  by-spec."natural"."^0.2.0" =
-    self.by-version."natural"."0.2.1";
-  by-version."natural"."0.2.1" = self.buildNodePackage {
-    name = "natural-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/natural/-/natural-0.2.1.tgz";
-      name = "natural-0.2.1.tgz";
-      sha1 = "1eb5156a9d90b4591949e20e94ebc77bb2339eda";
-    };
-    deps = {
-      "sylvester-0.0.21" = self.by-version."sylvester"."0.0.21";
-      "apparatus-0.0.9" = self.by-version."apparatus"."0.0.9";
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nconf"."*" =
-    self.by-version."nconf"."0.8.4";
-  by-version."nconf"."0.8.4" = self.buildNodePackage {
-    name = "nconf-0.8.4";
-    version = "0.8.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nconf/-/nconf-0.8.4.tgz";
-      name = "nconf-0.8.4.tgz";
-      sha1 = "9502234f7ad6238cab7f92d7c068c20434d3ff93";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "ini-1.3.4" = self.by-version."ini"."1.3.4";
-      "secure-keys-1.0.0" = self.by-version."secure-keys"."1.0.0";
-      "yargs-3.32.0" = self.by-version."yargs"."3.32.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "nconf" = self.by-version."nconf"."0.8.4";
-  by-spec."nconf"."0.6.9" =
-    self.by-version."nconf"."0.6.9";
-  by-version."nconf"."0.6.9" = self.buildNodePackage {
-    name = "nconf-0.6.9";
-    version = "0.6.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nconf/-/nconf-0.6.9.tgz";
-      name = "nconf-0.6.9.tgz";
-      sha1 = "9570ef15ed6f9ae6b2b3c8d5e71b66d3193cd661";
-    };
-    deps = {
-      "async-0.2.9" = self.by-version."async"."0.2.9";
-      "ini-1.3.4" = self.by-version."ini"."1.3.4";
-      "optimist-0.6.0" = self.by-version."optimist"."0.6.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nconf"."~0.6.9" =
-    self.by-version."nconf"."0.6.9";
-  by-spec."ncp"."0.2.x" =
-    self.by-version."ncp"."0.2.7";
-  by-version."ncp"."0.2.7" = self.buildNodePackage {
-    name = "ncp-0.2.7";
-    version = "0.2.7";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ncp/-/ncp-0.2.7.tgz";
-      name = "ncp-0.2.7.tgz";
-      sha1 = "46fac2b7dda2560a4cb7e628677bd5f64eac5be1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ncp"."0.4.2" =
-    self.by-version."ncp"."0.4.2";
-  by-version."ncp"."0.4.2" = self.buildNodePackage {
-    name = "ncp-0.4.2";
-    version = "0.4.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ncp/-/ncp-0.4.2.tgz";
-      name = "ncp-0.4.2.tgz";
-      sha1 = "abcc6cbd3ec2ed2a729ff6e7c1fa8f01784a8574";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ncp"."0.4.x" =
-    self.by-version."ncp"."0.4.2";
-  by-spec."ncp"."~0.4.2" =
-    self.by-version."ncp"."0.4.2";
-  by-spec."ncp"."~2.0.0" =
-    self.by-version."ncp"."2.0.0";
-  by-version."ncp"."2.0.0" = self.buildNodePackage {
-    name = "ncp-2.0.0";
-    version = "2.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ncp/-/ncp-2.0.0.tgz";
-      name = "ncp-2.0.0.tgz";
-      sha1 = "195a21d6c46e361d2fb1281ba38b91e9df7bdbb3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ndjson"."^1.2.3" =
-    self.by-version."ndjson"."1.4.3";
-  by-version."ndjson"."1.4.3" = self.buildNodePackage {
-    name = "ndjson-1.4.3";
-    version = "1.4.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ndjson/-/ndjson-1.4.3.tgz";
-      name = "ndjson-1.4.3.tgz";
-      sha1 = "7aa026fe3ab38a7da1a2b4ad07b1008e733eb239";
-    };
-    deps = {
-      "split2-0.2.1" = self.by-version."split2"."0.2.1";
-      "through2-0.6.5" = self.by-version."through2"."0.6.5";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."needle"."^0.10.0" =
-    self.by-version."needle"."0.10.0";
-  by-version."needle"."0.10.0" = self.buildNodePackage {
-    name = "needle-0.10.0";
-    version = "0.10.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/needle/-/needle-0.10.0.tgz";
-      name = "needle-0.10.0.tgz";
-      sha1 = "16a24d63f2a61152eb74cce1d12af85c507577d4";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."needle"."^0.11.0" =
-    self.by-version."needle"."0.11.0";
-  by-version."needle"."0.11.0" = self.buildNodePackage {
-    name = "needle-0.11.0";
-    version = "0.11.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/needle/-/needle-0.11.0.tgz";
-      name = "needle-0.11.0.tgz";
-      sha1 = "02a71b008eaf7d55ae89fb9fd7685b7b88d7bc29";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."negotiator"."0.3.0" =
-    self.by-version."negotiator"."0.3.0";
-  by-version."negotiator"."0.3.0" = self.buildNodePackage {
-    name = "negotiator-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/negotiator/-/negotiator-0.3.0.tgz";
-      name = "negotiator-0.3.0.tgz";
-      sha1 = "706d692efeddf574d57ea9fb1ab89a4fa7ee8f60";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."negotiator"."0.4.2" =
-    self.by-version."negotiator"."0.4.2";
-  by-version."negotiator"."0.4.2" = self.buildNodePackage {
-    name = "negotiator-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/negotiator/-/negotiator-0.4.2.tgz";
-      name = "negotiator-0.4.2.tgz";
-      sha1 = "8c43ea7e4c40ddfe40c3c0234c4ef77500b8fd37";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."negotiator"."0.4.7" =
-    self.by-version."negotiator"."0.4.7";
-  by-version."negotiator"."0.4.7" = self.buildNodePackage {
-    name = "negotiator-0.4.7";
-    version = "0.4.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/negotiator/-/negotiator-0.4.7.tgz";
-      name = "negotiator-0.4.7.tgz";
-      sha1 = "a4160f7177ec806738631d0d3052325da42abdc8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."negotiator"."0.4.9" =
-    self.by-version."negotiator"."0.4.9";
-  by-version."negotiator"."0.4.9" = self.buildNodePackage {
-    name = "negotiator-0.4.9";
-    version = "0.4.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/negotiator/-/negotiator-0.4.9.tgz";
-      name = "negotiator-0.4.9.tgz";
-      sha1 = "92e46b6db53c7e421ed64a2bc94f08be7630df3f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."negotiator"."0.5.3" =
-    self.by-version."negotiator"."0.5.3";
-  by-version."negotiator"."0.5.3" = self.buildNodePackage {
-    name = "negotiator-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/negotiator/-/negotiator-0.5.3.tgz";
-      name = "negotiator-0.5.3.tgz";
-      sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."negotiator"."0.6.1" =
-    self.by-version."negotiator"."0.6.1";
-  by-version."negotiator"."0.6.1" = self.buildNodePackage {
-    name = "negotiator-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.1.tgz";
-      name = "negotiator-0.6.1.tgz";
-      sha1 = "2b327184e8992101177b28563fb5e7102acd0ca9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."negotiator"."^0.5.1" =
-    self.by-version."negotiator"."0.5.3";
-  by-spec."nested-error-stacks"."^1.0.0" =
-    self.by-version."nested-error-stacks"."1.0.2";
-  by-version."nested-error-stacks"."1.0.2" = self.buildNodePackage {
-    name = "nested-error-stacks-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-1.0.2.tgz";
-      name = "nested-error-stacks-1.0.2.tgz";
-      sha1 = "19f619591519f096769a5ba9a86e6eeec823c3cf";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."net-ping"."1.1.7" =
-    self.by-version."net-ping"."1.1.7";
-  by-version."net-ping"."1.1.7" = self.buildNodePackage {
-    name = "net-ping-1.1.7";
-    version = "1.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/net-ping/-/net-ping-1.1.7.tgz";
-      name = "net-ping-1.1.7.tgz";
-      sha1 = "49f5bca55a30a3726d69253557f231135a637075";
-    };
-    deps = {
-      "raw-socket-1.5.0" = self.by-version."raw-socket"."1.5.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."netmask"."~1.0.4" =
-    self.by-version."netmask"."1.0.6";
-  by-version."netmask"."1.0.6" = self.buildNodePackage {
-    name = "netmask-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/netmask/-/netmask-1.0.6.tgz";
-      name = "netmask-1.0.6.tgz";
-      sha1 = "20297e89d86f6f6400f250d9f4f6b4c1945fcd35";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."network-address"."0.0.5" =
-    self.by-version."network-address"."0.0.5";
-  by-version."network-address"."0.0.5" = self.buildNodePackage {
-    name = "network-address-0.0.5";
-    version = "0.0.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/network-address/-/network-address-0.0.5.tgz";
-      name = "network-address-0.0.5.tgz";
-      sha1 = "a400225438cacb67cd6108e8e826d5920a705dcc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."network-address"."0.0.x" =
-    self.by-version."network-address"."0.0.5";
-  by-spec."network-address"."^1.0.0" =
-    self.by-version."network-address"."1.1.0";
-  by-version."network-address"."1.1.0" = self.buildNodePackage {
-    name = "network-address-1.1.0";
-    version = "1.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/network-address/-/network-address-1.1.0.tgz";
-      name = "network-address-1.1.0.tgz";
-      sha1 = "74d577b0dea652284659079fc8d7010b72f01092";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."next-line"."^1.0.0" =
-    self.by-version."next-line"."1.1.0";
-  by-version."next-line"."1.1.0" = self.buildNodePackage {
-    name = "next-line-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/next-line/-/next-line-1.1.0.tgz";
-      name = "next-line-1.1.0.tgz";
-      sha1 = "fcae57853052b6a9bae8208e40dd7d3c2d304603";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nib"."*" =
-    self.by-version."nib"."1.1.0";
-  by-version."nib"."1.1.0" = self.buildNodePackage {
-    name = "nib-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nib/-/nib-1.1.0.tgz";
-      name = "nib-1.1.0.tgz";
-      sha1 = "527c19662a10a2b565fe85e9b309d622aa7557d3";
-    };
-    deps = {
-      "stylus-0.49.3" = self.by-version."stylus"."0.49.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "nib" = self.by-version."nib"."1.1.0";
-  by-spec."nib"."~1.1.0" =
-    self.by-version."nib"."1.1.0";
-  by-spec."nijs"."*" =
-    self.by-version."nijs"."0.0.23";
-  by-version."nijs"."0.0.23" = self.buildNodePackage {
-    name = "nijs-0.0.23";
-    version = "0.0.23";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nijs/-/nijs-0.0.23.tgz";
-      name = "nijs-0.0.23.tgz";
-      sha1 = "dbf8f4a0acafbe3b8d9b71c24cbd1d851de6c31a";
-    };
-    deps = {
-      "optparse-1.0.5" = self.by-version."optparse"."1.0.5";
-      "slasp-0.0.4" = self.by-version."slasp"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "nijs" = self.by-version."nijs"."0.0.23";
-  by-spec."node-alias"."^1.0.3" =
-    self.by-version."node-alias"."1.0.4";
-  by-version."node-alias"."1.0.4" = self.buildNodePackage {
-    name = "node-alias-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-alias/-/node-alias-1.0.4.tgz";
-      name = "node-alias-1.0.4.tgz";
-      sha1 = "1f1b916b56b9ea241c0135f97ced6940f556f292";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-appc"."0.2.31" =
-    self.by-version."node-appc"."0.2.31";
-  by-version."node-appc"."0.2.31" = self.buildNodePackage {
-    name = "node-appc-0.2.31";
-    version = "0.2.31";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-appc/-/node-appc-0.2.31.tgz";
-      name = "node-appc-0.2.31.tgz";
-      sha1 = "8d8d0052fd8b8ce4bc44f06883009f7c950bc8c2";
-    };
-    deps = {
-      "adm-zip-0.4.7" = self.by-version."adm-zip"."0.4.7";
-      "async-1.4.2" = self.by-version."async"."1.4.2";
-      "colors-1.1.2" = self.by-version."colors"."1.1.2";
-      "diff-2.1.0" = self.by-version."diff"."2.1.0";
-      "node-uuid-1.4.3" = self.by-version."node-uuid"."1.4.3";
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-      "request-2.61.0" = self.by-version."request"."2.61.0";
-      "semver-5.0.1" = self.by-version."semver"."5.0.1";
-      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
-      "temp-0.8.3" = self.by-version."temp"."0.8.3";
-      "wrench-1.5.8" = self.by-version."wrench"."1.5.8";
-      "uglify-js-2.4.24" = self.by-version."uglify-js"."2.4.24";
-      "xmldom-0.1.19" = self.by-version."xmldom"."0.1.19";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-craigslist"."^0.1.7" =
-    self.by-version."node-craigslist"."0.1.9";
-  by-version."node-craigslist"."0.1.9" = self.buildNodePackage {
-    name = "node-craigslist-0.1.9";
-    version = "0.1.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-craigslist/-/node-craigslist-0.1.9.tgz";
-      name = "node-craigslist-0.1.9.tgz";
-      sha1 = "d33d9d18337e6d1002f3a417d66a6b8b33dcbe98";
-    };
-    deps = {
-      "cheerio-0.17.0" = self.by-version."cheerio"."0.17.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-expat"."*" =
-    self.by-version."node-expat"."2.3.13";
-  by-version."node-expat"."2.3.13" = self.buildNodePackage {
-    name = "node-expat-2.3.13";
-    version = "2.3.13";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-expat/-/node-expat-2.3.13.tgz";
-      name = "node-expat-2.3.13.tgz";
-      sha1 = "e32494308d14f451e2b8efa4464f52e1e8a59532";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-expat" = self.by-version."node-expat"."2.3.13";
-  by-spec."node-expat"."^2.3.0" =
-    self.by-version."node-expat"."2.3.13";
-  by-spec."node-expat"."^2.3.9" =
-    self.by-version."node-expat"."2.3.13";
-  by-spec."node-expat"."~2.3.0" =
-    self.by-version."node-expat"."2.3.13";
-  by-spec."node-expat"."~2.3.7" =
-    self.by-version."node-expat"."2.3.13";
-  by-spec."node-expat"."~2.3.8" =
-    self.by-version."node-expat"."2.3.13";
-  by-spec."node-fetch"."^1.0.1" =
-    self.by-version."node-fetch"."1.5.3";
-  by-version."node-fetch"."1.5.3" = self.buildNodePackage {
-    name = "node-fetch-1.5.3";
-    version = "1.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-fetch/-/node-fetch-1.5.3.tgz";
-      name = "node-fetch-1.5.3.tgz";
-      sha1 = "f28d8b95ca8d45b433745dd319361e36402baef0";
-    };
-    deps = {
-      "encoding-0.1.12" = self.by-version."encoding"."0.1.12";
-      "is-stream-1.1.0" = self.by-version."is-stream"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-forge"."^0.6.33" =
-    self.by-version."node-forge"."0.6.39";
-  by-version."node-forge"."0.6.39" = self.buildNodePackage {
-    name = "node-forge-0.6.39";
-    version = "0.6.39";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-forge/-/node-forge-0.6.39.tgz";
-      name = "node-forge-0.6.39.tgz";
-      sha1 = "2184e89dba9b44b3aa54cd4bf1e7334f247cf9ce";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-fs"."^0.1.7" =
-    self.by-version."node-fs"."0.1.7";
-  by-version."node-fs"."0.1.7" = self.buildNodePackage {
-    name = "node-fs-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-fs/-/node-fs-0.1.7.tgz";
-      name = "node-fs-0.1.7.tgz";
-      sha1 = "32323cccb46c9fbf0fc11812d45021cc31d325bb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ "linux" "darwin" "freebsd" "win32" "smartos" "sunos" ];
-    cpu = [ ];
-  };
-  by-spec."node-gyp"."*" =
-    self.by-version."node-gyp"."3.3.1";
-  by-version."node-gyp"."3.3.1" = self.buildNodePackage {
-    name = "node-gyp-3.3.1";
-    version = "3.3.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-gyp/-/node-gyp-3.3.1.tgz";
-      name = "node-gyp-3.3.1.tgz";
-      sha1 = "80f7b6d7c2f9c0495ba42c518a670c99bdf6e4a0";
-    };
-    deps = {
-      "fstream-1.0.9" = self.by-version."fstream"."1.0.9";
-      "glob-4.5.3" = self.by-version."glob"."4.5.3";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "npmlog-2.0.4" = self.by-version."npmlog"."2.0.4";
-      "osenv-0.1.3" = self.by-version."osenv"."0.1.3";
-      "path-array-1.0.1" = self.by-version."path-array"."1.0.1";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "tar-2.2.1" = self.by-version."tar"."2.2.1";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-gyp" = self.by-version."node-gyp"."3.3.1";
-  by-spec."node-gyp"."~3.3.1" =
-    self.by-version."node-gyp"."3.3.1";
-  by-spec."node-inspector"."*" =
-    self.by-version."node-inspector"."0.12.8";
-  by-version."node-inspector"."0.12.8" = self.buildNodePackage {
-    name = "node-inspector-0.12.8";
-    version = "0.12.8";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-inspector/-/node-inspector-0.12.8.tgz";
-      name = "node-inspector-0.12.8.tgz";
-      sha1 = "a59c3dc47cb08d15a2e526be3a1da7d64e5c227f";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "biased-opener-0.2.8" = self.by-version."biased-opener"."0.2.8";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "express-4.13.4" = self.by-version."express"."4.13.4";
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-      "path-is-absolute-1.0.0" = self.by-version."path-is-absolute"."1.0.0";
-      "rc-1.1.6" = self.by-version."rc"."1.1.6";
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-      "serve-favicon-2.3.0" = self.by-version."serve-favicon"."2.3.0";
-      "strong-data-uri-1.0.4" = self.by-version."strong-data-uri"."1.0.4";
-      "v8-debug-0.7.7" = self.by-version."v8-debug"."0.7.7";
-      "v8-profiler-5.6.5" = self.by-version."v8-profiler"."5.6.5";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-      "ws-1.1.0" = self.by-version."ws"."1.1.0";
-      "yargs-3.32.0" = self.by-version."yargs"."3.32.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-inspector" = self.by-version."node-inspector"."0.12.8";
-  by-spec."node-int64"."~0.3.0" =
-    self.by-version."node-int64"."0.3.3";
-  by-version."node-int64"."0.3.3" = self.buildNodePackage {
-    name = "node-int64-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-int64/-/node-int64-0.3.3.tgz";
-      name = "node-int64-0.3.3.tgz";
-      sha1 = "2d6e6b2ece5de8588b43d88d1bc41b26cd1fa84d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-libs-browser"."^1.0.0" =
-    self.by-version."node-libs-browser"."1.0.0";
-  by-version."node-libs-browser"."1.0.0" = self.buildNodePackage {
-    name = "node-libs-browser-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-1.0.0.tgz";
-      name = "node-libs-browser-1.0.0.tgz";
-      sha1 = "ff8ad6c2cfa78043bdd0091ec07f0aaa581620fc";
-    };
-    deps = {
-      "assert-1.4.1" = self.by-version."assert"."1.4.1";
-      "browserify-zlib-0.1.4" = self.by-version."browserify-zlib"."0.1.4";
-      "buffer-4.6.0" = self.by-version."buffer"."4.6.0";
-      "console-browserify-1.1.0" = self.by-version."console-browserify"."1.1.0";
-      "constants-browserify-1.0.0" = self.by-version."constants-browserify"."1.0.0";
-      "crypto-browserify-3.11.0" = self.by-version."crypto-browserify"."3.11.0";
-      "domain-browser-1.1.7" = self.by-version."domain-browser"."1.1.7";
-      "events-1.1.0" = self.by-version."events"."1.1.0";
-      "http-browserify-1.7.0" = self.by-version."http-browserify"."1.7.0";
-      "https-browserify-0.0.1" = self.by-version."https-browserify"."0.0.1";
-      "os-browserify-0.2.1" = self.by-version."os-browserify"."0.2.1";
-      "path-browserify-0.0.0" = self.by-version."path-browserify"."0.0.0";
-      "process-0.11.4" = self.by-version."process"."0.11.4";
-      "punycode-1.4.1" = self.by-version."punycode"."1.4.1";
-      "querystring-es3-0.2.1" = self.by-version."querystring-es3"."0.2.1";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-      "stream-browserify-2.0.1" = self.by-version."stream-browserify"."2.0.1";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "timers-browserify-1.4.2" = self.by-version."timers-browserify"."1.4.2";
-      "tty-browserify-0.0.0" = self.by-version."tty-browserify"."0.0.0";
-      "url-0.11.0" = self.by-version."url"."0.11.0";
-      "util-0.10.3" = self.by-version."util"."0.10.3";
-      "vm-browserify-0.0.4" = self.by-version."vm-browserify"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-options"."0.0.6" =
-    self.by-version."node-options"."0.0.6";
-  by-version."node-options"."0.0.6" = self.buildNodePackage {
-    name = "node-options-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-options/-/node-options-0.0.6.tgz";
-      name = "node-options-0.0.6.tgz";
-      sha1 = "98721bd14fc4969a619e4d87666449f1f92477ed";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-pre-gyp"."0.6.x" =
-    self.by-version."node-pre-gyp"."0.6.28";
-  by-version."node-pre-gyp"."0.6.28" = self.buildNodePackage {
-    name = "node-pre-gyp-0.6.28";
-    version = "0.6.28";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp/-/node-pre-gyp-0.6.28.tgz";
-      name = "node-pre-gyp-0.6.28.tgz";
-      sha1 = "e440f5faff5480735b4fd0509ff33f9da93d7c20";
-    };
-    deps = {
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "npmlog-2.0.4" = self.by-version."npmlog"."2.0.4";
-      "rc-1.1.6" = self.by-version."rc"."1.1.6";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "tar-2.2.1" = self.by-version."tar"."2.2.1";
-      "tar-pack-3.1.3" = self.by-version."tar-pack"."3.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-pre-gyp"."^0.6.25" =
-    self.by-version."node-pre-gyp"."0.6.28";
-  by-spec."node-pre-gyp"."^0.6.5" =
-    self.by-version."node-pre-gyp"."0.6.28";
-  by-spec."node-pre-gyp-github"."^1.1.0" =
-    self.by-version."node-pre-gyp-github"."1.3.1";
-  by-version."node-pre-gyp-github"."1.3.1" = self.buildNodePackage {
-    name = "node-pre-gyp-github-1.3.1";
-    version = "1.3.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-pre-gyp-github/-/node-pre-gyp-github-1.3.1.tgz";
-      name = "node-pre-gyp-github-1.3.1.tgz";
-      sha1 = "c6965303995b5b083eca64a1aa35fd2b511dcbb3";
-    };
-    deps = {
-      "github-0.2.4" = self.by-version."github"."0.2.4";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-protobuf"."*" =
-    self.by-version."node-protobuf"."1.2.14";
-  by-version."node-protobuf"."1.2.14" = self.buildNodePackage {
-    name = "node-protobuf-1.2.14";
-    version = "1.2.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-protobuf/-/node-protobuf-1.2.14.tgz";
-      name = "node-protobuf-1.2.14.tgz";
-      sha1 = "99fced0cd2e6daeba48c664f99b13d1df930d0a0";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-protobuf" = self.by-version."node-protobuf"."1.2.14";
-  by-spec."node-red"."*" =
-    self.by-version."node-red"."0.13.4";
-  by-version."node-red"."0.13.4" = self.buildNodePackage {
-    name = "node-red-0.13.4";
-    version = "0.13.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-red/-/node-red-0.13.4.tgz";
-      name = "node-red-0.13.4.tgz";
-      sha1 = "128a7e52129132d8fc5f0f7dc0ddd22b3de14bf1";
-    };
-    deps = {
-      "basic-auth-1.0.3" = self.by-version."basic-auth"."1.0.3";
-      "bcryptjs-2.3.0" = self.by-version."bcryptjs"."2.3.0";
-      "body-parser-1.15.0" = self.by-version."body-parser"."1.15.0";
-      "cheerio-0.19.0" = self.by-version."cheerio"."0.19.0";
-      "clone-1.0.2" = self.by-version."clone"."1.0.2";
-      "cors-2.7.1" = self.by-version."cors"."2.7.1";
-      "cron-1.1.0" = self.by-version."cron"."1.1.0";
-      "express-4.13.4" = self.by-version."express"."4.13.4";
-      "follow-redirects-0.0.7" = self.by-version."follow-redirects"."0.0.7";
-      "fs-extra-0.26.7" = self.by-version."fs-extra"."0.26.7";
-      "fs.notify-0.0.4" = self.by-version."fs.notify"."0.0.4";
-      "i18next-1.10.6" = self.by-version."i18next"."1.10.6";
-      "is-utf8-0.2.1" = self.by-version."is-utf8"."0.2.1";
-      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "mqtt-1.7.4" = self.by-version."mqtt"."1.7.4";
-      "mustache-2.2.1" = self.by-version."mustache"."2.2.1";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "oauth2orize-1.2.2" = self.by-version."oauth2orize"."1.2.2";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-      "passport-0.3.2" = self.by-version."passport"."0.3.2";
-      "passport-http-bearer-1.0.1" = self.by-version."passport-http-bearer"."1.0.1";
-      "passport-oauth2-client-password-0.1.2" = self.by-version."passport-oauth2-client-password"."0.1.2";
-      "raw-body-2.1.6" = self.by-version."raw-body"."2.1.6";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "sentiment-1.0.6" = self.by-version."sentiment"."1.0.6";
-      "uglify-js-2.6.2" = self.by-version."uglify-js"."2.6.2";
-      "when-3.7.7" = self.by-version."when"."3.7.7";
-      "ws-0.8.1" = self.by-version."ws"."0.8.1";
-      "xml2js-0.4.16" = self.by-version."xml2js"."0.4.16";
-      "node-red-node-feedparser-0.1.5" = self.by-version."node-red-node-feedparser"."0.1.5";
-      "node-red-node-email-0.1.8" = self.by-version."node-red-node-email"."0.1.8";
-      "node-red-node-twitter-0.1.6" = self.by-version."node-red-node-twitter"."0.1.6";
-      "node-red-node-rbe-0.1.5" = self.by-version."node-red-node-rbe"."0.1.5";
-    };
-    optionalDependencies = {
-      "node-red-node-serialport-0.1.2" = self.by-version."node-red-node-serialport"."0.1.2";
-      "bcrypt-0.8.5" = self.by-version."bcrypt"."0.8.5";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-red" = self.by-version."node-red"."0.13.4";
-  by-spec."node-red-node-email"."0.1.*" =
-    self.by-version."node-red-node-email"."0.1.8";
-  by-version."node-red-node-email"."0.1.8" = self.buildNodePackage {
-    name = "node-red-node-email-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-red-node-email/-/node-red-node-email-0.1.8.tgz";
-      name = "node-red-node-email-0.1.8.tgz";
-      sha1 = "685313d1edda41e97cfcb2c3149f426bef19f935";
-    };
-    deps = {
-      "nodemailer-1.11.0" = self.by-version."nodemailer"."1.11.0";
-      "poplib-0.1.7" = self.by-version."poplib"."0.1.7";
-      "mailparser-0.6.0" = self.by-version."mailparser"."0.6.0";
-      "imap-0.8.17" = self.by-version."imap"."0.8.17";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-red-node-feedparser"."0.1.*" =
-    self.by-version."node-red-node-feedparser"."0.1.5";
-  by-version."node-red-node-feedparser"."0.1.5" = self.buildNodePackage {
-    name = "node-red-node-feedparser-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-red-node-feedparser/-/node-red-node-feedparser-0.1.5.tgz";
-      name = "node-red-node-feedparser-0.1.5.tgz";
-      sha1 = "88f2b68b3c00d2cd95498436baf9ed13b552b8d0";
-    };
-    deps = {
-      "feedparser-1.1.3" = self.by-version."feedparser"."1.1.3";
-      "request-2.65.0" = self.by-version."request"."2.65.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-red-node-rbe"."0.1.*" =
-    self.by-version."node-red-node-rbe"."0.1.5";
-  by-version."node-red-node-rbe"."0.1.5" = self.buildNodePackage {
-    name = "node-red-node-rbe-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-red-node-rbe/-/node-red-node-rbe-0.1.5.tgz";
-      name = "node-red-node-rbe-0.1.5.tgz";
-      sha1 = "9df9b13b8828c9396319a54ad7c0fbb1a4005e9d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-red-node-serialport"."0.1.*" =
-    self.by-version."node-red-node-serialport"."0.1.2";
-  by-version."node-red-node-serialport"."0.1.2" = self.buildNodePackage {
-    name = "node-red-node-serialport-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-red-node-serialport/-/node-red-node-serialport-0.1.2.tgz";
-      name = "node-red-node-serialport-0.1.2.tgz";
-      sha1 = "50ee3de46ef9b709fd110b22d9f7283955fa4b9b";
-    };
-    deps = {
-      "serialport-2.0.6" = self.by-version."serialport"."2.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-red-node-twitter"."0.1.*" =
-    self.by-version."node-red-node-twitter"."0.1.6";
-  by-version."node-red-node-twitter"."0.1.6" = self.buildNodePackage {
-    name = "node-red-node-twitter-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-red-node-twitter/-/node-red-node-twitter-0.1.6.tgz";
-      name = "node-red-node-twitter-0.1.6.tgz";
-      sha1 = "ee1c65767db0325f316987bf155543864995e618";
-    };
-    deps = {
-      "twitter-ng-0.6.2" = self.by-version."twitter-ng"."0.6.2";
-      "oauth-0.9.14" = self.by-version."oauth"."0.9.14";
-      "request-2.67.0" = self.by-version."request"."2.67.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-redis-scripty"."0.0.5" =
-    self.by-version."node-redis-scripty"."0.0.5";
-  by-version."node-redis-scripty"."0.0.5" = self.buildNodePackage {
-    name = "node-redis-scripty-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-redis-scripty/-/node-redis-scripty-0.0.5.tgz";
-      name = "node-redis-scripty-0.0.5.tgz";
-      sha1 = "4bf2d365ab6dab202cc08b7ac63f8f55aadc9625";
-    };
-    deps = {
-      "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
-      "extend-1.3.0" = self.by-version."extend"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-redis-warlock"."~0.1.2" =
-    self.by-version."node-redis-warlock"."0.1.4";
-  by-version."node-redis-warlock"."0.1.4" = self.buildNodePackage {
-    name = "node-redis-warlock-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-redis-warlock/-/node-redis-warlock-0.1.4.tgz";
-      name = "node-redis-warlock-0.1.4.tgz";
-      sha1 = "a9050d0d257ff3498b6e51a097f15ed5e297479e";
-    };
-    deps = {
-      "node-redis-scripty-0.0.5" = self.by-version."node-redis-scripty"."0.0.5";
-      "uuid-2.0.2" = self.by-version."uuid"."2.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-stringprep"."*" =
-    self.by-version."node-stringprep"."0.8.0";
-  by-version."node-stringprep"."0.8.0" = self.buildNodePackage {
-    name = "node-stringprep-0.8.0";
-    version = "0.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-stringprep/-/node-stringprep-0.8.0.tgz";
-      name = "node-stringprep-0.8.0.tgz";
-      sha1 = "e4a39e48ea4486ec454bc08dca51dd1aa4686417";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-stringprep" = self.by-version."node-stringprep"."0.8.0";
-  by-spec."node-stringprep"."^0.7.0" =
-    self.by-version."node-stringprep"."0.7.3";
-  by-version."node-stringprep"."0.7.3" = self.buildNodePackage {
-    name = "node-stringprep-0.7.3";
-    version = "0.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-stringprep/-/node-stringprep-0.7.3.tgz";
-      name = "node-stringprep-0.7.3.tgz";
-      sha1 = "78b93d29660b6eddec501f2b2fa3f5e2e09dc6fd";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "nan-1.8.4" = self.by-version."nan"."1.8.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-stringprep"."~0.7.0" =
-    self.by-version."node-stringprep"."0.7.3";
-  by-spec."node-swt".">=0.1.1" =
-    self.by-version."node-swt"."0.1.1";
-  by-version."node-swt"."0.1.1" = self.buildNodePackage {
-    name = "node-swt-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-swt/-/node-swt-0.1.1.tgz";
-      name = "node-swt-0.1.1.tgz";
-      sha1 = "af0903825784be553b93dbae57d99d59060585dd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-txstatsd"."~0.1.5" =
-    self.by-version."node-txstatsd"."0.1.6";
-  by-version."node-txstatsd"."0.1.6" = self.buildNodePackage {
-    name = "node-txstatsd-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-txstatsd/-/node-txstatsd-0.1.6.tgz";
-      name = "node-txstatsd-0.1.6.tgz";
-      sha1 = "924d22e5348c40156c2eb5ac29a5bb5609ca2a04";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-uptime"."https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" =
-    self.by-version."node-uptime"."3.2.0";
-  by-version."node-uptime"."3.2.0" = self.buildNodePackage {
-    name = "node-uptime-3.2.0";
-    version = "3.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7";
-      name = "node-uptime-3.2.0.tgz";
-      sha256 = "46424d7f9553ce7313cc09995ab11d237dd02257c29f260cfb38d2799e7c7746";
-    };
-    deps = {
-      "mongoose-3.6.7" = self.by-version."mongoose"."3.6.7";
-      "mongoose-lifecycle-1.0.0" = self.by-version."mongoose-lifecycle"."1.0.0";
-      "express-3.2.0" = self.by-version."express"."3.2.0";
-      "express-partials-0.0.6" = self.by-version."express-partials"."0.0.6";
-      "connect-flash-0.1.0" = self.by-version."connect-flash"."0.1.0";
-      "ejs-0.8.3" = self.by-version."ejs"."0.8.3";
-      "config-0.4.15" = self.by-version."config"."0.4.15";
-      "async-0.1.22" = self.by-version."async"."0.1.22";
-      "socket.io-0.9.14" = self.by-version."socket.io"."0.9.14";
-      "semver-1.1.0" = self.by-version."semver"."1.1.0";
-      "moment-2.1.0" = self.by-version."moment"."2.1.0";
-      "nodemailer-0.3.35" = self.by-version."nodemailer"."0.3.35";
-      "net-ping-1.1.7" = self.by-version."net-ping"."1.1.7";
-      "js-yaml-2.1.0" = self.by-version."js-yaml"."2.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-uptime" = self.by-version."node-uptime"."3.2.0";
-  by-spec."node-uuid"."*" =
-    self.by-version."node-uuid"."1.4.7";
-  by-version."node-uuid"."1.4.7" = self.buildNodePackage {
-    name = "node-uuid-1.4.7";
-    version = "1.4.7";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.7.tgz";
-      name = "node-uuid-1.4.7.tgz";
-      sha1 = "6da5a17668c4b3dd59623bda11cf7fa4c1f60a6f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-uuid" = self.by-version."node-uuid"."1.4.7";
-  by-spec."node-uuid"."1.3.3" =
-    self.by-version."node-uuid"."1.3.3";
-  by-version."node-uuid"."1.3.3" = self.buildNodePackage {
-    name = "node-uuid-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.3.3.tgz";
-      name = "node-uuid-1.3.3.tgz";
-      sha1 = "d3db4d7b56810d9e4032342766282af07391729b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-uuid"."1.4.1" =
-    self.by-version."node-uuid"."1.4.1";
-  by-version."node-uuid"."1.4.1" = self.buildNodePackage {
-    name = "node-uuid-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.1.tgz";
-      name = "node-uuid-1.4.1.tgz";
-      sha1 = "39aef510e5889a3dca9c895b506c73aae1bac048";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-uuid"."1.4.3" =
-    self.by-version."node-uuid"."1.4.3";
-  by-version."node-uuid"."1.4.3" = self.buildNodePackage {
-    name = "node-uuid-1.4.3";
-    version = "1.4.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-uuid/-/node-uuid-1.4.3.tgz";
-      name = "node-uuid-1.4.3.tgz";
-      sha1 = "319bb7a56e7cb63f00b5c0cd7851cd4b4ddf1df9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-uuid"."1.4.7" =
-    self.by-version."node-uuid"."1.4.7";
-  by-spec."node-uuid"."^1.3.3" =
-    self.by-version."node-uuid"."1.4.7";
-  by-spec."node-uuid"."^1.4.1" =
-    self.by-version."node-uuid"."1.4.7";
-  by-spec."node-uuid"."^1.4.7" =
-    self.by-version."node-uuid"."1.4.7";
-  by-spec."node-uuid"."~1.4.0" =
-    self.by-version."node-uuid"."1.4.7";
-  by-spec."node-uuid"."~1.4.1" =
-    self.by-version."node-uuid"."1.4.7";
-  by-spec."node-uuid"."~1.4.3" =
-    self.by-version."node-uuid"."1.4.7";
-  by-spec."node-uuid"."~1.4.7" =
-    self.by-version."node-uuid"."1.4.7";
-  by-spec."node-wsfederation".">=0.1.1" =
-    self.by-version."node-wsfederation"."0.1.1";
-  by-version."node-wsfederation"."0.1.1" = self.buildNodePackage {
-    name = "node-wsfederation-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-wsfederation/-/node-wsfederation-0.1.1.tgz";
-      name = "node-wsfederation-0.1.1.tgz";
-      sha1 = "9abf1dd3b20a3ab0a38f899c882c218d734e8a7b";
-    };
-    deps = {
-      "xml2js-0.4.16" = self.by-version."xml2js"."0.4.16";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-xmpp-client"."*" =
-    self.by-version."node-xmpp-client"."3.0.1";
-  by-version."node-xmpp-client"."3.0.1" = self.buildNodePackage {
-    name = "node-xmpp-client-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-client/-/node-xmpp-client-3.0.1.tgz";
-      name = "node-xmpp-client-3.0.1.tgz";
-      sha1 = "75c8f097d658d8ecc7b846cea531030c817616cc";
-    };
-    deps = {
-      "browser-request-0.3.3" = self.by-version."browser-request"."0.3.3";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "faye-websocket-0.10.0" = self.by-version."faye-websocket"."0.10.0";
-      "istanbul-0.4.3" = self.by-version."istanbul"."0.4.3";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "node-xmpp-core-5.0.2" = self.by-version."node-xmpp-core"."5.0.2";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-xmpp-client" = self.by-version."node-xmpp-client"."3.0.1";
-  by-spec."node-xmpp-component"."*" =
-    self.by-version."node-xmpp-component"."2.0.2";
-  by-version."node-xmpp-component"."2.0.2" = self.buildNodePackage {
-    name = "node-xmpp-component-2.0.2";
-    version = "2.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-component/-/node-xmpp-component-2.0.2.tgz";
-      name = "node-xmpp-component-2.0.2.tgz";
-      sha1 = "74588fd2b7cecff9f7b8df691ea664d4f1ae522b";
-    };
-    deps = {
-      "node-xmpp-core-5.0.2" = self.by-version."node-xmpp-core"."5.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-xmpp-component" = self.by-version."node-xmpp-component"."2.0.2";
-  by-spec."node-xmpp-core"."*" =
-    self.by-version."node-xmpp-core"."5.0.2";
-  by-version."node-xmpp-core"."5.0.2" = self.buildNodePackage {
-    name = "node-xmpp-core-5.0.2";
-    version = "5.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-core/-/node-xmpp-core-5.0.2.tgz";
-      name = "node-xmpp-core-5.0.2.tgz";
-      sha1 = "17603b38753e7d97a9bc866ceabc637fcd5a7b8b";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "lodash.assign-4.0.9" = self.by-version."lodash.assign"."4.0.9";
-      "ltx-2.4.1" = self.by-version."ltx"."2.4.1";
-      "node-xmpp-jid-2.3.0" = self.by-version."node-xmpp-jid"."2.3.0";
-      "node-xmpp-stanza-1.1.0" = self.by-version."node-xmpp-stanza"."1.1.0";
-      "reconnect-core-0.0.1" = self.by-version."reconnect-core"."0.0.1";
-      "node-xmpp-tls-connect-1.0.1" = self.by-version."node-xmpp-tls-connect"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-xmpp-core" = self.by-version."node-xmpp-core"."5.0.2";
-  by-spec."node-xmpp-core"."^5.0.0" =
-    self.by-version."node-xmpp-core"."5.0.2";
-  by-spec."node-xmpp-core"."^5.0.1" =
-    self.by-version."node-xmpp-core"."5.0.2";
-  by-spec."node-xmpp-core"."~1.0.0-alpha14" =
-    self.by-version."node-xmpp-core"."1.0.0";
-  by-version."node-xmpp-core"."1.0.0" = self.buildNodePackage {
-    name = "node-xmpp-core-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-core/-/node-xmpp-core-1.0.0.tgz";
-      name = "node-xmpp-core-1.0.0.tgz";
-      sha1 = "6c96e7f5ce044fcc93ffb2cc45cb100e09af149f";
-    };
-    deps = {
-      "node-stringprep-0.7.3" = self.by-version."node-stringprep"."0.7.3";
-      "reconnect-core-0.0.1" = self.by-version."reconnect-core"."0.0.1";
-      "tls-connect-0.2.2" = self.by-version."tls-connect"."0.2.2";
-      "ltx-0.9.1" = self.by-version."ltx"."0.9.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-xmpp-jid"."^2.3.0" =
-    self.by-version."node-xmpp-jid"."2.3.0";
-  by-version."node-xmpp-jid"."2.3.0" = self.buildNodePackage {
-    name = "node-xmpp-jid-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-jid/-/node-xmpp-jid-2.3.0.tgz";
-      name = "node-xmpp-jid-2.3.0.tgz";
-      sha1 = "60a3c950582a0cdcfda074494357a85178f38878";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-xmpp-joap"."*" =
-    self.by-version."node-xmpp-joap"."0.0.19";
-  by-version."node-xmpp-joap"."0.0.19" = self.buildNodePackage {
-    name = "node-xmpp-joap-0.0.19";
-    version = "0.0.19";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-joap/-/node-xmpp-joap-0.0.19.tgz";
-      name = "node-xmpp-joap-0.0.19.tgz";
-      sha1 = "d026cef86639f9db67e0d7451f38bb2337ed1511";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "ltx-0.9.1" = self.by-version."ltx"."0.9.1";
-      "node-expat-2.3.13" = self.by-version."node-expat"."2.3.13";
-      "node-stringprep-0.7.3" = self.by-version."node-stringprep"."0.7.3";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "node-xmpp-core-1.0.0" = self.by-version."node-xmpp-core"."1.0.0";
-      "toobusy-js-0.4.3" = self.by-version."toobusy-js"."0.4.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-xmpp-joap" = self.by-version."node-xmpp-joap"."0.0.19";
-  by-spec."node-xmpp-server"."*" =
-    self.by-version."node-xmpp-server"."2.1.3";
-  by-version."node-xmpp-server"."2.1.3" = self.buildNodePackage {
-    name = "node-xmpp-server-2.1.3";
-    version = "2.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-server/-/node-xmpp-server-2.1.3.tgz";
-      name = "node-xmpp-server-2.1.3.tgz";
-      sha1 = "2759cc2ac50e66f0a94618756e92e32da12b3df5";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "es6-collections-0.5.6" = self.by-version."es6-collections"."0.5.6";
-      "hat-0.0.3" = self.by-version."hat"."0.0.3";
-      "node-xmpp-core-5.0.2" = self.by-version."node-xmpp-core"."5.0.2";
-      "ws-1.1.0" = self.by-version."ws"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-xmpp-server" = self.by-version."node-xmpp-server"."2.1.3";
-  by-spec."node-xmpp-serviceadmin"."*" =
-    self.by-version."node-xmpp-serviceadmin"."0.2.0";
-  by-version."node-xmpp-serviceadmin"."0.2.0" = self.buildNodePackage {
-    name = "node-xmpp-serviceadmin-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-serviceadmin/-/node-xmpp-serviceadmin-0.2.0.tgz";
-      name = "node-xmpp-serviceadmin-0.2.0.tgz";
-      sha1 = "35f8b07cf6d96c27fe292f1b0cb9ac73f69e6315";
-    };
-    deps = {
-      "node-xmpp-core-1.0.0" = self.by-version."node-xmpp-core"."1.0.0";
-      "node-stringprep-0.7.3" = self.by-version."node-stringprep"."0.7.3";
-      "ltx-0.9.1" = self.by-version."ltx"."0.9.1";
-      "node-expat-2.3.13" = self.by-version."node-expat"."2.3.13";
-      "coffee-script-1.10.0" = self.by-version."coffee-script"."1.10.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "node-xmpp-serviceadmin" = self.by-version."node-xmpp-serviceadmin"."0.2.0";
-  by-spec."node-xmpp-stanza"."^1.1.0" =
-    self.by-version."node-xmpp-stanza"."1.1.0";
-  by-version."node-xmpp-stanza"."1.1.0" = self.buildNodePackage {
-    name = "node-xmpp-stanza-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-stanza/-/node-xmpp-stanza-1.1.0.tgz";
-      name = "node-xmpp-stanza-1.1.0.tgz";
-      sha1 = "26bb749065fe00787004f8c3b7c0b28494d46554";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "ltx-2.4.1" = self.by-version."ltx"."2.4.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node-xmpp-tls-connect"."^1.0.1" =
-    self.by-version."node-xmpp-tls-connect"."1.0.1";
-  by-version."node-xmpp-tls-connect"."1.0.1" = self.buildNodePackage {
-    name = "node-xmpp-tls-connect-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node-xmpp-tls-connect/-/node-xmpp-tls-connect-1.0.1.tgz";
-      name = "node-xmpp-tls-connect-1.0.1.tgz";
-      sha1 = "91ace43ac26b138861b2be478df9df19d61dc5c3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."node.extend"."1.0.0" =
-    self.by-version."node.extend"."1.0.0";
-  by-version."node.extend"."1.0.0" = self.buildNodePackage {
-    name = "node.extend-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/node.extend/-/node.extend-1.0.0.tgz";
-      name = "node.extend-1.0.0.tgz";
-      sha1 = "ab83960c477280d01ba5554a0d8fd3acfe39336e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nodemailer"."0.3.35" =
-    self.by-version."nodemailer"."0.3.35";
-  by-version."nodemailer"."0.3.35" = self.buildNodePackage {
-    name = "nodemailer-0.3.35";
-    version = "0.3.35";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nodemailer/-/nodemailer-0.3.35.tgz";
-      name = "nodemailer-0.3.35.tgz";
-      sha1 = "4d38cdc0ad230bdf88cc27d1256ef49fcb422e19";
-    };
-    deps = {
-      "mailcomposer-3.9.0" = self.by-version."mailcomposer"."3.9.0";
-      "simplesmtp-0.3.35" = self.by-version."simplesmtp"."0.3.35";
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nodemailer"."0.7.1" =
-    self.by-version."nodemailer"."0.7.1";
-  by-version."nodemailer"."0.7.1" = self.buildNodePackage {
-    name = "nodemailer-0.7.1";
-    version = "0.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nodemailer/-/nodemailer-0.7.1.tgz";
-      name = "nodemailer-0.7.1.tgz";
-      sha1 = "1ec819e243622300a00abe746cb5d3389c0f316c";
-    };
-    deps = {
-      "mailcomposer-0.2.12" = self.by-version."mailcomposer"."0.2.12";
-      "simplesmtp-0.3.35" = self.by-version."simplesmtp"."0.3.35";
-      "directmail-0.1.8" = self.by-version."directmail"."0.1.8";
-      "he-0.3.6" = self.by-version."he"."0.3.6";
-      "public-address-0.1.1" = self.by-version."public-address"."0.1.1";
-      "aws-sdk-2.0.5" = self.by-version."aws-sdk"."2.0.5";
-    };
-    optionalDependencies = {
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nodemailer"."^1.11.0" =
-    self.by-version."nodemailer"."1.11.0";
-  by-version."nodemailer"."1.11.0" = self.buildNodePackage {
-    name = "nodemailer-1.11.0";
-    version = "1.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nodemailer/-/nodemailer-1.11.0.tgz";
-      name = "nodemailer-1.11.0.tgz";
-      sha1 = "4e69cb39b03015b1d1ef0c78a815412b9e976f79";
-    };
-    deps = {
-      "libmime-1.2.0" = self.by-version."libmime"."1.2.0";
-      "mailcomposer-2.1.0" = self.by-version."mailcomposer"."2.1.0";
-      "needle-0.11.0" = self.by-version."needle"."0.11.0";
-      "nodemailer-direct-transport-1.1.0" = self.by-version."nodemailer-direct-transport"."1.1.0";
-      "nodemailer-smtp-transport-1.1.0" = self.by-version."nodemailer-smtp-transport"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nodemailer-direct-transport"."^1.1.0" =
-    self.by-version."nodemailer-direct-transport"."1.1.0";
-  by-version."nodemailer-direct-transport"."1.1.0" = self.buildNodePackage {
-    name = "nodemailer-direct-transport-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nodemailer-direct-transport/-/nodemailer-direct-transport-1.1.0.tgz";
-      name = "nodemailer-direct-transport-1.1.0.tgz";
-      sha1 = "a2f78708ee6f16ea0573fc82949d138ff172f624";
-    };
-    deps = {
-      "smtp-connection-1.3.8" = self.by-version."smtp-connection"."1.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nodemailer-fetch"."1.4.0" =
-    self.by-version."nodemailer-fetch"."1.4.0";
-  by-version."nodemailer-fetch"."1.4.0" = self.buildNodePackage {
-    name = "nodemailer-fetch-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nodemailer-fetch/-/nodemailer-fetch-1.4.0.tgz";
-      name = "nodemailer-fetch-1.4.0.tgz";
-      sha1 = "08a6174f755aba6ad9d88133355a70c1dee4e698";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nodemailer-shared"."1.0.5" =
-    self.by-version."nodemailer-shared"."1.0.5";
-  by-version."nodemailer-shared"."1.0.5" = self.buildNodePackage {
-    name = "nodemailer-shared-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nodemailer-shared/-/nodemailer-shared-1.0.5.tgz";
-      name = "nodemailer-shared-1.0.5.tgz";
-      sha1 = "6de64484d47944422bb5f0886fffd908ada4ce5e";
-    };
-    deps = {
-      "nodemailer-fetch-1.4.0" = self.by-version."nodemailer-fetch"."1.4.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nodemailer-smtp-transport"."^1.1.0" =
-    self.by-version."nodemailer-smtp-transport"."1.1.0";
-  by-version."nodemailer-smtp-transport"."1.1.0" = self.buildNodePackage {
-    name = "nodemailer-smtp-transport-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nodemailer-smtp-transport/-/nodemailer-smtp-transport-1.1.0.tgz";
-      name = "nodemailer-smtp-transport-1.1.0.tgz";
-      sha1 = "e6c37f31885ab3080e7ded3cf528c4ad7e691398";
-    };
-    deps = {
-      "clone-1.0.2" = self.by-version."clone"."1.0.2";
-      "nodemailer-wellknown-0.1.10" = self.by-version."nodemailer-wellknown"."0.1.10";
-      "smtp-connection-1.3.8" = self.by-version."smtp-connection"."1.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nodemailer-wellknown"."^0.1.7" =
-    self.by-version."nodemailer-wellknown"."0.1.10";
-  by-version."nodemailer-wellknown"."0.1.10" = self.buildNodePackage {
-    name = "nodemailer-wellknown-0.1.10";
-    version = "0.1.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nodemailer-wellknown/-/nodemailer-wellknown-0.1.10.tgz";
-      name = "nodemailer-wellknown-0.1.10.tgz";
-      sha1 = "586db8101db30cb4438eb546737a41aad0cf13d5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nodemon"."*" =
-    self.by-version."nodemon"."1.9.2";
-  by-version."nodemon"."1.9.2" = self.buildNodePackage {
-    name = "nodemon-1.9.2";
-    version = "1.9.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nodemon/-/nodemon-1.9.2.tgz";
-      name = "nodemon-1.9.2.tgz";
-      sha1 = "21b3cd157d5483833b473372c98e1795a4d55970";
-    };
-    deps = {
-      "chokidar-1.5.2" = self.by-version."chokidar"."1.5.2";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "es6-promise-3.2.1" = self.by-version."es6-promise"."3.2.1";
-      "ignore-by-default-1.0.1" = self.by-version."ignore-by-default"."1.0.1";
-      "lodash.defaults-3.1.2" = self.by-version."lodash.defaults"."3.1.2";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "ps-tree-1.1.0" = self.by-version."ps-tree"."1.1.0";
-      "touch-1.0.0" = self.by-version."touch"."1.0.0";
-      "undefsafe-0.0.3" = self.by-version."undefsafe"."0.0.3";
-      "update-notifier-0.5.0" = self.by-version."update-notifier"."0.5.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "nodemon" = self.by-version."nodemon"."1.9.2";
-  by-spec."nomnom"."1.6.x" =
-    self.by-version."nomnom"."1.6.2";
-  by-version."nomnom"."1.6.2" = self.buildNodePackage {
-    name = "nomnom-1.6.2";
-    version = "1.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nomnom/-/nomnom-1.6.2.tgz";
-      name = "nomnom-1.6.2.tgz";
-      sha1 = "84a66a260174408fc5b77a18f888eccc44fb6971";
-    };
-    deps = {
-      "colors-0.5.1" = self.by-version."colors"."0.5.1";
-      "underscore-1.4.4" = self.by-version."underscore"."1.4.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nopt"."2" =
-    self.by-version."nopt"."2.2.1";
-  by-version."nopt"."2.2.1" = self.buildNodePackage {
-    name = "nopt-2.2.1";
-    version = "2.2.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nopt/-/nopt-2.2.1.tgz";
-      name = "nopt-2.2.1.tgz";
-      sha1 = "2aa09b7d1768487b3b89a9c5aa52335bff0baea7";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nopt"."2 || 3" =
-    self.by-version."nopt"."3.0.6";
-  by-version."nopt"."3.0.6" = self.buildNodePackage {
-    name = "nopt-3.0.6";
-    version = "3.0.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nopt/-/nopt-3.0.6.tgz";
-      name = "nopt-3.0.6.tgz";
-      sha1 = "c6465dbf08abcd4db359317f79ac68a646b28ff9";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nopt"."2.0.0" =
-    self.by-version."nopt"."2.0.0";
-  by-version."nopt"."2.0.0" = self.buildNodePackage {
-    name = "nopt-2.0.0";
-    version = "2.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nopt/-/nopt-2.0.0.tgz";
-      name = "nopt-2.0.0.tgz";
-      sha1 = "ca7416f20a5e3f9c3b86180f96295fa3d0b52e0d";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nopt"."2.1.1" =
-    self.by-version."nopt"."2.1.1";
-  by-version."nopt"."2.1.1" = self.buildNodePackage {
-    name = "nopt-2.1.1";
-    version = "2.1.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nopt/-/nopt-2.1.1.tgz";
-      name = "nopt-2.1.1.tgz";
-      sha1 = "91eb7c4b017e7c00adcad1fd6d63944d0fdb75c1";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nopt"."3.0.1" =
-    self.by-version."nopt"."3.0.1";
-  by-version."nopt"."3.0.1" = self.buildNodePackage {
-    name = "nopt-3.0.1";
-    version = "3.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nopt/-/nopt-3.0.1.tgz";
-      name = "nopt-3.0.1.tgz";
-      sha1 = "bce5c42446a3291f47622a370abbf158fbbacbfd";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nopt"."3.0.6" =
-    self.by-version."nopt"."3.0.6";
-  by-spec."nopt"."3.x" =
-    self.by-version."nopt"."3.0.6";
-  by-spec."nopt"."^3.0.6" =
-    self.by-version."nopt"."3.0.6";
-  by-spec."nopt"."~1.0.10" =
-    self.by-version."nopt"."1.0.10";
-  by-version."nopt"."1.0.10" = self.buildNodePackage {
-    name = "nopt-1.0.10";
-    version = "1.0.10";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz";
-      name = "nopt-1.0.10.tgz";
-      sha1 = "6ddd21bd2a31417b92727dd585f8a6f37608ebee";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nopt"."~3.0.1" =
-    self.by-version."nopt"."3.0.6";
-  by-spec."nopt"."~3.0.6" =
-    self.by-version."nopt"."3.0.6";
-  by-spec."normalize-git-url"."~3.0.2" =
-    self.by-version."normalize-git-url"."3.0.2";
-  by-version."normalize-git-url"."3.0.2" = self.buildNodePackage {
-    name = "normalize-git-url-3.0.2";
-    version = "3.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/normalize-git-url/-/normalize-git-url-3.0.2.tgz";
-      name = "normalize-git-url-3.0.2.tgz";
-      sha1 = "8e5f14be0bdaedb73e07200310aa416c27350fc4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."normalize-package-data"."^2.0.0" =
-    self.by-version."normalize-package-data"."2.3.5";
-  by-version."normalize-package-data"."2.3.5" = self.buildNodePackage {
-    name = "normalize-package-data-2.3.5";
-    version = "2.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.3.5.tgz";
-      name = "normalize-package-data-2.3.5.tgz";
-      sha1 = "8d924f142960e1777e7ffe170543631cc7cb02df";
-    };
-    deps = {
-      "hosted-git-info-2.1.5" = self.by-version."hosted-git-info"."2.1.5";
-      "is-builtin-module-1.0.0" = self.by-version."is-builtin-module"."1.0.0";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "validate-npm-package-license-3.0.1" = self.by-version."validate-npm-package-license"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."normalize-package-data"."^2.3.2" =
-    self.by-version."normalize-package-data"."2.3.5";
-  by-spec."normalize-package-data"."^2.3.4" =
-    self.by-version."normalize-package-data"."2.3.5";
-  by-spec."normalize-package-data"."~1.0.1 || ^2.0.0" =
-    self.by-version."normalize-package-data"."2.3.5";
-  by-spec."normalize-package-data"."~2.3.5" =
-    self.by-version."normalize-package-data"."2.3.5";
-  by-spec."normalize-path"."^2.0.1" =
-    self.by-version."normalize-path"."2.0.1";
-  by-version."normalize-path"."2.0.1" = self.buildNodePackage {
-    name = "normalize-path-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/normalize-path/-/normalize-path-2.0.1.tgz";
-      name = "normalize-path-2.0.1.tgz";
-      sha1 = "47886ac1662760d4261b7d979d241709d3ce3f7a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm"."*" =
-    self.by-version."npm"."3.9.6";
-  by-version."npm"."3.9.6" = self.buildNodePackage {
-    name = "npm-3.9.6";
-    version = "3.9.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-3.9.6.tgz";
-      name = "npm-3.9.6.tgz";
-      sha1 = "0ef1d272a069ad95bdca8b2dfe6fcd82f4b461d7";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-      "ansicolors-0.3.2" = self.by-version."ansicolors"."0.3.2";
-      "ansistyles-0.1.3" = self.by-version."ansistyles"."0.1.3";
-      "aproba-1.0.3" = self.by-version."aproba"."1.0.3";
-      "archy-1.0.0" = self.by-version."archy"."1.0.0";
-      "chownr-1.0.1" = self.by-version."chownr"."1.0.1";
-      "cmd-shim-2.0.2" = self.by-version."cmd-shim"."2.0.2";
-      "columnify-1.5.4" = self.by-version."columnify"."1.5.4";
-      "config-chain-1.1.10" = self.by-version."config-chain"."1.1.10";
-      "dezalgo-1.0.3" = self.by-version."dezalgo"."1.0.3";
-      "editor-1.0.0" = self.by-version."editor"."1.0.0";
-      "fs-vacuum-1.2.9" = self.by-version."fs-vacuum"."1.2.9";
-      "fs-write-stream-atomic-1.0.8" = self.by-version."fs-write-stream-atomic"."1.0.8";
-      "fstream-1.0.9" = self.by-version."fstream"."1.0.9";
-      "fstream-npm-1.1.0" = self.by-version."fstream-npm"."1.1.0";
-      "glob-7.0.3" = self.by-version."glob"."7.0.3";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "has-unicode-2.0.0" = self.by-version."has-unicode"."2.0.0";
-      "hosted-git-info-2.1.5" = self.by-version."hosted-git-info"."2.1.5";
-      "iferr-0.1.5" = self.by-version."iferr"."0.1.5";
-      "inflight-1.0.5" = self.by-version."inflight"."1.0.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "ini-1.3.4" = self.by-version."ini"."1.3.4";
-      "init-package-json-1.9.4" = self.by-version."init-package-json"."1.9.4";
-      "lockfile-1.0.1" = self.by-version."lockfile"."1.0.1";
-      "lodash._baseuniq-4.6.0" = self.by-version."lodash._baseuniq"."4.6.0";
-      "lodash.clonedeep-4.3.2" = self.by-version."lodash.clonedeep"."4.3.2";
-      "lodash.union-4.4.0" = self.by-version."lodash.union"."4.4.0";
-      "lodash.uniq-4.3.0" = self.by-version."lodash.uniq"."4.3.0";
-      "lodash.without-4.2.0" = self.by-version."lodash.without"."4.2.0";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "node-gyp-3.3.1" = self.by-version."node-gyp"."3.3.1";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "normalize-git-url-3.0.2" = self.by-version."normalize-git-url"."3.0.2";
-      "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5";
-      "npm-cache-filename-1.0.2" = self.by-version."npm-cache-filename"."1.0.2";
-      "npm-install-checks-3.0.0" = self.by-version."npm-install-checks"."3.0.0";
-      "npm-package-arg-4.1.1" = self.by-version."npm-package-arg"."4.1.1";
-      "npm-registry-client-7.1.1" = self.by-version."npm-registry-client"."7.1.1";
-      "npm-user-validate-0.1.3" = self.by-version."npm-user-validate"."0.1.3";
-      "npmlog-2.0.4" = self.by-version."npmlog"."2.0.4";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "opener-1.4.1" = self.by-version."opener"."1.4.1";
-      "osenv-0.1.3" = self.by-version."osenv"."0.1.3";
-      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
-      "read-1.0.7" = self.by-version."read"."1.0.7";
-      "read-cmd-shim-1.0.1" = self.by-version."read-cmd-shim"."1.0.1";
-      "read-installed-4.0.3" = self.by-version."read-installed"."4.0.3";
-      "read-package-json-2.0.4" = self.by-version."read-package-json"."2.0.4";
-      "read-package-tree-5.1.4" = self.by-version."read-package-tree"."5.1.4";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-      "realize-package-specifier-3.0.3" = self.by-version."realize-package-specifier"."3.0.3";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "retry-0.9.0" = self.by-version."retry"."0.9.0";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "sha-2.0.1" = self.by-version."sha"."2.0.1";
-      "slide-1.1.6" = self.by-version."slide"."1.1.6";
-      "sorted-object-2.0.0" = self.by-version."sorted-object"."2.0.0";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "tar-2.2.1" = self.by-version."tar"."2.2.1";
-      "text-table-0.2.0" = self.by-version."text-table"."0.2.0";
-      "uid-number-0.0.6" = self.by-version."uid-number"."0.0.6";
-      "umask-1.1.0" = self.by-version."umask"."1.1.0";
-      "unique-filename-1.1.0" = self.by-version."unique-filename"."1.1.0";
-      "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0";
-      "validate-npm-package-name-2.2.2" = self.by-version."validate-npm-package-name"."2.2.2";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-      "wrappy-1.0.2" = self.by-version."wrappy"."1.0.2";
-      "write-file-atomic-1.1.4" = self.by-version."write-file-atomic"."1.1.4";
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
-      "imurmurhash-0.1.4" = self.by-version."imurmurhash"."0.1.4";
-      "lodash._baseindexof-3.1.0" = self.by-version."lodash._baseindexof"."3.1.0";
-      "lodash._bindcallback-3.0.1" = self.by-version."lodash._bindcallback"."3.0.1";
-      "lodash._cacheindexof-3.0.2" = self.by-version."lodash._cacheindexof"."3.0.2";
-      "lodash._createcache-3.1.2" = self.by-version."lodash._createcache"."3.1.2";
-      "lodash._getnative-3.9.1" = self.by-version."lodash._getnative"."3.9.1";
-      "lodash.restparam-3.6.1" = self.by-version."lodash.restparam"."3.6.1";
-      "readdir-scoped-modules-1.0.2" = self.by-version."readdir-scoped-modules"."1.0.2";
-      "validate-npm-package-license-3.0.1" = self.by-version."validate-npm-package-license"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "npm" = self.by-version."npm"."3.9.6";
-  by-spec."npm"."^2.10.x" =
-    self.by-version."npm"."2.15.6";
-  by-version."npm"."2.15.6" = self.buildNodePackage {
-    name = "npm-2.15.6";
-    version = "2.15.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-2.15.6.tgz";
-      name = "npm-2.15.6.tgz";
-      sha1 = "d6216caf7a275fbe66bbc9505b8d288f9da1051e";
-    };
-    deps = {
-      "abbrev-1.0.7" = self.by-version."abbrev"."1.0.7";
-      "ansi-0.3.1" = self.by-version."ansi"."0.3.1";
-      "ansicolors-0.3.2" = self.by-version."ansicolors"."0.3.2";
-      "ansistyles-0.1.3" = self.by-version."ansistyles"."0.1.3";
-      "archy-1.0.0" = self.by-version."archy"."1.0.0";
-      "async-some-1.0.2" = self.by-version."async-some"."1.0.2";
-      "block-stream-0.0.9" = self.by-version."block-stream"."0.0.9";
-      "char-spinner-1.0.1" = self.by-version."char-spinner"."1.0.1";
-      "chmodr-1.0.2" = self.by-version."chmodr"."1.0.2";
-      "chownr-1.0.1" = self.by-version."chownr"."1.0.1";
-      "cmd-shim-2.0.2" = self.by-version."cmd-shim"."2.0.2";
-      "columnify-1.5.4" = self.by-version."columnify"."1.5.4";
-      "config-chain-1.1.10" = self.by-version."config-chain"."1.1.10";
-      "dezalgo-1.0.3" = self.by-version."dezalgo"."1.0.3";
-      "editor-1.0.0" = self.by-version."editor"."1.0.0";
-      "fs-vacuum-1.2.9" = self.by-version."fs-vacuum"."1.2.9";
-      "fs-write-stream-atomic-1.0.8" = self.by-version."fs-write-stream-atomic"."1.0.8";
-      "fstream-1.0.9" = self.by-version."fstream"."1.0.9";
-      "fstream-npm-1.0.7" = self.by-version."fstream-npm"."1.0.7";
-      "github-url-from-git-1.4.0" = self.by-version."github-url-from-git"."1.4.0";
-      "github-url-from-username-repo-1.0.2" = self.by-version."github-url-from-username-repo"."1.0.2";
-      "glob-7.0.3" = self.by-version."glob"."7.0.3";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "hosted-git-info-2.1.5" = self.by-version."hosted-git-info"."2.1.5";
-      "inflight-1.0.5" = self.by-version."inflight"."1.0.5";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "ini-1.3.4" = self.by-version."ini"."1.3.4";
-      "init-package-json-1.9.4" = self.by-version."init-package-json"."1.9.4";
-      "lockfile-1.0.1" = self.by-version."lockfile"."1.0.1";
-      "lru-cache-4.0.1" = self.by-version."lru-cache"."4.0.1";
-      "minimatch-3.0.0" = self.by-version."minimatch"."3.0.0";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "node-gyp-3.3.1" = self.by-version."node-gyp"."3.3.1";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "normalize-git-url-3.0.2" = self.by-version."normalize-git-url"."3.0.2";
-      "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5";
-      "npm-cache-filename-1.0.2" = self.by-version."npm-cache-filename"."1.0.2";
-      "npm-install-checks-1.0.7" = self.by-version."npm-install-checks"."1.0.7";
-      "npm-package-arg-4.1.1" = self.by-version."npm-package-arg"."4.1.1";
-      "npm-registry-client-7.1.1" = self.by-version."npm-registry-client"."7.1.1";
-      "npm-user-validate-0.1.3" = self.by-version."npm-user-validate"."0.1.3";
-      "npmlog-2.0.4" = self.by-version."npmlog"."2.0.4";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "opener-1.4.1" = self.by-version."opener"."1.4.1";
-      "osenv-0.1.3" = self.by-version."osenv"."0.1.3";
-      "path-is-inside-1.0.1" = self.by-version."path-is-inside"."1.0.1";
-      "read-1.0.7" = self.by-version."read"."1.0.7";
-      "read-installed-4.0.3" = self.by-version."read-installed"."4.0.3";
-      "read-package-json-2.0.4" = self.by-version."read-package-json"."2.0.4";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-      "realize-package-specifier-3.0.3" = self.by-version."realize-package-specifier"."3.0.3";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "retry-0.9.0" = self.by-version."retry"."0.9.0";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "sha-2.0.1" = self.by-version."sha"."2.0.1";
-      "slide-1.1.6" = self.by-version."slide"."1.1.6";
-      "sorted-object-2.0.0" = self.by-version."sorted-object"."2.0.0";
-      "spdx-license-ids-1.2.1" = self.by-version."spdx-license-ids"."1.2.1";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "tar-2.2.1" = self.by-version."tar"."2.2.1";
-      "text-table-0.2.0" = self.by-version."text-table"."0.2.0";
-      "uid-number-0.0.6" = self.by-version."uid-number"."0.0.6";
-      "umask-1.1.0" = self.by-version."umask"."1.1.0";
-      "validate-npm-package-license-3.0.1" = self.by-version."validate-npm-package-license"."3.0.1";
-      "validate-npm-package-name-2.2.2" = self.by-version."validate-npm-package-name"."2.2.2";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-      "wrappy-1.0.2" = self.by-version."wrappy"."1.0.2";
-      "write-file-atomic-1.1.4" = self.by-version."write-file-atomic"."1.1.4";
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-      "imurmurhash-0.1.4" = self.by-version."imurmurhash"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm"."^3" =
-    self.by-version."npm"."3.9.6";
-  by-spec."npm"."^3.5.1" =
-    self.by-version."npm"."3.9.6";
-  by-spec."npm-cache-filename"."~1.0.2" =
-    self.by-version."npm-cache-filename"."1.0.2";
-  by-version."npm-cache-filename"."1.0.2" = self.buildNodePackage {
-    name = "npm-cache-filename-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm-cache-filename/-/npm-cache-filename-1.0.2.tgz";
-      name = "npm-cache-filename-1.0.2.tgz";
-      sha1 = "ded306c5b0bfc870a9e9faf823bc5f283e05ae11";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm-check-updates"."*" =
-    self.by-version."npm-check-updates"."2.6.7";
-  by-version."npm-check-updates"."2.6.7" = self.buildNodePackage {
-    name = "npm-check-updates-2.6.7";
-    version = "2.6.7";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-2.6.7.tgz";
-      name = "npm-check-updates-2.6.7.tgz";
-      sha1 = "fe1aac606ce71e69ce060c16854dd6cff2cd7c22";
-    };
-    deps = {
-      "bluebird-3.4.0" = self.by-version."bluebird"."3.4.0";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "cint-8.2.1" = self.by-version."cint"."8.2.1";
-      "cli-table-0.3.1" = self.by-version."cli-table"."0.3.1";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "fast-diff-1.0.1" = self.by-version."fast-diff"."1.0.1";
-      "find-up-1.1.2" = self.by-version."find-up"."1.1.2";
-      "get-stdin-5.0.1" = self.by-version."get-stdin"."5.0.1";
-      "json-parse-helpfulerror-1.0.3" = self.by-version."json-parse-helpfulerror"."1.0.3";
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-      "node-alias-1.0.4" = self.by-version."node-alias"."1.0.4";
-      "npm-3.9.6" = self.by-version."npm"."3.9.6";
-      "npmi-2.0.1" = self.by-version."npmi"."2.0.1";
-      "require-dir-0.3.0" = self.by-version."require-dir"."0.3.0";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "semver-utils-1.1.1" = self.by-version."semver-utils"."1.1.1";
-      "spawn-please-0.1.0" = self.by-version."spawn-please"."0.1.0";
-      "update-notifier-0.5.0" = self.by-version."update-notifier"."0.5.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "npm-check-updates" = self.by-version."npm-check-updates"."2.6.7";
-  by-spec."npm-install-checks"."~1.0.7" =
-    self.by-version."npm-install-checks"."1.0.7";
-  by-version."npm-install-checks"."1.0.7" = self.buildNodePackage {
-    name = "npm-install-checks-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-1.0.7.tgz";
-      name = "npm-install-checks-1.0.7.tgz";
-      sha1 = "6d91aeda0ac96801f1ed7aadee116a6c0a086a57";
-    };
-    deps = {
-      "npmlog-2.0.4" = self.by-version."npmlog"."2.0.4";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm-install-checks"."~3.0.0" =
-    self.by-version."npm-install-checks"."3.0.0";
-  by-version."npm-install-checks"."3.0.0" = self.buildNodePackage {
-    name = "npm-install-checks-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-3.0.0.tgz";
-      name = "npm-install-checks-3.0.0.tgz";
-      sha1 = "d4aecdfd51a53e3723b7b2f93b2ee28e307bc0d7";
-    };
-    deps = {
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm-package-arg"."^3.0.0 || ^4.0.0" =
-    self.by-version."npm-package-arg"."4.1.1";
-  by-version."npm-package-arg"."4.1.1" = self.buildNodePackage {
-    name = "npm-package-arg-4.1.1";
-    version = "4.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-4.1.1.tgz";
-      name = "npm-package-arg-4.1.1.tgz";
-      sha1 = "86d9dca985b4c5e5d59772dfd5de6919998a495a";
-    };
-    deps = {
-      "hosted-git-info-2.1.5" = self.by-version."hosted-git-info"."2.1.5";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm-package-arg"."^4.0.0" =
-    self.by-version."npm-package-arg"."4.1.1";
-  by-spec."npm-package-arg"."^4.1.1" =
-    self.by-version."npm-package-arg"."4.1.1";
-  by-spec."npm-package-arg"."~4.1.0" =
-    self.by-version."npm-package-arg"."4.1.1";
-  by-spec."npm-package-arg"."~4.1.1" =
-    self.by-version."npm-package-arg"."4.1.1";
-  by-spec."npm-registry-client"."0.2.27" =
-    self.by-version."npm-registry-client"."0.2.27";
-  by-version."npm-registry-client"."0.2.27" = self.buildNodePackage {
-    name = "npm-registry-client-0.2.27";
-    version = "0.2.27";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-0.2.27.tgz";
-      name = "npm-registry-client-0.2.27.tgz";
-      sha1 = "8f338189d32769267886a07ad7b7fd2267446adf";
-    };
-    deps = {
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "graceful-fs-2.0.3" = self.by-version."graceful-fs"."2.0.3";
-      "semver-2.0.11" = self.by-version."semver"."2.0.11";
-      "slide-1.1.6" = self.by-version."slide"."1.1.6";
-      "chownr-0.0.2" = self.by-version."chownr"."0.0.2";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "retry-0.6.0" = self.by-version."retry"."0.6.0";
-      "couch-login-0.1.20" = self.by-version."couch-login"."0.1.20";
-    };
-    optionalDependencies = {
-      "npmlog-3.0.0" = self.by-version."npmlog"."3.0.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm-registry-client"."~7.0.9" =
-    self.by-version."npm-registry-client"."7.0.9";
-  by-version."npm-registry-client"."7.0.9" = self.buildNodePackage {
-    name = "npm-registry-client-7.0.9";
-    version = "7.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.0.9.tgz";
-      name = "npm-registry-client-7.0.9.tgz";
-      sha1 = "1baf86ee5285c4e6d38d4556208ded56049231bb";
-    };
-    deps = {
-      "chownr-1.0.1" = self.by-version."chownr"."1.0.1";
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5";
-      "npm-package-arg-4.1.1" = self.by-version."npm-package-arg"."4.1.1";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "retry-0.8.0" = self.by-version."retry"."0.8.0";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "slide-1.1.6" = self.by-version."slide"."1.1.6";
-    };
-    optionalDependencies = {
-      "npmlog-2.0.4" = self.by-version."npmlog"."2.0.4";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm-registry-client"."~7.1.0" =
-    self.by-version."npm-registry-client"."7.1.1";
-  by-version."npm-registry-client"."7.1.1" = self.buildNodePackage {
-    name = "npm-registry-client-7.1.1";
-    version = "7.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm-registry-client/-/npm-registry-client-7.1.1.tgz";
-      name = "npm-registry-client-7.1.1.tgz";
-      sha1 = "d402c000996904132258bc48c9b81362025091df";
-    };
-    deps = {
-      "chownr-1.0.1" = self.by-version."chownr"."1.0.1";
-      "concat-stream-1.5.1" = self.by-version."concat-stream"."1.5.1";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5";
-      "npm-package-arg-4.1.1" = self.by-version."npm-package-arg"."4.1.1";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "retry-0.8.0" = self.by-version."retry"."0.8.0";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "slide-1.1.6" = self.by-version."slide"."1.1.6";
-    };
-    optionalDependencies = {
-      "npmlog-3.0.0" = self.by-version."npmlog"."3.0.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm-user-validate"."~0.1.2" =
-    self.by-version."npm-user-validate"."0.1.3";
-  by-version."npm-user-validate"."0.1.3" = self.buildNodePackage {
-    name = "npm-user-validate-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npm-user-validate/-/npm-user-validate-0.1.3.tgz";
-      name = "npm-user-validate-0.1.3.tgz";
-      sha1 = "68a90b5a097374891a7b35f491d4285b8ac3b9f7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npm2nix"."git://github.com/NixOS/npm2nix.git#5.12.0" =
-    self.by-version."npm2nix"."5.12.0";
-  by-version."npm2nix"."5.12.0" = self.buildNodePackage {
-    name = "npm2nix-5.12.0";
-    version = "5.12.0";
-    bin = true;
-    src = fetchgit {
-      url = "git://github.com/NixOS/npm2nix.git";
-      rev = "0c06be7d278a7f64fc853a5fd42d2031d14496d5";
-      sha256 = "e1b252cd883fd8c5c4618b157d03b3fb869fa6aad4170ef51e34681069d50bf5";
-    };
-    deps = {
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-      "argparse-0.1.15" = self.by-version."argparse"."0.1.15";
-      "npm-registry-client-0.2.27" = self.by-version."npm-registry-client"."0.2.27";
-      "npmconf-0.1.1" = self.by-version."npmconf"."0.1.1";
-      "tar-0.1.17" = self.by-version."tar"."0.1.17";
-      "temp-0.6.0" = self.by-version."temp"."0.6.0";
-      "fs.extra-1.3.2" = self.by-version."fs.extra"."1.3.2";
-      "findit-1.2.0" = self.by-version."findit"."1.2.0";
-      "coffee-script-1.10.0" = self.by-version."coffee-script"."1.10.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "npm2nix" = self.by-version."npm2nix"."5.12.0";
-  by-spec."npmconf"."0.0.24" =
-    self.by-version."npmconf"."0.0.24";
-  by-version."npmconf"."0.0.24" = self.buildNodePackage {
-    name = "npmconf-0.0.24";
-    version = "0.0.24";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npmconf/-/npmconf-0.0.24.tgz";
-      name = "npmconf-0.0.24.tgz";
-      sha1 = "b78875b088ccc3c0afa3eceb3ce3244b1b52390c";
-    };
-    deps = {
-      "config-chain-1.1.10" = self.by-version."config-chain"."1.1.10";
-      "inherits-1.0.2" = self.by-version."inherits"."1.0.2";
-      "once-1.1.1" = self.by-version."once"."1.1.1";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
-      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
-      "semver-1.1.4" = self.by-version."semver"."1.1.4";
-      "ini-1.1.0" = self.by-version."ini"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npmconf"."0.1.1" =
-    self.by-version."npmconf"."0.1.1";
-  by-version."npmconf"."0.1.1" = self.buildNodePackage {
-    name = "npmconf-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npmconf/-/npmconf-0.1.1.tgz";
-      name = "npmconf-0.1.1.tgz";
-      sha1 = "7a254182591ca22d77b2faecc0d17e0f9bdf25a1";
-    };
-    deps = {
-      "config-chain-1.1.10" = self.by-version."config-chain"."1.1.10";
-      "inherits-1.0.2" = self.by-version."inherits"."1.0.2";
-      "once-1.1.1" = self.by-version."once"."1.1.1";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
-      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
-      "semver-2.3.2" = self.by-version."semver"."2.3.2";
-      "ini-1.1.0" = self.by-version."ini"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npmconf"."~0.1.2" =
-    self.by-version."npmconf"."0.1.16";
-  by-version."npmconf"."0.1.16" = self.buildNodePackage {
-    name = "npmconf-0.1.16";
-    version = "0.1.16";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npmconf/-/npmconf-0.1.16.tgz";
-      name = "npmconf-0.1.16.tgz";
-      sha1 = "0bdca78b8551419686b3a98004f06f0819edcd2a";
-    };
-    deps = {
-      "config-chain-1.1.10" = self.by-version."config-chain"."1.1.10";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
-      "nopt-2.2.1" = self.by-version."nopt"."2.2.1";
-      "semver-2.3.2" = self.by-version."semver"."2.3.2";
-      "ini-1.1.0" = self.by-version."ini"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npmconf"."~2.1.2" =
-    self.by-version."npmconf"."2.1.2";
-  by-version."npmconf"."2.1.2" = self.buildNodePackage {
-    name = "npmconf-2.1.2";
-    version = "2.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npmconf/-/npmconf-2.1.2.tgz";
-      name = "npmconf-2.1.2.tgz";
-      sha1 = "66606a4a736f1e77a059aa071a79c94ab781853a";
-    };
-    deps = {
-      "config-chain-1.1.10" = self.by-version."config-chain"."1.1.10";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "ini-1.3.4" = self.by-version."ini"."1.3.4";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "nopt-3.0.6" = self.by-version."nopt"."3.0.6";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "osenv-0.1.3" = self.by-version."osenv"."0.1.3";
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-      "uid-number-0.0.5" = self.by-version."uid-number"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npmi"."^2.0.1-alpha" =
-    self.by-version."npmi"."2.0.1";
-  by-version."npmi"."2.0.1" = self.buildNodePackage {
-    name = "npmi-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npmi/-/npmi-2.0.1.tgz";
-      name = "npmi-2.0.1.tgz";
-      sha1 = "32607657e1bd47ca857ab4e9d98f0a0cff96bcea";
-    };
-    deps = {
-      "npm-3.9.6" = self.by-version."npm"."3.9.6";
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npmlog"."*" =
-    self.by-version."npmlog"."3.0.0";
-  by-version."npmlog"."3.0.0" = self.buildNodePackage {
-    name = "npmlog-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npmlog/-/npmlog-3.0.0.tgz";
-      name = "npmlog-3.0.0.tgz";
-      sha1 = "5b75a32bffcfd6ebf046487a302182224cd17c9b";
-    };
-    deps = {
-      "ansi-0.3.1" = self.by-version."ansi"."0.3.1";
-      "are-we-there-yet-1.1.2" = self.by-version."are-we-there-yet"."1.1.2";
-      "gauge-2.5.0" = self.by-version."gauge"."2.5.0";
-      "set-blocking-2.0.0" = self.by-version."set-blocking"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npmlog"."0 || 1 || 2" =
-    self.by-version."npmlog"."2.0.4";
-  by-version."npmlog"."2.0.4" = self.buildNodePackage {
-    name = "npmlog-2.0.4";
-    version = "2.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/npmlog/-/npmlog-2.0.4.tgz";
-      name = "npmlog-2.0.4.tgz";
-      sha1 = "98b52530f2514ca90d09ec5b22c8846722375692";
-    };
-    deps = {
-      "ansi-0.3.1" = self.by-version."ansi"."0.3.1";
-      "are-we-there-yet-1.1.2" = self.by-version."are-we-there-yet"."1.1.2";
-      "gauge-1.2.7" = self.by-version."gauge"."1.2.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."npmlog"."0.1 || 1 || 2" =
-    self.by-version."npmlog"."2.0.4";
-  by-spec."npmlog"."~2.0.0" =
-    self.by-version."npmlog"."2.0.4";
-  by-spec."npmlog"."~2.0.0 || ~3.0.0" =
-    self.by-version."npmlog"."3.0.0";
-  by-spec."npmlog"."~2.0.3" =
-    self.by-version."npmlog"."2.0.4";
-  by-spec."nssocket"."~0.5.1" =
-    self.by-version."nssocket"."0.5.3";
-  by-version."nssocket"."0.5.3" = self.buildNodePackage {
-    name = "nssocket-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nssocket/-/nssocket-0.5.3.tgz";
-      name = "nssocket-0.5.3.tgz";
-      sha1 = "883ca2ec605f5ed64a4d5190b2625401928f8f8d";
-    };
-    deps = {
-      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
-      "lazy-1.0.11" = self.by-version."lazy"."1.0.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nth-check"."~1.0.0" =
-    self.by-version."nth-check"."1.0.1";
-  by-version."nth-check"."1.0.1" = self.buildNodePackage {
-    name = "nth-check-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nth-check/-/nth-check-1.0.1.tgz";
-      name = "nth-check-1.0.1.tgz";
-      sha1 = "9929acdf628fc2c41098deab82ac580cf149aae4";
-    };
-    deps = {
-      "boolbase-1.0.0" = self.by-version."boolbase"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ntwitter".">=0.5.0" =
-    self.by-version."ntwitter"."0.5.0";
-  by-version."ntwitter"."0.5.0" = self.buildNodePackage {
-    name = "ntwitter-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ntwitter/-/ntwitter-0.5.0.tgz";
-      name = "ntwitter-0.5.0.tgz";
-      sha1 = "30c40105f82432fa8956a4f7655de932af631534";
-    };
-    deps = {
-      "oauth-0.9.14" = self.by-version."oauth"."0.9.14";
-      "cookies-0.1.6" = self.by-version."cookies"."0.1.6";
-      "keygrip-0.2.4" = self.by-version."keygrip"."0.2.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."null-check"."^1.0.0" =
-    self.by-version."null-check"."1.0.0";
-  by-version."null-check"."1.0.0" = self.buildNodePackage {
-    name = "null-check-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/null-check/-/null-check-1.0.0.tgz";
-      name = "null-check-1.0.0.tgz";
-      sha1 = "977dffd7176012b9ec30d2a39db5cf72a0439edd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."number-is-nan"."^1.0.0" =
-    self.by-version."number-is-nan"."1.0.0";
-  by-version."number-is-nan"."1.0.0" = self.buildNodePackage {
-    name = "number-is-nan-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.0.tgz";
-      name = "number-is-nan-1.0.0.tgz";
-      sha1 = "c020f529c5282adfdd233d91d4b181c3d686dc4b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."numeral"."^1.5.3" =
-    self.by-version."numeral"."1.5.3";
-  by-version."numeral"."1.5.3" = self.buildNodePackage {
-    name = "numeral-1.5.3";
-    version = "1.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/numeral/-/numeral-1.5.3.tgz";
-      name = "numeral-1.5.3.tgz";
-      sha1 = "a4c3eba68239580509f818267c77243bce43ff62";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nwmatcher".">= 1.3.4 < 2.0.0" =
-    self.by-version."nwmatcher"."1.3.7";
-  by-version."nwmatcher"."1.3.7" = self.buildNodePackage {
-    name = "nwmatcher-1.3.7";
-    version = "1.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/nwmatcher/-/nwmatcher-1.3.7.tgz";
-      name = "nwmatcher-1.3.7.tgz";
-      sha1 = "fec04ddfb1b07ff37b1e11a02b9c3c274cc131e0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."nwmatcher"."~1.3.1" =
-    self.by-version."nwmatcher"."1.3.7";
-  by-spec."nwmatcher"."~1.3.2" =
-    self.by-version."nwmatcher"."1.3.7";
-  by-spec."oauth"."*" =
-    self.by-version."oauth"."0.9.14";
-  by-version."oauth"."0.9.14" = self.buildNodePackage {
-    name = "oauth-0.9.14";
-    version = "0.9.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://github.com/ciaranj/node-oauth/tarball/master";
-      name = "oauth-0.9.14.tgz";
-      sha256 = "abd0d7be4fb10804e5a38ee66a4db5fc36d2ed045be52e7c8b7e19e4c9e16bd8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth"."0.9.14" =
-    self.by-version."oauth"."0.9.14";
-  by-spec."oauth"."0.9.x" =
-    self.by-version."oauth"."0.9.14";
-  by-spec."oauth".">=0.8.4" =
-    self.by-version."oauth"."0.9.14";
-  by-spec."oauth".">=0.9.9" =
-    self.by-version."oauth"."0.9.14";
-  by-spec."oauth"."https://github.com/ciaranj/node-oauth/tarball/master" =
-    self.by-version."oauth"."0.9.14";
-  by-spec."oauth-sign"."~0.2.0" =
-    self.by-version."oauth-sign"."0.2.0";
-  by-version."oauth-sign"."0.2.0" = self.buildNodePackage {
-    name = "oauth-sign-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.2.0.tgz";
-      name = "oauth-sign-0.2.0.tgz";
-      sha1 = "a0e6a1715daed062f322b622b7fe5afd1035b6e2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth-sign"."~0.3.0" =
-    self.by-version."oauth-sign"."0.3.0";
-  by-version."oauth-sign"."0.3.0" = self.buildNodePackage {
-    name = "oauth-sign-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.3.0.tgz";
-      name = "oauth-sign-0.3.0.tgz";
-      sha1 = "cb540f93bb2b22a7d5941691a288d60e8ea9386e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth-sign"."~0.4.0" =
-    self.by-version."oauth-sign"."0.4.0";
-  by-version."oauth-sign"."0.4.0" = self.buildNodePackage {
-    name = "oauth-sign-0.4.0";
-    version = "0.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.4.0.tgz";
-      name = "oauth-sign-0.4.0.tgz";
-      sha1 = "f22956f31ea7151a821e5f2fb32c113cad8b9f69";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth-sign"."~0.5.0" =
-    self.by-version."oauth-sign"."0.5.0";
-  by-version."oauth-sign"."0.5.0" = self.buildNodePackage {
-    name = "oauth-sign-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.5.0.tgz";
-      name = "oauth-sign-0.5.0.tgz";
-      sha1 = "d767f5169325620eab2e087ef0c472e773db6461";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth-sign"."~0.6.0" =
-    self.by-version."oauth-sign"."0.6.0";
-  by-version."oauth-sign"."0.6.0" = self.buildNodePackage {
-    name = "oauth-sign-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.6.0.tgz";
-      name = "oauth-sign-0.6.0.tgz";
-      sha1 = "7dbeae44f6ca454e1f168451d630746735813ce3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth-sign"."~0.8.0" =
-    self.by-version."oauth-sign"."0.8.2";
-  by-version."oauth-sign"."0.8.2" = self.buildNodePackage {
-    name = "oauth-sign-0.8.2";
-    version = "0.8.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.8.2.tgz";
-      name = "oauth-sign-0.8.2.tgz";
-      sha1 = "46a6ab7f0aead8deae9ec0565780b7d4efeb9d43";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."oauth-sign"."~0.8.1" =
-    self.by-version."oauth-sign"."0.8.2";
-  by-spec."oauth2orize"."1.2.2" =
-    self.by-version."oauth2orize"."1.2.2";
-  by-version."oauth2orize"."1.2.2" = self.buildNodePackage {
-    name = "oauth2orize-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/oauth2orize/-/oauth2orize-1.2.2.tgz";
-      name = "oauth2orize-1.2.2.tgz";
-      sha1 = "59611975c90b2105de61f7710abfd6f8a5a86be7";
-    };
-    deps = {
-      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object-additions"."^0.5.1" =
-    self.by-version."object-additions"."0.5.1";
-  by-version."object-additions"."0.5.1" = self.buildNodePackage {
-    name = "object-additions-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/object-additions/-/object-additions-0.5.1.tgz";
-      name = "object-additions-0.5.1.tgz";
-      sha1 = "ac624e0995e696c94cc69b41f316462b16a3bda4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object-assign"."^1.0.0" =
-    self.by-version."object-assign"."1.0.0";
-  by-version."object-assign"."1.0.0" = self.buildNodePackage {
-    name = "object-assign-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/object-assign/-/object-assign-1.0.0.tgz";
-      name = "object-assign-1.0.0.tgz";
-      sha1 = "e65dc8766d3b47b4b8307465c8311da030b070a6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object-assign"."^2.0.0" =
-    self.by-version."object-assign"."2.1.1";
-  by-version."object-assign"."2.1.1" = self.buildNodePackage {
-    name = "object-assign-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/object-assign/-/object-assign-2.1.1.tgz";
-      name = "object-assign-2.1.1.tgz";
-      sha1 = "43c36e5d569ff8e4816c4efa8be02d26967c18aa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object-assign"."^3.0.0" =
-    self.by-version."object-assign"."3.0.0";
-  by-version."object-assign"."3.0.0" = self.buildNodePackage {
-    name = "object-assign-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/object-assign/-/object-assign-3.0.0.tgz";
-      name = "object-assign-3.0.0.tgz";
-      sha1 = "9bedd5ca0897949bca47e7ff408062d549f587f2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object-assign"."^4.0.0" =
-    self.by-version."object-assign"."4.1.0";
-  by-version."object-assign"."4.1.0" = self.buildNodePackage {
-    name = "object-assign-4.1.0";
-    version = "4.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/object-assign/-/object-assign-4.1.0.tgz";
-      name = "object-assign-4.1.0.tgz";
-      sha1 = "7a3b3d0e98063d43f4c03f2e8ae6cd51a86883a0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object-assign"."^4.0.1" =
-    self.by-version."object-assign"."4.1.0";
-  by-spec."object-assign"."^4.1.0" =
-    self.by-version."object-assign"."4.1.0";
-  by-spec."object-component"."0.0.3" =
-    self.by-version."object-component"."0.0.3";
-  by-version."object-component"."0.0.3" = self.buildNodePackage {
-    name = "object-component-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz";
-      name = "object-component-0.0.3.tgz";
-      sha1 = "f0c69aa50efc95b866c186f400a33769cb2f1291";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object-keys"."^1.0.6" =
-    self.by-version."object-keys"."1.0.9";
-  by-version."object-keys"."1.0.9" = self.buildNodePackage {
-    name = "object-keys-1.0.9";
-    version = "1.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/object-keys/-/object-keys-1.0.9.tgz";
-      name = "object-keys-1.0.9.tgz";
-      sha1 = "cabb1202d9a7af29b50edface8094bb46da5ea21";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object-keys"."~1.0.1" =
-    self.by-version."object-keys"."1.0.9";
-  by-spec."object.assign"."^1.1.1" =
-    self.by-version."object.assign"."1.1.1";
-  by-version."object.assign"."1.1.1" = self.buildNodePackage {
-    name = "object.assign-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/object.assign/-/object.assign-1.1.1.tgz";
-      name = "object.assign-1.1.1.tgz";
-      sha1 = "f229674273f94fcb230d02c1958a8b94ec9ef95c";
-    };
-    deps = {
-      "object-keys-1.0.9" = self.by-version."object-keys"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."object.omit"."^2.0.0" =
-    self.by-version."object.omit"."2.0.0";
-  by-version."object.omit"."2.0.0" = self.buildNodePackage {
-    name = "object.omit-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/object.omit/-/object.omit-2.0.0.tgz";
-      name = "object.omit-2.0.0.tgz";
-      sha1 = "868597333d54e60662940bb458605dd6ae12fe94";
-    };
-    deps = {
-      "for-own-0.1.4" = self.by-version."for-own"."0.1.4";
-      "is-extendable-0.1.1" = self.by-version."is-extendable"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."octicons"."~3.4.1" =
-    self.by-version."octicons"."3.4.1";
-  by-version."octicons"."3.4.1" = self.buildNodePackage {
-    name = "octicons-3.4.1";
-    version = "3.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/octicons/-/octicons-3.4.1.tgz";
-      name = "octicons-3.4.1.tgz";
-      sha1 = "042c3e433a0176212da3f2e61a4867e7b95557b1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."on-finished"."2.1.0" =
-    self.by-version."on-finished"."2.1.0";
-  by-version."on-finished"."2.1.0" = self.buildNodePackage {
-    name = "on-finished-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/on-finished/-/on-finished-2.1.0.tgz";
-      name = "on-finished-2.1.0.tgz";
-      sha1 = "0c539f09291e8ffadde0c8a25850fb2cedc7022d";
-    };
-    deps = {
-      "ee-first-1.0.5" = self.by-version."ee-first"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."on-finished"."~2.1.0" =
-    self.by-version."on-finished"."2.1.1";
-  by-version."on-finished"."2.1.1" = self.buildNodePackage {
-    name = "on-finished-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/on-finished/-/on-finished-2.1.1.tgz";
-      name = "on-finished-2.1.1.tgz";
-      sha1 = "f82ca1c9e3a4f3286b1b9938610e5b8636bd3cb2";
-    };
-    deps = {
-      "ee-first-1.1.0" = self.by-version."ee-first"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."on-finished"."~2.3.0" =
-    self.by-version."on-finished"."2.3.0";
-  by-version."on-finished"."2.3.0" = self.buildNodePackage {
-    name = "on-finished-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz";
-      name = "on-finished-2.3.0.tgz";
-      sha1 = "20f1336481b083cd75337992a16971aa2d906947";
-    };
-    deps = {
-      "ee-first-1.1.1" = self.by-version."ee-first"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."on-headers"."1.0.1" =
-    self.by-version."on-headers"."1.0.1";
-  by-version."on-headers"."1.0.1" = self.buildNodePackage {
-    name = "on-headers-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/on-headers/-/on-headers-1.0.1.tgz";
-      name = "on-headers-1.0.1.tgz";
-      sha1 = "928f5d0f470d49342651ea6794b0857c100693f7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."on-headers"."~1.0.0" =
-    self.by-version."on-headers"."1.0.1";
-  by-spec."on-headers"."~1.0.1" =
-    self.by-version."on-headers"."1.0.1";
-  by-spec."once"."1.3.0" =
-    self.by-version."once"."1.3.0";
-  by-version."once"."1.3.0" = self.buildNodePackage {
-    name = "once-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/once/-/once-1.3.0.tgz";
-      name = "once-1.3.0.tgz";
-      sha1 = "151af86bfc1f08c4b9f07d06ab250ffcbeb56581";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."once"."1.x" =
-    self.by-version."once"."1.3.3";
-  by-version."once"."1.3.3" = self.buildNodePackage {
-    name = "once-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/once/-/once-1.3.3.tgz";
-      name = "once-1.3.3.tgz";
-      sha1 = "b2e261557ce4c314ec8304f3fa82663e4297ca20";
-    };
-    deps = {
-      "wrappy-1.0.2" = self.by-version."wrappy"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."once"."^1.1.1" =
-    self.by-version."once"."1.3.3";
-  by-spec."once"."^1.3.0" =
-    self.by-version."once"."1.3.3";
-  by-spec."once"."^1.3.1" =
-    self.by-version."once"."1.3.3";
-  by-spec."once"."^1.3.3" =
-    self.by-version."once"."1.3.3";
-  by-spec."once"."~1.1.1" =
-    self.by-version."once"."1.1.1";
-  by-version."once"."1.1.1" = self.buildNodePackage {
-    name = "once-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/once/-/once-1.1.1.tgz";
-      name = "once-1.1.1.tgz";
-      sha1 = "9db574933ccb08c3a7614d154032c09ea6f339e7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."once"."~1.2.0" =
-    self.by-version."once"."1.2.0";
-  by-version."once"."1.2.0" = self.buildNodePackage {
-    name = "once-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/once/-/once-1.2.0.tgz";
-      name = "once-1.2.0.tgz";
-      sha1 = "de1905c636af874a8fba862d9aabddd1f920461c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."once"."~1.3.0" =
-    self.by-version."once"."1.3.3";
-  by-spec."once"."~1.3.3" =
-    self.by-version."once"."1.3.3";
-  by-spec."onetime"."^1.0.0" =
-    self.by-version."onetime"."1.1.0";
-  by-version."onetime"."1.1.0" = self.buildNodePackage {
-    name = "onetime-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/onetime/-/onetime-1.1.0.tgz";
-      name = "onetime-1.1.0.tgz";
-      sha1 = "a1f7838f8314c516f05ecefcbc4ccfe04b4ed789";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."open"."0.0.2" =
-    self.by-version."open"."0.0.2";
-  by-version."open"."0.0.2" = self.buildNodePackage {
-    name = "open-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/open/-/open-0.0.2.tgz";
-      name = "open-0.0.2.tgz";
-      sha1 = "0a620ba2574464742f51e69f8ba8eccfd97b5dfc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."open"."0.0.5" =
-    self.by-version."open"."0.0.5";
-  by-version."open"."0.0.5" = self.buildNodePackage {
-    name = "open-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/open/-/open-0.0.5.tgz";
-      name = "open-0.0.5.tgz";
-      sha1 = "42c3e18ec95466b6bf0dc42f3a2945c3f0cad8fc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."open"."0.0.x" =
-    self.by-version."open"."0.0.5";
-  by-spec."open".">= 0.0.3" =
-    self.by-version."open"."0.0.5";
-  by-spec."open"."~0.0.5" =
-    self.by-version."open"."0.0.5";
-  by-spec."opener"."1.4.1" =
-    self.by-version."opener"."1.4.1";
-  by-version."opener"."1.4.1" = self.buildNodePackage {
-    name = "opener-1.4.1";
-    version = "1.4.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/opener/-/opener-1.4.1.tgz";
-      name = "opener-1.4.1.tgz";
-      sha1 = "897590acd1aed3311b703b58bccb4d43f56f2895";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."opener"."~1.4.1" =
-    self.by-version."opener"."1.4.1";
-  by-spec."openid".">=0.2.0" =
-    self.by-version."openid"."2.0.1";
-  by-version."openid"."2.0.1" = self.buildNodePackage {
-    name = "openid-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/openid/-/openid-2.0.1.tgz";
-      name = "openid-2.0.1.tgz";
-      sha1 = "6e17c07e806f5e645733d50798ee54aa2b3a9df4";
-    };
-    deps = {
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optimist"."*" =
-    self.by-version."optimist"."0.6.1";
-  by-version."optimist"."0.6.1" = self.buildNodePackage {
-    name = "optimist-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz";
-      name = "optimist-0.6.1.tgz";
-      sha1 = "da3ea74686fa21a19a111c326e90eb15a0196686";
-    };
-    deps = {
-      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
-      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "optimist" = self.by-version."optimist"."0.6.1";
-  by-spec."optimist"."0.2" =
-    self.by-version."optimist"."0.2.8";
-  by-version."optimist"."0.2.8" = self.buildNodePackage {
-    name = "optimist-0.2.8";
-    version = "0.2.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/optimist/-/optimist-0.2.8.tgz";
-      name = "optimist-0.2.8.tgz";
-      sha1 = "e981ab7e268b457948593b55674c099a815cac31";
-    };
-    deps = {
-      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optimist"."0.6.0" =
-    self.by-version."optimist"."0.6.0";
-  by-version."optimist"."0.6.0" = self.buildNodePackage {
-    name = "optimist-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/optimist/-/optimist-0.6.0.tgz";
-      name = "optimist-0.6.0.tgz";
-      sha1 = "69424826f3405f79f142e6fc3d9ae58d4dbb9200";
-    };
-    deps = {
-      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
-      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optimist"."0.6.1" =
-    self.by-version."optimist"."0.6.1";
-  by-spec."optimist"."^0.6.1" =
-    self.by-version."optimist"."0.6.1";
-  by-spec."optimist"."~0.3" =
-    self.by-version."optimist"."0.3.7";
-  by-version."optimist"."0.3.7" = self.buildNodePackage {
-    name = "optimist-0.3.7";
-    version = "0.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/optimist/-/optimist-0.3.7.tgz";
-      name = "optimist-0.3.7.tgz";
-      sha1 = "c90941ad59e4273328923074d2cf2e7cbc6ec0d9";
-    };
-    deps = {
-      "wordwrap-0.0.3" = self.by-version."wordwrap"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optimist"."~0.3.4" =
-    self.by-version."optimist"."0.3.7";
-  by-spec."optimist"."~0.3.5" =
-    self.by-version."optimist"."0.3.7";
-  by-spec."optimist"."~0.6.0" =
-    self.by-version."optimist"."0.6.1";
-  by-spec."optimist"."~0.6.1" =
-    self.by-version."optimist"."0.6.1";
-  by-spec."optionator"."^0.8.1" =
-    self.by-version."optionator"."0.8.1";
-  by-version."optionator"."0.8.1" = self.buildNodePackage {
-    name = "optionator-0.8.1";
-    version = "0.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/optionator/-/optionator-0.8.1.tgz";
-      name = "optionator-0.8.1.tgz";
-      sha1 = "e31b4932cdd5fb862a8b0d10bc63d3ee1ec7d78b";
-    };
-    deps = {
-      "prelude-ls-1.1.2" = self.by-version."prelude-ls"."1.1.2";
-      "deep-is-0.1.3" = self.by-version."deep-is"."0.1.3";
-      "wordwrap-1.0.0" = self.by-version."wordwrap"."1.0.0";
-      "type-check-0.3.2" = self.by-version."type-check"."0.3.2";
-      "levn-0.3.0" = self.by-version."levn"."0.3.0";
-      "fast-levenshtein-1.1.3" = self.by-version."fast-levenshtein"."1.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."options".">=0.0.5" =
-    self.by-version."options"."0.0.6";
-  by-version."options"."0.0.6" = self.buildNodePackage {
-    name = "options-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/options/-/options-0.0.6.tgz";
-      name = "options-0.0.6.tgz";
-      sha1 = "ec22d312806bb53e731773e7cdaefcf1c643128f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optjs"."*" =
-    self.by-version."optjs"."3.2.2";
-  by-version."optjs"."3.2.2" = self.buildNodePackage {
-    name = "optjs-3.2.2";
-    version = "3.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/optjs/-/optjs-3.2.2.tgz";
-      name = "optjs-3.2.2.tgz";
-      sha1 = "69a6ce89c442a44403141ad2f9b370bd5bb6f4ee";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."optparse"."*" =
-    self.by-version."optparse"."1.0.5";
-  by-version."optparse"."1.0.5" = self.buildNodePackage {
-    name = "optparse-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/optparse/-/optparse-1.0.5.tgz";
-      name = "optparse-1.0.5.tgz";
-      sha1 = "75e75a96506611eb1c65ba89018ff08a981e2c16";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "optparse" = self.by-version."optparse"."1.0.5";
-  by-spec."optparse".">= 1.0.3" =
-    self.by-version."optparse"."1.0.5";
-  by-spec."opts"."^1.2.1" =
-    self.by-version."opts"."1.2.2";
-  by-version."opts"."1.2.2" = self.buildNodePackage {
-    name = "opts-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/opts/-/opts-1.2.2.tgz";
-      name = "opts-1.2.2.tgz";
-      sha1 = "81782b93014a1cd88d56c226643fd4282473853d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."orchestrator"."^0.3.0" =
-    self.by-version."orchestrator"."0.3.7";
-  by-version."orchestrator"."0.3.7" = self.buildNodePackage {
-    name = "orchestrator-0.3.7";
-    version = "0.3.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/orchestrator/-/orchestrator-0.3.7.tgz";
-      name = "orchestrator-0.3.7.tgz";
-      sha1 = "c45064e22c5a2a7b99734f409a95ffedc7d3c3df";
-    };
-    deps = {
-      "end-of-stream-0.1.5" = self.by-version."end-of-stream"."0.1.5";
-      "sequencify-0.0.7" = self.by-version."sequencify"."0.0.7";
-      "stream-consume-0.1.0" = self.by-version."stream-consume"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ordered-read-streams"."^0.1.0" =
-    self.by-version."ordered-read-streams"."0.1.0";
-  by-version."ordered-read-streams"."0.1.0" = self.buildNodePackage {
-    name = "ordered-read-streams-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.1.0.tgz";
-      name = "ordered-read-streams-0.1.0.tgz";
-      sha1 = "fd565a9af8eb4473ba69b6ed8a34352cb552f126";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ordered-read-streams"."^0.3.0" =
-    self.by-version."ordered-read-streams"."0.3.0";
-  by-version."ordered-read-streams"."0.3.0" = self.buildNodePackage {
-    name = "ordered-read-streams-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ordered-read-streams/-/ordered-read-streams-0.3.0.tgz";
-      name = "ordered-read-streams-0.3.0.tgz";
-      sha1 = "7137e69b3298bb342247a1bbee3881c80e2fd78b";
-    };
-    deps = {
-      "is-stream-1.1.0" = self.by-version."is-stream"."1.1.0";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."os-browserify"."~0.1.1" =
-    self.by-version."os-browserify"."0.1.2";
-  by-version."os-browserify"."0.1.2" = self.buildNodePackage {
-    name = "os-browserify-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.1.2.tgz";
-      name = "os-browserify-0.1.2.tgz";
-      sha1 = "49ca0293e0b19590a5f5de10c7f265a617d8fe54";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."os-browserify"."~0.2.0" =
-    self.by-version."os-browserify"."0.2.1";
-  by-version."os-browserify"."0.2.1" = self.buildNodePackage {
-    name = "os-browserify-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/os-browserify/-/os-browserify-0.2.1.tgz";
-      name = "os-browserify-0.2.1.tgz";
-      sha1 = "63fc4ccee5d2d7763d26bbf8601078e6c2e0044f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."os-homedir"."^1.0.0" =
-    self.by-version."os-homedir"."1.0.1";
-  by-version."os-homedir"."1.0.1" = self.buildNodePackage {
-    name = "os-homedir-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.1.tgz";
-      name = "os-homedir-1.0.1.tgz";
-      sha1 = "0d62bdf44b916fd3bbdcf2cab191948fb094f007";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."os-homedir"."~1.0.1" =
-    self.by-version."os-homedir"."1.0.1";
-  by-spec."os-locale"."^1.4.0" =
-    self.by-version."os-locale"."1.4.0";
-  by-version."os-locale"."1.4.0" = self.buildNodePackage {
-    name = "os-locale-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/os-locale/-/os-locale-1.4.0.tgz";
-      name = "os-locale-1.4.0.tgz";
-      sha1 = "20f9f17ae29ed345e8bde583b13d2009803c14d9";
-    };
-    deps = {
-      "lcid-1.0.0" = self.by-version."lcid"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."os-name"."^1.0.0" =
-    self.by-version."os-name"."1.0.3";
-  by-version."os-name"."1.0.3" = self.buildNodePackage {
-    name = "os-name-1.0.3";
-    version = "1.0.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/os-name/-/os-name-1.0.3.tgz";
-      name = "os-name-1.0.3.tgz";
-      sha1 = "1b379f64835af7c5a7f498b357cb95215c159edf";
-    };
-    deps = {
-      "osx-release-1.1.0" = self.by-version."osx-release"."1.1.0";
-      "win-release-1.1.1" = self.by-version."win-release"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."os-tmpdir"."^1.0.0" =
-    self.by-version."os-tmpdir"."1.0.1";
-  by-version."os-tmpdir"."1.0.1" = self.buildNodePackage {
-    name = "os-tmpdir-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.1.tgz";
-      name = "os-tmpdir-1.0.1.tgz";
-      sha1 = "e9b423a1edaf479882562e92ed71d7743a071b6e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."os-tmpdir"."~1.0.1" =
-    self.by-version."os-tmpdir"."1.0.1";
-  by-spec."osenv"."0" =
-    self.by-version."osenv"."0.1.3";
-  by-version."osenv"."0.1.3" = self.buildNodePackage {
-    name = "osenv-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/osenv/-/osenv-0.1.3.tgz";
-      name = "osenv-0.1.3.tgz";
-      sha1 = "83cf05c6d6458fc4d5ac6362ea325d92f2754217";
-    };
-    deps = {
-      "os-homedir-1.0.1" = self.by-version."os-homedir"."1.0.1";
-      "os-tmpdir-1.0.1" = self.by-version."os-tmpdir"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."osenv"."0.0.3" =
-    self.by-version."osenv"."0.0.3";
-  by-version."osenv"."0.0.3" = self.buildNodePackage {
-    name = "osenv-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/osenv/-/osenv-0.0.3.tgz";
-      name = "osenv-0.0.3.tgz";
-      sha1 = "cd6ad8ddb290915ad9e22765576025d411f29cb6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."osenv"."^0.1.0" =
-    self.by-version."osenv"."0.1.3";
-  by-spec."osenv"."^0.1.3" =
-    self.by-version."osenv"."0.1.3";
-  by-spec."osenv"."~0.1.3" =
-    self.by-version."osenv"."0.1.3";
-  by-spec."osx-release"."^1.0.0" =
-    self.by-version."osx-release"."1.1.0";
-  by-version."osx-release"."1.1.0" = self.buildNodePackage {
-    name = "osx-release-1.1.0";
-    version = "1.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/osx-release/-/osx-release-1.1.0.tgz";
-      name = "osx-release-1.1.0.tgz";
-      sha1 = "f217911a28136949af1bf9308b241e2737d3cd6c";
-    };
-    deps = {
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."owl-deepcopy"."*" =
-    self.by-version."owl-deepcopy"."0.0.4";
-  by-version."owl-deepcopy"."0.0.4" = self.buildNodePackage {
-    name = "owl-deepcopy-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/owl-deepcopy/-/owl-deepcopy-0.0.4.tgz";
-      name = "owl-deepcopy-0.0.4.tgz";
-      sha1 = "665f3aeafab74302d98ecaeeb7b3e764ae21f369";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "owl-deepcopy" = self.by-version."owl-deepcopy"."0.0.4";
-  by-spec."owl-deepcopy"."~0.0.1" =
-    self.by-version."owl-deepcopy"."0.0.4";
-  by-spec."pac-proxy-agent"."0" =
-    self.by-version."pac-proxy-agent"."0.2.0";
-  by-version."pac-proxy-agent"."0.2.0" = self.buildNodePackage {
-    name = "pac-proxy-agent-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pac-proxy-agent/-/pac-proxy-agent-0.2.0.tgz";
-      name = "pac-proxy-agent-0.2.0.tgz";
-      sha1 = "ad902909d92f4fe7cc2e5f59f5bf5061bcfa71b2";
-    };
-    deps = {
-      "agent-base-1.0.2" = self.by-version."agent-base"."1.0.2";
-      "extend-1.2.1" = self.by-version."extend"."1.2.1";
-      "pac-resolver-1.2.6" = self.by-version."pac-resolver"."1.2.6";
-      "proxy-agent-1.1.1" = self.by-version."proxy-agent"."1.1.1";
-      "get-uri-0.1.4" = self.by-version."get-uri"."0.1.4";
-      "stream-to-array-1.0.0" = self.by-version."stream-to-array"."1.0.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pac-resolver"."~1.2.1" =
-    self.by-version."pac-resolver"."1.2.6";
-  by-version."pac-resolver"."1.2.6" = self.buildNodePackage {
-    name = "pac-resolver-1.2.6";
-    version = "1.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pac-resolver/-/pac-resolver-1.2.6.tgz";
-      name = "pac-resolver-1.2.6.tgz";
-      sha1 = "ed03af0c5b5933505bdd3f07f75175466d5e7cfb";
-    };
-    deps = {
-      "co-3.0.6" = self.by-version."co"."3.0.6";
-      "netmask-1.0.6" = self.by-version."netmask"."1.0.6";
-      "degenerator-1.0.2" = self.by-version."degenerator"."1.0.2";
-      "regenerator-0.8.46" = self.by-version."regenerator"."0.8.46";
-      "thunkify-2.1.2" = self.by-version."thunkify"."2.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."package-json"."^1.0.0" =
-    self.by-version."package-json"."1.2.0";
-  by-version."package-json"."1.2.0" = self.buildNodePackage {
-    name = "package-json-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/package-json/-/package-json-1.2.0.tgz";
-      name = "package-json-1.2.0.tgz";
-      sha1 = "c8ecac094227cdf76a316874ed05e27cc939a0e0";
-    };
-    deps = {
-      "got-3.3.1" = self.by-version."got"."3.3.1";
-      "registry-url-3.1.0" = self.by-version."registry-url"."3.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pad"."0.0.5" =
-    self.by-version."pad"."0.0.5";
-  by-version."pad"."0.0.5" = self.buildNodePackage {
-    name = "pad-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pad/-/pad-0.0.5.tgz";
-      name = "pad-0.0.5.tgz";
-      sha1 = "2219ab4db2ac74549a676164bc475d68cb87de05";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pako"."~0.2.0" =
-    self.by-version."pako"."0.2.8";
-  by-version."pako"."0.2.8" = self.buildNodePackage {
-    name = "pako-0.2.8";
-    version = "0.2.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pako/-/pako-0.2.8.tgz";
-      name = "pako-0.2.8.tgz";
-      sha1 = "15ad772915362913f20de4a8a164b4aacc6165d6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parents"."^1.0.0" =
-    self.by-version."parents"."1.0.1";
-  by-version."parents"."1.0.1" = self.buildNodePackage {
-    name = "parents-1.0.1";
-    version = "1.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parents/-/parents-1.0.1.tgz";
-      name = "parents-1.0.1.tgz";
-      sha1 = "fedd4d2bf193a77745fe71e371d73c3307d9c751";
-    };
-    deps = {
-      "path-platform-0.11.15" = self.by-version."path-platform"."0.11.15";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parents"."^1.0.1" =
-    self.by-version."parents"."1.0.1";
-  by-spec."parse-asn1"."^5.0.0" =
-    self.by-version."parse-asn1"."5.0.0";
-  by-version."parse-asn1"."5.0.0" = self.buildNodePackage {
-    name = "parse-asn1-5.0.0";
-    version = "5.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.0.0.tgz";
-      name = "parse-asn1-5.0.0.tgz";
-      sha1 = "35060f6d5015d37628c770f4e091a0b5a278bc23";
-    };
-    deps = {
-      "asn1.js-4.6.2" = self.by-version."asn1.js"."4.6.2";
-      "browserify-aes-1.0.6" = self.by-version."browserify-aes"."1.0.6";
-      "create-hash-1.1.2" = self.by-version."create-hash"."1.1.2";
-      "evp_bytestokey-1.0.0" = self.by-version."evp_bytestokey"."1.0.0";
-      "pbkdf2-3.0.4" = self.by-version."pbkdf2"."3.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parse-glob"."^3.0.4" =
-    self.by-version."parse-glob"."3.0.4";
-  by-version."parse-glob"."3.0.4" = self.buildNodePackage {
-    name = "parse-glob-3.0.4";
-    version = "3.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parse-glob/-/parse-glob-3.0.4.tgz";
-      name = "parse-glob-3.0.4.tgz";
-      sha1 = "b2c376cfb11f35513badd173ef0bb6e3a388391c";
-    };
-    deps = {
-      "glob-base-0.3.0" = self.by-version."glob-base"."0.3.0";
-      "is-dotfile-1.0.2" = self.by-version."is-dotfile"."1.0.2";
-      "is-extglob-1.0.0" = self.by-version."is-extglob"."1.0.0";
-      "is-glob-2.0.1" = self.by-version."is-glob"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parse-json"."^2.2.0" =
-    self.by-version."parse-json"."2.2.0";
-  by-version."parse-json"."2.2.0" = self.buildNodePackage {
-    name = "parse-json-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parse-json/-/parse-json-2.2.0.tgz";
-      name = "parse-json-2.2.0.tgz";
-      sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
-    };
-    deps = {
-      "error-ex-1.3.0" = self.by-version."error-ex"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parse-torrent"."^4.0.0" =
-    self.by-version."parse-torrent"."4.1.0";
-  by-version."parse-torrent"."4.1.0" = self.buildNodePackage {
-    name = "parse-torrent-4.1.0";
-    version = "4.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-4.1.0.tgz";
-      name = "parse-torrent-4.1.0.tgz";
-      sha1 = "a814bd8505e8b58e88eb8ff3e2daff5d19a711b7";
-    };
-    deps = {
-      "magnet-uri-4.2.3" = self.by-version."magnet-uri"."4.2.3";
-      "parse-torrent-file-2.1.4" = self.by-version."parse-torrent-file"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parse-torrent"."^5.4.0" =
-    self.by-version."parse-torrent"."5.7.3";
-  by-version."parse-torrent"."5.7.3" = self.buildNodePackage {
-    name = "parse-torrent-5.7.3";
-    version = "5.7.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parse-torrent/-/parse-torrent-5.7.3.tgz";
-      name = "parse-torrent-5.7.3.tgz";
-      sha1 = "8e7159acc2a3206cafba63ca6b418f1e4e64df34";
-    };
-    deps = {
-      "blob-to-buffer-1.2.6" = self.by-version."blob-to-buffer"."1.2.6";
-      "get-stdin-5.0.1" = self.by-version."get-stdin"."5.0.1";
-      "magnet-uri-5.1.3" = self.by-version."magnet-uri"."5.1.3";
-      "parse-torrent-file-3.3.8" = self.by-version."parse-torrent-file"."3.3.8";
-      "simple-get-2.2.0" = self.by-version."simple-get"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parse-torrent-file"."^2.0.0" =
-    self.by-version."parse-torrent-file"."2.1.4";
-  by-version."parse-torrent-file"."2.1.4" = self.buildNodePackage {
-    name = "parse-torrent-file-2.1.4";
-    version = "2.1.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parse-torrent-file/-/parse-torrent-file-2.1.4.tgz";
-      name = "parse-torrent-file-2.1.4.tgz";
-      sha1 = "32d4b6afde631420e5f415919a222b774b575707";
-    };
-    deps = {
-      "bencode-0.7.0" = self.by-version."bencode"."0.7.0";
-      "simple-sha1-2.0.8" = self.by-version."simple-sha1"."2.0.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parse-torrent-file"."^3.0.0" =
-    self.by-version."parse-torrent-file"."3.3.8";
-  by-version."parse-torrent-file"."3.3.8" = self.buildNodePackage {
-    name = "parse-torrent-file-3.3.8";
-    version = "3.3.8";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parse-torrent-file/-/parse-torrent-file-3.3.8.tgz";
-      name = "parse-torrent-file-3.3.8.tgz";
-      sha1 = "917fbceb794edadca66056130637fd38b9ffac13";
-    };
-    deps = {
-      "bencode-0.9.0" = self.by-version."bencode"."0.9.0";
-      "simple-sha1-2.0.8" = self.by-version."simple-sha1"."2.0.8";
-      "uniq-1.0.1" = self.by-version."uniq"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parse5".">= 1.3.1 < 2.0.0" =
-    self.by-version."parse5"."1.5.1";
-  by-version."parse5"."1.5.1" = self.buildNodePackage {
-    name = "parse5-1.5.1";
-    version = "1.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parse5/-/parse5-1.5.1.tgz";
-      name = "parse5-1.5.1.tgz";
-      sha1 = "9b7f3b0de32be78dc2401b17573ccaf0f6f59d94";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parsejson"."0.0.1" =
-    self.by-version."parsejson"."0.0.1";
-  by-version."parsejson"."0.0.1" = self.buildNodePackage {
-    name = "parsejson-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parsejson/-/parsejson-0.0.1.tgz";
-      name = "parsejson-0.0.1.tgz";
-      sha1 = "9b10c6c0d825ab589e685153826de0a3ba278bcc";
-    };
-    deps = {
-      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseqs"."0.0.2" =
-    self.by-version."parseqs"."0.0.2";
-  by-version."parseqs"."0.0.2" = self.buildNodePackage {
-    name = "parseqs-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parseqs/-/parseqs-0.0.2.tgz";
-      name = "parseqs-0.0.2.tgz";
-      sha1 = "9dfe70b2cddac388bde4f35b1f240fa58adbe6c7";
-    };
-    deps = {
-      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseuri"."0.0.2" =
-    self.by-version."parseuri"."0.0.2";
-  by-version."parseuri"."0.0.2" = self.buildNodePackage {
-    name = "parseuri-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parseuri/-/parseuri-0.0.2.tgz";
-      name = "parseuri-0.0.2.tgz";
-      sha1 = "db41878f2d6964718be870b3140973d8093be156";
-    };
-    deps = {
-      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseuri"."0.0.4" =
-    self.by-version."parseuri"."0.0.4";
-  by-version."parseuri"."0.0.4" = self.buildNodePackage {
-    name = "parseuri-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parseuri/-/parseuri-0.0.4.tgz";
-      name = "parseuri-0.0.4.tgz";
-      sha1 = "806582a39887e1ea18dd5e2fe0e01902268e9350";
-    };
-    deps = {
-      "better-assert-1.0.2" = self.by-version."better-assert"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseurl"."1.0.1" =
-    self.by-version."parseurl"."1.0.1";
-  by-version."parseurl"."1.0.1" = self.buildNodePackage {
-    name = "parseurl-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parseurl/-/parseurl-1.0.1.tgz";
-      name = "parseurl-1.0.1.tgz";
-      sha1 = "2e57dce6efdd37c3518701030944c22bf388b7b4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseurl"."~1.1.3" =
-    self.by-version."parseurl"."1.1.3";
-  by-version."parseurl"."1.1.3" = self.buildNodePackage {
-    name = "parseurl-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parseurl/-/parseurl-1.1.3.tgz";
-      name = "parseurl-1.1.3.tgz";
-      sha1 = "1f005738ac71b417bc2d0845cbdfa2a8b63ea639";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseurl"."~1.3.0" =
-    self.by-version."parseurl"."1.3.1";
-  by-version."parseurl"."1.3.1" = self.buildNodePackage {
-    name = "parseurl-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parseurl/-/parseurl-1.3.1.tgz";
-      name = "parseurl-1.3.1.tgz";
-      sha1 = "c8ab8c9223ba34888aa64a297b28853bec18da56";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."parseurl"."~1.3.1" =
-    self.by-version."parseurl"."1.3.1";
-  by-spec."parsoid"."0.4.1" =
-    self.by-version."parsoid"."0.4.1";
-  by-version."parsoid"."0.4.1" = self.buildNodePackage {
-    name = "parsoid-0.4.1";
-    version = "0.4.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/parsoid/-/parsoid-0.4.1.tgz";
-      name = "parsoid-0.4.1.tgz";
-      sha1 = "141f2fe215b06d74fd0bad4d5a46b105cd0eb3e7";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "body-parser-1.13.3" = self.by-version."body-parser"."1.13.3";
-      "bunyan-1.0.1" = self.by-version."bunyan"."1.0.1";
-      "compression-1.5.2" = self.by-version."compression"."1.5.2";
-      "connect-busboy-0.0.2" = self.by-version."connect-busboy"."0.0.2";
-      "core-js-0.8.4" = self.by-version."core-js"."0.8.4";
-      "diff-1.0.8" = self.by-version."diff"."1.0.8";
-      "domino-1.0.25" = self.by-version."domino"."1.0.25";
-      "entities-1.1.1" = self.by-version."entities"."1.1.1";
-      "express-4.13.4" = self.by-version."express"."4.13.4";
-      "express-handlebars-2.0.1" = self.by-version."express-handlebars"."2.0.1";
-      "gelf-stream-0.2.4" = self.by-version."gelf-stream"."0.2.4";
-      "html5-1.0.5" = self.by-version."html5"."1.0.5";
-      "node-txstatsd-0.1.6" = self.by-version."node-txstatsd"."0.1.6";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "pegjs-0.8.0" = self.by-version."pegjs"."0.8.0";
-      "prfun-2.0.0" = self.by-version."prfun"."2.0.0";
-      "request-2.40.0" = self.by-version."request"."2.40.0";
-      "serve-favicon-2.3.0" = self.by-version."serve-favicon"."2.3.0";
-      "simplediff-0.1.1" = self.by-version."simplediff"."0.1.1";
-      "yargs-1.3.3" = self.by-version."yargs"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "parsoid" = self.by-version."parsoid"."0.4.1";
-  by-spec."passport"."*" =
-    self.by-version."passport"."0.3.2";
-  by-version."passport"."0.3.2" = self.buildNodePackage {
-    name = "passport-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport/-/passport-0.3.2.tgz";
-      name = "passport-0.3.2.tgz";
-      sha1 = "9dd009f915e8fe095b0124a01b8f82da07510102";
-    };
-    deps = {
-      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
-      "pause-0.0.1" = self.by-version."pause"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "passport" = self.by-version."passport"."0.3.2";
-  by-spec."passport"."0.3.2" =
-    self.by-version."passport"."0.3.2";
-  by-spec."passport".">=0.1.15" =
-    self.by-version."passport"."0.3.2";
-  by-spec."passport"."~0.1.1" =
-    self.by-version."passport"."0.1.18";
-  by-version."passport"."0.1.18" = self.buildNodePackage {
-    name = "passport-0.1.18";
-    version = "0.1.18";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport/-/passport-0.1.18.tgz";
-      name = "passport-0.1.18.tgz";
-      sha1 = "c8264479dcb6414cadbb66752d12b37e0b6525a1";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "pause-0.0.1" = self.by-version."pause"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport"."~0.3.2" =
-    self.by-version."passport"."0.3.2";
-  by-spec."passport-dropbox".">=0.1.2" =
-    self.by-version."passport-dropbox"."2.0.0";
-  by-version."passport-dropbox"."2.0.0" = self.buildNodePackage {
-    name = "passport-dropbox-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-dropbox/-/passport-dropbox-2.0.0.tgz";
-      name = "passport-dropbox-2.0.0.tgz";
-      sha1 = "7efe6ced152a4f4db4e4db385743c2764eba963b";
-    };
-    deps = {
-      "passport-oauth1-1.1.0" = self.by-version."passport-oauth1"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-evernote"."^0.1.1" =
-    self.by-version."passport-evernote"."0.1.1";
-  by-version."passport-evernote"."0.1.1" = self.buildNodePackage {
-    name = "passport-evernote-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-evernote/-/passport-evernote-0.1.1.tgz";
-      name = "passport-evernote-0.1.1.tgz";
-      sha1 = "10e097affa7e7520358d9ea26f34f1cce176adc2";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-facebook".">=0.1.5" =
-    self.by-version."passport-facebook"."2.1.1";
-  by-version."passport-facebook"."2.1.1" = self.buildNodePackage {
-    name = "passport-facebook-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-facebook/-/passport-facebook-2.1.1.tgz";
-      name = "passport-facebook-2.1.1.tgz";
-      sha1 = "c39d0b52ae4d59163245a4e21a7b9b6321303311";
-    };
-    deps = {
-      "passport-oauth2-1.3.0" = self.by-version."passport-oauth2"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-flickr".">=0.1.1" =
-    self.by-version."passport-flickr"."0.2.0";
-  by-version."passport-flickr"."0.2.0" = self.buildNodePackage {
-    name = "passport-flickr-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-flickr/-/passport-flickr-0.2.0.tgz";
-      name = "passport-flickr-0.2.0.tgz";
-      sha1 = "9f3a77eac4b48a9e2109df12e544114b42960c5c";
-    };
-    deps = {
-      "passport-oauth-1.0.0" = self.by-version."passport-oauth"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-github".">=0.1.5" =
-    self.by-version."passport-github"."1.1.0";
-  by-version."passport-github"."1.1.0" = self.buildNodePackage {
-    name = "passport-github-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-github/-/passport-github-1.1.0.tgz";
-      name = "passport-github-1.1.0.tgz";
-      sha1 = "8ce1e3fcd61ad7578eb1df595839e4aea12355d4";
-    };
-    deps = {
-      "passport-oauth2-1.3.0" = self.by-version."passport-oauth2"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-google-oauth".">=0.1.5" =
-    self.by-version."passport-google-oauth"."1.0.0";
-  by-version."passport-google-oauth"."1.0.0" = self.buildNodePackage {
-    name = "passport-google-oauth-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-google-oauth/-/passport-google-oauth-1.0.0.tgz";
-      name = "passport-google-oauth-1.0.0.tgz";
-      sha1 = "65f50633192ad0627a18b08960077109d84eb76d";
-    };
-    deps = {
-      "passport-google-oauth1-1.0.0" = self.by-version."passport-google-oauth1"."1.0.0";
-      "passport-google-oauth20-1.0.0" = self.by-version."passport-google-oauth20"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-google-oauth1"."1.x.x" =
-    self.by-version."passport-google-oauth1"."1.0.0";
-  by-version."passport-google-oauth1"."1.0.0" = self.buildNodePackage {
-    name = "passport-google-oauth1-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-google-oauth1/-/passport-google-oauth1-1.0.0.tgz";
-      name = "passport-google-oauth1-1.0.0.tgz";
-      sha1 = "af74a803df51ec646f66a44d82282be6f108e0cc";
-    };
-    deps = {
-      "passport-oauth1-1.1.0" = self.by-version."passport-oauth1"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-google-oauth20"."1.x.x" =
-    self.by-version."passport-google-oauth20"."1.0.0";
-  by-version."passport-google-oauth20"."1.0.0" = self.buildNodePackage {
-    name = "passport-google-oauth20-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-google-oauth20/-/passport-google-oauth20-1.0.0.tgz";
-      name = "passport-google-oauth20-1.0.0.tgz";
-      sha1 = "3b960e8a1d70d1dbe794615c827c68c40392a5d0";
-    };
-    deps = {
-      "passport-oauth2-1.3.0" = self.by-version."passport-oauth2"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-http"."*" =
-    self.by-version."passport-http"."0.3.0";
-  by-version."passport-http"."0.3.0" = self.buildNodePackage {
-    name = "passport-http-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-http/-/passport-http-0.3.0.tgz";
-      name = "passport-http-0.3.0.tgz";
-      sha1 = "8ee53d4380be9c60df2151925029826f77115603";
-    };
-    deps = {
-      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "passport-http" = self.by-version."passport-http"."0.3.0";
-  by-spec."passport-http-bearer"."1.0.1" =
-    self.by-version."passport-http-bearer"."1.0.1";
-  by-version."passport-http-bearer"."1.0.1" = self.buildNodePackage {
-    name = "passport-http-bearer-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-http-bearer/-/passport-http-bearer-1.0.1.tgz";
-      name = "passport-http-bearer-1.0.1.tgz";
-      sha1 = "147469ea3669e2a84c6167ef99dbb77e1f0098a8";
-    };
-    deps = {
-      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-imgur".">=0.0.1" =
-    self.by-version."passport-imgur"."0.0.3";
-  by-version."passport-imgur"."0.0.3" = self.buildNodePackage {
-    name = "passport-imgur-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-imgur/-/passport-imgur-0.0.3.tgz";
-      name = "passport-imgur-0.0.3.tgz";
-      sha1 = "c27fca66db4745b4061b59b80c81262fd3bbe17f";
-    };
-    deps = {
-      "passport-oauth-1.0.0" = self.by-version."passport-oauth"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-instagram".">=0.1.2" =
-    self.by-version."passport-instagram"."1.0.0";
-  by-version."passport-instagram"."1.0.0" = self.buildNodePackage {
-    name = "passport-instagram-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-instagram/-/passport-instagram-1.0.0.tgz";
-      name = "passport-instagram-1.0.0.tgz";
-      sha1 = "eaa2b42d11473bcfda5190f26234cf485f645656";
-    };
-    deps = {
-      "passport-oauth2-1.3.0" = self.by-version."passport-oauth2"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-local"."*" =
-    self.by-version."passport-local"."1.0.0";
-  by-version."passport-local"."1.0.0" = self.buildNodePackage {
-    name = "passport-local-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-local/-/passport-local-1.0.0.tgz";
-      name = "passport-local-1.0.0.tgz";
-      sha1 = "1fe63268c92e75606626437e3b906662c15ba6ee";
-    };
-    deps = {
-      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "passport-local" = self.by-version."passport-local"."1.0.0";
-  by-spec."passport-local"."~1.0.0" =
-    self.by-version."passport-local"."1.0.0";
-  by-spec."passport-mailchimp".">=0.0.1" =
-    self.by-version."passport-mailchimp"."1.0.0";
-  by-version."passport-mailchimp"."1.0.0" = self.buildNodePackage {
-    name = "passport-mailchimp-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-mailchimp/-/passport-mailchimp-1.0.0.tgz";
-      name = "passport-mailchimp-1.0.0.tgz";
-      sha1 = "34c5ec1186fd7ef265153d1258406b96d8d64e74";
-    };
-    deps = {
-      "passport-oauth2-1.3.0" = self.by-version."passport-oauth2"."1.3.0";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-mixcloud".">=0.0.1" =
-    self.by-version."passport-mixcloud"."0.0.2";
-  by-version."passport-mixcloud"."0.0.2" = self.buildNodePackage {
-    name = "passport-mixcloud-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-mixcloud/-/passport-mixcloud-0.0.2.tgz";
-      name = "passport-mixcloud-0.0.2.tgz";
-      sha1 = "b216bcb0cbc605ec5dac87e65387d456768346c1";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "passport-oauth-0.1.15" = self.by-version."passport-oauth"."0.1.15";
-      "passport-mixcloud-0.0.2" = self.by-version."passport-mixcloud"."0.0.2";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-oauth"."0.1.x" =
-    self.by-version."passport-oauth"."0.1.15";
-  by-version."passport-oauth"."0.1.15" = self.buildNodePackage {
-    name = "passport-oauth-0.1.15";
-    version = "0.1.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-oauth/-/passport-oauth-0.1.15.tgz";
-      name = "passport-oauth-0.1.15.tgz";
-      sha1 = "fb74e0afe84614bfa256c5fc716cc56bbfc8cec0";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "passport-0.1.18" = self.by-version."passport"."0.1.18";
-      "oauth-0.9.14" = self.by-version."oauth"."0.9.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-oauth"."1.x.x" =
-    self.by-version."passport-oauth"."1.0.0";
-  by-version."passport-oauth"."1.0.0" = self.buildNodePackage {
-    name = "passport-oauth-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-oauth/-/passport-oauth-1.0.0.tgz";
-      name = "passport-oauth-1.0.0.tgz";
-      sha1 = "90aff63387540f02089af28cdad39ea7f80d77df";
-    };
-    deps = {
-      "passport-oauth1-1.1.0" = self.by-version."passport-oauth1"."1.1.0";
-      "passport-oauth2-1.3.0" = self.by-version."passport-oauth2"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-oauth".">= 0.1.0" =
-    self.by-version."passport-oauth"."1.0.0";
-  by-spec."passport-oauth"."~0.1.1" =
-    self.by-version."passport-oauth"."0.1.15";
-  by-spec."passport-oauth1"."1.x.x" =
-    self.by-version."passport-oauth1"."1.1.0";
-  by-version."passport-oauth1"."1.1.0" = self.buildNodePackage {
-    name = "passport-oauth1-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-oauth1/-/passport-oauth1-1.1.0.tgz";
-      name = "passport-oauth1-1.1.0.tgz";
-      sha1 = "a7de988a211f9cf4687377130ea74df32730c918";
-    };
-    deps = {
-      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
-      "oauth-0.9.14" = self.by-version."oauth"."0.9.14";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-oauth1"."^1.0.1" =
-    self.by-version."passport-oauth1"."1.1.0";
-  by-spec."passport-oauth2"."1.x.x" =
-    self.by-version."passport-oauth2"."1.3.0";
-  by-version."passport-oauth2"."1.3.0" = self.buildNodePackage {
-    name = "passport-oauth2-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-oauth2/-/passport-oauth2-1.3.0.tgz";
-      name = "passport-oauth2-1.3.0.tgz";
-      sha1 = "d72b4bd62eeb807a4089ff3071a22c26c382dc0c";
-    };
-    deps = {
-      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
-      "oauth-0.9.14" = self.by-version."oauth"."0.9.14";
-      "uid2-0.0.3" = self.by-version."uid2"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-oauth2"."^1.1.2" =
-    self.by-version."passport-oauth2"."1.3.0";
-  by-spec."passport-oauth2-client-password"."0.1.2" =
-    self.by-version."passport-oauth2-client-password"."0.1.2";
-  by-version."passport-oauth2-client-password"."0.1.2" = self.buildNodePackage {
-    name = "passport-oauth2-client-password-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-oauth2-client-password/-/passport-oauth2-client-password-0.1.2.tgz";
-      name = "passport-oauth2-client-password-0.1.2.tgz";
-      sha1 = "4f378b678b92d16dbbd233a6c706520093e561ba";
-    };
-    deps = {
-      "passport-strategy-1.0.0" = self.by-version."passport-strategy"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-soundcloud".">=0.1.2" =
-    self.by-version."passport-soundcloud"."0.2.0";
-  by-version."passport-soundcloud"."0.2.0" = self.buildNodePackage {
-    name = "passport-soundcloud-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-soundcloud/-/passport-soundcloud-0.2.0.tgz";
-      name = "passport-soundcloud-0.2.0.tgz";
-      sha1 = "80a025c7d3d70bf258f2b7da65950613bdb28258";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "passport-oauth-1.0.0" = self.by-version."passport-oauth"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-strategy"."1.x.x" =
-    self.by-version."passport-strategy"."1.0.0";
-  by-version."passport-strategy"."1.0.0" = self.buildNodePackage {
-    name = "passport-strategy-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-strategy/-/passport-strategy-1.0.0.tgz";
-      name = "passport-strategy-1.0.0.tgz";
-      sha1 = "b5539aa8fc225a3d1ad179476ddf236b440f52e4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-trello"."~0.1.4" =
-    self.by-version."passport-trello"."0.1.5";
-  by-version."passport-trello"."0.1.5" = self.buildNodePackage {
-    name = "passport-trello-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-trello/-/passport-trello-0.1.5.tgz";
-      name = "passport-trello-0.1.5.tgz";
-      sha1 = "cc98ce493a4827a6335490acd2c0d995580fd039";
-    };
-    deps = {
-      "passport-oauth1-1.1.0" = self.by-version."passport-oauth1"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-twitter".">=0.1.4" =
-    self.by-version."passport-twitter"."1.0.4";
-  by-version."passport-twitter"."1.0.4" = self.buildNodePackage {
-    name = "passport-twitter-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-twitter/-/passport-twitter-1.0.4.tgz";
-      name = "passport-twitter-1.0.4.tgz";
-      sha1 = "01a799e1f760bf2de49f2ba5fba32282f18932d7";
-    };
-    deps = {
-      "passport-oauth1-1.1.0" = self.by-version."passport-oauth1"."1.1.0";
-      "xtraverse-0.1.0" = self.by-version."xtraverse"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."passport-wordpress".">=0.0.1" =
-    self.by-version."passport-wordpress"."0.0.4";
-  by-version."passport-wordpress"."0.0.4" = self.buildNodePackage {
-    name = "passport-wordpress-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/passport-wordpress/-/passport-wordpress-0.0.4.tgz";
-      name = "passport-wordpress-0.0.4.tgz";
-      sha1 = "553b54812f9711171951f34d15ce4e001a98f1b0";
-    };
-    deps = {
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "passport-oauth-1.0.0" = self.by-version."passport-oauth"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-array"."^1.0.0" =
-    self.by-version."path-array"."1.0.1";
-  by-version."path-array"."1.0.1" = self.buildNodePackage {
-    name = "path-array-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-array/-/path-array-1.0.1.tgz";
-      name = "path-array-1.0.1.tgz";
-      sha1 = "7e2f0f35f07a2015122b868b7eac0eb2c4fec271";
-    };
-    deps = {
-      "array-index-1.0.0" = self.by-version."array-index"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-browserify"."0.0.0" =
-    self.by-version."path-browserify"."0.0.0";
-  by-version."path-browserify"."0.0.0" = self.buildNodePackage {
-    name = "path-browserify-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.0.tgz";
-      name = "path-browserify-0.0.0.tgz";
-      sha1 = "a0b870729aae214005b7d5032ec2cbbb0fb4451a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-browserify"."~0.0.0" =
-    self.by-version."path-browserify"."0.0.0";
-  by-spec."path-exists"."^2.0.0" =
-    self.by-version."path-exists"."2.1.0";
-  by-version."path-exists"."2.1.0" = self.buildNodePackage {
-    name = "path-exists-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-exists/-/path-exists-2.1.0.tgz";
-      name = "path-exists-2.1.0.tgz";
-      sha1 = "0feb6c64f0fc518d9a754dd5efb62c7022761f4b";
-    };
-    deps = {
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-is-absolute"."1.0.0" =
-    self.by-version."path-is-absolute"."1.0.0";
-  by-version."path-is-absolute"."1.0.0" = self.buildNodePackage {
-    name = "path-is-absolute-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.0.tgz";
-      name = "path-is-absolute-1.0.0.tgz";
-      sha1 = "263dada66ab3f2fb10bf7f9d24dd8f3e570ef912";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-is-absolute"."^1.0.0" =
-    self.by-version."path-is-absolute"."1.0.0";
-  by-spec."path-is-absolute"."~1.0.0" =
-    self.by-version."path-is-absolute"."1.0.0";
-  by-spec."path-is-inside"."^1.0.1" =
-    self.by-version."path-is-inside"."1.0.1";
-  by-version."path-is-inside"."1.0.1" = self.buildNodePackage {
-    name = "path-is-inside-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.1.tgz";
-      name = "path-is-inside-1.0.1.tgz";
-      sha1 = "98d8f1d030bf04bd7aeee4a1ba5485d40318fd89";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-is-inside"."~1.0.0" =
-    self.by-version."path-is-inside"."1.0.1";
-  by-spec."path-is-inside"."~1.0.1" =
-    self.by-version."path-is-inside"."1.0.1";
-  by-spec."path-parse"."^1.0.5" =
-    self.by-version."path-parse"."1.0.5";
-  by-version."path-parse"."1.0.5" = self.buildNodePackage {
-    name = "path-parse-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-parse/-/path-parse-1.0.5.tgz";
-      name = "path-parse-1.0.5.tgz";
-      sha1 = "3c1adf871ea9cd6c9431b6ea2bd74a0ff055c4c1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-platform"."~0.11.15" =
-    self.by-version."path-platform"."0.11.15";
-  by-version."path-platform"."0.11.15" = self.buildNodePackage {
-    name = "path-platform-0.11.15";
-    version = "0.11.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-platform/-/path-platform-0.11.15.tgz";
-      name = "path-platform-0.11.15.tgz";
-      sha1 = "e864217f74c36850f0852b78dc7bf7d4a5721bf2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-proxy"."~1.0" =
-    self.by-version."path-proxy"."1.0.0";
-  by-version."path-proxy"."1.0.0" = self.buildNodePackage {
-    name = "path-proxy-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-proxy/-/path-proxy-1.0.0.tgz";
-      name = "path-proxy-1.0.0.tgz";
-      sha1 = "18e8a36859fc9d2f1a53b48dee138543c020de5e";
-    };
-    deps = {
-      "inflection-1.3.8" = self.by-version."inflection"."1.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-to-regexp"."0.1.3" =
-    self.by-version."path-to-regexp"."0.1.3";
-  by-version."path-to-regexp"."0.1.3" = self.buildNodePackage {
-    name = "path-to-regexp-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.3.tgz";
-      name = "path-to-regexp-0.1.3.tgz";
-      sha1 = "21b9ab82274279de25b156ea08fd12ca51b8aecb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-to-regexp"."0.1.6" =
-    self.by-version."path-to-regexp"."0.1.6";
-  by-version."path-to-regexp"."0.1.6" = self.buildNodePackage {
-    name = "path-to-regexp-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.6.tgz";
-      name = "path-to-regexp-0.1.6.tgz";
-      sha1 = "f01fd5734047b6bfbc5f208c6135a33d7af09c36";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-to-regexp"."0.1.7" =
-    self.by-version."path-to-regexp"."0.1.7";
-  by-version."path-to-regexp"."0.1.7" = self.buildNodePackage {
-    name = "path-to-regexp-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
-      name = "path-to-regexp-0.1.7.tgz";
-      sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."path-type"."^1.0.0" =
-    self.by-version."path-type"."1.1.0";
-  by-version."path-type"."1.1.0" = self.buildNodePackage {
-    name = "path-type-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/path-type/-/path-type-1.1.0.tgz";
-      name = "path-type-1.1.0.tgz";
-      sha1 = "59c44f7ee491da704da415da5a4070ba4f8fe441";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "pify-2.3.0" = self.by-version."pify"."2.3.0";
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pause"."0.0.1" =
-    self.by-version."pause"."0.0.1";
-  by-version."pause"."0.0.1" = self.buildNodePackage {
-    name = "pause-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pause/-/pause-0.0.1.tgz";
-      name = "pause-0.0.1.tgz";
-      sha1 = "1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pause"."0.1.0" =
-    self.by-version."pause"."0.1.0";
-  by-version."pause"."0.1.0" = self.buildNodePackage {
-    name = "pause-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pause/-/pause-0.1.0.tgz";
-      name = "pause-0.1.0.tgz";
-      sha1 = "ebc8a4a8619ff0b8a81ac1513c3434ff469fdb74";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pause-stream"."0.0.11" =
-    self.by-version."pause-stream"."0.0.11";
-  by-version."pause-stream"."0.0.11" = self.buildNodePackage {
-    name = "pause-stream-0.0.11";
-    version = "0.0.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pause-stream/-/pause-stream-0.0.11.tgz";
-      name = "pause-stream-0.0.11.tgz";
-      sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
-    };
-    deps = {
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pbkdf2"."^3.0.3" =
-    self.by-version."pbkdf2"."3.0.4";
-  by-version."pbkdf2"."3.0.4" = self.buildNodePackage {
-    name = "pbkdf2-3.0.4";
-    version = "3.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.4.tgz";
-      name = "pbkdf2-3.0.4.tgz";
-      sha1 = "12c8bfaf920543786a85150b03f68d5f1aa982fc";
-    };
-    deps = {
-      "create-hmac-1.1.4" = self.by-version."create-hmac"."1.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."peer-wire-protocol"."^0.7.0" =
-    self.by-version."peer-wire-protocol"."0.7.0";
-  by-version."peer-wire-protocol"."0.7.0" = self.buildNodePackage {
-    name = "peer-wire-protocol-0.7.0";
-    version = "0.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/peer-wire-protocol/-/peer-wire-protocol-0.7.0.tgz";
-      name = "peer-wire-protocol-0.7.0.tgz";
-      sha1 = "6c015abf24b4877ed9eca3822b22d996078011da";
-    };
-    deps = {
-      "bitfield-0.1.0" = self.by-version."bitfield"."0.1.0";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "bncode-0.2.3" = self.by-version."bncode"."0.2.3";
-      "speedometer-0.1.4" = self.by-version."speedometer"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."peer-wire-swarm"."^0.12.0" =
-    self.by-version."peer-wire-swarm"."0.12.1";
-  by-version."peer-wire-swarm"."0.12.1" = self.buildNodePackage {
-    name = "peer-wire-swarm-0.12.1";
-    version = "0.12.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/peer-wire-swarm/-/peer-wire-swarm-0.12.1.tgz";
-      name = "peer-wire-swarm-0.12.1.tgz";
-      sha1 = "51b75da99c335c64c9ba9ef99fe27a4a5951ff42";
-    };
-    deps = {
-      "fifo-0.1.4" = self.by-version."fifo"."0.1.4";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "peer-wire-protocol-0.7.0" = self.by-version."peer-wire-protocol"."0.7.0";
-      "speedometer-0.1.4" = self.by-version."speedometer"."0.1.4";
-      "utp-0.0.7" = self.by-version."utp"."0.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."peer-wire-swarm"."^0.9.2" =
-    self.by-version."peer-wire-swarm"."0.9.2";
-  by-version."peer-wire-swarm"."0.9.2" = self.buildNodePackage {
-    name = "peer-wire-swarm-0.9.2";
-    version = "0.9.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/peer-wire-swarm/-/peer-wire-swarm-0.9.2.tgz";
-      name = "peer-wire-swarm-0.9.2.tgz";
-      sha1 = "092848005607d8ca94e69f9bc9ebe52956ec3048";
-    };
-    deps = {
-      "peer-wire-protocol-0.7.0" = self.by-version."peer-wire-protocol"."0.7.0";
-      "fifo-0.1.4" = self.by-version."fifo"."0.1.4";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "speedometer-0.1.4" = self.by-version."speedometer"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."peerflix"."*" =
-    self.by-version."peerflix"."0.35.0";
-  by-version."peerflix"."0.35.0" = self.buildNodePackage {
-    name = "peerflix-0.35.0";
-    version = "0.35.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/peerflix/-/peerflix-0.35.0.tgz";
-      name = "peerflix-0.35.0.tgz";
-      sha1 = "022246d6bfe4175aa10340d253e3d8c92df7b926";
-    };
-    deps = {
-      "clivas-0.1.4" = self.by-version."clivas"."0.1.4";
-      "inquirer-0.8.5" = self.by-version."inquirer"."0.8.5";
-      "keypress-0.2.1" = self.by-version."keypress"."0.2.1";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "network-address-0.0.5" = self.by-version."network-address"."0.0.5";
-      "numeral-1.5.3" = self.by-version."numeral"."1.5.3";
-      "open-0.0.5" = self.by-version."open"."0.0.5";
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-      "parse-torrent-5.7.3" = self.by-version."parse-torrent"."5.7.3";
-      "pump-0.3.5" = self.by-version."pump"."0.3.5";
-      "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0";
-      "rc-0.4.0" = self.by-version."rc"."0.4.0";
-      "torrent-stream-1.0.3" = self.by-version."torrent-stream"."1.0.3";
-      "windows-no-runnable-0.0.6" = self.by-version."windows-no-runnable"."0.0.6";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-      "airplayer-2.0.0" = self.by-version."airplayer"."2.0.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "peerflix" = self.by-version."peerflix"."0.35.0";
-  by-spec."peerflix"."^0.34.0" =
-    self.by-version."peerflix"."0.34.0";
-  by-version."peerflix"."0.34.0" = self.buildNodePackage {
-    name = "peerflix-0.34.0";
-    version = "0.34.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/peerflix/-/peerflix-0.34.0.tgz";
-      name = "peerflix-0.34.0.tgz";
-      sha1 = "748f7e401284bf8f2c620264d229223304199dbe";
-    };
-    deps = {
-      "clivas-0.1.4" = self.by-version."clivas"."0.1.4";
-      "inquirer-0.8.5" = self.by-version."inquirer"."0.8.5";
-      "keypress-0.2.1" = self.by-version."keypress"."0.2.1";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "network-address-0.0.5" = self.by-version."network-address"."0.0.5";
-      "numeral-1.5.3" = self.by-version."numeral"."1.5.3";
-      "open-0.0.5" = self.by-version."open"."0.0.5";
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-      "parse-torrent-5.7.3" = self.by-version."parse-torrent"."5.7.3";
-      "pump-0.3.5" = self.by-version."pump"."0.3.5";
-      "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0";
-      "rc-0.4.0" = self.by-version."rc"."0.4.0";
-      "torrent-stream-1.0.3" = self.by-version."torrent-stream"."1.0.3";
-      "windows-no-runnable-0.0.6" = self.by-version."windows-no-runnable"."0.0.6";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-      "airplay-js-0.2.16" = self.by-version."airplay-js"."0.2.16";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."peerflix-server"."*" =
-    self.by-version."peerflix-server"."0.0.29";
-  by-version."peerflix-server"."0.0.29" = self.buildNodePackage {
-    name = "peerflix-server-0.0.29";
-    version = "0.0.29";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/peerflix-server/-/peerflix-server-0.0.29.tgz";
-      name = "peerflix-server-0.0.29.tgz";
-      sha1 = "db21c35c6c1bde4a54dd1f215dc466ab55962751";
-    };
-    deps = {
-      "connect-multiparty-1.2.5" = self.by-version."connect-multiparty"."1.2.5";
-      "express-3.5.3" = self.by-version."express"."3.5.3";
-      "lodash-2.4.2" = self.by-version."lodash"."2.4.2";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "pump-1.0.1" = self.by-version."pump"."1.0.1";
-      "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0";
-      "read-torrent-1.3.0" = self.by-version."read-torrent"."1.3.0";
-      "socket.io-0.9.17" = self.by-version."socket.io"."0.9.17";
-      "torrent-stream-0.18.1" = self.by-version."torrent-stream"."0.18.1";
-    };
-    optionalDependencies = {
-      "fluent-ffmpeg-2.1.0" = self.by-version."fluent-ffmpeg"."2.1.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "peerflix-server" = self.by-version."peerflix-server"."0.0.29";
-  by-spec."pegjs"."0.9.0" =
-    self.by-version."pegjs"."0.9.0";
-  by-version."pegjs"."0.9.0" = self.buildNodePackage {
-    name = "pegjs-0.9.0";
-    version = "0.9.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pegjs/-/pegjs-0.9.0.tgz";
-      name = "pegjs-0.9.0.tgz";
-      sha1 = "f6aefa2e3ce56169208e52179dfe41f89141a369";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pegjs"."git+https://github.com/tstarling/pegjs.git#fork" =
-    self.by-version."pegjs"."0.8.0";
-  by-version."pegjs"."0.8.0" = self.buildNodePackage {
-    name = "pegjs-0.8.0";
-    version = "0.8.0";
-    bin = true;
-    src = fetchgit {
-      url = "https://github.com/tstarling/pegjs.git";
-      rev = "9162b1e114e41992dd0fdafa24d2574a0b8a836a";
-      sha256 = "d0dac8e9de14c4e7c05da55248dd3a422b915a96d668aa14f92747cfdbdb40aa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pend"."~1.2.0" =
-    self.by-version."pend"."1.2.0";
-  by-version."pend"."1.2.0" = self.buildNodePackage {
-    name = "pend-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz";
-      name = "pend-1.2.0.tgz";
-      sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."phantomjs"."*" =
-    self.by-version."phantomjs"."2.1.7";
-  by-version."phantomjs"."2.1.7" = self.buildNodePackage {
-    name = "phantomjs-2.1.7";
-    version = "2.1.7";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/phantomjs/-/phantomjs-2.1.7.tgz";
-      name = "phantomjs-2.1.7.tgz";
-      sha1 = "c6910f67935c37285b6114329fc2f27d5f3e3134";
-    };
-    deps = {
-      "extract-zip-1.5.0" = self.by-version."extract-zip"."1.5.0";
-      "fs-extra-0.26.7" = self.by-version."fs-extra"."0.26.7";
-      "hasha-2.2.0" = self.by-version."hasha"."2.2.0";
-      "kew-0.7.0" = self.by-version."kew"."0.7.0";
-      "progress-1.1.8" = self.by-version."progress"."1.1.8";
-      "request-2.67.0" = self.by-version."request"."2.67.0";
-      "request-progress-2.0.1" = self.by-version."request-progress"."2.0.1";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "phantomjs" = self.by-version."phantomjs"."2.1.7";
-  by-spec."phantomjs"."1.9.7-15" =
-    self.by-version."phantomjs"."1.9.7-15";
-  by-version."phantomjs"."1.9.7-15" = self.buildNodePackage {
-    name = "phantomjs-1.9.7-15";
-    version = "1.9.7-15";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.7-15.tgz";
-      name = "phantomjs-1.9.7-15.tgz";
-      sha1 = "0b3a7ce630486a83be91ff4e832eee20e971115b";
-    };
-    deps = {
-      "adm-zip-0.2.1" = self.by-version."adm-zip"."0.2.1";
-      "kew-0.1.7" = self.by-version."kew"."0.1.7";
-      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
-      "npmconf-0.0.24" = self.by-version."npmconf"."0.0.24";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "progress-1.1.8" = self.by-version."progress"."1.1.8";
-      "request-2.36.0" = self.by-version."request"."2.36.0";
-      "request-progress-0.3.1" = self.by-version."request-progress"."0.3.1";
-      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
-      "which-1.0.9" = self.by-version."which"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."phantomjs"."~1.9.10" =
-    self.by-version."phantomjs"."1.9.20";
-  by-version."phantomjs"."1.9.20" = self.buildNodePackage {
-    name = "phantomjs-1.9.20";
-    version = "1.9.20";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/phantomjs/-/phantomjs-1.9.20.tgz";
-      name = "phantomjs-1.9.20.tgz";
-      sha1 = "4424aca20e14d255c0b0889af6f6b8973da10e0d";
-    };
-    deps = {
-      "extract-zip-1.5.0" = self.by-version."extract-zip"."1.5.0";
-      "fs-extra-0.26.7" = self.by-version."fs-extra"."0.26.7";
-      "hasha-2.2.0" = self.by-version."hasha"."2.2.0";
-      "kew-0.7.0" = self.by-version."kew"."0.7.0";
-      "progress-1.1.8" = self.by-version."progress"."1.1.8";
-      "request-2.67.0" = self.by-version."request"."2.67.0";
-      "request-progress-2.0.1" = self.by-version."request-progress"."2.0.1";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pify"."^2.0.0" =
-    self.by-version."pify"."2.3.0";
-  by-version."pify"."2.3.0" = self.buildNodePackage {
-    name = "pify-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz";
-      name = "pify-2.3.0.tgz";
-      sha1 = "ed141a6ac043a849ea588498e7dca8b15330e90c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pinkie"."^2.0.0" =
-    self.by-version."pinkie"."2.0.4";
-  by-version."pinkie"."2.0.4" = self.buildNodePackage {
-    name = "pinkie-2.0.4";
-    version = "2.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz";
-      name = "pinkie-2.0.4.tgz";
-      sha1 = "72556b80cfa0d48a974e80e77248e80ed4f7f870";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pinkie-promise"."^2.0.0" =
-    self.by-version."pinkie-promise"."2.0.1";
-  by-version."pinkie-promise"."2.0.1" = self.buildNodePackage {
-    name = "pinkie-promise-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz";
-      name = "pinkie-promise-2.0.1.tgz";
-      sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
-    };
-    deps = {
-      "pinkie-2.0.4" = self.by-version."pinkie"."2.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pkg-conf"."^1.1.2" =
-    self.by-version."pkg-conf"."1.1.3";
-  by-version."pkg-conf"."1.1.3" = self.buildNodePackage {
-    name = "pkg-conf-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pkg-conf/-/pkg-conf-1.1.3.tgz";
-      name = "pkg-conf-1.1.3.tgz";
-      sha1 = "378e56d6fd13e88bfb6f4a25df7a83faabddba5b";
-    };
-    deps = {
-      "find-up-1.1.2" = self.by-version."find-up"."1.1.2";
-      "load-json-file-1.1.0" = self.by-version."load-json-file"."1.1.0";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "symbol-0.2.3" = self.by-version."symbol"."0.2.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pkgcloud".">=1.1.0" =
-    self.by-version."pkgcloud"."1.3.0";
-  by-version."pkgcloud"."1.3.0" = self.buildNodePackage {
-    name = "pkgcloud-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pkgcloud/-/pkgcloud-1.3.0.tgz";
-      name = "pkgcloud-1.3.0.tgz";
-      sha1 = "d7e44892e5ddd24dcc6c10bee2bcefb7526a5ed6";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "aws-sdk-2.3.19" = self.by-version."aws-sdk"."2.3.19";
-      "errs-0.3.2" = self.by-version."errs"."0.3.2";
-      "eventemitter2-0.4.14" = self.by-version."eventemitter2"."0.4.14";
-      "fast-json-patch-0.5.7" = self.by-version."fast-json-patch"."0.5.7";
-      "filed-0.1.0" = self.by-version."filed"."0.1.0";
-      "gcloud-0.10.0" = self.by-version."gcloud"."0.10.0";
-      "ip-0.3.3" = self.by-version."ip"."0.3.3";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "qs-1.2.2" = self.by-version."qs"."1.2.2";
-      "request-2.40.0" = self.by-version."request"."2.40.0";
-      "s3-upload-stream-1.0.7" = self.by-version."s3-upload-stream"."1.0.7";
-      "through2-0.6.5" = self.by-version."through2"."0.6.5";
-      "underscore-1.6.0" = self.by-version."underscore"."1.6.0";
-      "url-join-0.0.1" = self.by-version."url-join"."0.0.1";
-      "xml2js-0.1.14" = self.by-version."xml2js"."0.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pkginfo"."0.2.x" =
-    self.by-version."pkginfo"."0.2.3";
-  by-version."pkginfo"."0.2.3" = self.buildNodePackage {
-    name = "pkginfo-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pkginfo/-/pkginfo-0.2.3.tgz";
-      name = "pkginfo-0.2.3.tgz";
-      sha1 = "7239c42a5ef6c30b8f328439d9b9ff71042490f8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pkginfo"."0.3.x" =
-    self.by-version."pkginfo"."0.3.1";
-  by-version."pkginfo"."0.3.1" = self.buildNodePackage {
-    name = "pkginfo-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pkginfo/-/pkginfo-0.3.1.tgz";
-      name = "pkginfo-0.3.1.tgz";
-      sha1 = "5b29f6a81f70717142e09e765bbeab97b4f81e21";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pkginfo"."0.x.x" =
-    self.by-version."pkginfo"."0.4.0";
-  by-version."pkginfo"."0.4.0" = self.buildNodePackage {
-    name = "pkginfo-0.4.0";
-    version = "0.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pkginfo/-/pkginfo-0.4.0.tgz";
-      name = "pkginfo-0.4.0.tgz";
-      sha1 = "349dbb7ffd38081fcadc0853df687f0c7744cd65";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pkginfo"."^0.3.0" =
-    self.by-version."pkginfo"."0.3.1";
-  by-spec."playerui"."^1.2.0" =
-    self.by-version."playerui"."1.2.0";
-  by-version."playerui"."1.2.0" = self.buildNodePackage {
-    name = "playerui-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/playerui/-/playerui-1.2.0.tgz";
-      name = "playerui-1.2.0.tgz";
-      sha1 = "2d59c8cb736e189cb2398cd809469ca47077f812";
-    };
-    deps = {
-      "chalk-0.5.1" = self.by-version."chalk"."0.5.1";
-      "pad-0.0.5" = self.by-version."pad"."0.0.5";
-      "single-line-log-0.4.1" = self.by-version."single-line-log"."0.4.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."plist"."*" =
-    self.by-version."plist"."1.2.0";
-  by-version."plist"."1.2.0" = self.buildNodePackage {
-    name = "plist-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/plist/-/plist-1.2.0.tgz";
-      name = "plist-1.2.0.tgz";
-      sha1 = "084b5093ddc92506e259f874b8d9b1afb8c79593";
-    };
-    deps = {
-      "base64-js-0.0.8" = self.by-version."base64-js"."0.0.8";
-      "xmlbuilder-4.0.0" = self.by-version."xmlbuilder"."4.0.0";
-      "xmldom-0.1.22" = self.by-version."xmldom"."0.1.22";
-      "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."plist"."1.2.0" =
-    self.by-version."plist"."1.2.0";
-  by-spec."plist"."^1.0.1" =
-    self.by-version."plist"."1.2.0";
-  by-spec."plist"."^1.2.0" =
-    self.by-version."plist"."1.2.0";
-  by-spec."plist-native"."*" =
-    self.by-version."plist-native"."0.4.2";
-  by-version."plist-native"."0.4.2" = self.buildNodePackage {
-    name = "plist-native-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/plist-native/-/plist-native-0.4.2.tgz";
-      name = "plist-native-0.4.2.tgz";
-      sha1 = "5fa25c9c4ce9b01144de02564e8aa984ebbc8901";
-    };
-    deps = {
-      "libxmljs-0.17.1" = self.by-version."libxmljs"."0.17.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "plist-native" = self.by-version."plist-native"."0.4.2";
-  by-spec."pluralize"."^1.2.1" =
-    self.by-version."pluralize"."1.2.1";
-  by-version."pluralize"."1.2.1" = self.buildNodePackage {
-    name = "pluralize-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pluralize/-/pluralize-1.2.1.tgz";
-      name = "pluralize-1.2.1.tgz";
-      sha1 = "d1a21483fd22bb41e58a12fa3421823140897c45";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."policyfile"."0.0.4" =
-    self.by-version."policyfile"."0.0.4";
-  by-version."policyfile"."0.0.4" = self.buildNodePackage {
-    name = "policyfile-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/policyfile/-/policyfile-0.0.4.tgz";
-      name = "policyfile-0.0.4.tgz";
-      sha1 = "d6b82ead98ae79ebe228e2daf5903311ec982e4d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pooling"."0.4.6" =
-    self.by-version."pooling"."0.4.6";
-  by-version."pooling"."0.4.6" = self.buildNodePackage {
-    name = "pooling-0.4.6";
-    version = "0.4.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pooling/-/pooling-0.4.6.tgz";
-      name = "pooling-0.4.6.tgz";
-      sha1 = "76a317371ea8a363b4858fa4799e60245f30e664";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "bunyan-0.22.1" = self.by-version."bunyan"."0.22.1";
-      "once-1.3.0" = self.by-version."once"."1.3.0";
-      "vasync-1.4.0" = self.by-version."vasync"."1.4.0";
-    };
-    optionalDependencies = {
-      "dtrace-provider-0.2.8" = self.by-version."dtrace-provider"."0.2.8";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pop-iterate"."^1.0.1" =
-    self.by-version."pop-iterate"."1.0.1";
-  by-version."pop-iterate"."1.0.1" = self.buildNodePackage {
-    name = "pop-iterate-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pop-iterate/-/pop-iterate-1.0.1.tgz";
-      name = "pop-iterate-1.0.1.tgz";
-      sha1 = "ceacfdab4abf353d7a0f2aaa2c1fc7b3f9413ba3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."poplib"."^0.1.7" =
-    self.by-version."poplib"."0.1.7";
-  by-version."poplib"."0.1.7" = self.buildNodePackage {
-    name = "poplib-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/poplib/-/poplib-0.1.7.tgz";
-      name = "poplib-0.1.7.tgz";
-      sha1 = "2f4b58b5592972350cd97f482aba68f8e05574bc";
-    };
-    deps = {
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."portfinder"."^0.3.0" =
-    self.by-version."portfinder"."0.3.0";
-  by-version."portfinder"."0.3.0" = self.buildNodePackage {
-    name = "portfinder-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/portfinder/-/portfinder-0.3.0.tgz";
-      name = "portfinder-0.3.0.tgz";
-      sha1 = "f9f2c96894440c5b5113b84e0ad1013042b7c2a0";
-    };
-    deps = {
-      "mkdirp-0.0.7" = self.by-version."mkdirp"."0.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."posix"."*" =
-    self.by-version."posix"."4.0.2";
-  by-version."posix"."4.0.2" = self.buildNodePackage {
-    name = "posix-4.0.2";
-    version = "4.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/posix/-/posix-4.0.2.tgz";
-      name = "posix-4.0.2.tgz";
-      sha1 = "8ea7533a54ae5dee4866532094ca5d68248bbe7f";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "posix" = self.by-version."posix"."4.0.2";
-  by-spec."posix-getopt"."1.1.0" =
-    self.by-version."posix-getopt"."1.1.0";
-  by-version."posix-getopt"."1.1.0" = self.buildNodePackage {
-    name = "posix-getopt-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/posix-getopt/-/posix-getopt-1.1.0.tgz";
-      name = "posix-getopt-1.1.0.tgz";
-      sha1 = "8e258aca8f34d6906c159a32b0388360197e5698";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."precond"."0.2" =
-    self.by-version."precond"."0.2.3";
-  by-version."precond"."0.2.3" = self.buildNodePackage {
-    name = "precond-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/precond/-/precond-0.2.3.tgz";
-      name = "precond-0.2.3.tgz";
-      sha1 = "aa9591bcaa24923f1e0f4849d240f47efc1075ac";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."prelude-ls"."~1.1.2" =
-    self.by-version."prelude-ls"."1.1.2";
-  by-version."prelude-ls"."1.1.2" = self.buildNodePackage {
-    name = "prelude-ls-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.1.2.tgz";
-      name = "prelude-ls-1.1.2.tgz";
-      sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."prepend-http"."^1.0.0" =
-    self.by-version."prepend-http"."1.0.4";
-  by-version."prepend-http"."1.0.4" = self.buildNodePackage {
-    name = "prepend-http-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz";
-      name = "prepend-http-1.0.4.tgz";
-      sha1 = "d4f4562b0ce3696e41ac52d0e002e57a635dc6dc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."preserve"."^0.2.0" =
-    self.by-version."preserve"."0.2.0";
-  by-version."preserve"."0.2.0" = self.buildNodePackage {
-    name = "preserve-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/preserve/-/preserve-0.2.0.tgz";
-      name = "preserve-0.2.0.tgz";
-      sha1 = "815ed1f6ebc65926f865b310c0713bcb3315ce4b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pretty-bytes"."^1.0.0" =
-    self.by-version."pretty-bytes"."1.0.4";
-  by-version."pretty-bytes"."1.0.4" = self.buildNodePackage {
-    name = "pretty-bytes-1.0.4";
-    version = "1.0.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz";
-      name = "pretty-bytes-1.0.4.tgz";
-      sha1 = "0a22e8210609ad35542f8c8d5d2159aff0751c84";
-    };
-    deps = {
-      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
-      "meow-3.7.0" = self.by-version."meow"."3.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pretty-hrtime"."^1.0.0" =
-    self.by-version."pretty-hrtime"."1.0.2";
-  by-version."pretty-hrtime"."1.0.2" = self.buildNodePackage {
-    name = "pretty-hrtime-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pretty-hrtime/-/pretty-hrtime-1.0.2.tgz";
-      name = "pretty-hrtime-1.0.2.tgz";
-      sha1 = "70ca96f4d0628a443b918758f79416a9a7bc9fa8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."prettyjson"."^1.1.2" =
-    self.by-version."prettyjson"."1.1.3";
-  by-version."prettyjson"."1.1.3" = self.buildNodePackage {
-    name = "prettyjson-1.1.3";
-    version = "1.1.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/prettyjson/-/prettyjson-1.1.3.tgz";
-      name = "prettyjson-1.1.3.tgz";
-      sha1 = "d0787f732c9c3a566f4165fa4f1176fd67e6b263";
-    };
-    deps = {
-      "colors-1.1.2" = self.by-version."colors"."1.1.2";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."prfun"."~2.0.0" =
-    self.by-version."prfun"."2.0.0";
-  by-version."prfun"."2.0.0" = self.buildNodePackage {
-    name = "prfun-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/prfun/-/prfun-2.0.0.tgz";
-      name = "prfun-2.0.0.tgz";
-      sha1 = "f8d8217fac9f0853299a103e9e1fd9cb15238c9a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "es6-shim-0.35.1" = self.by-version."es6-shim"."0.35.1";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."private"."^0.1.6" =
-    self.by-version."private"."0.1.6";
-  by-version."private"."0.1.6" = self.buildNodePackage {
-    name = "private-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/private/-/private-0.1.6.tgz";
-      name = "private-0.1.6.tgz";
-      sha1 = "55c6a976d0f9bafb9924851350fe47b9b5fbb7c1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."private"."~0.1.2" =
-    self.by-version."private"."0.1.6";
-  by-spec."private"."~0.1.5" =
-    self.by-version."private"."0.1.6";
-  by-spec."process"."~0.11.0" =
-    self.by-version."process"."0.11.4";
-  by-version."process"."0.11.4" = self.buildNodePackage {
-    name = "process-0.11.4";
-    version = "0.11.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/process/-/process-0.11.4.tgz";
-      name = "process-0.11.4.tgz";
-      sha1 = "a6e6d49f0833d36571c0b9492c0f4b90bac96cd3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."process-nextick-args"."~1.0.6" =
-    self.by-version."process-nextick-args"."1.0.7";
-  by-version."process-nextick-args"."1.0.7" = self.buildNodePackage {
-    name = "process-nextick-args-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-1.0.7.tgz";
-      name = "process-nextick-args-1.0.7.tgz";
-      sha1 = "150e20b756590ad3f91093f25a4f2ad8bff30ba3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."progress"."1.1.4" =
-    self.by-version."progress"."1.1.4";
-  by-version."progress"."1.1.4" = self.buildNodePackage {
-    name = "progress-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/progress/-/progress-1.1.4.tgz";
-      name = "progress-1.1.4.tgz";
-      sha1 = "789f57691b88b826a439bc52dc9620245d60255b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."progress"."^1.1.5" =
-    self.by-version."progress"."1.1.8";
-  by-version."progress"."1.1.8" = self.buildNodePackage {
-    name = "progress-1.1.8";
-    version = "1.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/progress/-/progress-1.1.8.tgz";
-      name = "progress-1.1.8.tgz";
-      sha1 = "e260c78f6161cdd9b0e56cc3e0a85de17c7a57be";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."progress"."^1.1.8" =
-    self.by-version."progress"."1.1.8";
-  by-spec."progress"."~1.1.8" =
-    self.by-version."progress"."1.1.8";
-  by-spec."promiscuous"."^0.6.0" =
-    self.by-version."promiscuous"."0.6.0";
-  by-version."promiscuous"."0.6.0" = self.buildNodePackage {
-    name = "promiscuous-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/promiscuous/-/promiscuous-0.6.0.tgz";
-      name = "promiscuous-0.6.0.tgz";
-      sha1 = "54014cd3d62cafe831e3354990c05ff5b78c8892";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."promise"."^6.0.0" =
-    self.by-version."promise"."6.1.0";
-  by-version."promise"."6.1.0" = self.buildNodePackage {
-    name = "promise-6.1.0";
-    version = "6.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/promise/-/promise-6.1.0.tgz";
-      name = "promise-6.1.0.tgz";
-      sha1 = "2ce729f6b94b45c26891ad0602c5c90e04c6eef6";
-    };
-    deps = {
-      "asap-1.0.0" = self.by-version."asap"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."promise"."^6.0.1" =
-    self.by-version."promise"."6.1.0";
-  by-spec."promise"."^7.1.1" =
-    self.by-version."promise"."7.1.1";
-  by-version."promise"."7.1.1" = self.buildNodePackage {
-    name = "promise-7.1.1";
-    version = "7.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/promise/-/promise-7.1.1.tgz";
-      name = "promise-7.1.1.tgz";
-      sha1 = "489654c692616b8aa55b0724fa809bb7db49c5bf";
-    };
-    deps = {
-      "asap-2.0.4" = self.by-version."asap"."2.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."promise"."~2.0" =
-    self.by-version."promise"."2.0.0";
-  by-version."promise"."2.0.0" = self.buildNodePackage {
-    name = "promise-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/promise/-/promise-2.0.0.tgz";
-      name = "promise-2.0.0.tgz";
-      sha1 = "46648aa9d605af5d2e70c3024bf59436da02b80e";
-    };
-    deps = {
-      "is-promise-1.0.1" = self.by-version."is-promise"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."promised-temp"."^0.1.0" =
-    self.by-version."promised-temp"."0.1.0";
-  by-version."promised-temp"."0.1.0" = self.buildNodePackage {
-    name = "promised-temp-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/promised-temp/-/promised-temp-0.1.0.tgz";
-      name = "promised-temp-0.1.0.tgz";
-      sha1 = "5f8a704ccdf5f2ac23996fcafe2b301bc2a8d0eb";
-    };
-    deps = {
-      "temp-0.8.3" = self.by-version."temp"."0.8.3";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."prompt"."0.2.14" =
-    self.by-version."prompt"."0.2.14";
-  by-version."prompt"."0.2.14" = self.buildNodePackage {
-    name = "prompt-0.2.14";
-    version = "0.2.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/prompt/-/prompt-0.2.14.tgz";
-      name = "prompt-0.2.14.tgz";
-      sha1 = "57754f64f543fd7b0845707c818ece618f05ffdc";
-    };
-    deps = {
-      "pkginfo-0.4.0" = self.by-version."pkginfo"."0.4.0";
-      "read-1.0.7" = self.by-version."read"."1.0.7";
-      "revalidator-0.1.8" = self.by-version."revalidator"."0.1.8";
-      "utile-0.2.1" = self.by-version."utile"."0.2.1";
-      "winston-0.8.3" = self.by-version."winston"."0.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."prompt"."0.2.x" =
-    self.by-version."prompt"."0.2.14";
-  by-spec."promzard"."^0.3.0" =
-    self.by-version."promzard"."0.3.0";
-  by-version."promzard"."0.3.0" = self.buildNodePackage {
-    name = "promzard-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/promzard/-/promzard-0.3.0.tgz";
-      name = "promzard-0.3.0.tgz";
-      sha1 = "26a5d6ee8c7dee4cb12208305acfb93ba382a9ee";
-    };
-    deps = {
-      "read-1.0.7" = self.by-version."read"."1.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."properties-parser"."0.2.3" =
-    self.by-version."properties-parser"."0.2.3";
-  by-version."properties-parser"."0.2.3" = self.buildNodePackage {
-    name = "properties-parser-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/properties-parser/-/properties-parser-0.2.3.tgz";
-      name = "properties-parser-0.2.3.tgz";
-      sha1 = "f7591255f707abbff227c7b56b637dbb0373a10f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."protein"."0.5.x" =
-    self.by-version."protein"."0.5.0";
-  by-version."protein"."0.5.0" = self.buildNodePackage {
-    name = "protein-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/protein/-/protein-0.5.0.tgz";
-      name = "protein-0.5.0.tgz";
-      sha1 = "80ab4e919749351263ef14500d684e57c4202840";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."proto-list"."~1.2.1" =
-    self.by-version."proto-list"."1.2.4";
-  by-version."proto-list"."1.2.4" = self.buildNodePackage {
-    name = "proto-list-1.2.4";
-    version = "1.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/proto-list/-/proto-list-1.2.4.tgz";
-      name = "proto-list-1.2.4.tgz";
-      sha1 = "212d5bfe1318306a420f6402b8e26ff39647a849";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."protobufjs"."^3.2.2" =
-    self.by-version."protobufjs"."3.8.2";
-  by-version."protobufjs"."3.8.2" = self.buildNodePackage {
-    name = "protobufjs-3.8.2";
-    version = "3.8.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/protobufjs/-/protobufjs-3.8.2.tgz";
-      name = "protobufjs-3.8.2.tgz";
-      sha1 = "bc826e34c3af4697e8d0af7a669e4d612aedcd17";
-    };
-    deps = {
-      "bytebuffer-3.5.5" = self.by-version."bytebuffer"."3.5.5";
-      "ascli-0.3.0" = self.by-version."ascli"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."protobufjs"."^3.4.0" =
-    self.by-version."protobufjs"."3.8.2";
-  by-spec."proxy-addr"."1.0.1" =
-    self.by-version."proxy-addr"."1.0.1";
-  by-version."proxy-addr"."1.0.1" = self.buildNodePackage {
-    name = "proxy-addr-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.1.tgz";
-      name = "proxy-addr-1.0.1.tgz";
-      sha1 = "c7c566d5eb4e3fad67eeb9c77c5558ccc39b88a8";
-    };
-    deps = {
-      "ipaddr.js-0.1.2" = self.by-version."ipaddr.js"."0.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."proxy-addr"."~1.0.10" =
-    self.by-version."proxy-addr"."1.0.10";
-  by-version."proxy-addr"."1.0.10" = self.buildNodePackage {
-    name = "proxy-addr-1.0.10";
-    version = "1.0.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/proxy-addr/-/proxy-addr-1.0.10.tgz";
-      name = "proxy-addr-1.0.10.tgz";
-      sha1 = "0d40a82f801fc355567d2ecb65efe3f077f121c5";
-    };
-    deps = {
-      "forwarded-0.1.0" = self.by-version."forwarded"."0.1.0";
-      "ipaddr.js-1.0.5" = self.by-version."ipaddr.js"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."proxy-addr"."~1.0.8" =
-    self.by-version."proxy-addr"."1.0.10";
-  by-spec."proxy-agent"."1" =
-    self.by-version."proxy-agent"."1.1.1";
-  by-version."proxy-agent"."1.1.1" = self.buildNodePackage {
-    name = "proxy-agent-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/proxy-agent/-/proxy-agent-1.1.1.tgz";
-      name = "proxy-agent-1.1.1.tgz";
-      sha1 = "fcb1eef5e58965c995f938f029d729fc81858b95";
-    };
-    deps = {
-      "lru-cache-2.5.2" = self.by-version."lru-cache"."2.5.2";
-      "pac-proxy-agent-0.2.0" = self.by-version."pac-proxy-agent"."0.2.0";
-      "http-proxy-agent-0.2.7" = self.by-version."http-proxy-agent"."0.2.7";
-      "https-proxy-agent-0.3.6" = self.by-version."https-proxy-agent"."0.3.6";
-      "socks-proxy-agent-1.0.2" = self.by-version."socks-proxy-agent"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."proxy-agent"."~1.1.0" =
-    self.by-version."proxy-agent"."1.1.1";
-  by-spec."prr"."~0.0.0" =
-    self.by-version."prr"."0.0.0";
-  by-version."prr"."0.0.0" = self.buildNodePackage {
-    name = "prr-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/prr/-/prr-0.0.0.tgz";
-      name = "prr-0.0.0.tgz";
-      sha1 = "1a84b85908325501411853d0081ee3fa86e2926a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ps-tree"."0.0.x" =
-    self.by-version."ps-tree"."0.0.3";
-  by-version."ps-tree"."0.0.3" = self.buildNodePackage {
-    name = "ps-tree-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ps-tree/-/ps-tree-0.0.3.tgz";
-      name = "ps-tree-0.0.3.tgz";
-      sha1 = "dbf8d752a7fe22fa7d58635689499610e9276ddc";
-    };
-    deps = {
-      "event-stream-0.5.3" = self.by-version."event-stream"."0.5.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ps-tree"."^1.0.1" =
-    self.by-version."ps-tree"."1.1.0";
-  by-version."ps-tree"."1.1.0" = self.buildNodePackage {
-    name = "ps-tree-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ps-tree/-/ps-tree-1.1.0.tgz";
-      name = "ps-tree-1.1.0.tgz";
-      sha1 = "b421b24140d6203f1ed3c76996b4427b08e8c014";
-    };
-    deps = {
-      "event-stream-3.3.2" = self.by-version."event-stream"."3.3.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pseudomap"."^1.0.1" =
-    self.by-version."pseudomap"."1.0.2";
-  by-version."pseudomap"."1.0.2" = self.buildNodePackage {
-    name = "pseudomap-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz";
-      name = "pseudomap-1.0.2.tgz";
-      sha1 = "f052a28da70e618917ef0a8ac34c1ae5a68286b3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."public-address"."~0.1.1" =
-    self.by-version."public-address"."0.1.1";
-  by-version."public-address"."0.1.1" = self.buildNodePackage {
-    name = "public-address-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/public-address/-/public-address-0.1.1.tgz";
-      name = "public-address-0.1.1.tgz";
-      sha1 = "58bdea323c88287b6914159312454b804ca9eeaf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."public-encrypt"."^4.0.0" =
-    self.by-version."public-encrypt"."4.0.0";
-  by-version."public-encrypt"."4.0.0" = self.buildNodePackage {
-    name = "public-encrypt-4.0.0";
-    version = "4.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.0.tgz";
-      name = "public-encrypt-4.0.0.tgz";
-      sha1 = "39f699f3a46560dd5ebacbca693caf7c65c18cc6";
-    };
-    deps = {
-      "bn.js-4.11.4" = self.by-version."bn.js"."4.11.4";
-      "browserify-rsa-4.0.1" = self.by-version."browserify-rsa"."4.0.1";
-      "create-hash-1.1.2" = self.by-version."create-hash"."1.1.2";
-      "parse-asn1-5.0.0" = self.by-version."parse-asn1"."5.0.0";
-      "randombytes-2.0.3" = self.by-version."randombytes"."2.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pull-core"."~1.0.0" =
-    self.by-version."pull-core"."1.0.0";
-  by-version."pull-core"."1.0.0" = self.buildNodePackage {
-    name = "pull-core-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pull-core/-/pull-core-1.0.0.tgz";
-      name = "pull-core-1.0.0.tgz";
-      sha1 = "e0eb93918dfa70963ed09e36f63daa15b76b38a4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pull-stream"."~2.21.0" =
-    self.by-version."pull-stream"."2.21.0";
-  by-version."pull-stream"."2.21.0" = self.buildNodePackage {
-    name = "pull-stream-2.21.0";
-    version = "2.21.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pull-stream/-/pull-stream-2.21.0.tgz";
-      name = "pull-stream-2.21.0.tgz";
-      sha1 = "5b04e0bb35ffe64744fa9bb68465a84f9e1fe5d1";
-    };
-    deps = {
-      "pull-core-1.0.0" = self.by-version."pull-core"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pump"."^0.3.1" =
-    self.by-version."pump"."0.3.5";
-  by-version."pump"."0.3.5" = self.buildNodePackage {
-    name = "pump-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pump/-/pump-0.3.5.tgz";
-      name = "pump-0.3.5.tgz";
-      sha1 = "ae5ff8c1f93ed87adc6530a97565b126f585454b";
-    };
-    deps = {
-      "once-1.2.0" = self.by-version."once"."1.2.0";
-      "end-of-stream-1.0.0" = self.by-version."end-of-stream"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pump"."^1.0.0" =
-    self.by-version."pump"."1.0.1";
-  by-version."pump"."1.0.1" = self.buildNodePackage {
-    name = "pump-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pump/-/pump-1.0.1.tgz";
-      name = "pump-1.0.1.tgz";
-      sha1 = "f1f1409fb9bd1085bbdb576b43b84ec4b5eadc1a";
-    };
-    deps = {
-      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pumpify"."^1.3.3" =
-    self.by-version."pumpify"."1.3.4";
-  by-version."pumpify"."1.3.4" = self.buildNodePackage {
-    name = "pumpify-1.3.4";
-    version = "1.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pumpify/-/pumpify-1.3.4.tgz";
-      name = "pumpify-1.3.4.tgz";
-      sha1 = "33418bdaf200b8fd55276c39eefb1bb842e4a606";
-    };
-    deps = {
-      "duplexify-3.4.3" = self.by-version."duplexify"."3.4.3";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "pump-1.0.1" = self.by-version."pump"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."punycode"."1.3.2" =
-    self.by-version."punycode"."1.3.2";
-  by-version."punycode"."1.3.2" = self.buildNodePackage {
-    name = "punycode-1.3.2";
-    version = "1.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz";
-      name = "punycode-1.3.2.tgz";
-      sha1 = "9653a036fb7c1ee42342f2325cceefea3926c48d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."punycode"."^1.2.4" =
-    self.by-version."punycode"."1.4.1";
-  by-version."punycode"."1.4.1" = self.buildNodePackage {
-    name = "punycode-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz";
-      name = "punycode-1.4.1.tgz";
-      sha1 = "c0d5a63b2718800ad8e1eb0fa5269c84dd41845e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."punycode"."^1.3.2" =
-    self.by-version."punycode"."1.4.1";
-  by-spec."punycode"."~1.2.4" =
-    self.by-version."punycode"."1.2.4";
-  by-version."punycode"."1.2.4" = self.buildNodePackage {
-    name = "punycode-1.2.4";
-    version = "1.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/punycode/-/punycode-1.2.4.tgz";
-      name = "punycode-1.2.4.tgz";
-      sha1 = "54008ac972aec74175def9cba6df7fa9d3918740";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."pure"."*" =
-    self.by-version."pure"."2.67.0";
-  by-version."pure"."2.67.0" = self.buildNodePackage {
-    name = "pure-2.67.0";
-    version = "2.67.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pure/-/pure-2.67.0.tgz";
-      name = "pure-2.67.0.tgz";
-      sha1 = "23c1503cf6e9eb8a08ba29c81fe9c8c372970710";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "pure" = self.by-version."pure"."2.67.0";
-  by-spec."pusher"."^1.0.0" =
-    self.by-version."pusher"."1.3.0";
-  by-version."pusher"."1.3.0" = self.buildNodePackage {
-    name = "pusher-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/pusher/-/pusher-1.3.0.tgz";
-      name = "pusher-1.3.0.tgz";
-      sha1 = "f5e949571ed0d59aebdd41286cd1e1433bd96f11";
-    };
-    deps = {
-      "request-2.67.0" = self.by-version."request"."2.67.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."q"."0.9.7" =
-    self.by-version."q"."0.9.7";
-  by-version."q"."0.9.7" = self.buildNodePackage {
-    name = "q-0.9.7";
-    version = "0.9.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/q/-/q-0.9.7.tgz";
-      name = "q-0.9.7.tgz";
-      sha1 = "4de2e6cb3b29088c9e4cbc03bf9d42fb96ce2f75";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."q"."1.0.1" =
-    self.by-version."q"."1.0.1";
-  by-version."q"."1.0.1" = self.buildNodePackage {
-    name = "q-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/q/-/q-1.0.1.tgz";
-      name = "q-1.0.1.tgz";
-      sha1 = "11872aeedee89268110b10a718448ffb10112a14";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."q"."1.4.1" =
-    self.by-version."q"."1.4.1";
-  by-version."q"."1.4.1" = self.buildNodePackage {
-    name = "q-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/q/-/q-1.4.1.tgz";
-      name = "q-1.4.1.tgz";
-      sha1 = "55705bcd93c5f3673530c2c2cbc0c2b3addc286e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."q".">= 0.0.1" =
-    self.by-version."q"."2.0.3";
-  by-version."q"."2.0.3" = self.buildNodePackage {
-    name = "q-2.0.3";
-    version = "2.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/q/-/q-2.0.3.tgz";
-      name = "q-2.0.3.tgz";
-      sha1 = "75b8db0255a1a5af82f58c3f3aaa1efec7d0d134";
-    };
-    deps = {
-      "asap-2.0.4" = self.by-version."asap"."2.0.4";
-      "pop-iterate-1.0.1" = self.by-version."pop-iterate"."1.0.1";
-      "weak-map-1.0.5" = self.by-version."weak-map"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."q"."^1.0.1" =
-    self.by-version."q"."1.4.1";
-  by-spec."q"."^1.1.2" =
-    self.by-version."q"."1.4.1";
-  by-spec."q"."^1.4.1" =
-    self.by-version."q"."1.4.1";
-  by-spec."q"."~1.0.1" =
-    self.by-version."q"."1.0.1";
-  by-spec."q"."~1.1.2" =
-    self.by-version."q"."1.1.2";
-  by-version."q"."1.1.2" = self.buildNodePackage {
-    name = "q-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/q/-/q-1.1.2.tgz";
-      name = "q-1.1.2.tgz";
-      sha1 = "6357e291206701d99f197ab84e57e8ad196f2a89";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."q"."~1.4.1" =
-    self.by-version."q"."1.4.1";
-  by-spec."qap"."^3.1.2" =
-    self.by-version."qap"."3.1.3";
-  by-version."qap"."3.1.3" = self.buildNodePackage {
-    name = "qap-3.1.3";
-    version = "3.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qap/-/qap-3.1.3.tgz";
-      name = "qap-3.1.3.tgz";
-      sha1 = "394288bf07c8fe16cf36bb2e40a3bb947ed24963";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."0.4.2" =
-    self.by-version."qs"."0.4.2";
-  by-version."qs"."0.4.2" = self.buildNodePackage {
-    name = "qs-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-0.4.2.tgz";
-      name = "qs-0.4.2.tgz";
-      sha1 = "3cac4c861e371a8c9c4770ac23cda8de639b8e5f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."0.4.x" =
-    self.by-version."qs"."0.4.2";
-  by-spec."qs"."0.5.1" =
-    self.by-version."qs"."0.5.1";
-  by-version."qs"."0.5.1" = self.buildNodePackage {
-    name = "qs-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-0.5.1.tgz";
-      name = "qs-0.5.1.tgz";
-      sha1 = "9f6bf5d9ac6c76384e95d36d15b48980e5e4add0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."0.6.5" =
-    self.by-version."qs"."0.6.5";
-  by-version."qs"."0.6.5" = self.buildNodePackage {
-    name = "qs-0.6.5";
-    version = "0.6.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-0.6.5.tgz";
-      name = "qs-0.6.5.tgz";
-      sha1 = "294b268e4b0d4250f6dde19b3b8b34935dff14ef";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."0.6.6" =
-    self.by-version."qs"."0.6.6";
-  by-version."qs"."0.6.6" = self.buildNodePackage {
-    name = "qs-0.6.6";
-    version = "0.6.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-0.6.6.tgz";
-      name = "qs-0.6.6.tgz";
-      sha1 = "6e015098ff51968b8a3c819001d5f2c89bc4b107";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."1.2.0" =
-    self.by-version."qs"."1.2.0";
-  by-version."qs"."1.2.0" = self.buildNodePackage {
-    name = "qs-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-1.2.0.tgz";
-      name = "qs-1.2.0.tgz";
-      sha1 = "ed079be28682147e6fd9a34cc2b0c1e0ec6453ee";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."1.2.x" =
-    self.by-version."qs"."1.2.2";
-  by-version."qs"."1.2.2" = self.buildNodePackage {
-    name = "qs-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-1.2.2.tgz";
-      name = "qs-1.2.2.tgz";
-      sha1 = "19b57ff24dc2a99ce1f8bdf6afcda59f8ef61f88";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."2.3.3" =
-    self.by-version."qs"."2.3.3";
-  by-version."qs"."2.3.3" = self.buildNodePackage {
-    name = "qs-2.3.3";
-    version = "2.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-2.3.3.tgz";
-      name = "qs-2.3.3.tgz";
-      sha1 = "e9e85adbe75da0bbe4c8e0476a086290f863b404";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."4.0.0" =
-    self.by-version."qs"."4.0.0";
-  by-version."qs"."4.0.0" = self.buildNodePackage {
-    name = "qs-4.0.0";
-    version = "4.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-4.0.0.tgz";
-      name = "qs-4.0.0.tgz";
-      sha1 = "c31d9b74ec27df75e543a86c78728ed8d4623607";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."5.2.0" =
-    self.by-version."qs"."5.2.0";
-  by-version."qs"."5.2.0" = self.buildNodePackage {
-    name = "qs-5.2.0";
-    version = "5.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-5.2.0.tgz";
-      name = "qs-5.2.0.tgz";
-      sha1 = "a9f31142af468cb72b25b30136ba2456834916be";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."6.1.0" =
-    self.by-version."qs"."6.1.0";
-  by-version."qs"."6.1.0" = self.buildNodePackage {
-    name = "qs-6.1.0";
-    version = "6.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-6.1.0.tgz";
-      name = "qs-6.1.0.tgz";
-      sha1 = "ec1d1626b24278d99f0fdf4549e524e24eceeb26";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs".">= 0.4.0" =
-    self.by-version."qs"."6.2.0";
-  by-version."qs"."6.2.0" = self.buildNodePackage {
-    name = "qs-6.2.0";
-    version = "6.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-6.2.0.tgz";
-      name = "qs-6.2.0.tgz";
-      sha1 = "3b7848c03c2dece69a9522b0fae8c4126d745f3b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."^3.1.0" =
-    self.by-version."qs"."3.1.0";
-  by-version."qs"."3.1.0" = self.buildNodePackage {
-    name = "qs-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-3.1.0.tgz";
-      name = "qs-3.1.0.tgz";
-      sha1 = "d0e9ae745233a12dc43fb4f3055bba446261153c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."^6.2.0" =
-    self.by-version."qs"."6.2.0";
-  by-spec."qs"."~0.5.4" =
-    self.by-version."qs"."0.5.6";
-  by-version."qs"."0.5.6" = self.buildNodePackage {
-    name = "qs-0.5.6";
-    version = "0.5.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-0.5.6.tgz";
-      name = "qs-0.5.6.tgz";
-      sha1 = "31b1ad058567651c526921506b9a8793911a0384";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."~0.6.0" =
-    self.by-version."qs"."0.6.6";
-  by-spec."qs"."~1.0.0" =
-    self.by-version."qs"."1.0.2";
-  by-version."qs"."1.0.2" = self.buildNodePackage {
-    name = "qs-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-1.0.2.tgz";
-      name = "qs-1.0.2.tgz";
-      sha1 = "50a93e2b5af6691c31bcea5dae78ee6ea1903768";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."~1.2.2" =
-    self.by-version."qs"."1.2.2";
-  by-spec."qs"."~2.2.4" =
-    self.by-version."qs"."2.2.5";
-  by-version."qs"."2.2.5" = self.buildNodePackage {
-    name = "qs-2.2.5";
-    version = "2.2.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-2.2.5.tgz";
-      name = "qs-2.2.5.tgz";
-      sha1 = "1088abaf9dcc0ae5ae45b709e6c6b5888b23923c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."~2.3.1" =
-    self.by-version."qs"."2.3.3";
-  by-spec."qs"."~2.4.0" =
-    self.by-version."qs"."2.4.2";
-  by-version."qs"."2.4.2" = self.buildNodePackage {
-    name = "qs-2.4.2";
-    version = "2.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-2.4.2.tgz";
-      name = "qs-2.4.2.tgz";
-      sha1 = "f7ce788e5777df0b5010da7f7c4e73ba32470f5a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."~4.0.0" =
-    self.by-version."qs"."4.0.0";
-  by-spec."qs"."~5.1.0" =
-    self.by-version."qs"."5.1.0";
-  by-version."qs"."5.1.0" = self.buildNodePackage {
-    name = "qs-5.1.0";
-    version = "5.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/qs/-/qs-5.1.0.tgz";
-      name = "qs-5.1.0.tgz";
-      sha1 = "4d932e5c7ea411cca76a312d39a606200fd50cd9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."qs"."~5.2.0" =
-    self.by-version."qs"."5.2.0";
-  by-spec."qs"."~6.1.0" =
-    self.by-version."qs"."6.1.0";
-  by-spec."query-string"."^1.0.0" =
-    self.by-version."query-string"."1.0.1";
-  by-version."query-string"."1.0.1" = self.buildNodePackage {
-    name = "query-string-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/query-string/-/query-string-1.0.1.tgz";
-      name = "query-string-1.0.1.tgz";
-      sha1 = "63ac953352499ad670a9681a75680f6bf3dd1faf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."querystring"."0.2.0" =
-    self.by-version."querystring"."0.2.0";
-  by-version."querystring"."0.2.0" = self.buildNodePackage {
-    name = "querystring-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz";
-      name = "querystring-0.2.0.tgz";
-      sha1 = "b209849203bb25df820da756e747005878521620";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."querystring-es3"."~0.2.0" =
-    self.by-version."querystring-es3"."0.2.1";
-  by-version."querystring-es3"."0.2.1" = self.buildNodePackage {
-    name = "querystring-es3-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz";
-      name = "querystring-es3-0.2.1.tgz";
-      sha1 = "9ec61f79049875707d69414596fd907a4d711e73";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rai"."~0.1.11" =
-    self.by-version."rai"."0.1.12";
-  by-version."rai"."0.1.12" = self.buildNodePackage {
-    name = "rai-0.1.12";
-    version = "0.1.12";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rai/-/rai-0.1.12.tgz";
-      name = "rai-0.1.12.tgz";
-      sha1 = "8ccfd014d0f9608630dd73c19b8e4b057754a6a6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."random-access-file"."^0.3.1" =
-    self.by-version."random-access-file"."0.3.2";
-  by-version."random-access-file"."0.3.2" = self.buildNodePackage {
-    name = "random-access-file-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/random-access-file/-/random-access-file-0.3.2.tgz";
-      name = "random-access-file-0.3.2.tgz";
-      sha1 = "cbca246e131db7b68a1c6bb6328dd4d0997100a0";
-    };
-    deps = {
-      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."random-access-file"."^1.0.1" =
-    self.by-version."random-access-file"."1.2.0";
-  by-version."random-access-file"."1.2.0" = self.buildNodePackage {
-    name = "random-access-file-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/random-access-file/-/random-access-file-1.2.0.tgz";
-      name = "random-access-file-1.2.0.tgz";
-      sha1 = "c7aa8b20ae3e9e6db3ff316d791beee5a1514f29";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."random-bytes"."~1.0.0" =
-    self.by-version."random-bytes"."1.0.0";
-  by-version."random-bytes"."1.0.0" = self.buildNodePackage {
-    name = "random-bytes-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/random-bytes/-/random-bytes-1.0.0.tgz";
-      name = "random-bytes-1.0.0.tgz";
-      sha1 = "4f68a1dc0ae58bd3fb95848c30324db75d64360b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."random-iterate"."^1.0.1" =
-    self.by-version."random-iterate"."1.0.1";
-  by-version."random-iterate"."1.0.1" = self.buildNodePackage {
-    name = "random-iterate-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/random-iterate/-/random-iterate-1.0.1.tgz";
-      name = "random-iterate-1.0.1.tgz";
-      sha1 = "f7d97d92dee6665ec5f6da08c7f963cad4b2ac99";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."randomatic"."^1.1.3" =
-    self.by-version."randomatic"."1.1.5";
-  by-version."randomatic"."1.1.5" = self.buildNodePackage {
-    name = "randomatic-1.1.5";
-    version = "1.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/randomatic/-/randomatic-1.1.5.tgz";
-      name = "randomatic-1.1.5.tgz";
-      sha1 = "5e9ef5f2d573c67bd2b8124ae90b5156e457840b";
-    };
-    deps = {
-      "is-number-2.1.0" = self.by-version."is-number"."2.1.0";
-      "kind-of-3.0.3" = self.by-version."kind-of"."3.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."randombytes"."^2.0.0" =
-    self.by-version."randombytes"."2.0.3";
-  by-version."randombytes"."2.0.3" = self.buildNodePackage {
-    name = "randombytes-2.0.3";
-    version = "2.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/randombytes/-/randombytes-2.0.3.tgz";
-      name = "randombytes-2.0.3.tgz";
-      sha1 = "674c99760901c3c4112771a31e521dc349cc09ec";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."randombytes"."^2.0.1" =
-    self.by-version."randombytes"."2.0.3";
-  by-spec."randombytes"."^2.0.3" =
-    self.by-version."randombytes"."2.0.3";
-  by-spec."range-parser"."0.0.4" =
-    self.by-version."range-parser"."0.0.4";
-  by-version."range-parser"."0.0.4" = self.buildNodePackage {
-    name = "range-parser-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/range-parser/-/range-parser-0.0.4.tgz";
-      name = "range-parser-0.0.4.tgz";
-      sha1 = "c0427ffef51c10acba0782a46c9602e744ff620b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."range-parser"."1.0.0" =
-    self.by-version."range-parser"."1.0.0";
-  by-version."range-parser"."1.0.0" = self.buildNodePackage {
-    name = "range-parser-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.0.tgz";
-      name = "range-parser-1.0.0.tgz";
-      sha1 = "a4b264cfe0be5ce36abe3765ac9c2a248746dbc0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."range-parser"."^1.0.0" =
-    self.by-version."range-parser"."1.2.0";
-  by-version."range-parser"."1.2.0" = self.buildNodePackage {
-    name = "range-parser-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/range-parser/-/range-parser-1.2.0.tgz";
-      name = "range-parser-1.2.0.tgz";
-      sha1 = "f49be6b487894ddc40dcc94a322f611092e00d5e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."range-parser"."^1.0.2" =
-    self.by-version."range-parser"."1.2.0";
-  by-spec."range-parser"."^1.0.3" =
-    self.by-version."range-parser"."1.2.0";
-  by-spec."range-parser"."~1.0.0" =
-    self.by-version."range-parser"."1.0.3";
-  by-version."range-parser"."1.0.3" = self.buildNodePackage {
-    name = "range-parser-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/range-parser/-/range-parser-1.0.3.tgz";
-      name = "range-parser-1.0.3.tgz";
-      sha1 = "6872823535c692e2c2a0103826afd82c2e0ff175";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."range-parser"."~1.0.2" =
-    self.by-version."range-parser"."1.0.3";
-  by-spec."range-parser"."~1.0.3" =
-    self.by-version."range-parser"."1.0.3";
-  by-spec."range-parser"."~1.2.0" =
-    self.by-version."range-parser"."1.2.0";
-  by-spec."raven"."~0.10.0" =
-    self.by-version."raven"."0.10.0";
-  by-version."raven"."0.10.0" = self.buildNodePackage {
-    name = "raven-0.10.0";
-    version = "0.10.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/raven/-/raven-0.10.0.tgz";
-      name = "raven-0.10.0.tgz";
-      sha1 = "2144346322955bd9e1519ac66081c63b178b452f";
-    };
-    deps = {
-      "cookie-0.1.0" = self.by-version."cookie"."0.1.0";
-      "lsmod-0.0.3" = self.by-version."lsmod"."0.0.3";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "stack-trace-0.0.7" = self.by-version."stack-trace"."0.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."raw-body"."0.0.3" =
-    self.by-version."raw-body"."0.0.3";
-  by-version."raw-body"."0.0.3" = self.buildNodePackage {
-    name = "raw-body-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/raw-body/-/raw-body-0.0.3.tgz";
-      name = "raw-body-0.0.3.tgz";
-      sha1 = "0cb3eb22ced1ca607d32dd8fd94a6eb383f3eb8a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."raw-body"."1.1.4" =
-    self.by-version."raw-body"."1.1.4";
-  by-version."raw-body"."1.1.4" = self.buildNodePackage {
-    name = "raw-body-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/raw-body/-/raw-body-1.1.4.tgz";
-      name = "raw-body-1.1.4.tgz";
-      sha1 = "f0b5624388d031f63da07f870c86cb9ccadcb67d";
-    };
-    deps = {
-      "bytes-0.3.0" = self.by-version."bytes"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."raw-body"."1.3.0" =
-    self.by-version."raw-body"."1.3.0";
-  by-version."raw-body"."1.3.0" = self.buildNodePackage {
-    name = "raw-body-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/raw-body/-/raw-body-1.3.0.tgz";
-      name = "raw-body-1.3.0.tgz";
-      sha1 = "978230a156a5548f42eef14de22d0f4f610083d1";
-    };
-    deps = {
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "iconv-lite-0.4.4" = self.by-version."iconv-lite"."0.4.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."raw-body"."1.x" =
-    self.by-version."raw-body"."1.3.4";
-  by-version."raw-body"."1.3.4" = self.buildNodePackage {
-    name = "raw-body-1.3.4";
-    version = "1.3.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/raw-body/-/raw-body-1.3.4.tgz";
-      name = "raw-body-1.3.4.tgz";
-      sha1 = "ccc7ddfc46b72861cdd5bb433c840b70b6f27f54";
-    };
-    deps = {
-      "bytes-1.0.0" = self.by-version."bytes"."1.0.0";
-      "iconv-lite-0.4.8" = self.by-version."iconv-lite"."0.4.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."raw-body"."2.1.6" =
-    self.by-version."raw-body"."2.1.6";
-  by-version."raw-body"."2.1.6" = self.buildNodePackage {
-    name = "raw-body-2.1.6";
-    version = "2.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/raw-body/-/raw-body-2.1.6.tgz";
-      name = "raw-body-2.1.6.tgz";
-      sha1 = "9c050737fe07ced6d94a4fd09c61b6ad874d310f";
-    };
-    deps = {
-      "bytes-2.3.0" = self.by-version."bytes"."2.3.0";
-      "iconv-lite-0.4.13" = self.by-version."iconv-lite"."0.4.13";
-      "unpipe-1.0.0" = self.by-version."unpipe"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."raw-body"."~2.1.2" =
-    self.by-version."raw-body"."2.1.6";
-  by-spec."raw-body"."~2.1.5" =
-    self.by-version."raw-body"."2.1.6";
-  by-spec."raw-body"."~2.1.6" =
-    self.by-version."raw-body"."2.1.6";
-  by-spec."raw-socket"."*" =
-    self.by-version."raw-socket"."1.5.0";
-  by-version."raw-socket"."1.5.0" = self.buildNodePackage {
-    name = "raw-socket-1.5.0";
-    version = "1.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/raw-socket/-/raw-socket-1.5.0.tgz";
-      name = "raw-socket-1.5.0.tgz";
-      sha1 = "7a0fba1aef118609011a1205e830e626ca522ae9";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rc"."^0.4.0" =
-    self.by-version."rc"."0.4.0";
-  by-version."rc"."0.4.0" = self.buildNodePackage {
-    name = "rc-0.4.0";
-    version = "0.4.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rc/-/rc-0.4.0.tgz";
-      name = "rc-0.4.0.tgz";
-      sha1 = "ce24a2029ad94c3a40d09604a87227027d7210d3";
-    };
-    deps = {
-      "minimist-0.0.10" = self.by-version."minimist"."0.0.10";
-      "deep-extend-0.2.11" = self.by-version."deep-extend"."0.2.11";
-      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
-      "ini-1.1.0" = self.by-version."ini"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rc"."^1.0.1" =
-    self.by-version."rc"."1.1.6";
-  by-version."rc"."1.1.6" = self.buildNodePackage {
-    name = "rc-1.1.6";
-    version = "1.1.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rc/-/rc-1.1.6.tgz";
-      name = "rc-1.1.6.tgz";
-      sha1 = "43651b76b6ae53b5c802f1151fa3fc3b059969c9";
-    };
-    deps = {
-      "deep-extend-0.4.1" = self.by-version."deep-extend"."0.4.1";
-      "ini-1.3.4" = self.by-version."ini"."1.3.4";
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-      "strip-json-comments-1.0.4" = self.by-version."strip-json-comments"."1.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rc"."~1.1.0" =
-    self.by-version."rc"."1.1.6";
-  by-spec."rc"."~1.1.6" =
-    self.by-version."rc"."1.1.6";
-  by-spec."re-emitter"."^1.0.0" =
-    self.by-version."re-emitter"."1.1.3";
-  by-version."re-emitter"."1.1.3" = self.buildNodePackage {
-    name = "re-emitter-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/re-emitter/-/re-emitter-1.1.3.tgz";
-      name = "re-emitter-1.1.3.tgz";
-      sha1 = "fa9e319ffdeeeb35b27296ef0f3d374dac2f52a7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."react"."*" =
-    self.by-version."react"."15.1.0";
-  by-version."react"."15.1.0" = self.buildNodePackage {
-    name = "react-15.1.0";
-    version = "15.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/react/-/react-15.1.0.tgz";
-      name = "react-15.1.0.tgz";
-      sha1 = "5f7a9f085a00509898efd2b24cb12ea1dfaf8b40";
-    };
-    deps = {
-      "fbjs-0.8.3" = self.by-version."fbjs"."0.8.3";
-      "loose-envify-1.2.0" = self.by-version."loose-envify"."1.2.0";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "react" = self.by-version."react"."15.1.0";
-  by-spec."react-tools"."*" =
-    self.by-version."react-tools"."0.14.0-alpha3";
-  by-version."react-tools"."0.14.0-alpha3" = self.buildNodePackage {
-    name = "react-tools-0.14.0-alpha3";
-    version = "0.14.0-alpha3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/react-tools/-/react-tools-0.14.0-alpha3.tgz";
-      name = "react-tools-0.14.0-alpha3.tgz";
-      sha1 = "e22664c10faee3200b1fa2b5c2b3bb7bfd72c8fd";
-    };
-    deps = {
-      "commoner-0.10.4" = self.by-version."commoner"."0.10.4";
-      "jstransform-11.0.3" = self.by-version."jstransform"."11.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "react-tools" = self.by-version."react-tools"."0.14.0-alpha3";
-  by-spec."read"."1" =
-    self.by-version."read"."1.0.7";
-  by-version."read"."1.0.7" = self.buildNodePackage {
-    name = "read-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read/-/read-1.0.7.tgz";
-      name = "read-1.0.7.tgz";
-      sha1 = "b3da19bd052431a97671d44a42634adf710b40c4";
-    };
-    deps = {
-      "mute-stream-0.0.6" = self.by-version."mute-stream"."0.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read"."1.0.x" =
-    self.by-version."read"."1.0.7";
-  by-spec."read"."~1.0.1" =
-    self.by-version."read"."1.0.7";
-  by-spec."read"."~1.0.7" =
-    self.by-version."read"."1.0.7";
-  by-spec."read-all-stream"."^2.0.0" =
-    self.by-version."read-all-stream"."2.2.0";
-  by-version."read-all-stream"."2.2.0" = self.buildNodePackage {
-    name = "read-all-stream-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-all-stream/-/read-all-stream-2.2.0.tgz";
-      name = "read-all-stream-2.2.0.tgz";
-      sha1 = "6b83370546c55ab6ade2bf75e83c66e45989bbf0";
-    };
-    deps = {
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-all-stream"."^3.0.0" =
-    self.by-version."read-all-stream"."3.1.0";
-  by-version."read-all-stream"."3.1.0" = self.buildNodePackage {
-    name = "read-all-stream-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-all-stream/-/read-all-stream-3.1.0.tgz";
-      name = "read-all-stream-3.1.0.tgz";
-      sha1 = "35c3e177f2078ef789ee4bfafa4373074eaef4fa";
-    };
-    deps = {
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-cmd-shim"."~1.0.1" =
-    self.by-version."read-cmd-shim"."1.0.1";
-  by-version."read-cmd-shim"."1.0.1" = self.buildNodePackage {
-    name = "read-cmd-shim-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-cmd-shim/-/read-cmd-shim-1.0.1.tgz";
-      name = "read-cmd-shim-1.0.1.tgz";
-      sha1 = "2d5d157786a37c055d22077c32c53f8329e91c7b";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-installed"."~4.0.3" =
-    self.by-version."read-installed"."4.0.3";
-  by-version."read-installed"."4.0.3" = self.buildNodePackage {
-    name = "read-installed-4.0.3";
-    version = "4.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-installed/-/read-installed-4.0.3.tgz";
-      name = "read-installed-4.0.3.tgz";
-      sha1 = "ff9b8b67f187d1e4c29b9feb31f6b223acd19067";
-    };
-    deps = {
-      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
-      "read-package-json-2.0.4" = self.by-version."read-package-json"."2.0.4";
-      "readdir-scoped-modules-1.0.2" = self.by-version."readdir-scoped-modules"."1.0.2";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "slide-1.1.6" = self.by-version."slide"."1.1.6";
-      "util-extend-1.0.3" = self.by-version."util-extend"."1.0.3";
-    };
-    optionalDependencies = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-json-sync"."^1.1.0" =
-    self.by-version."read-json-sync"."1.1.1";
-  by-version."read-json-sync"."1.1.1" = self.buildNodePackage {
-    name = "read-json-sync-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-json-sync/-/read-json-sync-1.1.1.tgz";
-      name = "read-json-sync-1.1.1.tgz";
-      sha1 = "43c669ae864aae308dfbbb2721a67e295ec8fff6";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-only-stream"."^1.1.1" =
-    self.by-version."read-only-stream"."1.1.1";
-  by-version."read-only-stream"."1.1.1" = self.buildNodePackage {
-    name = "read-only-stream-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-only-stream/-/read-only-stream-1.1.1.tgz";
-      name = "read-only-stream-1.1.1.tgz";
-      sha1 = "5da77c799ed1388d3ef88a18471bb5924f8a0ba1";
-    };
-    deps = {
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "readable-wrap-1.0.0" = self.by-version."readable-wrap"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-only-stream"."^2.0.0" =
-    self.by-version."read-only-stream"."2.0.0";
-  by-version."read-only-stream"."2.0.0" = self.buildNodePackage {
-    name = "read-only-stream-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-only-stream/-/read-only-stream-2.0.0.tgz";
-      name = "read-only-stream-2.0.0.tgz";
-      sha1 = "2724fd6a8113d73764ac288d4386270c1dbf17f0";
-    };
-    deps = {
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-package-json"."1 || 2" =
-    self.by-version."read-package-json"."2.0.4";
-  by-version."read-package-json"."2.0.4" = self.buildNodePackage {
-    name = "read-package-json-2.0.4";
-    version = "2.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-package-json/-/read-package-json-2.0.4.tgz";
-      name = "read-package-json-2.0.4.tgz";
-      sha1 = "61ed1b2256ea438d8008895090be84b8e799c853";
-    };
-    deps = {
-      "glob-6.0.4" = self.by-version."glob"."6.0.4";
-      "json-parse-helpfulerror-1.0.3" = self.by-version."json-parse-helpfulerror"."1.0.3";
-      "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5";
-    };
-    optionalDependencies = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-package-json"."^2.0.0" =
-    self.by-version."read-package-json"."2.0.4";
-  by-spec."read-package-json"."~2.0.4" =
-    self.by-version."read-package-json"."2.0.4";
-  by-spec."read-package-tree"."~5.1.4" =
-    self.by-version."read-package-tree"."5.1.4";
-  by-version."read-package-tree"."5.1.4" = self.buildNodePackage {
-    name = "read-package-tree-5.1.4";
-    version = "5.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.1.4.tgz";
-      name = "read-package-tree-5.1.4.tgz";
-      sha1 = "bb6e465f913d4259a9534c87b1d5c508fe8eb078";
-    };
-    deps = {
-      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
-      "dezalgo-1.0.3" = self.by-version."dezalgo"."1.0.3";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "read-package-json-2.0.4" = self.by-version."read-package-json"."2.0.4";
-      "readdir-scoped-modules-1.0.2" = self.by-version."readdir-scoped-modules"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-pkg"."^1.0.0" =
-    self.by-version."read-pkg"."1.1.0";
-  by-version."read-pkg"."1.1.0" = self.buildNodePackage {
-    name = "read-pkg-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-pkg/-/read-pkg-1.1.0.tgz";
-      name = "read-pkg-1.1.0.tgz";
-      sha1 = "f5ffaa5ecd29cb31c0474bca7d756b6bb29e3f28";
-    };
-    deps = {
-      "load-json-file-1.1.0" = self.by-version."load-json-file"."1.1.0";
-      "normalize-package-data-2.3.5" = self.by-version."normalize-package-data"."2.3.5";
-      "path-type-1.1.0" = self.by-version."path-type"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-pkg-up"."^1.0.1" =
-    self.by-version."read-pkg-up"."1.0.1";
-  by-version."read-pkg-up"."1.0.1" = self.buildNodePackage {
-    name = "read-pkg-up-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-1.0.1.tgz";
-      name = "read-pkg-up-1.0.1.tgz";
-      sha1 = "9d63c13276c065918d57f002a57f40a1b643fb02";
-    };
-    deps = {
-      "find-up-1.1.2" = self.by-version."find-up"."1.1.2";
-      "read-pkg-1.1.0" = self.by-version."read-pkg"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-torrent"."^1.0.0" =
-    self.by-version."read-torrent"."1.3.0";
-  by-version."read-torrent"."1.3.0" = self.buildNodePackage {
-    name = "read-torrent-1.3.0";
-    version = "1.3.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/read-torrent/-/read-torrent-1.3.0.tgz";
-      name = "read-torrent-1.3.0.tgz";
-      sha1 = "4e0ef5bea6cb24d31843eb6fa8543ad0232ab9f4";
-    };
-    deps = {
-      "magnet-uri-2.0.1" = self.by-version."magnet-uri"."2.0.1";
-      "parse-torrent-4.1.0" = self.by-version."parse-torrent"."4.1.0";
-      "request-2.16.6" = self.by-version."request"."2.16.6";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."read-torrent"."^1.3.0" =
-    self.by-version."read-torrent"."1.3.0";
-  by-spec."readable-stream"."1 || 2" =
-    self.by-version."readable-stream"."2.1.4";
-  by-version."readable-stream"."2.1.4" = self.buildNodePackage {
-    name = "readable-stream-2.1.4";
-    version = "2.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.1.4.tgz";
-      name = "readable-stream-2.1.4.tgz";
-      sha1 = "70b9791c6fcb8480db44bd155a0f6bb58f172468";
-    };
-    deps = {
-      "buffer-shims-1.0.0" = self.by-version."buffer-shims"."1.0.0";
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "isarray-1.0.0" = self.by-version."isarray"."1.0.0";
-      "process-nextick-args-1.0.7" = self.by-version."process-nextick-args"."1.0.7";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readable-stream"."1.0.27-1" =
-    self.by-version."readable-stream"."1.0.27-1";
-  by-version."readable-stream"."1.0.27-1" = self.buildNodePackage {
-    name = "readable-stream-1.0.27-1";
-    version = "1.0.27-1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.27-1.tgz";
-      name = "readable-stream-1.0.27-1.tgz";
-      sha1 = "6b67983c20357cefd07f0165001a16d710d91078";
-    };
-    deps = {
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readable-stream"."1.0.31" =
-    self.by-version."readable-stream"."1.0.31";
-  by-version."readable-stream"."1.0.31" = self.buildNodePackage {
-    name = "readable-stream-1.0.31";
-    version = "1.0.31";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.31.tgz";
-      name = "readable-stream-1.0.31.tgz";
-      sha1 = "8f2502e0bc9e3b0da1b94520aabb4e2603ecafae";
-    };
-    deps = {
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readable-stream"."1.1" =
-    self.by-version."readable-stream"."1.1.14";
-  by-version."readable-stream"."1.1.14" = self.buildNodePackage {
-    name = "readable-stream-1.1.14";
-    version = "1.1.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.1.14.tgz";
-      name = "readable-stream-1.1.14.tgz";
-      sha1 = "7cf4c54ef648e3813084c636dd2079e166c081d9";
-    };
-    deps = {
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readable-stream"."1.1.x" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."2" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream".">=1.0.33-1 <1.1.0-0" =
-    self.by-version."readable-stream"."1.0.34";
-  by-version."readable-stream"."1.0.34" = self.buildNodePackage {
-    name = "readable-stream-1.0.34";
-    version = "1.0.34";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readable-stream/-/readable-stream-1.0.34.tgz";
-      name = "readable-stream-1.0.34.tgz";
-      sha1 = "125820e34bc842d2f2aaafafe4c2916ee32c157c";
-    };
-    deps = {
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readable-stream".">=1.1.13-1 <1.2.0-0" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream".">=2.0.0 <3.0.0" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream"."^1.0.2" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."^1.0.27-1" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."^1.0.31" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."^1.0.33" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."^1.1.13" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."^1.1.13-1" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."^2.0.0" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream"."^2.0.0 || ^1.1.13" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream"."^2.0.1" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream"."^2.0.2" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream"."^2.0.4" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream"."^2.0.5" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream"."^2.1.0" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream"."~1.0.17" =
-    self.by-version."readable-stream"."1.0.34";
-  by-spec."readable-stream"."~1.0.2" =
-    self.by-version."readable-stream"."1.0.34";
-  by-spec."readable-stream"."~1.0.24" =
-    self.by-version."readable-stream"."1.0.34";
-  by-spec."readable-stream"."~1.0.26" =
-    self.by-version."readable-stream"."1.0.34";
-  by-spec."readable-stream"."~1.0.26-2" =
-    self.by-version."readable-stream"."1.0.34";
-  by-spec."readable-stream"."~1.0.33" =
-    self.by-version."readable-stream"."1.0.34";
-  by-spec."readable-stream"."~1.1.0" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."~1.1.10" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."~1.1.8" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."~1.1.9" =
-    self.by-version."readable-stream"."1.1.14";
-  by-spec."readable-stream"."~2.0.0" =
-    self.by-version."readable-stream"."2.0.6";
-  by-version."readable-stream"."2.0.6" = self.buildNodePackage {
-    name = "readable-stream-2.0.6";
-    version = "2.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readable-stream/-/readable-stream-2.0.6.tgz";
-      name = "readable-stream-2.0.6.tgz";
-      sha1 = "8f90341e68a53ccc928788dacfcd11b36eb9b78e";
-    };
-    deps = {
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "isarray-1.0.0" = self.by-version."isarray"."1.0.0";
-      "process-nextick-args-1.0.7" = self.by-version."process-nextick-args"."1.0.7";
-      "string_decoder-0.10.31" = self.by-version."string_decoder"."0.10.31";
-      "util-deprecate-1.0.2" = self.by-version."util-deprecate"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readable-stream"."~2.0.4" =
-    self.by-version."readable-stream"."2.0.6";
-  by-spec."readable-stream"."~2.0.5" =
-    self.by-version."readable-stream"."2.0.6";
-  by-spec."readable-stream"."~2.1.2" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-stream"."~2.1.3" =
-    self.by-version."readable-stream"."2.1.4";
-  by-spec."readable-wrap"."^1.0.0" =
-    self.by-version."readable-wrap"."1.0.0";
-  by-version."readable-wrap"."1.0.0" = self.buildNodePackage {
-    name = "readable-wrap-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readable-wrap/-/readable-wrap-1.0.0.tgz";
-      name = "readable-wrap-1.0.0.tgz";
-      sha1 = "3b5a211c631e12303a54991c806c17e7ae206bff";
-    };
-    deps = {
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readdir-scoped-modules"."*" =
-    self.by-version."readdir-scoped-modules"."1.0.2";
-  by-version."readdir-scoped-modules"."1.0.2" = self.buildNodePackage {
-    name = "readdir-scoped-modules-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.0.2.tgz";
-      name = "readdir-scoped-modules-1.0.2.tgz";
-      sha1 = "9fafa37d286be5d92cbaebdee030dc9b5f406747";
-    };
-    deps = {
-      "debuglog-1.0.1" = self.by-version."debuglog"."1.0.1";
-      "dezalgo-1.0.3" = self.by-version."dezalgo"."1.0.3";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readdir-scoped-modules"."^1.0.0" =
-    self.by-version."readdir-scoped-modules"."1.0.2";
-  by-spec."readdirp"."^2.0.0" =
-    self.by-version."readdirp"."2.0.0";
-  by-version."readdirp"."2.0.0" = self.buildNodePackage {
-    name = "readdirp-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readdirp/-/readdirp-2.0.0.tgz";
-      name = "readdirp-2.0.0.tgz";
-      sha1 = "cc09ba5d12d8feb864bc75f6e2ebc137060cbd82";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "minimatch-2.0.10" = self.by-version."minimatch"."2.0.10";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readline2"."^0.1.1" =
-    self.by-version."readline2"."0.1.1";
-  by-version."readline2"."0.1.1" = self.buildNodePackage {
-    name = "readline2-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readline2/-/readline2-0.1.1.tgz";
-      name = "readline2-0.1.1.tgz";
-      sha1 = "99443ba6e83b830ef3051bfd7dc241a82728d568";
-    };
-    deps = {
-      "mute-stream-0.0.4" = self.by-version."mute-stream"."0.0.4";
-      "strip-ansi-2.0.1" = self.by-version."strip-ansi"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."readline2"."^1.0.1" =
-    self.by-version."readline2"."1.0.1";
-  by-version."readline2"."1.0.1" = self.buildNodePackage {
-    name = "readline2-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/readline2/-/readline2-1.0.1.tgz";
-      name = "readline2-1.0.1.tgz";
-      sha1 = "41059608ffc154757b715d9989d199ffbf372e35";
-    };
-    deps = {
-      "code-point-at-1.0.0" = self.by-version."code-point-at"."1.0.0";
-      "is-fullwidth-code-point-1.0.0" = self.by-version."is-fullwidth-code-point"."1.0.0";
-      "mute-stream-0.0.5" = self.by-version."mute-stream"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."realize-package-specifier"."~3.0.1" =
-    self.by-version."realize-package-specifier"."3.0.3";
-  by-version."realize-package-specifier"."3.0.3" = self.buildNodePackage {
-    name = "realize-package-specifier-3.0.3";
-    version = "3.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/realize-package-specifier/-/realize-package-specifier-3.0.3.tgz";
-      name = "realize-package-specifier-3.0.3.tgz";
-      sha1 = "d0def882952b8de3f67eba5e91199661271f41f4";
-    };
-    deps = {
-      "dezalgo-1.0.3" = self.by-version."dezalgo"."1.0.3";
-      "npm-package-arg-4.1.1" = self.by-version."npm-package-arg"."4.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."realize-package-specifier"."~3.0.3" =
-    self.by-version."realize-package-specifier"."3.0.3";
-  by-spec."recast"."0.10.33" =
-    self.by-version."recast"."0.10.33";
-  by-version."recast"."0.10.33" = self.buildNodePackage {
-    name = "recast-0.10.33";
-    version = "0.10.33";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/recast/-/recast-0.10.33.tgz";
-      name = "recast-0.10.33.tgz";
-      sha1 = "942808f7aa016f1fa7142c461d7e5704aaa8d697";
-    };
-    deps = {
-      "esprima-fb-15001.1001.0-dev-harmony-fb" = self.by-version."esprima-fb"."15001.1001.0-dev-harmony-fb";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-      "private-0.1.6" = self.by-version."private"."0.1.6";
-      "ast-types-0.8.12" = self.by-version."ast-types"."0.8.12";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."recast"."^0.10.0" =
-    self.by-version."recast"."0.10.43";
-  by-version."recast"."0.10.43" = self.buildNodePackage {
-    name = "recast-0.10.43";
-    version = "0.10.43";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/recast/-/recast-0.10.43.tgz";
-      name = "recast-0.10.43.tgz";
-      sha1 = "b95d50f6d60761a5f6252e15d80678168491ce7f";
-    };
-    deps = {
-      "esprima-fb-15001.1001.0-dev-harmony-fb" = self.by-version."esprima-fb"."15001.1001.0-dev-harmony-fb";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-      "private-0.1.6" = self.by-version."private"."0.1.6";
-      "ast-types-0.8.15" = self.by-version."ast-types"."0.8.15";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rechoir"."^0.6.0" =
-    self.by-version."rechoir"."0.6.2";
-  by-version."rechoir"."0.6.2" = self.buildNodePackage {
-    name = "rechoir-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz";
-      name = "rechoir-0.6.2.tgz";
-      sha1 = "85204b54dba82d5742e28c96756ef43af50e3384";
-    };
-    deps = {
-      "resolve-1.1.7" = self.by-version."resolve"."1.1.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rechoir"."^0.6.2" =
-    self.by-version."rechoir"."0.6.2";
-  by-spec."reconnect-core"."https://github.com/dodo/reconnect-core/tarball/merged" =
-    self.by-version."reconnect-core"."0.0.1";
-  by-version."reconnect-core"."0.0.1" = self.buildNodePackage {
-    name = "reconnect-core-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://github.com/dodo/reconnect-core/tarball/merged";
-      name = "reconnect-core-0.0.1.tgz";
-      sha256 = "431dd7a1578061815270e4ad59c6e8b40dff6b308244973e1c11049ccbf1629b";
-    };
-    deps = {
-      "backoff-2.3.0" = self.by-version."backoff"."2.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."redent"."^1.0.0" =
-    self.by-version."redent"."1.0.0";
-  by-version."redent"."1.0.0" = self.buildNodePackage {
-    name = "redent-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/redent/-/redent-1.0.0.tgz";
-      name = "redent-1.0.0.tgz";
-      sha1 = "cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde";
-    };
-    deps = {
-      "indent-string-2.1.0" = self.by-version."indent-string"."2.1.0";
-      "strip-indent-1.0.1" = self.by-version."strip-indent"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."redis"."*" =
-    self.by-version."redis"."2.6.1";
-  by-version."redis"."2.6.1" = self.buildNodePackage {
-    name = "redis-2.6.1";
-    version = "2.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/redis/-/redis-2.6.1.tgz";
-      name = "redis-2.6.1.tgz";
-      sha1 = "0c174e15b34ac6974195ad956d5a7177d6115d46";
-    };
-    deps = {
-      "double-ended-queue-2.1.0-0" = self.by-version."double-ended-queue"."2.1.0-0";
-      "redis-commands-1.2.0" = self.by-version."redis-commands"."1.2.0";
-      "redis-parser-2.0.2" = self.by-version."redis-parser"."2.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "redis" = self.by-version."redis"."2.6.1";
-  by-spec."redis"."0.10.x" =
-    self.by-version."redis"."0.10.3";
-  by-version."redis"."0.10.3" = self.buildNodePackage {
-    name = "redis-0.10.3";
-    version = "0.10.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/redis/-/redis-0.10.3.tgz";
-      name = "redis-0.10.3.tgz";
-      sha1 = "8927fe2110ee39617bcf3fd37b89d8e123911bb6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."redis"."0.7.3" =
-    self.by-version."redis"."0.7.3";
-  by-version."redis"."0.7.3" = self.buildNodePackage {
-    name = "redis-0.7.3";
-    version = "0.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/redis/-/redis-0.7.3.tgz";
-      name = "redis-0.7.3.tgz";
-      sha1 = "ee57b7a44d25ec1594e44365d8165fa7d1d4811a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."redis"."^0.12.1" =
-    self.by-version."redis"."0.12.1";
-  by-version."redis"."0.12.1" = self.buildNodePackage {
-    name = "redis-0.12.1";
-    version = "0.12.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/redis/-/redis-0.12.1.tgz";
-      name = "redis-0.12.1.tgz";
-      sha1 = "64df76ad0fc8acebaebd2a0645e8a48fac49185e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."redis"."~2.4.2" =
-    self.by-version."redis"."2.4.2";
-  by-version."redis"."2.4.2" = self.buildNodePackage {
-    name = "redis-2.4.2";
-    version = "2.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/redis/-/redis-2.4.2.tgz";
-      name = "redis-2.4.2.tgz";
-      sha1 = "2f9160255a26a6cad2b79bf0847e067280a146ea";
-    };
-    deps = {
-      "double-ended-queue-2.1.0-0" = self.by-version."double-ended-queue"."2.1.0-0";
-      "redis-commands-1.2.0" = self.by-version."redis-commands"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."redis-commands"."^1.0.1" =
-    self.by-version."redis-commands"."1.2.0";
-  by-version."redis-commands"."1.2.0" = self.buildNodePackage {
-    name = "redis-commands-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/redis-commands/-/redis-commands-1.2.0.tgz";
-      name = "redis-commands-1.2.0.tgz";
-      sha1 = "4808e7a0fcb1d3609bec56eecc3532dacbab981c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."redis-commands"."^1.2.0" =
-    self.by-version."redis-commands"."1.2.0";
-  by-spec."redis-parser"."^2.0.0" =
-    self.by-version."redis-parser"."2.0.2";
-  by-version."redis-parser"."2.0.2" = self.buildNodePackage {
-    name = "redis-parser-2.0.2";
-    version = "2.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/redis-parser/-/redis-parser-2.0.2.tgz";
-      name = "redis-parser-2.0.2.tgz";
-      sha1 = "c3354d6afef91c90ab941533d8033eb7e7dc5b56";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."reds"."~0.2.5" =
-    self.by-version."reds"."0.2.5";
-  by-version."reds"."0.2.5" = self.buildNodePackage {
-    name = "reds-0.2.5";
-    version = "0.2.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/reds/-/reds-0.2.5.tgz";
-      name = "reds-0.2.5.tgz";
-      sha1 = "38a767f7663cd749036848697d82c74fd29bc01f";
-    };
-    deps = {
-      "natural-0.2.1" = self.by-version."natural"."0.2.1";
-      "redis-0.12.1" = self.by-version."redis"."0.12.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."reduce-component"."1.0.1" =
-    self.by-version."reduce-component"."1.0.1";
-  by-version."reduce-component"."1.0.1" = self.buildNodePackage {
-    name = "reduce-component-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/reduce-component/-/reduce-component-1.0.1.tgz";
-      name = "reduce-component-1.0.1.tgz";
-      sha1 = "e0c93542c574521bea13df0f9488ed82ab77c5da";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."reduplexer"."^1.1.0" =
-    self.by-version."reduplexer"."1.1.0";
-  by-version."reduplexer"."1.1.0" = self.buildNodePackage {
-    name = "reduplexer-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/reduplexer/-/reduplexer-1.1.0.tgz";
-      name = "reduplexer-1.1.0.tgz";
-      sha1 = "7dfed18a679e749c1d7ad36de01acb515f08e140";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."regenerator"."~0.8.13" =
-    self.by-version."regenerator"."0.8.46";
-  by-version."regenerator"."0.8.46" = self.buildNodePackage {
-    name = "regenerator-0.8.46";
-    version = "0.8.46";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/regenerator/-/regenerator-0.8.46.tgz";
-      name = "regenerator-0.8.46.tgz";
-      sha1 = "154c327686361ed52cad69b2545efc53a3d07696";
-    };
-    deps = {
-      "commoner-0.10.4" = self.by-version."commoner"."0.10.4";
-      "defs-1.1.1" = self.by-version."defs"."1.1.1";
-      "esprima-fb-15001.1001.0-dev-harmony-fb" = self.by-version."esprima-fb"."15001.1001.0-dev-harmony-fb";
-      "private-0.1.6" = self.by-version."private"."0.1.6";
-      "recast-0.10.33" = self.by-version."recast"."0.10.33";
-      "regenerator-runtime-0.9.5" = self.by-version."regenerator-runtime"."0.9.5";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."regenerator-runtime"."^0.9.5" =
-    self.by-version."regenerator-runtime"."0.9.5";
-  by-version."regenerator-runtime"."0.9.5" = self.buildNodePackage {
-    name = "regenerator-runtime-0.9.5";
-    version = "0.9.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.9.5.tgz";
-      name = "regenerator-runtime-0.9.5.tgz";
-      sha1 = "403d6d40a4bdff9c330dd9392dcbb2d9a8bba1fc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."regenerator-runtime"."~0.9.5" =
-    self.by-version."regenerator-runtime"."0.9.5";
-  by-spec."regex-cache"."^0.4.2" =
-    self.by-version."regex-cache"."0.4.3";
-  by-version."regex-cache"."0.4.3" = self.buildNodePackage {
-    name = "regex-cache-0.4.3";
-    version = "0.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/regex-cache/-/regex-cache-0.4.3.tgz";
-      name = "regex-cache-0.4.3.tgz";
-      sha1 = "9b1a6c35d4d0dfcef5711ae651e8e9d3d7114145";
-    };
-    deps = {
-      "is-equal-shallow-0.1.3" = self.by-version."is-equal-shallow"."0.1.3";
-      "is-primitive-2.0.0" = self.by-version."is-primitive"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."regexp-clone"."0.0.1" =
-    self.by-version."regexp-clone"."0.0.1";
-  by-version."regexp-clone"."0.0.1" = self.buildNodePackage {
-    name = "regexp-clone-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/regexp-clone/-/regexp-clone-0.0.1.tgz";
-      name = "regexp-clone-0.0.1.tgz";
-      sha1 = "a7c2e09891fdbf38fbb10d376fb73003e68ac589";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."regexp-quote"."0.0.0" =
-    self.by-version."regexp-quote"."0.0.0";
-  by-version."regexp-quote"."0.0.0" = self.buildNodePackage {
-    name = "regexp-quote-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/regexp-quote/-/regexp-quote-0.0.0.tgz";
-      name = "regexp-quote-0.0.0.tgz";
-      sha1 = "1e0f4650c862dcbfed54fd42b148e9bb1721fcf2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."registry-url"."^3.0.0" =
-    self.by-version."registry-url"."3.1.0";
-  by-version."registry-url"."3.1.0" = self.buildNodePackage {
-    name = "registry-url-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/registry-url/-/registry-url-3.1.0.tgz";
-      name = "registry-url-3.1.0.tgz";
-      sha1 = "3d4ef870f73dde1d77f0cf9a381432444e174942";
-    };
-    deps = {
-      "rc-1.1.6" = self.by-version."rc"."1.1.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."reinterval"."^1.0.1" =
-    self.by-version."reinterval"."1.0.2";
-  by-version."reinterval"."1.0.2" = self.buildNodePackage {
-    name = "reinterval-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/reinterval/-/reinterval-1.0.2.tgz";
-      name = "reinterval-1.0.2.tgz";
-      sha1 = "029056fb7637844bec872f36f2c07b0d7c112e6d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."relative-date"."^1.1.1" =
-    self.by-version."relative-date"."1.1.3";
-  by-version."relative-date"."1.1.3" = self.buildNodePackage {
-    name = "relative-date-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/relative-date/-/relative-date-1.1.3.tgz";
-      name = "relative-date-1.1.3.tgz";
-      sha1 = "120903040588ec7a4a399c6547fd01d0e3d2dc63";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."render-readme".">=0.2.1" =
-    self.by-version."render-readme"."1.3.1";
-  by-version."render-readme"."1.3.1" = self.buildNodePackage {
-    name = "render-readme-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/render-readme/-/render-readme-1.3.1.tgz";
-      name = "render-readme-1.3.1.tgz";
-      sha1 = "d2a98f9a87dd64fa73c6877ac5c45b0f6341a797";
-    };
-    deps = {
-      "markdown-it-4.4.0" = self.by-version."markdown-it"."4.4.0";
-      "sanitize-html-1.11.4" = self.by-version."sanitize-html"."1.11.4";
-      "js-yaml-3.6.1" = self.by-version."js-yaml"."3.6.1";
-      "highlight.js-8.9.1" = self.by-version."highlight.js"."8.9.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."repeat-element"."^1.1.2" =
-    self.by-version."repeat-element"."1.1.2";
-  by-version."repeat-element"."1.1.2" = self.buildNodePackage {
-    name = "repeat-element-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.2.tgz";
-      name = "repeat-element-1.1.2.tgz";
-      sha1 = "ef089a178d1483baae4d93eb98b4f9e4e11d990a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."repeat-string"."^0.2.2" =
-    self.by-version."repeat-string"."0.2.2";
-  by-version."repeat-string"."0.2.2" = self.buildNodePackage {
-    name = "repeat-string-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/repeat-string/-/repeat-string-0.2.2.tgz";
-      name = "repeat-string-0.2.2.tgz";
-      sha1 = "c7a8d3236068362059a7e4651fc6884e8b1fb4ae";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."repeat-string"."^1.5.2" =
-    self.by-version."repeat-string"."1.5.4";
-  by-version."repeat-string"."1.5.4" = self.buildNodePackage {
-    name = "repeat-string-1.5.4";
-    version = "1.5.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/repeat-string/-/repeat-string-1.5.4.tgz";
-      name = "repeat-string-1.5.4.tgz";
-      sha1 = "64ec0c91e0f4b475f90d5b643651e3e6e5b6c2d5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."repeating"."^1.1.0" =
-    self.by-version."repeating"."1.1.3";
-  by-version."repeating"."1.1.3" = self.buildNodePackage {
-    name = "repeating-1.1.3";
-    version = "1.1.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/repeating/-/repeating-1.1.3.tgz";
-      name = "repeating-1.1.3.tgz";
-      sha1 = "3d4114218877537494f97f77f9785fab810fa4ac";
-    };
-    deps = {
-      "is-finite-1.0.1" = self.by-version."is-finite"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."repeating"."^1.1.2" =
-    self.by-version."repeating"."1.1.3";
-  by-spec."repeating"."^2.0.0" =
-    self.by-version."repeating"."2.0.1";
-  by-version."repeating"."2.0.1" = self.buildNodePackage {
-    name = "repeating-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz";
-      name = "repeating-2.0.1.tgz";
-      sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
-    };
-    deps = {
-      "is-finite-1.0.1" = self.by-version."is-finite"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."replace"."~0.2.4" =
-    self.by-version."replace"."0.2.10";
-  by-version."replace"."0.2.10" = self.buildNodePackage {
-    name = "replace-0.2.10";
-    version = "0.2.10";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/replace/-/replace-0.2.10.tgz";
-      name = "replace-0.2.10.tgz";
-      sha1 = "1123397e995b3bfef9985fc63cddcf79a014fd64";
-    };
-    deps = {
-      "nomnom-1.6.2" = self.by-version."nomnom"."1.6.2";
-      "colors-0.5.1" = self.by-version."colors"."0.5.1";
-      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."replace-ext"."0.0.1" =
-    self.by-version."replace-ext"."0.0.1";
-  by-version."replace-ext"."0.0.1" = self.buildNodePackage {
-    name = "replace-ext-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/replace-ext/-/replace-ext-0.0.1.tgz";
-      name = "replace-ext-0.0.1.tgz";
-      sha1 = "29bbd92078a739f0bcce2b4ee41e837953522924";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2" =
-    self.by-version."request"."2.72.0";
-  by-version."request"."2.72.0" = self.buildNodePackage {
-    name = "request-2.72.0";
-    version = "2.72.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.72.0.tgz";
-      name = "request-2.72.0.tgz";
-      sha1 = "0ce3a179512620b10441f14c82e21c12c0ddb4e1";
-    };
-    deps = {
-      "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0";
-      "aws4-1.4.1" = self.by-version."aws4"."1.4.1";
-      "bl-1.1.2" = self.by-version."bl"."1.1.2";
-      "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
-      "form-data-1.0.0-rc4" = self.by-version."form-data"."1.0.0-rc4";
-      "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6";
-      "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
-      "http-signature-1.1.1" = self.by-version."http-signature"."1.1.1";
-      "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2";
-      "qs-6.1.0" = self.by-version."qs"."6.1.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2 >=2.20.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."2 >=2.25.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."2.16.x" =
-    self.by-version."request"."2.16.6";
-  by-version."request"."2.16.6" = self.buildNodePackage {
-    name = "request-2.16.6";
-    version = "2.16.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.16.6.tgz";
-      name = "request-2.16.6.tgz";
-      sha1 = "872fe445ae72de266b37879d6ad7dc948fa01cad";
-    };
-    deps = {
-      "form-data-0.0.10" = self.by-version."form-data"."0.0.10";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "hawk-0.10.2" = self.by-version."hawk"."0.10.2";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "cookie-jar-0.2.0" = self.by-version."cookie-jar"."0.2.0";
-      "aws-sign-0.2.0" = self.by-version."aws-sign"."0.2.0";
-      "oauth-sign-0.2.0" = self.by-version."oauth-sign"."0.2.0";
-      "forever-agent-0.2.0" = self.by-version."forever-agent"."0.2.0";
-      "tunnel-agent-0.2.0" = self.by-version."tunnel-agent"."0.2.0";
-      "json-stringify-safe-3.0.0" = self.by-version."json-stringify-safe"."3.0.0";
-      "qs-0.5.6" = self.by-version."qs"."0.5.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.26.x" =
-    self.by-version."request"."2.26.0";
-  by-version."request"."2.26.0" = self.buildNodePackage {
-    name = "request-2.26.0";
-    version = "2.26.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.26.0.tgz";
-      name = "request-2.26.0.tgz";
-      sha1 = "79b03075cbac2e22ebe41aa7fca884e869c1c212";
-    };
-    deps = {
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
-      "aws-sign-0.3.0" = self.by-version."aws-sign"."0.3.0";
-      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
-      "cookie-jar-0.3.0" = self.by-version."cookie-jar"."0.3.0";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.36.0" =
-    self.by-version."request"."2.36.0";
-  by-version."request"."2.36.0" = self.buildNodePackage {
-    name = "request-2.36.0";
-    version = "2.36.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.36.0.tgz";
-      name = "request-2.36.0.tgz";
-      sha1 = "28c6c04262c7b9ffdd21b9255374517ee6d943f5";
-    };
-    deps = {
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-    };
-    optionalDependencies = {
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
-      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.40.x" =
-    self.by-version."request"."2.40.0";
-  by-version."request"."2.40.0" = self.buildNodePackage {
-    name = "request-2.40.0";
-    version = "2.40.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.40.0.tgz";
-      name = "request-2.40.0.tgz";
-      sha1 = "4dd670f696f1e6e842e66b4b5e839301ab9beb67";
-    };
-    deps = {
-      "qs-1.0.2" = self.by-version."qs"."1.0.2";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-    };
-    optionalDependencies = {
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
-      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.47.0" =
-    self.by-version."request"."2.47.0";
-  by-version."request"."2.47.0" = self.buildNodePackage {
-    name = "request-2.47.0";
-    version = "2.47.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.47.0.tgz";
-      name = "request-2.47.0.tgz";
-      sha1 = "09e9fd1a4fed6593a805ef8202b20f0c5ecb485f";
-    };
-    deps = {
-      "bl-0.9.5" = self.by-version."bl"."0.9.5";
-      "caseless-0.6.0" = self.by-version."caseless"."0.6.0";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "qs-2.3.3" = self.by-version."qs"."2.3.3";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.4.0" = self.by-version."oauth-sign"."0.4.0";
-      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.55.x" =
-    self.by-version."request"."2.55.0";
-  by-version."request"."2.55.0" = self.buildNodePackage {
-    name = "request-2.55.0";
-    version = "2.55.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.55.0.tgz";
-      name = "request-2.55.0.tgz";
-      sha1 = "d75c1cdf679d76bb100f9bffe1fe551b5c24e93d";
-    };
-    deps = {
-      "bl-0.9.5" = self.by-version."bl"."0.9.5";
-      "caseless-0.9.0" = self.by-version."caseless"."0.9.0";
-      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
-      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "qs-2.4.2" = self.by-version."qs"."2.4.2";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.6.0" = self.by-version."oauth-sign"."0.6.0";
-      "hawk-2.3.1" = self.by-version."hawk"."2.3.1";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "har-validator-1.8.0" = self.by-version."har-validator"."1.8.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.61.0" =
-    self.by-version."request"."2.61.0";
-  by-version."request"."2.61.0" = self.buildNodePackage {
-    name = "request-2.61.0";
-    version = "2.61.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.61.0.tgz";
-      name = "request-2.61.0.tgz";
-      sha1 = "6973cb2ac94885f02693f554eec64481d6013f9f";
-    };
-    deps = {
-      "bl-1.0.3" = self.by-version."bl"."1.0.3";
-      "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
-      "form-data-1.0.0-rc4" = self.by-version."form-data"."1.0.0-rc4";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "qs-4.0.0" = self.by-version."qs"."4.0.0";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "http-signature-0.11.0" = self.by-version."http-signature"."0.11.0";
-      "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2";
-      "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "har-validator-1.8.0" = self.by-version."har-validator"."1.8.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.62.0" =
-    self.by-version."request"."2.62.0";
-  by-version."request"."2.62.0" = self.buildNodePackage {
-    name = "request-2.62.0";
-    version = "2.62.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.62.0.tgz";
-      name = "request-2.62.0.tgz";
-      sha1 = "55c165f702a146f1e21e0725c0b75e1136487b0f";
-    };
-    deps = {
-      "bl-1.0.3" = self.by-version."bl"."1.0.3";
-      "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
-      "form-data-1.0.0-rc4" = self.by-version."form-data"."1.0.0-rc4";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "qs-5.1.0" = self.by-version."qs"."5.1.0";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "http-signature-0.11.0" = self.by-version."http-signature"."0.11.0";
-      "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2";
-      "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "har-validator-1.8.0" = self.by-version."har-validator"."1.8.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.65.0" =
-    self.by-version."request"."2.65.0";
-  by-version."request"."2.65.0" = self.buildNodePackage {
-    name = "request-2.65.0";
-    version = "2.65.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.65.0.tgz";
-      name = "request-2.65.0.tgz";
-      sha1 = "cc1a3bc72b96254734fc34296da322f9486ddeba";
-    };
-    deps = {
-      "bl-1.0.3" = self.by-version."bl"."1.0.3";
-      "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
-      "form-data-1.0.0-rc4" = self.by-version."form-data"."1.0.0-rc4";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "qs-5.2.0" = self.by-version."qs"."5.2.0";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "http-signature-0.11.0" = self.by-version."http-signature"."0.11.0";
-      "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2";
-      "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
-      "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.67.0" =
-    self.by-version."request"."2.67.0";
-  by-version."request"."2.67.0" = self.buildNodePackage {
-    name = "request-2.67.0";
-    version = "2.67.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.67.0.tgz";
-      name = "request-2.67.0.tgz";
-      sha1 = "8af74780e2bf11ea0ae9aa965c11f11afd272742";
-    };
-    deps = {
-      "bl-1.0.3" = self.by-version."bl"."1.0.3";
-      "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
-      "form-data-1.0.0-rc4" = self.by-version."form-data"."1.0.0-rc4";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "qs-5.2.0" = self.by-version."qs"."5.2.0";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "http-signature-1.1.1" = self.by-version."http-signature"."1.1.1";
-      "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2";
-      "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
-      "aws-sign2-0.6.0" = self.by-version."aws-sign2"."0.6.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "is-typedarray-1.0.0" = self.by-version."is-typedarray"."1.0.0";
-      "har-validator-2.0.6" = self.by-version."har-validator"."2.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.9.x" =
-    self.by-version."request"."2.9.203";
-  by-version."request"."2.9.203" = self.buildNodePackage {
-    name = "request-2.9.203";
-    version = "2.9.203";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.9.203.tgz";
-      name = "request-2.9.203.tgz";
-      sha1 = "6c1711a5407fb94a114219563e44145bcbf4723a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."2.x" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."=2.67.0" =
-    self.by-version."request"."2.67.0";
-  by-spec."request".">= 2.2.9" =
-    self.by-version."request"."2.72.0";
-  by-spec."request".">= 2.44.0 < 3.0.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request".">=2.2.9" =
-    self.by-version."request"."2.72.0";
-  by-spec."request".">=2.27.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request".">=2.29.1" =
-    self.by-version."request"."2.72.0";
-  by-spec."request".">=2.30.1" =
-    self.by-version."request"."2.72.0";
-  by-spec."request".">=2.31.0 <3.0.0-0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request".">=2.55" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.34.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.39.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.40.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.47.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.51.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.54.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.61.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.65.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.67.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."^2.72.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."~2" =
-    self.by-version."request"."2.72.0";
-  by-spec."request"."~2.16.2" =
-    self.by-version."request"."2.16.6";
-  by-spec."request"."~2.34.0" =
-    self.by-version."request"."2.34.0";
-  by-version."request"."2.34.0" = self.buildNodePackage {
-    name = "request-2.34.0";
-    version = "2.34.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.34.0.tgz";
-      name = "request-2.34.0.tgz";
-      sha1 = "b5d8b9526add4a2d4629f4d417124573996445ae";
-    };
-    deps = {
-      "qs-0.6.6" = self.by-version."qs"."0.6.6";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-    };
-    optionalDependencies = {
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "form-data-0.1.4" = self.by-version."form-data"."0.1.4";
-      "tunnel-agent-0.3.0" = self.by-version."tunnel-agent"."0.3.0";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.3.0" = self.by-version."oauth-sign"."0.3.0";
-      "hawk-1.0.0" = self.by-version."hawk"."1.0.0";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."~2.40.0" =
-    self.by-version."request"."2.40.0";
-  by-spec."request"."~2.51.0" =
-    self.by-version."request"."2.51.0";
-  by-version."request"."2.51.0" = self.buildNodePackage {
-    name = "request-2.51.0";
-    version = "2.51.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.51.0.tgz";
-      name = "request-2.51.0.tgz";
-      sha1 = "35d00bbecc012e55f907b1bd9e0dbd577bfef26e";
-    };
-    deps = {
-      "bl-0.9.5" = self.by-version."bl"."0.9.5";
-      "caseless-0.8.0" = self.by-version."caseless"."0.8.0";
-      "forever-agent-0.5.2" = self.by-version."forever-agent"."0.5.2";
-      "form-data-0.2.0" = self.by-version."form-data"."0.2.0";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "qs-2.3.3" = self.by-version."qs"."2.3.3";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "http-signature-0.10.1" = self.by-version."http-signature"."0.10.1";
-      "oauth-sign-0.5.0" = self.by-version."oauth-sign"."0.5.0";
-      "hawk-1.1.1" = self.by-version."hawk"."1.1.1";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "combined-stream-0.0.7" = self.by-version."combined-stream"."0.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."~2.55.0" =
-    self.by-version."request"."2.55.0";
-  by-spec."request"."~2.60.0" =
-    self.by-version."request"."2.60.0";
-  by-version."request"."2.60.0" = self.buildNodePackage {
-    name = "request-2.60.0";
-    version = "2.60.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request/-/request-2.60.0.tgz";
-      name = "request-2.60.0.tgz";
-      sha1 = "498820957fcdded1d37749069610c85f61a29f2d";
-    };
-    deps = {
-      "bl-1.0.3" = self.by-version."bl"."1.0.3";
-      "caseless-0.11.0" = self.by-version."caseless"."0.11.0";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "forever-agent-0.6.1" = self.by-version."forever-agent"."0.6.1";
-      "form-data-1.0.0-rc4" = self.by-version."form-data"."1.0.0-rc4";
-      "json-stringify-safe-5.0.1" = self.by-version."json-stringify-safe"."5.0.1";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "qs-4.0.0" = self.by-version."qs"."4.0.0";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "tough-cookie-2.2.2" = self.by-version."tough-cookie"."2.2.2";
-      "http-signature-0.11.0" = self.by-version."http-signature"."0.11.0";
-      "oauth-sign-0.8.2" = self.by-version."oauth-sign"."0.8.2";
-      "hawk-3.1.3" = self.by-version."hawk"."3.1.3";
-      "aws-sign2-0.5.0" = self.by-version."aws-sign2"."0.5.0";
-      "stringstream-0.0.5" = self.by-version."stringstream"."0.0.5";
-      "combined-stream-1.0.5" = self.by-version."combined-stream"."1.0.5";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "har-validator-1.8.0" = self.by-version."har-validator"."1.8.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request"."~2.67.0" =
-    self.by-version."request"."2.67.0";
-  by-spec."request"."~2.72.0" =
-    self.by-version."request"."2.72.0";
-  by-spec."request-progress"."^0.3.1" =
-    self.by-version."request-progress"."0.3.1";
-  by-version."request-progress"."0.3.1" = self.buildNodePackage {
-    name = "request-progress-0.3.1";
-    version = "0.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request-progress/-/request-progress-0.3.1.tgz";
-      name = "request-progress-0.3.1.tgz";
-      sha1 = "0721c105d8a96ac6b2ce8b2c89ae2d5ecfcf6b3a";
-    };
-    deps = {
-      "throttleit-0.0.2" = self.by-version."throttleit"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."request-progress"."~2.0.1" =
-    self.by-version."request-progress"."2.0.1";
-  by-version."request-progress"."2.0.1" = self.buildNodePackage {
-    name = "request-progress-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/request-progress/-/request-progress-2.0.1.tgz";
-      name = "request-progress-2.0.1.tgz";
-      sha1 = "5d36bb57961c673aa5b788dbc8141fdf23b44e08";
-    };
-    deps = {
-      "throttleit-1.0.0" = self.by-version."throttleit"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."require-dir"."^0.3.0" =
-    self.by-version."require-dir"."0.3.0";
-  by-version."require-dir"."0.3.0" = self.buildNodePackage {
-    name = "require-dir-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/require-dir/-/require-dir-0.3.0.tgz";
-      name = "require-dir-0.3.0.tgz";
-      sha1 = "89f074a85638b07c20a4fb94c93b5db635a64781";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."require-main-filename"."^1.0.1" =
-    self.by-version."require-main-filename"."1.0.1";
-  by-version."require-main-filename"."1.0.1" = self.buildNodePackage {
-    name = "require-main-filename-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz";
-      name = "require-main-filename-1.0.1.tgz";
-      sha1 = "97f717b69d48784f5f526a6c5aa8ffdda055a4d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."require-uncached"."^1.0.2" =
-    self.by-version."require-uncached"."1.0.2";
-  by-version."require-uncached"."1.0.2" = self.buildNodePackage {
-    name = "require-uncached-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/require-uncached/-/require-uncached-1.0.2.tgz";
-      name = "require-uncached-1.0.2.tgz";
-      sha1 = "67dad3b733089e77030124678a459589faf6a7ec";
-    };
-    deps = {
-      "caller-path-0.1.0" = self.by-version."caller-path"."0.1.0";
-      "resolve-from-1.0.1" = self.by-version."resolve-from"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."require_optional"."~1.0.0" =
-    self.by-version."require_optional"."1.0.0";
-  by-version."require_optional"."1.0.0" = self.buildNodePackage {
-    name = "require_optional-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/require_optional/-/require_optional-1.0.0.tgz";
-      name = "require_optional-1.0.0.tgz";
-      sha1 = "52a86137a849728eb60a55533617f8f914f59abf";
-    };
-    deps = {
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "resolve-from-2.0.0" = self.by-version."resolve-from"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."requirejs"."^2.1.0" =
-    self.by-version."requirejs"."2.2.0";
-  by-version."requirejs"."2.2.0" = self.buildNodePackage {
-    name = "requirejs-2.2.0";
-    version = "2.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/requirejs/-/requirejs-2.2.0.tgz";
-      name = "requirejs-2.2.0.tgz";
-      sha1 = "0f2b1538af2b8d0a4fffffde5d367aa9cd4cfe84";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."requires-port"."1.x.x" =
-    self.by-version."requires-port"."1.0.0";
-  by-version."requires-port"."1.0.0" = self.buildNodePackage {
-    name = "requires-port-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz";
-      name = "requires-port-1.0.0.tgz";
-      sha1 = "925d2601d39ac485e091cf0da5c6e694dc3dcaff";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."resolve"."1.1.7" =
-    self.by-version."resolve"."1.1.7";
-  by-version."resolve"."1.1.7" = self.buildNodePackage {
-    name = "resolve-1.1.7";
-    version = "1.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/resolve/-/resolve-1.1.7.tgz";
-      name = "resolve-1.1.7.tgz";
-      sha1 = "203114d82ad2c5ed9e8e0411b3932875e889e97b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."resolve"."1.1.x" =
-    self.by-version."resolve"."1.1.7";
-  by-spec."resolve"."^1.1.3" =
-    self.by-version."resolve"."1.1.7";
-  by-spec."resolve"."^1.1.4" =
-    self.by-version."resolve"."1.1.7";
-  by-spec."resolve"."^1.1.6" =
-    self.by-version."resolve"."1.1.7";
-  by-spec."resolve"."~1.1.0" =
-    self.by-version."resolve"."1.1.7";
-  by-spec."resolve-from"."^1.0.0" =
-    self.by-version."resolve-from"."1.0.1";
-  by-version."resolve-from"."1.0.1" = self.buildNodePackage {
-    name = "resolve-from-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/resolve-from/-/resolve-from-1.0.1.tgz";
-      name = "resolve-from-1.0.1.tgz";
-      sha1 = "26cbfe935d1aeeeabb29bc3fe5aeb01e93d44226";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."resolve-from"."^2.0.0" =
-    self.by-version."resolve-from"."2.0.0";
-  by-version."resolve-from"."2.0.0" = self.buildNodePackage {
-    name = "resolve-from-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/resolve-from/-/resolve-from-2.0.0.tgz";
-      name = "resolve-from-2.0.0.tgz";
-      sha1 = "9480ab20e94ffa1d9e80a804c7ea147611966b57";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."response-time"."1.0.0" =
-    self.by-version."response-time"."1.0.0";
-  by-version."response-time"."1.0.0" = self.buildNodePackage {
-    name = "response-time-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/response-time/-/response-time-1.0.0.tgz";
-      name = "response-time-1.0.0.tgz";
-      sha1 = "c2bc8d08f3c359f97eae1d6da86eead175fabdc9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."response-time"."~2.3.1" =
-    self.by-version."response-time"."2.3.1";
-  by-version."response-time"."2.3.1" = self.buildNodePackage {
-    name = "response-time-2.3.1";
-    version = "2.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/response-time/-/response-time-2.3.1.tgz";
-      name = "response-time-2.3.1.tgz";
-      sha1 = "2bde19181de6c81ab95e3207a28d61d965b31797";
-    };
-    deps = {
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "on-headers-1.0.1" = self.by-version."on-headers"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."restify"."4.0.3" =
-    self.by-version."restify"."4.0.3";
-  by-version."restify"."4.0.3" = self.buildNodePackage {
-    name = "restify-4.0.3";
-    version = "4.0.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/restify/-/restify-4.0.3.tgz";
-      name = "restify-4.0.3.tgz";
-      sha1 = "e1e5b7ad9d4f6aeacd20e28f44a045f26c146dbc";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "backoff-2.5.0" = self.by-version."backoff"."2.5.0";
-      "bunyan-1.8.1" = self.by-version."bunyan"."1.8.1";
-      "csv-0.4.6" = self.by-version."csv"."0.4.6";
-      "escape-regexp-component-1.0.2" = self.by-version."escape-regexp-component"."1.0.2";
-      "formidable-1.0.17" = self.by-version."formidable"."1.0.17";
-      "http-signature-0.11.0" = self.by-version."http-signature"."0.11.0";
-      "keep-alive-agent-0.0.1" = self.by-version."keep-alive-agent"."0.0.1";
-      "lru-cache-2.7.3" = self.by-version."lru-cache"."2.7.3";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "negotiator-0.5.3" = self.by-version."negotiator"."0.5.3";
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "qs-3.1.0" = self.by-version."qs"."3.1.0";
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-      "spdy-1.32.5" = self.by-version."spdy"."1.32.5";
-      "tunnel-agent-0.4.3" = self.by-version."tunnel-agent"."0.4.3";
-      "vasync-1.6.3" = self.by-version."vasync"."1.6.3";
-      "verror-1.6.1" = self.by-version."verror"."1.6.1";
-    };
-    optionalDependencies = {
-      "dtrace-provider-0.6.0" = self.by-version."dtrace-provider"."0.6.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."restore-cursor"."^1.0.1" =
-    self.by-version."restore-cursor"."1.0.1";
-  by-version."restore-cursor"."1.0.1" = self.buildNodePackage {
-    name = "restore-cursor-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-1.0.1.tgz";
-      name = "restore-cursor-1.0.1.tgz";
-      sha1 = "34661f46886327fed2991479152252df92daa541";
-    };
-    deps = {
-      "exit-hook-1.1.1" = self.by-version."exit-hook"."1.1.1";
-      "onetime-1.1.0" = self.by-version."onetime"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."resumer"."~0.0.0" =
-    self.by-version."resumer"."0.0.0";
-  by-version."resumer"."0.0.0" = self.buildNodePackage {
-    name = "resumer-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/resumer/-/resumer-0.0.0.tgz";
-      name = "resumer-0.0.0.tgz";
-      sha1 = "f1e8f461e4064ba39e82af3cdc2a8c893d076759";
-    };
-    deps = {
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ret"."~0.1.6" =
-    self.by-version."ret"."0.1.11";
-  by-version."ret"."0.1.11" = self.buildNodePackage {
-    name = "ret-0.1.11";
-    version = "0.1.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ret/-/ret-0.1.11.tgz";
-      name = "ret-0.1.11.tgz";
-      sha1 = "281bbd5bd0e2a935181a503ec5ca60e3faa9c4a9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rethinkdb"."*" =
-    self.by-version."rethinkdb"."2.3.2";
-  by-version."rethinkdb"."2.3.2" = self.buildNodePackage {
-    name = "rethinkdb-2.3.2";
-    version = "2.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rethinkdb/-/rethinkdb-2.3.2.tgz";
-      name = "rethinkdb-2.3.2.tgz";
-      sha1 = "7486a35df430c193199928860d9f898d80d48892";
-    };
-    deps = {
-      "bluebird-2.10.2" = self.by-version."bluebird"."2.10.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "rethinkdb" = self.by-version."rethinkdb"."2.3.2";
-  by-spec."retry"."0.6.0" =
-    self.by-version."retry"."0.6.0";
-  by-version."retry"."0.6.0" = self.buildNodePackage {
-    name = "retry-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/retry/-/retry-0.6.0.tgz";
-      name = "retry-0.6.0.tgz";
-      sha1 = "1c010713279a6fd1e8def28af0c3ff1871caa537";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."retry"."^0.8.0" =
-    self.by-version."retry"."0.8.0";
-  by-version."retry"."0.8.0" = self.buildNodePackage {
-    name = "retry-0.8.0";
-    version = "0.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/retry/-/retry-0.8.0.tgz";
-      name = "retry-0.8.0.tgz";
-      sha1 = "2367628dc0edb247b1eab649dc53ac8628ac2d5f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."retry"."~0.6.0" =
-    self.by-version."retry"."0.6.1";
-  by-version."retry"."0.6.1" = self.buildNodePackage {
-    name = "retry-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/retry/-/retry-0.6.1.tgz";
-      name = "retry-0.6.1.tgz";
-      sha1 = "fdc90eed943fde11b893554b8cc63d0e899ba918";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."retry"."~0.9.0" =
-    self.by-version."retry"."0.9.0";
-  by-version."retry"."0.9.0" = self.buildNodePackage {
-    name = "retry-0.9.0";
-    version = "0.9.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/retry/-/retry-0.9.0.tgz";
-      name = "retry-0.9.0.tgz";
-      sha1 = "6f697e50a0e4ddc8c8f7fb547a9b60dead43678d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."revalidator"."0.1.x" =
-    self.by-version."revalidator"."0.1.8";
-  by-version."revalidator"."0.1.8" = self.buildNodePackage {
-    name = "revalidator-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/revalidator/-/revalidator-0.1.8.tgz";
-      name = "revalidator-0.1.8.tgz";
-      sha1 = "fece61bfa0c1b52a206bd6b18198184bdd523a3b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."reverse-http"."^1.2.0" =
-    self.by-version."reverse-http"."1.2.0";
-  by-version."reverse-http"."1.2.0" = self.buildNodePackage {
-    name = "reverse-http-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/reverse-http/-/reverse-http-1.2.0.tgz";
-      name = "reverse-http-1.2.0.tgz";
-      sha1 = "d5bd826506425a3b3eacadf1e0e2c1ac3e289728";
-    };
-    deps = {
-      "consume-http-header-1.0.0" = self.by-version."consume-http-header"."1.0.0";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."right-align"."^0.1.1" =
-    self.by-version."right-align"."0.1.3";
-  by-version."right-align"."0.1.3" = self.buildNodePackage {
-    name = "right-align-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz";
-      name = "right-align-0.1.3.tgz";
-      sha1 = "61339b722fe6a3515689210d24e14c96148613ef";
-    };
-    deps = {
-      "align-text-0.1.4" = self.by-version."align-text"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rimraf"."1.x.x" =
-    self.by-version."rimraf"."1.0.9";
-  by-version."rimraf"."1.0.9" = self.buildNodePackage {
-    name = "rimraf-1.0.9";
-    version = "1.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rimraf/-/rimraf-1.0.9.tgz";
-      name = "rimraf-1.0.9.tgz";
-      sha1 = "be4801ff76c2ba6f1c50c78e9700eb1d21f239f1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rimraf"."2" =
-    self.by-version."rimraf"."2.5.2";
-  by-version."rimraf"."2.5.2" = self.buildNodePackage {
-    name = "rimraf-2.5.2";
-    version = "2.5.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rimraf/-/rimraf-2.5.2.tgz";
-      name = "rimraf-2.5.2.tgz";
-      sha1 = "62ba947fa4c0b4363839aefecd4f0fbad6059726";
-    };
-    deps = {
-      "glob-7.0.3" = self.by-version."glob"."7.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rimraf"."2.4.3" =
-    self.by-version."rimraf"."2.4.3";
-  by-version."rimraf"."2.4.3" = self.buildNodePackage {
-    name = "rimraf-2.4.3";
-    version = "2.4.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rimraf/-/rimraf-2.4.3.tgz";
-      name = "rimraf-2.4.3.tgz";
-      sha1 = "e5b51c9437a4c582adb955e9f28cf8d945e272af";
-    };
-    deps = {
-      "glob-5.0.15" = self.by-version."glob"."5.0.15";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rimraf"."2.x.x" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf".">=2.2.6" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."^2.2.5" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."^2.2.8" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."^2.3.3" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."^2.4.2" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."^2.4.3" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."^2.5.2" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."~2" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."~2.1.4" =
-    self.by-version."rimraf"."2.1.4";
-  by-version."rimraf"."2.1.4" = self.buildNodePackage {
-    name = "rimraf-2.1.4";
-    version = "2.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rimraf/-/rimraf-2.1.4.tgz";
-      name = "rimraf-2.1.4.tgz";
-      sha1 = "5a6eb62eeda068f51ede50f29b3e5cd22f3d9bb2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "graceful-fs-1.2.3" = self.by-version."graceful-fs"."1.2.3";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rimraf"."~2.2.0" =
-    self.by-version."rimraf"."2.2.8";
-  by-version."rimraf"."2.2.8" = self.buildNodePackage {
-    name = "rimraf-2.2.8";
-    version = "2.2.8";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rimraf/-/rimraf-2.2.8.tgz";
-      name = "rimraf-2.2.8.tgz";
-      sha1 = "e439be2aaee327321952730f99a8929e4fc50582";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rimraf"."~2.2.2" =
-    self.by-version."rimraf"."2.2.8";
-  by-spec."rimraf"."~2.2.6" =
-    self.by-version."rimraf"."2.2.8";
-  by-spec."rimraf"."~2.2.8" =
-    self.by-version."rimraf"."2.2.8";
-  by-spec."rimraf"."~2.4.0" =
-    self.by-version."rimraf"."2.4.5";
-  by-version."rimraf"."2.4.5" = self.buildNodePackage {
-    name = "rimraf-2.4.5";
-    version = "2.4.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rimraf/-/rimraf-2.4.5.tgz";
-      name = "rimraf-2.4.5.tgz";
-      sha1 = "ee710ce5d93a8fdb856fb5ea8ff0e2d75934b2da";
-    };
-    deps = {
-      "glob-6.0.4" = self.by-version."glob"."6.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rimraf"."~2.5.0" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."~2.5.1" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."rimraf"."~2.5.2" =
-    self.by-version."rimraf"."2.5.2";
-  by-spec."ripemd160"."^1.0.0" =
-    self.by-version."ripemd160"."1.0.1";
-  by-version."ripemd160"."1.0.1" = self.buildNodePackage {
-    name = "ripemd160-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ripemd160/-/ripemd160-1.0.1.tgz";
-      name = "ripemd160-1.0.1.tgz";
-      sha1 = "93a4bbd4942bc574b69a8fa57c71de10ecca7d6e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rndm"."1.2.0" =
-    self.by-version."rndm"."1.2.0";
-  by-version."rndm"."1.2.0" = self.buildNodePackage {
-    name = "rndm-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rndm/-/rndm-1.2.0.tgz";
-      name = "rndm-1.2.0.tgz";
-      sha1 = "f33fe9cfb52bbfd520aa18323bc65db110a1b76c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rollup"."*" =
-    self.by-version."rollup"."0.31.2";
-  by-version."rollup"."0.31.2" = self.buildNodePackage {
-    name = "rollup-0.31.2";
-    version = "0.31.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-0.31.2.tgz";
-      name = "rollup-0.31.2.tgz";
-      sha1 = "b479fe0a5faf7c310b8cc963da4dd0eb0a6174d0";
-    };
-    deps = {
-      "source-map-support-0.4.0" = self.by-version."source-map-support"."0.4.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "rollup" = self.by-version."rollup"."0.31.2";
-  by-spec."root"."^2.0.0" =
-    self.by-version."root"."2.0.0";
-  by-version."root"."2.0.0" = self.buildNodePackage {
-    name = "root-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/root/-/root-2.0.0.tgz";
-      name = "root-2.0.0.tgz";
-      sha1 = "5cde3bc4ee9eb314c9dc64f97d9b9787df22e2f7";
-    };
-    deps = {
-      "murl-0.4.1" = self.by-version."murl"."0.4.1";
-      "protein-0.5.0" = self.by-version."protein"."0.5.0";
-      "network-address-0.0.5" = self.by-version."network-address"."0.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."router"."^0.6.2" =
-    self.by-version."router"."0.6.2";
-  by-version."router"."0.6.2" = self.buildNodePackage {
-    name = "router-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/router/-/router-0.6.2.tgz";
-      name = "router-0.6.2.tgz";
-      sha1 = "6f04063a2d04eba3303a1bbc6765eef63037cf3d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."router"."~1.1.2" =
-    self.by-version."router"."1.1.4";
-  by-version."router"."1.1.4" = self.buildNodePackage {
-    name = "router-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/router/-/router-1.1.4.tgz";
-      name = "router-1.1.4.tgz";
-      sha1 = "5d449dde9d6e0ad5c3f53369064baf7798834a97";
-    };
-    deps = {
-      "array-flatten-2.0.0" = self.by-version."array-flatten"."2.0.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "methods-1.1.2" = self.by-version."methods"."1.1.2";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "path-to-regexp-0.1.7" = self.by-version."path-to-regexp"."0.1.7";
-      "setprototypeof-1.0.0" = self.by-version."setprototypeof"."1.0.0";
-      "utils-merge-1.0.0" = self.by-version."utils-merge"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rrecur".">=2.0.0" =
-    self.by-version."rrecur"."2.0.0";
-  by-version."rrecur"."2.0.0" = self.buildNodePackage {
-    name = "rrecur-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rrecur/-/rrecur-2.0.0.tgz";
-      name = "rrecur-2.0.0.tgz";
-      sha1 = "d4bcce601cb0e15be6ee8489a54474a6af97811c";
-    };
-    deps = {
-      "rrule-2.0.1" = self.by-version."rrule"."2.0.1";
-      "moment-2.5.1" = self.by-version."moment"."2.5.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rrule"."~2.0.0" =
-    self.by-version."rrule"."2.0.1";
-  by-version."rrule"."2.0.1" = self.buildNodePackage {
-    name = "rrule-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rrule/-/rrule-2.0.1.tgz";
-      name = "rrule-2.0.1.tgz";
-      sha1 = "360fc68e4391896c4c329f85073d2f5e1f41310b";
-    };
-    deps = {
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rss".">=0.2.1" =
-    self.by-version."rss"."1.2.1";
-  by-version."rss"."1.2.1" = self.buildNodePackage {
-    name = "rss-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rss/-/rss-1.2.1.tgz";
-      name = "rss-1.2.1.tgz";
-      sha1 = "a52671ea35a73ef969b66026b8a2f0653261bc46";
-    };
-    deps = {
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "xml-1.0.1" = self.by-version."xml"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."run-async"."^0.1.0" =
-    self.by-version."run-async"."0.1.0";
-  by-version."run-async"."0.1.0" = self.buildNodePackage {
-    name = "run-async-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/run-async/-/run-async-0.1.0.tgz";
-      name = "run-async-0.1.0.tgz";
-      sha1 = "c8ad4a5e110661e402a7d21b530e009f25f8e389";
-    };
-    deps = {
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."run-async"."^2.2.0" =
-    self.by-version."run-async"."2.2.0";
-  by-version."run-async"."2.2.0" = self.buildNodePackage {
-    name = "run-async-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/run-async/-/run-async-2.2.0.tgz";
-      name = "run-async-2.2.0.tgz";
-      sha1 = "8783abd83c7bb86f41ee0602fc82404b3bd6e8b9";
-    };
-    deps = {
-      "is-promise-2.1.0" = self.by-version."is-promise"."2.1.0";
-      "pinkie-promise-2.0.1" = self.by-version."pinkie-promise"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."run-parallel"."^1.0.0" =
-    self.by-version."run-parallel"."1.1.6";
-  by-version."run-parallel"."1.1.6" = self.buildNodePackage {
-    name = "run-parallel-1.1.6";
-    version = "1.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.6.tgz";
-      name = "run-parallel-1.1.6.tgz";
-      sha1 = "29003c9a2163e01e2d2dfc90575f2c6c1d61a039";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."run-parallel"."^1.1.2" =
-    self.by-version."run-parallel"."1.1.6";
-  by-spec."run-series"."^1.0.2" =
-    self.by-version."run-series"."1.1.4";
-  by-version."run-series"."1.1.4" = self.buildNodePackage {
-    name = "run-series-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/run-series/-/run-series-1.1.4.tgz";
-      name = "run-series-1.1.4.tgz";
-      sha1 = "89a73ddc5e75c9ef8ab6320c0a1600d6a41179b9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rusha"."^0.8.1" =
-    self.by-version."rusha"."0.8.3";
-  by-version."rusha"."0.8.3" = self.buildNodePackage {
-    name = "rusha-0.8.3";
-    version = "0.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rusha/-/rusha-0.8.3.tgz";
-      name = "rusha-0.8.3.tgz";
-      sha1 = "63cafec9e626ae09565ab0c4ab2cbc1f2f69b71f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rx"."^2.4.3" =
-    self.by-version."rx"."2.5.3";
-  by-version."rx"."2.5.3" = self.buildNodePackage {
-    name = "rx-2.5.3";
-    version = "2.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rx/-/rx-2.5.3.tgz";
-      name = "rx-2.5.3.tgz";
-      sha1 = "21adc7d80f02002af50dae97fd9dbf248755f566";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rx"."^4.1.0" =
-    self.by-version."rx"."4.1.0";
-  by-version."rx"."4.1.0" = self.buildNodePackage {
-    name = "rx-4.1.0";
-    version = "4.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rx/-/rx-4.1.0.tgz";
-      name = "rx-4.1.0.tgz";
-      sha1 = "a5f13ff79ef3b740fe30aa803fb09f98805d4782";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."rx-lite"."^3.1.2" =
-    self.by-version."rx-lite"."3.1.2";
-  by-version."rx-lite"."3.1.2" = self.buildNodePackage {
-    name = "rx-lite-3.1.2";
-    version = "3.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/rx-lite/-/rx-lite-3.1.2.tgz";
-      name = "rx-lite-3.1.2.tgz";
-      sha1 = "19ce502ca572665f3b647b10939f97fd1615f102";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."s3-upload-stream"."~1.0.7" =
-    self.by-version."s3-upload-stream"."1.0.7";
-  by-version."s3-upload-stream"."1.0.7" = self.buildNodePackage {
-    name = "s3-upload-stream-1.0.7";
-    version = "1.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/s3-upload-stream/-/s3-upload-stream-1.0.7.tgz";
-      name = "s3-upload-stream-1.0.7.tgz";
-      sha1 = "e3f80253141c569f105a62aa50ca9b45760e481d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [
-      self.by-version."aws-sdk"."2.3.19"];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."s3http"."*" =
-    self.by-version."s3http"."0.0.5";
-  by-version."s3http"."0.0.5" = self.buildNodePackage {
-    name = "s3http-0.0.5";
-    version = "0.0.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/s3http/-/s3http-0.0.5.tgz";
-      name = "s3http-0.0.5.tgz";
-      sha1 = "c8fa1fffb8258ce68adf75df73f90fbb6f23d198";
-    };
-    deps = {
-      "aws-sdk-1.18.0" = self.by-version."aws-sdk"."1.18.0";
-      "commander-2.0.0" = self.by-version."commander"."2.0.0";
-      "http-auth-2.0.7" = self.by-version."http-auth"."2.0.7";
-      "express-3.4.4" = self.by-version."express"."3.4.4";
-      "everyauth-0.4.5" = self.by-version."everyauth"."0.4.5";
-      "string-1.6.1" = self.by-version."string"."1.6.1";
-      "util-0.4.9" = self.by-version."util"."0.4.9";
-      "crypto-0.0.3" = self.by-version."crypto"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "s3http" = self.by-version."s3http"."0.0.5";
-  by-spec."safe-json-stringify"."~1" =
-    self.by-version."safe-json-stringify"."1.0.3";
-  by-version."safe-json-stringify"."1.0.3" = self.buildNodePackage {
-    name = "safe-json-stringify-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/safe-json-stringify/-/safe-json-stringify-1.0.3.tgz";
-      name = "safe-json-stringify-1.0.3.tgz";
-      sha1 = "3cb6717660a086d07cb5bd9b7a6875bcf67bd05e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."safe-regex"."0.0.1" =
-    self.by-version."safe-regex"."0.0.1";
-  by-version."safe-regex"."0.0.1" = self.buildNodePackage {
-    name = "safe-regex-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/safe-regex/-/safe-regex-0.0.1.tgz";
-      name = "safe-regex-0.0.1.tgz";
-      sha1 = "350ae32b49b7dc75d1cac3a18cb8b375a94ef15c";
-    };
-    deps = {
-      "ret-0.1.11" = self.by-version."ret"."0.1.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."samsam"."1.1.2" =
-    self.by-version."samsam"."1.1.2";
-  by-version."samsam"."1.1.2" = self.buildNodePackage {
-    name = "samsam-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/samsam/-/samsam-1.1.2.tgz";
-      name = "samsam-1.1.2.tgz";
-      sha1 = "bec11fdc83a9fda063401210e40176c3024d1567";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."samsam"."~1.1" =
-    self.by-version."samsam"."1.1.3";
-  by-version."samsam"."1.1.3" = self.buildNodePackage {
-    name = "samsam-1.1.3";
-    version = "1.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/samsam/-/samsam-1.1.3.tgz";
-      name = "samsam-1.1.3.tgz";
-      sha1 = "9f5087419b4d091f232571e7fa52e90b0f552621";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sanitize-html"."1.x >=1.4" =
-    self.by-version."sanitize-html"."1.11.4";
-  by-version."sanitize-html"."1.11.4" = self.buildNodePackage {
-    name = "sanitize-html-1.11.4";
-    version = "1.11.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-1.11.4.tgz";
-      name = "sanitize-html-1.11.4.tgz";
-      sha1 = "286698b6debeb3f9c5206ecd14135d32a9f9c5b9";
-    };
-    deps = {
-      "htmlparser2-3.9.0" = self.by-version."htmlparser2"."3.9.0";
-      "regexp-quote-0.0.0" = self.by-version."regexp-quote"."0.0.0";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sauce-connect-launcher"."^0.13.0" =
-    self.by-version."sauce-connect-launcher"."0.13.0";
-  by-version."sauce-connect-launcher"."0.13.0" = self.buildNodePackage {
-    name = "sauce-connect-launcher-0.13.0";
-    version = "0.13.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sauce-connect-launcher/-/sauce-connect-launcher-0.13.0.tgz";
-      name = "sauce-connect-launcher-0.13.0.tgz";
-      sha1 = "25d7df9da16a5ed1caa13df424cb57cb0b6d5a22";
-    };
-    deps = {
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-      "async-1.4.0" = self.by-version."async"."1.4.0";
-      "adm-zip-0.4.7" = self.by-version."adm-zip"."0.4.7";
-      "rimraf-2.4.3" = self.by-version."rimraf"."2.4.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."saucelabs"."^1.0.1" =
-    self.by-version."saucelabs"."1.2.0";
-  by-version."saucelabs"."1.2.0" = self.buildNodePackage {
-    name = "saucelabs-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/saucelabs/-/saucelabs-1.2.0.tgz";
-      name = "saucelabs-1.2.0.tgz";
-      sha1 = "5e80476b36da1b42d10f39707e9af2a53b03d88a";
-    };
-    deps = {
-      "https-proxy-agent-1.0.0" = self.by-version."https-proxy-agent"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sax"."0.3.5" =
-    self.by-version."sax"."0.3.5";
-  by-version."sax"."0.3.5" = self.buildNodePackage {
-    name = "sax-0.3.5";
-    version = "0.3.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sax/-/sax-0.3.5.tgz";
-      name = "sax-0.3.5.tgz";
-      sha1 = "88fcfc1f73c0c8bbd5b7c776b6d3f3501eed073d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sax"."0.4.2" =
-    self.by-version."sax"."0.4.2";
-  by-version."sax"."0.4.2" = self.buildNodePackage {
-    name = "sax-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sax/-/sax-0.4.2.tgz";
-      name = "sax-0.4.2.tgz";
-      sha1 = "39f3b601733d6bec97105b242a2a40fd6978ac3c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sax"."0.5.x" =
-    self.by-version."sax"."0.5.8";
-  by-version."sax"."0.5.8" = self.buildNodePackage {
-    name = "sax-0.5.8";
-    version = "0.5.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sax/-/sax-0.5.8.tgz";
-      name = "sax-0.5.8.tgz";
-      sha1 = "d472db228eb331c2506b0e8c15524adb939d12c1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sax"."0.6.x" =
-    self.by-version."sax"."0.6.1";
-  by-version."sax"."0.6.1" = self.buildNodePackage {
-    name = "sax-0.6.1";
-    version = "0.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sax/-/sax-0.6.1.tgz";
-      name = "sax-0.6.1.tgz";
-      sha1 = "563b19c7c1de892e09bfc4f2fc30e3c27f0952b9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sax"."1.1.5" =
-    self.by-version."sax"."1.1.5";
-  by-version."sax"."1.1.5" = self.buildNodePackage {
-    name = "sax-1.1.5";
-    version = "1.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sax/-/sax-1.1.5.tgz";
-      name = "sax-1.1.5.tgz";
-      sha1 = "1da50a8d00cdecd59405659f5ff85349fe773743";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sax".">=0.1.1" =
-    self.by-version."sax"."1.2.1";
-  by-version."sax"."1.2.1" = self.buildNodePackage {
-    name = "sax-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sax/-/sax-1.2.1.tgz";
-      name = "sax-1.2.1.tgz";
-      sha1 = "7b8e656190b228e81a66aea748480d828cd2d37a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sax".">=0.4.2" =
-    self.by-version."sax"."1.2.1";
-  by-spec."sax".">=0.6.0" =
-    self.by-version."sax"."1.2.1";
-  by-spec."sax"."~0.6.0" =
-    self.by-version."sax"."0.6.1";
-  by-spec."sax"."~1.2.1" =
-    self.by-version."sax"."1.2.1";
-  by-spec."scmp"."0.0.3" =
-    self.by-version."scmp"."0.0.3";
-  by-version."scmp"."0.0.3" = self.buildNodePackage {
-    name = "scmp-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/scmp/-/scmp-0.0.3.tgz";
-      name = "scmp-0.0.3.tgz";
-      sha1 = "3648df2d7294641e7f78673ffc29681d9bad9073";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."scmp"."~0.0.3" =
-    self.by-version."scmp"."0.0.3";
-  by-spec."scmp"."~1.0.0" =
-    self.by-version."scmp"."1.0.0";
-  by-version."scmp"."1.0.0" = self.buildNodePackage {
-    name = "scmp-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/scmp/-/scmp-1.0.0.tgz";
-      name = "scmp-1.0.0.tgz";
-      sha1 = "a0b272c3fc7292f77115646f00618b0262514e04";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."secure-keys"."^1.0.0" =
-    self.by-version."secure-keys"."1.0.0";
-  by-version."secure-keys"."1.0.0" = self.buildNodePackage {
-    name = "secure-keys-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/secure-keys/-/secure-keys-1.0.0.tgz";
-      name = "secure-keys-1.0.0.tgz";
-      sha1 = "f0c82d98a3b139a8776a8808050b824431087fca";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."selenium-webdriver"."*" =
-    self.by-version."selenium-webdriver"."2.53.2";
-  by-version."selenium-webdriver"."2.53.2" = self.buildNodePackage {
-    name = "selenium-webdriver-2.53.2";
-    version = "2.53.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-2.53.2.tgz";
-      name = "selenium-webdriver-2.53.2.tgz";
-      sha1 = "7d45f0b44c4d90d9c94b136e2dcaa0a70d54d67b";
-    };
-    deps = {
-      "adm-zip-0.4.4" = self.by-version."adm-zip"."0.4.4";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "tmp-0.0.24" = self.by-version."tmp"."0.0.24";
-      "ws-1.1.0" = self.by-version."ws"."1.1.0";
-      "xml2js-0.4.4" = self.by-version."xml2js"."0.4.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "selenium-webdriver" = self.by-version."selenium-webdriver"."2.53.2";
-  by-spec."semver"."*" =
-    self.by-version."semver"."5.1.0";
-  by-version."semver"."5.1.0" = self.buildNodePackage {
-    name = "semver-5.1.0";
-    version = "5.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-5.1.0.tgz";
-      name = "semver-5.1.0.tgz";
-      sha1 = "85f2cf8550465c4df000cf7d86f6b054106ab9e5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "semver" = self.by-version."semver"."5.1.0";
-  by-spec."semver"."1.1.0" =
-    self.by-version."semver"."1.1.0";
-  by-version."semver"."1.1.0" = self.buildNodePackage {
-    name = "semver-1.1.0";
-    version = "1.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-1.1.0.tgz";
-      name = "semver-1.1.0.tgz";
-      sha1 = "da9b9c837e31550a7c928622bc2381de7dd7a53e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver"."2" =
-    self.by-version."semver"."2.3.2";
-  by-version."semver"."2.3.2" = self.buildNodePackage {
-    name = "semver-2.3.2";
-    version = "2.3.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-2.3.2.tgz";
-      name = "semver-2.3.2.tgz";
-      sha1 = "b9848f25d6cf36333073ec9ef8856d42f1233e52";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver"."2 >=2.2.1 || 3.x || 4 || 5" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."2 || 3 || 4" =
-    self.by-version."semver"."4.3.6";
-  by-version."semver"."4.3.6" = self.buildNodePackage {
-    name = "semver-4.3.6";
-    version = "4.3.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-4.3.6.tgz";
-      name = "semver-4.3.6.tgz";
-      sha1 = "300bc6e0e86374f7ba61068b5b1ecd57fc6532da";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver"."2 || 3 || 4 || 5" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."2.x || 3.x || 4 || 5" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."4 || 5" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."5.0.1" =
-    self.by-version."semver"."5.0.1";
-  by-version."semver"."5.0.1" = self.buildNodePackage {
-    name = "semver-5.0.1";
-    version = "5.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-5.0.1.tgz";
-      name = "semver-5.0.1.tgz";
-      sha1 = "9fb3f4004f900d83c47968fe42f7583e05832cc9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver"."5.0.3" =
-    self.by-version."semver"."5.0.3";
-  by-version."semver"."5.0.3" = self.buildNodePackage {
-    name = "semver-5.0.3";
-    version = "5.0.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-5.0.3.tgz";
-      name = "semver-5.0.3.tgz";
-      sha1 = "77466de589cd5d3c95f138aa78bc569a3cb5d27a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver"."5.1.0" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver".">=2.2.1 <5.0.0-0" =
-    self.by-version."semver"."4.3.6";
-  by-spec."semver".">=5.1.0 <6" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."^2.3.0 || 3.x || 4 || 5" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."^4.1.0" =
-    self.by-version."semver"."4.3.6";
-  by-spec."semver"."^4.3.3" =
-    self.by-version."semver"."4.3.6";
-  by-spec."semver"."^4.3.4" =
-    self.by-version."semver"."4.3.6";
-  by-spec."semver"."^4.3.x" =
-    self.by-version."semver"."4.3.6";
-  by-spec."semver"."^5.0.1" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."^5.0.3" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."^5.1.0" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver"."~1.1.0" =
-    self.by-version."semver"."1.1.4";
-  by-version."semver"."1.1.4" = self.buildNodePackage {
-    name = "semver-1.1.4";
-    version = "1.1.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-1.1.4.tgz";
-      name = "semver-1.1.4.tgz";
-      sha1 = "2e5a4e72bab03472cc97f72753b4508912ef5540";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver"."~2.0.5" =
-    self.by-version."semver"."2.0.11";
-  by-version."semver"."2.0.11" = self.buildNodePackage {
-    name = "semver-2.0.11";
-    version = "2.0.11";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver/-/semver-2.0.11.tgz";
-      name = "semver-2.0.11.tgz";
-      sha1 = "f51f07d03fa5af79beb537fc067a7e141786cced";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver"."~2.3.1" =
-    self.by-version."semver"."2.3.2";
-  by-spec."semver"."~4.3.0" =
-    self.by-version."semver"."4.3.6";
-  by-spec."semver"."~4.3.3" =
-    self.by-version."semver"."4.3.6";
-  by-spec."semver"."~5.0.1" =
-    self.by-version."semver"."5.0.3";
-  by-spec."semver"."~5.1.0" =
-    self.by-version."semver"."5.1.0";
-  by-spec."semver-diff"."^2.0.0" =
-    self.by-version."semver-diff"."2.1.0";
-  by-version."semver-diff"."2.1.0" = self.buildNodePackage {
-    name = "semver-diff-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver-diff/-/semver-diff-2.1.0.tgz";
-      name = "semver-diff-2.1.0.tgz";
-      sha1 = "4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36";
-    };
-    deps = {
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."semver-utils"."^1.1.1" =
-    self.by-version."semver-utils"."1.1.1";
-  by-version."semver-utils"."1.1.1" = self.buildNodePackage {
-    name = "semver-utils-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/semver-utils/-/semver-utils-1.1.1.tgz";
-      name = "semver-utils-1.1.1.tgz";
-      sha1 = "27d92fec34d27cfa42707d3b40d025ae9855f2df";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."*" =
-    self.by-version."send"."0.14.1";
-  by-version."send"."0.14.1" = self.buildNodePackage {
-    name = "send-0.14.1";
-    version = "0.14.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.14.1.tgz";
-      name = "send-0.14.1.tgz";
-      sha1 = "a954984325392f51532a7760760e459598c89f7a";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "destroy-1.0.4" = self.by-version."destroy"."1.0.4";
-      "encodeurl-1.0.1" = self.by-version."encodeurl"."1.0.1";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "http-errors-1.5.0" = self.by-version."http-errors"."1.5.0";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "range-parser-1.2.0" = self.by-version."range-parser"."1.2.0";
-      "statuses-1.3.0" = self.by-version."statuses"."1.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.0.3" =
-    self.by-version."send"."0.0.3";
-  by-version."send"."0.0.3" = self.buildNodePackage {
-    name = "send-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.0.3.tgz";
-      name = "send-0.0.3.tgz";
-      sha1 = "4d5f843edf9d65dac31c8a5d2672c179ecb67184";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "mime-1.2.6" = self.by-version."mime"."1.2.6";
-      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
-      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.1.0" =
-    self.by-version."send"."0.1.0";
-  by-version."send"."0.1.0" = self.buildNodePackage {
-    name = "send-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.1.0.tgz";
-      name = "send-0.1.0.tgz";
-      sha1 = "cfb08ebd3cec9b7fc1a37d9ff9e875a971cf4640";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "mime-1.2.6" = self.by-version."mime"."1.2.6";
-      "fresh-0.1.0" = self.by-version."fresh"."0.1.0";
-      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.1.4" =
-    self.by-version."send"."0.1.4";
-  by-version."send"."0.1.4" = self.buildNodePackage {
-    name = "send-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.1.4.tgz";
-      name = "send-0.1.4.tgz";
-      sha1 = "be70d8d1be01de61821af13780b50345a4f71abd";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "fresh-0.2.0" = self.by-version."fresh"."0.2.0";
-      "range-parser-0.0.4" = self.by-version."range-parser"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.13.0" =
-    self.by-version."send"."0.13.0";
-  by-version."send"."0.13.0" = self.buildNodePackage {
-    name = "send-0.13.0";
-    version = "0.13.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.13.0.tgz";
-      name = "send-0.13.0.tgz";
-      sha1 = "518f921aeb0560aec7dcab2990b14cf6f3cce5de";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.0.1" = self.by-version."depd"."1.0.1";
-      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
-      "escape-html-1.0.2" = self.by-version."escape-html"."1.0.2";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
-      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.13.1" =
-    self.by-version."send"."0.13.1";
-  by-version."send"."0.13.1" = self.buildNodePackage {
-    name = "send-0.13.1";
-    version = "0.13.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.13.1.tgz";
-      name = "send-0.13.1.tgz";
-      sha1 = "a30d5f4c82c8a9bae9ad00a1d9b1bdbe6f199ed7";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "destroy-1.0.4" = self.by-version."destroy"."1.0.4";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
-      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.13.2" =
-    self.by-version."send"."0.13.2";
-  by-version."send"."0.13.2" = self.buildNodePackage {
-    name = "send-0.13.2";
-    version = "0.13.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.13.2.tgz";
-      name = "send-0.13.2.tgz";
-      sha1 = "765e7607c8055452bba6f0b052595350986036de";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "depd-1.1.0" = self.by-version."depd"."1.1.0";
-      "destroy-1.0.4" = self.by-version."destroy"."1.0.4";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "on-finished-2.3.0" = self.by-version."on-finished"."2.3.0";
-      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
-      "statuses-1.2.1" = self.by-version."statuses"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.3.0" =
-    self.by-version."send"."0.3.0";
-  by-version."send"."0.3.0" = self.buildNodePackage {
-    name = "send-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.3.0.tgz";
-      name = "send-0.3.0.tgz";
-      sha1 = "9718324634806fc75bc4f8f5e51f57d9d66606e7";
-    };
-    deps = {
-      "buffer-crc32-0.2.1" = self.by-version."buffer-crc32"."0.2.1";
-      "debug-0.8.0" = self.by-version."debug"."0.8.0";
-      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."0.6.0" =
-    self.by-version."send"."0.6.0";
-  by-version."send"."0.6.0" = self.buildNodePackage {
-    name = "send-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.6.0.tgz";
-      name = "send-0.6.0.tgz";
-      sha1 = "a59da9265db7c35141e1079cf1f368ee0d59b3ab";
-    };
-    deps = {
-      "debug-1.0.3" = self.by-version."debug"."1.0.3";
-      "depd-0.3.0" = self.by-version."depd"."0.3.0";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "finished-1.2.2" = self.by-version."finished"."1.2.2";
-      "fresh-0.2.2" = self.by-version."fresh"."0.2.2";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
-      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."send"."^0.9.2" =
-    self.by-version."send"."0.9.3";
-  by-version."send"."0.9.3" = self.buildNodePackage {
-    name = "send-0.9.3";
-    version = "0.9.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/send/-/send-0.9.3.tgz";
-      name = "send-0.9.3.tgz";
-      sha1 = "b43a7414cd089b7fbec9b755246f7c37b7b85cc0";
-    };
-    deps = {
-      "debug-2.0.0" = self.by-version."debug"."2.0.0";
-      "depd-0.4.5" = self.by-version."depd"."0.4.5";
-      "destroy-1.0.3" = self.by-version."destroy"."1.0.3";
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "etag-1.4.0" = self.by-version."etag"."1.4.0";
-      "fresh-0.2.4" = self.by-version."fresh"."0.2.4";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "ms-0.6.2" = self.by-version."ms"."0.6.2";
-      "on-finished-2.1.0" = self.by-version."on-finished"."2.1.0";
-      "range-parser-1.0.3" = self.by-version."range-parser"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sentiment"."1.0.6" =
-    self.by-version."sentiment"."1.0.6";
-  by-version."sentiment"."1.0.6" = self.buildNodePackage {
-    name = "sentiment-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sentiment/-/sentiment-1.0.6.tgz";
-      name = "sentiment-1.0.6.tgz";
-      sha1 = "f6096c6271f020f490d58b54a8afd598db8acbb1";
-    };
-    deps = {
-      "lodash.assign-4.0.1" = self.by-version."lodash.assign"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sequencify"."~0.0.7" =
-    self.by-version."sequencify"."0.0.7";
-  by-version."sequencify"."0.0.7" = self.buildNodePackage {
-    name = "sequencify-0.0.7";
-    version = "0.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sequencify/-/sequencify-0.0.7.tgz";
-      name = "sequencify-0.0.7.tgz";
-      sha1 = "90cff19d02e07027fd767f5ead3e7b95d1e7380c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."serialport"."2.0.*" =
-    self.by-version."serialport"."2.0.6";
-  by-version."serialport"."2.0.6" = self.buildNodePackage {
-    name = "serialport-2.0.6";
-    version = "2.0.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serialport/-/serialport-2.0.6.tgz";
-      name = "serialport-2.0.6.tgz";
-      sha1 = "c344e9449dcd3da0f2d0256c337d0ff384af1ea8";
-    };
-    deps = {
-      "async-0.9.0" = self.by-version."async"."0.9.0";
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "nan-2.0.9" = self.by-version."nan"."2.0.9";
-      "node-pre-gyp-0.6.28" = self.by-version."node-pre-gyp"."0.6.28";
-      "node-pre-gyp-github-1.3.1" = self.by-version."node-pre-gyp-github"."1.3.1";
-      "optimist-0.6.1" = self.by-version."optimist"."0.6.1";
-      "sf-0.1.7" = self.by-version."sf"."0.1.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."serve-favicon"."^2.1.1" =
-    self.by-version."serve-favicon"."2.3.0";
-  by-version."serve-favicon"."2.3.0" = self.buildNodePackage {
-    name = "serve-favicon-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.3.0.tgz";
-      name = "serve-favicon-2.3.0.tgz";
-      sha1 = "aed36cc6834069a6f189cc7222c6a1a811dc5b39";
-    };
-    deps = {
-      "etag-1.7.0" = self.by-version."etag"."1.7.0";
-      "fresh-0.3.0" = self.by-version."fresh"."0.3.0";
-      "ms-0.7.1" = self.by-version."ms"."0.7.1";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."serve-favicon"."~2.3.0" =
-    self.by-version."serve-favicon"."2.3.0";
-  by-spec."serve-index"."1.0.1" =
-    self.by-version."serve-index"."1.0.1";
-  by-version."serve-index"."1.0.1" = self.buildNodePackage {
-    name = "serve-index-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serve-index/-/serve-index-1.0.1.tgz";
-      name = "serve-index-1.0.1.tgz";
-      sha1 = "2782ee8ede6cccaae54957962c4715e8ce1921a6";
-    };
-    deps = {
-      "batch-0.5.0" = self.by-version."batch"."0.5.0";
-      "negotiator-0.4.2" = self.by-version."negotiator"."0.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."serve-index"."~1.7.2" =
-    self.by-version."serve-index"."1.7.3";
-  by-version."serve-index"."1.7.3" = self.buildNodePackage {
-    name = "serve-index-1.7.3";
-    version = "1.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serve-index/-/serve-index-1.7.3.tgz";
-      name = "serve-index-1.7.3.tgz";
-      sha1 = "7a057fc6ee28dc63f64566e5fa57b111a86aecd2";
-    };
-    deps = {
-      "accepts-1.2.13" = self.by-version."accepts"."1.2.13";
-      "batch-0.5.3" = self.by-version."batch"."0.5.3";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "http-errors-1.3.1" = self.by-version."http-errors"."1.3.1";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."serve-static"."1.1.0" =
-    self.by-version."serve-static"."1.1.0";
-  by-version."serve-static"."1.1.0" = self.buildNodePackage {
-    name = "serve-static-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serve-static/-/serve-static-1.1.0.tgz";
-      name = "serve-static-1.1.0.tgz";
-      sha1 = "454dfa05bb3ddd4e701a8915b83a278aa91c5643";
-    };
-    deps = {
-      "parseurl-1.0.1" = self.by-version."parseurl"."1.0.1";
-      "send-0.3.0" = self.by-version."send"."0.3.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."serve-static"."~1.10.0" =
-    self.by-version."serve-static"."1.10.3";
-  by-version."serve-static"."1.10.3" = self.buildNodePackage {
-    name = "serve-static-1.10.3";
-    version = "1.10.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serve-static/-/serve-static-1.10.3.tgz";
-      name = "serve-static-1.10.3.tgz";
-      sha1 = "ce5a6ecd3101fed5ec09827dac22a9c29bfb0535";
-    };
-    deps = {
-      "escape-html-1.0.3" = self.by-version."escape-html"."1.0.3";
-      "parseurl-1.3.1" = self.by-version."parseurl"."1.3.1";
-      "send-0.13.2" = self.by-version."send"."0.13.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."serve-static"."~1.10.2" =
-    self.by-version."serve-static"."1.10.3";
-  by-spec."serve-static"."~1.3.2" =
-    self.by-version."serve-static"."1.3.2";
-  by-version."serve-static"."1.3.2" = self.buildNodePackage {
-    name = "serve-static-1.3.2";
-    version = "1.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/serve-static/-/serve-static-1.3.2.tgz";
-      name = "serve-static-1.3.2.tgz";
-      sha1 = "d904a6cbf55f511c78138f6f45ee6e69d9d105ca";
-    };
-    deps = {
-      "escape-html-1.0.1" = self.by-version."escape-html"."1.0.1";
-      "parseurl-1.1.3" = self.by-version."parseurl"."1.1.3";
-      "send-0.6.0" = self.by-version."send"."0.6.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."server-destroy"."^1.0.1" =
-    self.by-version."server-destroy"."1.0.1";
-  by-version."server-destroy"."1.0.1" = self.buildNodePackage {
-    name = "server-destroy-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/server-destroy/-/server-destroy-1.0.1.tgz";
-      name = "server-destroy-1.0.1.tgz";
-      sha1 = "f13bf928e42b9c3e79383e61cc3998b5d14e6cdd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."set-blocking"."^1.0.0" =
-    self.by-version."set-blocking"."1.0.0";
-  by-version."set-blocking"."1.0.0" = self.buildNodePackage {
-    name = "set-blocking-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/set-blocking/-/set-blocking-1.0.0.tgz";
-      name = "set-blocking-1.0.0.tgz";
-      sha1 = "cd5e5d938048df1ac92dfe92e1f16add656f5ec5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."set-blocking"."~2.0.0" =
-    self.by-version."set-blocking"."2.0.0";
-  by-version."set-blocking"."2.0.0" = self.buildNodePackage {
-    name = "set-blocking-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz";
-      name = "set-blocking-2.0.0.tgz";
-      sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."setimmediate"."1.0.1" =
-    self.by-version."setimmediate"."1.0.1";
-  by-version."setimmediate"."1.0.1" = self.buildNodePackage {
-    name = "setimmediate-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.1.tgz";
-      name = "setimmediate-1.0.1.tgz";
-      sha1 = "a9ca56ccbd6a4c3334855f060abcdece5c42ebb7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."setprototypeof"."1.0.0" =
-    self.by-version."setprototypeof"."1.0.0";
-  by-version."setprototypeof"."1.0.0" = self.buildNodePackage {
-    name = "setprototypeof-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.0.tgz";
-      name = "setprototypeof-1.0.0.tgz";
-      sha1 = "d5fafca01e1174d0079bd1bf881f09c8a339794c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."setprototypeof"."1.0.1" =
-    self.by-version."setprototypeof"."1.0.1";
-  by-version."setprototypeof"."1.0.1" = self.buildNodePackage {
-    name = "setprototypeof-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.0.1.tgz";
-      name = "setprototypeof-1.0.1.tgz";
-      sha1 = "52009b27888c4dc48f591949c0a8275834c1ca7e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sf"."0.1.7" =
-    self.by-version."sf"."0.1.7";
-  by-version."sf"."0.1.7" = self.buildNodePackage {
-    name = "sf-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sf/-/sf-0.1.7.tgz";
-      name = "sf-0.1.7.tgz";
-      sha1 = "806ed032d7225c7fb6394b0bdbfe1ea936fe6d74";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sha"."~2.0.1" =
-    self.by-version."sha"."2.0.1";
-  by-version."sha"."2.0.1" = self.buildNodePackage {
-    name = "sha-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sha/-/sha-2.0.1.tgz";
-      name = "sha-2.0.1.tgz";
-      sha1 = "6030822fbd2c9823949f8f72ed6411ee5cf25aae";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sha.js"."^2.3.6" =
-    self.by-version."sha.js"."2.4.5";
-  by-version."sha.js"."2.4.5" = self.buildNodePackage {
-    name = "sha.js-2.4.5";
-    version = "2.4.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sha.js/-/sha.js-2.4.5.tgz";
-      name = "sha.js-2.4.5.tgz";
-      sha1 = "27d171efcc82a118b99639ff581660242b506e7c";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sha.js"."~2.4.4" =
-    self.by-version."sha.js"."2.4.5";
-  by-spec."shallow-copy"."0.0.1" =
-    self.by-version."shallow-copy"."0.0.1";
-  by-version."shallow-copy"."0.0.1" = self.buildNodePackage {
-    name = "shallow-copy-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/shallow-copy/-/shallow-copy-0.0.1.tgz";
-      name = "shallow-copy-0.0.1.tgz";
-      sha1 = "415f42702d73d810330292cc5ee86eae1a11a170";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."shasum"."^1.0.0" =
-    self.by-version."shasum"."1.0.2";
-  by-version."shasum"."1.0.2" = self.buildNodePackage {
-    name = "shasum-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/shasum/-/shasum-1.0.2.tgz";
-      name = "shasum-1.0.2.tgz";
-      sha1 = "e7012310d8f417f4deb5712150e5678b87ae565f";
-    };
-    deps = {
-      "json-stable-stringify-0.0.1" = self.by-version."json-stable-stringify"."0.0.1";
-      "sha.js-2.4.5" = self.by-version."sha.js"."2.4.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."shell-quote"."^1.4.3" =
-    self.by-version."shell-quote"."1.6.0";
-  by-version."shell-quote"."1.6.0" = self.buildNodePackage {
-    name = "shell-quote-1.6.0";
-    version = "1.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/shell-quote/-/shell-quote-1.6.0.tgz";
-      name = "shell-quote-1.6.0.tgz";
-      sha1 = "c8906761e1730d1ef771c82df5423d595c1bb31d";
-    };
-    deps = {
-      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
-      "array-filter-0.0.1" = self.by-version."array-filter"."0.0.1";
-      "array-reduce-0.0.0" = self.by-version."array-reduce"."0.0.0";
-      "array-map-0.0.0" = self.by-version."array-map"."0.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."shell-quote"."~0.0.1" =
-    self.by-version."shell-quote"."0.0.1";
-  by-version."shell-quote"."0.0.1" = self.buildNodePackage {
-    name = "shell-quote-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/shell-quote/-/shell-quote-0.0.1.tgz";
-      name = "shell-quote-0.0.1.tgz";
-      sha1 = "1a41196f3c0333c482323593d6886ecf153dd986";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."shelljs"."*" =
-    self.by-version."shelljs"."0.7.0";
-  by-version."shelljs"."0.7.0" = self.buildNodePackage {
-    name = "shelljs-0.7.0";
-    version = "0.7.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/shelljs/-/shelljs-0.7.0.tgz";
-      name = "shelljs-0.7.0.tgz";
-      sha1 = "3f6f2e4965cec565f65ff3861d644f879281a576";
-    };
-    deps = {
-      "glob-7.0.3" = self.by-version."glob"."7.0.3";
-      "interpret-1.0.1" = self.by-version."interpret"."1.0.1";
-      "rechoir-0.6.2" = self.by-version."rechoir"."0.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "shelljs" = self.by-version."shelljs"."0.7.0";
-  by-spec."shelljs"."0.3.0" =
-    self.by-version."shelljs"."0.3.0";
-  by-version."shelljs"."0.3.0" = self.buildNodePackage {
-    name = "shelljs-0.3.0";
-    version = "0.3.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
-      name = "shelljs-0.3.0.tgz";
-      sha1 = "3596e6307a781544f591f37da618360f31db57b1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."shelljs"."0.3.x" =
-    self.by-version."shelljs"."0.3.0";
-  by-spec."shelljs"."^0.5.3" =
-    self.by-version."shelljs"."0.5.3";
-  by-version."shelljs"."0.5.3" = self.buildNodePackage {
-    name = "shelljs-0.5.3";
-    version = "0.5.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz";
-      name = "shelljs-0.5.3.tgz";
-      sha1 = "c54982b996c76ef0c1e6b59fbdc5825f5b713113";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."shelljs"."^0.6.0" =
-    self.by-version."shelljs"."0.6.0";
-  by-version."shelljs"."0.6.0" = self.buildNodePackage {
-    name = "shelljs-0.6.0";
-    version = "0.6.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/shelljs/-/shelljs-0.6.0.tgz";
-      name = "shelljs-0.6.0.tgz";
-      sha1 = "ce1ed837b4b0e55b5ec3dab84251ab9dbdc0c7ec";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."shelljs"."^0.7.0" =
-    self.by-version."shelljs"."0.7.0";
-  by-spec."should"."*" =
-    self.by-version."should"."9.0.2";
-  by-version."should"."9.0.2" = self.buildNodePackage {
-    name = "should-9.0.2";
-    version = "9.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/should/-/should-9.0.2.tgz";
-      name = "should-9.0.2.tgz";
-      sha1 = "b550f691e71c66788e0e96e9f721d58be6920e5a";
-    };
-    deps = {
-      "should-equal-1.0.0" = self.by-version."should-equal"."1.0.0";
-      "should-format-1.0.0" = self.by-version."should-format"."1.0.0";
-      "should-type-1.0.2" = self.by-version."should-type"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "should" = self.by-version."should"."9.0.2";
-  by-spec."should-equal"."^1.0.0" =
-    self.by-version."should-equal"."1.0.0";
-  by-version."should-equal"."1.0.0" = self.buildNodePackage {
-    name = "should-equal-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/should-equal/-/should-equal-1.0.0.tgz";
-      name = "should-equal-1.0.0.tgz";
-      sha1 = "5268aa4fa27514f5f9032d6ef8ab70cef8fcadaf";
-    };
-    deps = {
-      "should-type-1.0.2" = self.by-version."should-type"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."should-format"."^1.0.0" =
-    self.by-version."should-format"."1.0.0";
-  by-version."should-format"."1.0.0" = self.buildNodePackage {
-    name = "should-format-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/should-format/-/should-format-1.0.0.tgz";
-      name = "should-format-1.0.0.tgz";
-      sha1 = "0a30cdab4a3bd1427bbccb8b738567bda7290d78";
-    };
-    deps = {
-      "should-type-1.0.2" = self.by-version."should-type"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."should-type"."^1.0.0" =
-    self.by-version."should-type"."1.0.2";
-  by-version."should-type"."1.0.2" = self.buildNodePackage {
-    name = "should-type-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/should-type/-/should-type-1.0.2.tgz";
-      name = "should-type-1.0.2.tgz";
-      sha1 = "ba4519fbe621b780527ef3af791261d41022cb8e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."shush"."^1.0.0" =
-    self.by-version."shush"."1.0.0";
-  by-version."shush"."1.0.0" = self.buildNodePackage {
-    name = "shush-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/shush/-/shush-1.0.0.tgz";
-      name = "shush-1.0.0.tgz";
-      sha1 = "c27415a9e458f2fed39b27cf8eb37c003782b431";
-    };
-    deps = {
-      "strip-json-comments-0.1.3" = self.by-version."strip-json-comments"."0.1.3";
-      "caller-0.0.1" = self.by-version."caller"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sigmund"."~1.0.0" =
-    self.by-version."sigmund"."1.0.1";
-  by-version."sigmund"."1.0.1" = self.buildNodePackage {
-    name = "sigmund-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sigmund/-/sigmund-1.0.1.tgz";
-      name = "sigmund-1.0.1.tgz";
-      sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."signal-exit"."^2.1.2" =
-    self.by-version."signal-exit"."2.1.2";
-  by-version."signal-exit"."2.1.2" = self.buildNodePackage {
-    name = "signal-exit-2.1.2";
-    version = "2.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/signal-exit/-/signal-exit-2.1.2.tgz";
-      name = "signal-exit-2.1.2.tgz";
-      sha1 = "375879b1f92ebc3b334480d038dc546a6d558564";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."signals"."<2.0" =
-    self.by-version."signals"."1.0.0";
-  by-version."signals"."1.0.0" = self.buildNodePackage {
-    name = "signals-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/signals/-/signals-1.0.0.tgz";
-      name = "signals-1.0.0.tgz";
-      sha1 = "65f0c1599352b35372ecaae5a250e6107376ed69";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."signals".">0.7 <2.0" =
-    self.by-version."signals"."1.0.0";
-  by-spec."signals"."~1.0.0" =
-    self.by-version."signals"."1.0.0";
-  by-spec."simple-fmt"."~0.1.0" =
-    self.by-version."simple-fmt"."0.1.0";
-  by-version."simple-fmt"."0.1.0" = self.buildNodePackage {
-    name = "simple-fmt-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simple-fmt/-/simple-fmt-0.1.0.tgz";
-      name = "simple-fmt-0.1.0.tgz";
-      sha1 = "191bf566a59e6530482cb25ab53b4a8dc85c3a6b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simple-get"."^1.3.0" =
-    self.by-version."simple-get"."1.4.3";
-  by-version."simple-get"."1.4.3" = self.buildNodePackage {
-    name = "simple-get-1.4.3";
-    version = "1.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simple-get/-/simple-get-1.4.3.tgz";
-      name = "simple-get-1.4.3.tgz";
-      sha1 = "e9755eda407e96da40c5e5158c9ea37b33becbeb";
-    };
-    deps = {
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "unzip-response-1.0.0" = self.by-version."unzip-response"."1.0.0";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simple-get"."^1.3.1" =
-    self.by-version."simple-get"."1.4.3";
-  by-spec."simple-get"."^2.0.0" =
-    self.by-version."simple-get"."2.2.0";
-  by-version."simple-get"."2.2.0" = self.buildNodePackage {
-    name = "simple-get-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simple-get/-/simple-get-2.2.0.tgz";
-      name = "simple-get-2.2.0.tgz";
-      sha1 = "b19f51209f00455fe7aa4d781fac3b07c51782d8";
-    };
-    deps = {
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "unzip-response-1.0.0" = self.by-version."unzip-response"."1.0.0";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simple-is"."~0.2.0" =
-    self.by-version."simple-is"."0.2.0";
-  by-version."simple-is"."0.2.0" = self.buildNodePackage {
-    name = "simple-is-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simple-is/-/simple-is-0.2.0.tgz";
-      name = "simple-is-0.2.0.tgz";
-      sha1 = "2abb75aade39deb5cc815ce10e6191164850baf0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simple-peer"."^6.0.0" =
-    self.by-version."simple-peer"."6.0.4";
-  by-version."simple-peer"."6.0.4" = self.buildNodePackage {
-    name = "simple-peer-6.0.4";
-    version = "6.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simple-peer/-/simple-peer-6.0.4.tgz";
-      name = "simple-peer-6.0.4.tgz";
-      sha1 = "f0b72ae756cc3f87e3af964c23fe621e35785ac8";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "get-browser-rtc-1.0.2" = self.by-version."get-browser-rtc"."1.0.2";
-      "hat-0.0.3" = self.by-version."hat"."0.0.3";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simple-plist"."0.1.4" =
-    self.by-version."simple-plist"."0.1.4";
-  by-version."simple-plist"."0.1.4" = self.buildNodePackage {
-    name = "simple-plist-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simple-plist/-/simple-plist-0.1.4.tgz";
-      name = "simple-plist-0.1.4.tgz";
-      sha1 = "10eb51b47e33c556eb8ec46d5ee64d64e717db5d";
-    };
-    deps = {
-      "plist-1.2.0" = self.by-version."plist"."1.2.0";
-      "bplist-parser-0.0.6" = self.by-version."bplist-parser"."0.0.6";
-      "bplist-creator-0.0.4" = self.by-version."bplist-creator"."0.0.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simple-sha1"."^2.0.0" =
-    self.by-version."simple-sha1"."2.0.8";
-  by-version."simple-sha1"."2.0.8" = self.buildNodePackage {
-    name = "simple-sha1-2.0.8";
-    version = "2.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simple-sha1/-/simple-sha1-2.0.8.tgz";
-      name = "simple-sha1-2.0.8.tgz";
-      sha1 = "dabb4b17b9f06a4bbf0174b3b4b3a2cdd8e2785f";
-    };
-    deps = {
-      "rusha-0.8.3" = self.by-version."rusha"."0.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simple-websocket"."^4.0.0" =
-    self.by-version."simple-websocket"."4.1.0";
-  by-version."simple-websocket"."4.1.0" = self.buildNodePackage {
-    name = "simple-websocket-4.1.0";
-    version = "4.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simple-websocket/-/simple-websocket-4.1.0.tgz";
-      name = "simple-websocket-4.1.0.tgz";
-      sha1 = "2b1e887e7737ae1452458ead0d0a79722901877f";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-      "ws-1.1.0" = self.by-version."ws"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simplediff"."~0.1.1" =
-    self.by-version."simplediff"."0.1.1";
-  by-version."simplediff"."0.1.1" = self.buildNodePackage {
-    name = "simplediff-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simplediff/-/simplediff-0.1.1.tgz";
-      name = "simplediff-0.1.1.tgz";
-      sha1 = "b0caeeb093223370033c6c3aa1130dc86c6a087c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simplesmtp".">= 0.1.22" =
-    self.by-version."simplesmtp"."0.3.35";
-  by-version."simplesmtp"."0.3.35" = self.buildNodePackage {
-    name = "simplesmtp-0.3.35";
-    version = "0.3.35";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/simplesmtp/-/simplesmtp-0.3.35.tgz";
-      name = "simplesmtp-0.3.35.tgz";
-      sha1 = "017b1eb8b26317ac36d2a2a8a932631880736a03";
-    };
-    deps = {
-      "rai-0.1.12" = self.by-version."rai"."0.1.12";
-      "xoauth2-0.1.8" = self.by-version."xoauth2"."0.1.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."simplesmtp"."~0.2 || ~0.3.30" =
-    self.by-version."simplesmtp"."0.3.35";
-  by-spec."simplesmtp"."~0.3.30" =
-    self.by-version."simplesmtp"."0.3.35";
-  by-spec."single-line-log"."^0.4.1" =
-    self.by-version."single-line-log"."0.4.1";
-  by-version."single-line-log"."0.4.1" = self.buildNodePackage {
-    name = "single-line-log-0.4.1";
-    version = "0.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/single-line-log/-/single-line-log-0.4.1.tgz";
-      name = "single-line-log-0.4.1.tgz";
-      sha1 = "87a55649f749d783ec0dcd804e8140d9873c7cee";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."single-line-log"."^1.0.1" =
-    self.by-version."single-line-log"."1.1.1";
-  by-version."single-line-log"."1.1.1" = self.buildNodePackage {
-    name = "single-line-log-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/single-line-log/-/single-line-log-1.1.1.tgz";
-      name = "single-line-log-1.1.1.tgz";
-      sha1 = "f87743dfdb5519b5fe1dda36edd68f35e3cb5de6";
-    };
-    deps = {
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sinon"."*" =
-    self.by-version."sinon"."2.0.0-pre";
-  by-version."sinon"."2.0.0-pre" = self.buildNodePackage {
-    name = "sinon-2.0.0-pre";
-    version = "2.0.0-pre";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sinon/-/sinon-2.0.0-pre.tgz";
-      name = "sinon-2.0.0-pre.tgz";
-      sha1 = "18293b00fb2f155c99e8e5b46e31f7eade32815d";
-    };
-    deps = {
-      "formatio-1.1.1" = self.by-version."formatio"."1.1.1";
-      "util-0.10.3" = self.by-version."util"."0.10.3";
-      "lolex-1.3.2" = self.by-version."lolex"."1.3.2";
-      "samsam-1.1.2" = self.by-version."samsam"."1.1.2";
-      "text-encoding-0.5.2" = self.by-version."text-encoding"."0.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "sinon" = self.by-version."sinon"."2.0.0-pre";
-  by-spec."sinopia"."*" =
-    self.by-version."sinopia"."1.4.0";
-  by-version."sinopia"."1.4.0" = self.buildNodePackage {
-    name = "sinopia-1.4.0";
-    version = "1.4.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sinopia/-/sinopia-1.4.0.tgz";
-      name = "sinopia-1.4.0.tgz";
-      sha1 = "36bf5209356facbf6cef18fa32274d116043ed24";
-    };
-    deps = {
-      "express-5.0.0-alpha.2" = self.by-version."express"."5.0.0-alpha.2";
-      "express-json5-0.1.0" = self.by-version."express-json5"."0.1.0";
-      "body-parser-1.15.1" = self.by-version."body-parser"."1.15.1";
-      "compression-1.6.2" = self.by-version."compression"."1.6.2";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "js-yaml-3.6.1" = self.by-version."js-yaml"."3.6.1";
-      "cookies-0.6.1" = self.by-version."cookies"."0.6.1";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "es6-shim-0.21.1" = self.by-version."es6-shim"."0.21.1";
-      "semver-4.3.6" = self.by-version."semver"."4.3.6";
-      "minimatch-1.0.0" = self.by-version."minimatch"."1.0.0";
-      "bunyan-1.8.1" = self.by-version."bunyan"."1.8.1";
-      "handlebars-2.0.0" = self.by-version."handlebars"."2.0.0";
-      "highlight.js-8.9.1" = self.by-version."highlight.js"."8.9.1";
-      "lunr-0.7.1" = self.by-version."lunr"."0.7.1";
-      "render-readme-1.3.1" = self.by-version."render-readme"."1.3.1";
-      "jju-1.3.0" = self.by-version."jju"."1.3.0";
-      "JSONStream-1.1.2" = self.by-version."JSONStream"."1.1.2";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "sinopia-htpasswd-0.4.5" = self.by-version."sinopia-htpasswd"."0.4.5";
-      "http-errors-1.5.0" = self.by-version."http-errors"."1.5.0";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-      "fs-ext-0.5.0" = self.by-version."fs-ext"."0.5.0";
-      "crypt3-0.2.0" = self.by-version."crypt3"."0.2.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "sinopia" = self.by-version."sinopia"."1.4.0";
-  by-spec."sinopia-htpasswd".">= 0.4.3" =
-    self.by-version."sinopia-htpasswd"."0.4.5";
-  by-version."sinopia-htpasswd"."0.4.5" = self.buildNodePackage {
-    name = "sinopia-htpasswd-0.4.5";
-    version = "0.4.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sinopia-htpasswd/-/sinopia-htpasswd-0.4.5.tgz";
-      name = "sinopia-htpasswd-0.4.5.tgz";
-      sha1 = "2af824ae20eccb8f902325b1a2c27dd6619805c9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "crypt3-0.2.0" = self.by-version."crypt3"."0.2.0";
-      "fs-ext-0.5.0" = self.by-version."fs-ext"."0.5.0";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."slasp"."*" =
-    self.by-version."slasp"."0.0.4";
-  by-version."slasp"."0.0.4" = self.buildNodePackage {
-    name = "slasp-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/slasp/-/slasp-0.0.4.tgz";
-      name = "slasp-0.0.4.tgz";
-      sha1 = "9adc26ee729a0f95095851a5489f87a5258d57a9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "slasp" = self.by-version."slasp"."0.0.4";
-  by-spec."slasp"."0.0.4" =
-    self.by-version."slasp"."0.0.4";
-  by-spec."sleep"."*" =
-    self.by-version."sleep"."3.0.1";
-  by-version."sleep"."3.0.1" = self.buildNodePackage {
-    name = "sleep-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sleep/-/sleep-3.0.1.tgz";
-      name = "sleep-3.0.1.tgz";
-      sha1 = "be4d17c579360e07e04ed8172ba2b10a69054df3";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "sleep" = self.by-version."sleep"."3.0.1";
-  by-spec."sleep".">=1.2.0" =
-    self.by-version."sleep"."3.0.1";
-  by-spec."slice-ansi"."0.0.4" =
-    self.by-version."slice-ansi"."0.0.4";
-  by-version."slice-ansi"."0.0.4" = self.buildNodePackage {
-    name = "slice-ansi-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/slice-ansi/-/slice-ansi-0.0.4.tgz";
-      name = "slice-ansi-0.0.4.tgz";
-      sha1 = "edbf8903f66f7ce2f8eafd6ceed65e264c831b35";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sliced"."0.0.3" =
-    self.by-version."sliced"."0.0.3";
-  by-version."sliced"."0.0.3" = self.buildNodePackage {
-    name = "sliced-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sliced/-/sliced-0.0.3.tgz";
-      name = "sliced-0.0.3.tgz";
-      sha1 = "4f0bac2171eb17162c3ba6df81f5cf040f7c7e50";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sliced"."0.0.4" =
-    self.by-version."sliced"."0.0.4";
-  by-version."sliced"."0.0.4" = self.buildNodePackage {
-    name = "sliced-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sliced/-/sliced-0.0.4.tgz";
-      name = "sliced-0.0.4.tgz";
-      sha1 = "34f89a6db1f31fa525f5a570f5bcf877cf0955ee";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sliced"."0.0.5" =
-    self.by-version."sliced"."0.0.5";
-  by-version."sliced"."0.0.5" = self.buildNodePackage {
-    name = "sliced-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sliced/-/sliced-0.0.5.tgz";
-      name = "sliced-0.0.5.tgz";
-      sha1 = "5edc044ca4eb6f7816d50ba2fc63e25d8fe4707f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sliced"."1.0.1" =
-    self.by-version."sliced"."1.0.1";
-  by-version."sliced"."1.0.1" = self.buildNodePackage {
-    name = "sliced-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sliced/-/sliced-1.0.1.tgz";
-      name = "sliced-1.0.1.tgz";
-      sha1 = "0b3a662b5d04c3177b1926bea82b03f837a2ef41";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."slide"."^1.1.3" =
-    self.by-version."slide"."1.1.6";
-  by-version."slide"."1.1.6" = self.buildNodePackage {
-    name = "slide-1.1.6";
-    version = "1.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/slide/-/slide-1.1.6.tgz";
-      name = "slide-1.1.6.tgz";
-      sha1 = "56eb027d65b4d2dce6cb2e2d32c4d4afc9e1d707";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."slide"."^1.1.5" =
-    self.by-version."slide"."1.1.6";
-  by-spec."slide"."~1.1.3" =
-    self.by-version."slide"."1.1.6";
-  by-spec."slide"."~1.1.6" =
-    self.by-version."slide"."1.1.6";
-  by-spec."sloc"."*" =
-    self.by-version."sloc"."0.1.10";
-  by-version."sloc"."0.1.10" = self.buildNodePackage {
-    name = "sloc-0.1.10";
-    version = "0.1.10";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sloc/-/sloc-0.1.10.tgz";
-      name = "sloc-0.1.10.tgz";
-      sha1 = "f6bc04c3e93bec75a66668954ac39eea0e1d2f8a";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "cli-table-0.3.1" = self.by-version."cli-table"."0.3.1";
-      "commander-2.9.0" = self.by-version."commander"."2.9.0";
-      "readdirp-2.0.0" = self.by-version."readdirp"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "sloc" = self.by-version."sloc"."0.1.10";
-  by-spec."smart-buffer"."^1.0.4" =
-    self.by-version."smart-buffer"."1.0.11";
-  by-version."smart-buffer"."1.0.11" = self.buildNodePackage {
-    name = "smart-buffer-1.0.11";
-    version = "1.0.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/smart-buffer/-/smart-buffer-1.0.11.tgz";
-      name = "smart-buffer-1.0.11.tgz";
-      sha1 = "3050337098a8e4cdf0350fef63dd146049ff940a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."smartdc"."*" =
-    self.by-version."smartdc"."8.1.0";
-  by-version."smartdc"."8.1.0" = self.buildNodePackage {
-    name = "smartdc-8.1.0";
-    version = "8.1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/smartdc/-/smartdc-8.1.0.tgz";
-      name = "smartdc-8.1.0.tgz";
-      sha1 = "c8dba4694307a0070b84a67ced76da6de73f3585";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "lru-cache-2.2.0" = self.by-version."lru-cache"."2.2.0";
-      "nopt-2.0.0" = self.by-version."nopt"."2.0.0";
-      "restify-4.0.3" = self.by-version."restify"."4.0.3";
-      "bunyan-1.5.1" = self.by-version."bunyan"."1.5.1";
-      "clone-0.1.6" = self.by-version."clone"."0.1.6";
-      "smartdc-auth-2.3.1" = self.by-version."smartdc-auth"."2.3.1";
-      "cmdln-3.2.1" = self.by-version."cmdln"."3.2.1";
-      "dashdash-1.7.3" = self.by-version."dashdash"."1.7.3";
-      "vasync-1.6.2" = self.by-version."vasync"."1.6.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "smartdc" = self.by-version."smartdc"."8.1.0";
-  by-spec."smartdc-auth"."2.3.1" =
-    self.by-version."smartdc-auth"."2.3.1";
-  by-version."smartdc-auth"."2.3.1" = self.buildNodePackage {
-    name = "smartdc-auth-2.3.1";
-    version = "2.3.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/smartdc-auth/-/smartdc-auth-2.3.1.tgz";
-      name = "smartdc-auth-2.3.1.tgz";
-      sha1 = "96568a565e9d9feb03b93a50651eee14d23adf44";
-    };
-    deps = {
-      "assert-plus-0.1.2" = self.by-version."assert-plus"."0.1.2";
-      "bunyan-1.5.1" = self.by-version."bunyan"."1.5.1";
-      "clone-0.1.5" = self.by-version."clone"."0.1.5";
-      "dashdash-1.10.1" = self.by-version."dashdash"."1.10.1";
-      "http-signature-1.1.1" = self.by-version."http-signature"."1.1.1";
-      "once-1.3.0" = self.by-version."once"."1.3.0";
-      "sshpk-agent-1.2.1" = self.by-version."sshpk-agent"."1.2.1";
-      "sshpk-1.7.1" = self.by-version."sshpk"."1.7.1";
-      "vasync-1.4.3" = self.by-version."vasync"."1.4.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."smtp-connection"."^1.3.1" =
-    self.by-version."smtp-connection"."1.3.8";
-  by-version."smtp-connection"."1.3.8" = self.buildNodePackage {
-    name = "smtp-connection-1.3.8";
-    version = "1.3.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/smtp-connection/-/smtp-connection-1.3.8.tgz";
-      name = "smtp-connection-1.3.8.tgz";
-      sha1 = "55832c2160cfb3086e1dcd87fd1c19fa61b7f536";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."smtp-connection"."^1.3.7" =
-    self.by-version."smtp-connection"."1.3.8";
-  by-spec."snapsvg"."~0.4.0" =
-    self.by-version."snapsvg"."0.4.0";
-  by-version."snapsvg"."0.4.0" = self.buildNodePackage {
-    name = "snapsvg-0.4.0";
-    version = "0.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/snapsvg/-/snapsvg-0.4.0.tgz";
-      name = "snapsvg-0.4.0.tgz";
-      sha1 = "e0767014167825957de7e125c29b0fa89796ea03";
-    };
-    deps = {
-      "eve-0.4.2" = self.by-version."eve"."0.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sntp"."0.1.x" =
-    self.by-version."sntp"."0.1.4";
-  by-version."sntp"."0.1.4" = self.buildNodePackage {
-    name = "sntp-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sntp/-/sntp-0.1.4.tgz";
-      name = "sntp-0.1.4.tgz";
-      sha1 = "5ef481b951a7b29affdf4afd7f26838fc1120f84";
-    };
-    deps = {
-      "hoek-0.7.6" = self.by-version."hoek"."0.7.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sntp"."0.2.x" =
-    self.by-version."sntp"."0.2.4";
-  by-version."sntp"."0.2.4" = self.buildNodePackage {
-    name = "sntp-0.2.4";
-    version = "0.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sntp/-/sntp-0.2.4.tgz";
-      name = "sntp-0.2.4.tgz";
-      sha1 = "fb885f18b0f3aad189f824862536bceeec750900";
-    };
-    deps = {
-      "hoek-0.9.1" = self.by-version."hoek"."0.9.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sntp"."1.x.x" =
-    self.by-version."sntp"."1.0.9";
-  by-version."sntp"."1.0.9" = self.buildNodePackage {
-    name = "sntp-1.0.9";
-    version = "1.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sntp/-/sntp-1.0.9.tgz";
-      name = "sntp-1.0.9.tgz";
-      sha1 = "6541184cc90aeea6c6e7b35e2659082443c66198";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io"."0.9.14" =
-    self.by-version."socket.io"."0.9.14";
-  by-version."socket.io"."0.9.14" = self.buildNodePackage {
-    name = "socket.io-0.9.14";
-    version = "0.9.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io/-/socket.io-0.9.14.tgz";
-      name = "socket.io-0.9.14.tgz";
-      sha1 = "81af80ebf3ee8f7f6e71b1495db91f8fa53ff667";
-    };
-    deps = {
-      "socket.io-client-0.9.11" = self.by-version."socket.io-client"."0.9.11";
-      "policyfile-0.0.4" = self.by-version."policyfile"."0.0.4";
-      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
-    };
-    optionalDependencies = {
-      "redis-0.7.3" = self.by-version."redis"."0.7.3";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io"."1.0.6" =
-    self.by-version."socket.io"."1.0.6";
-  by-version."socket.io"."1.0.6" = self.buildNodePackage {
-    name = "socket.io-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io/-/socket.io-1.0.6.tgz";
-      name = "socket.io-1.0.6.tgz";
-      sha1 = "b566532888dae3ac9058a12f294015ebdfa8084a";
-    };
-    deps = {
-      "engine.io-1.3.1" = self.by-version."engine.io"."1.3.1";
-      "socket.io-parser-2.2.0" = self.by-version."socket.io-parser"."2.2.0";
-      "socket.io-client-1.0.6" = self.by-version."socket.io-client"."1.0.6";
-      "socket.io-adapter-0.2.0" = self.by-version."socket.io-adapter"."0.2.0";
-      "has-binary-data-0.1.1" = self.by-version."has-binary-data"."0.1.1";
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io"."^1.4.5" =
-    self.by-version."socket.io"."1.4.6";
-  by-version."socket.io"."1.4.6" = self.buildNodePackage {
-    name = "socket.io-1.4.6";
-    version = "1.4.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io/-/socket.io-1.4.6.tgz";
-      name = "socket.io-1.4.6.tgz";
-      sha1 = "0dddc2cb8fb9b66fc928604f13f6aa910254cc1c";
-    };
-    deps = {
-      "engine.io-1.6.9" = self.by-version."engine.io"."1.6.9";
-      "socket.io-parser-2.2.6" = self.by-version."socket.io-parser"."2.2.6";
-      "socket.io-client-1.4.6" = self.by-version."socket.io-client"."1.4.6";
-      "socket.io-adapter-0.4.0" = self.by-version."socket.io-adapter"."0.4.0";
-      "has-binary-0.1.7" = self.by-version."has-binary"."0.1.7";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io"."~0.9.17" =
-    self.by-version."socket.io"."0.9.17";
-  by-version."socket.io"."0.9.17" = self.buildNodePackage {
-    name = "socket.io-0.9.17";
-    version = "0.9.17";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io/-/socket.io-0.9.17.tgz";
-      name = "socket.io-0.9.17.tgz";
-      sha1 = "ca389268fb2cd5df4b59218490a08c907581c9ec";
-    };
-    deps = {
-      "socket.io-client-0.9.16" = self.by-version."socket.io-client"."0.9.16";
-      "policyfile-0.0.4" = self.by-version."policyfile"."0.0.4";
-      "base64id-0.1.0" = self.by-version."base64id"."0.1.0";
-    };
-    optionalDependencies = {
-      "redis-0.7.3" = self.by-version."redis"."0.7.3";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io"."~1.4.5" =
-    self.by-version."socket.io"."1.4.6";
-  by-spec."socket.io-adapter"."0.2.0" =
-    self.by-version."socket.io-adapter"."0.2.0";
-  by-version."socket.io-adapter"."0.2.0" = self.buildNodePackage {
-    name = "socket.io-adapter-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.2.0.tgz";
-      name = "socket.io-adapter-0.2.0.tgz";
-      sha1 = "bd39329b8961371787e24f345b074ec9cf000e33";
-    };
-    deps = {
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "socket.io-parser-2.1.2" = self.by-version."socket.io-parser"."2.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-adapter"."0.4.0" =
-    self.by-version."socket.io-adapter"."0.4.0";
-  by-version."socket.io-adapter"."0.4.0" = self.buildNodePackage {
-    name = "socket.io-adapter-0.4.0";
-    version = "0.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-0.4.0.tgz";
-      name = "socket.io-adapter-0.4.0.tgz";
-      sha1 = "fb9f82ab1aa65290bf72c3657955b930a991a24f";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "socket.io-parser-2.2.2" = self.by-version."socket.io-parser"."2.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-client"."0.9.11" =
-    self.by-version."socket.io-client"."0.9.11";
-  by-version."socket.io-client"."0.9.11" = self.buildNodePackage {
-    name = "socket.io-client-0.9.11";
-    version = "0.9.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.11.tgz";
-      name = "socket.io-client-0.9.11.tgz";
-      sha1 = "94defc1b29e0d8a8fe958c1cf33300f68d8a19c7";
-    };
-    deps = {
-      "uglify-js-1.2.5" = self.by-version."uglify-js"."1.2.5";
-      "ws-0.4.32" = self.by-version."ws"."0.4.32";
-      "xmlhttprequest-1.4.2" = self.by-version."xmlhttprequest"."1.4.2";
-      "active-x-obfuscator-0.0.1" = self.by-version."active-x-obfuscator"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-client"."0.9.16" =
-    self.by-version."socket.io-client"."0.9.16";
-  by-version."socket.io-client"."0.9.16" = self.buildNodePackage {
-    name = "socket.io-client-0.9.16";
-    version = "0.9.16";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-0.9.16.tgz";
-      name = "socket.io-client-0.9.16.tgz";
-      sha1 = "4da7515c5e773041d1b423970415bcc430f35fc6";
-    };
-    deps = {
-      "uglify-js-1.2.5" = self.by-version."uglify-js"."1.2.5";
-      "ws-0.4.32" = self.by-version."ws"."0.4.32";
-      "xmlhttprequest-1.4.2" = self.by-version."xmlhttprequest"."1.4.2";
-      "active-x-obfuscator-0.0.1" = self.by-version."active-x-obfuscator"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-client"."1.0.6" =
-    self.by-version."socket.io-client"."1.0.6";
-  by-version."socket.io-client"."1.0.6" = self.buildNodePackage {
-    name = "socket.io-client-1.0.6";
-    version = "1.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.0.6.tgz";
-      name = "socket.io-client-1.0.6.tgz";
-      sha1 = "c86cb3e507ab2f96da4500bd34fcf46a1e9dfe5e";
-    };
-    deps = {
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "engine.io-client-1.3.1" = self.by-version."engine.io-client"."1.3.1";
-      "component-bind-1.0.0" = self.by-version."component-bind"."1.0.0";
-      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
-      "object-component-0.0.3" = self.by-version."object-component"."0.0.3";
-      "socket.io-parser-2.2.0" = self.by-version."socket.io-parser"."2.2.0";
-      "has-binary-data-0.1.1" = self.by-version."has-binary-data"."0.1.1";
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-      "parseuri-0.0.2" = self.by-version."parseuri"."0.0.2";
-      "to-array-0.1.3" = self.by-version."to-array"."0.1.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-client"."1.4.6" =
-    self.by-version."socket.io-client"."1.4.6";
-  by-version."socket.io-client"."1.4.6" = self.buildNodePackage {
-    name = "socket.io-client-1.4.6";
-    version = "1.4.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-client/-/socket.io-client-1.4.6.tgz";
-      name = "socket.io-client-1.4.6.tgz";
-      sha1 = "49b0ba537efd15b8297c84016e642e1c7c752c3d";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "engine.io-client-1.6.9" = self.by-version."engine.io-client"."1.6.9";
-      "component-bind-1.0.0" = self.by-version."component-bind"."1.0.0";
-      "component-emitter-1.2.0" = self.by-version."component-emitter"."1.2.0";
-      "object-component-0.0.3" = self.by-version."object-component"."0.0.3";
-      "socket.io-parser-2.2.6" = self.by-version."socket.io-parser"."2.2.6";
-      "has-binary-0.1.7" = self.by-version."has-binary"."0.1.7";
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-      "parseuri-0.0.4" = self.by-version."parseuri"."0.0.4";
-      "to-array-0.1.4" = self.by-version."to-array"."0.1.4";
-      "backo2-1.0.2" = self.by-version."backo2"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-parser"."2.1.2" =
-    self.by-version."socket.io-parser"."2.1.2";
-  by-version."socket.io-parser"."2.1.2" = self.buildNodePackage {
-    name = "socket.io-parser-2.1.2";
-    version = "2.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.1.2.tgz";
-      name = "socket.io-parser-2.1.2.tgz";
-      sha1 = "876655b9edd555c5bdf7301cedf30a436c67b8b0";
-    };
-    deps = {
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "json3-3.2.6" = self.by-version."json3"."3.2.6";
-      "emitter-1.0.1" = self.by-version."emitter"."1.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-parser"."2.2.0" =
-    self.by-version."socket.io-parser"."2.2.0";
-  by-version."socket.io-parser"."2.2.0" = self.buildNodePackage {
-    name = "socket.io-parser-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.0.tgz";
-      name = "socket.io-parser-2.2.0.tgz";
-      sha1 = "2609601f59e6a7fab436a53be3d333fbbfcbd30a";
-    };
-    deps = {
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "json3-3.2.6" = self.by-version."json3"."3.2.6";
-      "emitter-1.0.1" = self.by-version."emitter"."1.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-parser"."2.2.2" =
-    self.by-version."socket.io-parser"."2.2.2";
-  by-version."socket.io-parser"."2.2.2" = self.buildNodePackage {
-    name = "socket.io-parser-2.2.2";
-    version = "2.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.2.tgz";
-      name = "socket.io-parser-2.2.2.tgz";
-      sha1 = "3d7af6b64497e956b7d9fe775f999716027f9417";
-    };
-    deps = {
-      "debug-0.7.4" = self.by-version."debug"."0.7.4";
-      "json3-3.2.6" = self.by-version."json3"."3.2.6";
-      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "benchmark-1.0.0" = self.by-version."benchmark"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socket.io-parser"."2.2.6" =
-    self.by-version."socket.io-parser"."2.2.6";
-  by-version."socket.io-parser"."2.2.6" = self.buildNodePackage {
-    name = "socket.io-parser-2.2.6";
-    version = "2.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-2.2.6.tgz";
-      name = "socket.io-parser-2.2.6.tgz";
-      sha1 = "38dfd61df50dcf8ab1d9e2091322bf902ba28b99";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "json3-3.3.2" = self.by-version."json3"."3.3.2";
-      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "benchmark-1.0.0" = self.by-version."benchmark"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sockjs"."*" =
-    self.by-version."sockjs"."0.3.17";
-  by-version."sockjs"."0.3.17" = self.buildNodePackage {
-    name = "sockjs-0.3.17";
-    version = "0.3.17";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sockjs/-/sockjs-0.3.17.tgz";
-      name = "sockjs-0.3.17.tgz";
-      sha1 = "ef1b88f5d73e6278fad8e9476ac91064382f3b44";
-    };
-    deps = {
-      "faye-websocket-0.10.0" = self.by-version."faye-websocket"."0.10.0";
-      "uuid-2.0.2" = self.by-version."uuid"."2.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "sockjs" = self.by-version."sockjs"."0.3.17";
-  by-spec."socks"."~1.1.5" =
-    self.by-version."socks"."1.1.9";
-  by-version."socks"."1.1.9" = self.buildNodePackage {
-    name = "socks-1.1.9";
-    version = "1.1.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socks/-/socks-1.1.9.tgz";
-      name = "socks-1.1.9.tgz";
-      sha1 = "628d7e4d04912435445ac0b6e459376cb3e6d691";
-    };
-    deps = {
-      "ip-1.1.3" = self.by-version."ip"."1.1.3";
-      "smart-buffer-1.0.11" = self.by-version."smart-buffer"."1.0.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."socks-proxy-agent"."1" =
-    self.by-version."socks-proxy-agent"."1.0.2";
-  by-version."socks-proxy-agent"."1.0.2" = self.buildNodePackage {
-    name = "socks-proxy-agent-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-1.0.2.tgz";
-      name = "socks-proxy-agent-1.0.2.tgz";
-      sha1 = "67e06b447fe5637417fde5733cbfdfec9ffe117f";
-    };
-    deps = {
-      "agent-base-1.0.2" = self.by-version."agent-base"."1.0.2";
-      "extend-1.2.1" = self.by-version."extend"."1.2.1";
-      "socks-1.1.9" = self.by-version."socks"."1.1.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sort-keys"."^1.0.0" =
-    self.by-version."sort-keys"."1.1.2";
-  by-version."sort-keys"."1.1.2" = self.buildNodePackage {
-    name = "sort-keys-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz";
-      name = "sort-keys-1.1.2.tgz";
-      sha1 = "441b6d4d346798f1b4e49e8920adfba0e543f9ad";
-    };
-    deps = {
-      "is-plain-obj-1.1.0" = self.by-version."is-plain-obj"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sort-keys-length"."^1.0.0" =
-    self.by-version."sort-keys-length"."1.0.1";
-  by-version."sort-keys-length"."1.0.1" = self.buildNodePackage {
-    name = "sort-keys-length-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sort-keys-length/-/sort-keys-length-1.0.1.tgz";
-      name = "sort-keys-length-1.0.1.tgz";
-      sha1 = "9cb6f4f4e9e48155a6aa0671edd336ff1479a188";
-    };
-    deps = {
-      "sort-keys-1.1.2" = self.by-version."sort-keys"."1.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sorted-object"."~2.0.0" =
-    self.by-version."sorted-object"."2.0.0";
-  by-version."sorted-object"."2.0.0" = self.buildNodePackage {
-    name = "sorted-object-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sorted-object/-/sorted-object-2.0.0.tgz";
-      name = "sorted-object-2.0.0.tgz";
-      sha1 = "1cfea981609047d8043807a490a9d99b317faf7f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sorted-union-stream"."^1.0.1" =
-    self.by-version."sorted-union-stream"."1.0.2";
-  by-version."sorted-union-stream"."1.0.2" = self.buildNodePackage {
-    name = "sorted-union-stream-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sorted-union-stream/-/sorted-union-stream-1.0.2.tgz";
-      name = "sorted-union-stream-1.0.2.tgz";
-      sha1 = "558e7f57a5bf6baf6501baf2ae2c9076c4502006";
-    };
-    deps = {
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-list-map"."~0.1.0" =
-    self.by-version."source-list-map"."0.1.6";
-  by-version."source-list-map"."0.1.6" = self.buildNodePackage {
-    name = "source-list-map-0.1.6";
-    version = "0.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-list-map/-/source-list-map-0.1.6.tgz";
-      name = "source-list-map-0.1.6.tgz";
-      sha1 = "e1e6f94f0b40c4d28dcf8f5b8766e0e45636877f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."*" =
-    self.by-version."source-map"."0.5.6";
-  by-version."source-map"."0.5.6" = self.buildNodePackage {
-    name = "source-map-0.5.6";
-    version = "0.5.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.5.6.tgz";
-      name = "source-map-0.5.6.tgz";
-      sha1 = "75ce38f52bf0733c5a7f0c118d81334a2bb5f412";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "source-map" = self.by-version."source-map"."0.5.6";
-  by-spec."source-map"."0.1.32" =
-    self.by-version."source-map"."0.1.32";
-  by-version."source-map"."0.1.32" = self.buildNodePackage {
-    name = "source-map-0.1.32";
-    version = "0.1.32";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz";
-      name = "source-map-0.1.32.tgz";
-      sha1 = "c8b6c167797ba4740a8ea33252162ff08591b266";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."0.1.34" =
-    self.by-version."source-map"."0.1.34";
-  by-version."source-map"."0.1.34" = self.buildNodePackage {
-    name = "source-map-0.1.34";
-    version = "0.1.34";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.1.34.tgz";
-      name = "source-map-0.1.34.tgz";
-      sha1 = "a7cfe89aec7b1682c3b198d0acfb47d7d090566b";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."0.1.x" =
-    self.by-version."source-map"."0.1.43";
-  by-version."source-map"."0.1.43" = self.buildNodePackage {
-    name = "source-map-0.1.43";
-    version = "0.1.43";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.1.43.tgz";
-      name = "source-map-0.1.43.tgz";
-      sha1 = "c24bc146ca517c1471f5dacbe2571b2b7f9e3346";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."0.4.x" =
-    self.by-version."source-map"."0.4.4";
-  by-version."source-map"."0.4.4" = self.buildNodePackage {
-    name = "source-map-0.4.4";
-    version = "0.4.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.4.4.tgz";
-      name = "source-map-0.4.4.tgz";
-      sha1 = "eba4f5da9c0dc999de68032d8b4f76173652036b";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."^0.1.40" =
-    self.by-version."source-map"."0.1.43";
-  by-spec."source-map"."^0.4.2" =
-    self.by-version."source-map"."0.4.4";
-  by-spec."source-map"."^0.4.4" =
-    self.by-version."source-map"."0.4.4";
-  by-spec."source-map"."^0.5.1" =
-    self.by-version."source-map"."0.5.6";
-  by-spec."source-map"."^0.5.3" =
-    self.by-version."source-map"."0.5.6";
-  by-spec."source-map"."~0.1.31" =
-    self.by-version."source-map"."0.1.43";
-  by-spec."source-map"."~0.1.33" =
-    self.by-version."source-map"."0.1.43";
-  by-spec."source-map"."~0.1.7" =
-    self.by-version."source-map"."0.1.43";
-  by-spec."source-map"."~0.2.0" =
-    self.by-version."source-map"."0.2.0";
-  by-version."source-map"."0.2.0" = self.buildNodePackage {
-    name = "source-map-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.2.0.tgz";
-      name = "source-map-0.2.0.tgz";
-      sha1 = "dab73fbcfc2ba819b4de03bd6f6eaa48164b3f9d";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."~0.3.0" =
-    self.by-version."source-map"."0.3.0";
-  by-version."source-map"."0.3.0" = self.buildNodePackage {
-    name = "source-map-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map/-/source-map-0.3.0.tgz";
-      name = "source-map-0.3.0.tgz";
-      sha1 = "8586fb9a5a005e5b501e21cd18b6f21b457ad1f9";
-    };
-    deps = {
-      "amdefine-1.0.0" = self.by-version."amdefine"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."source-map"."~0.4.0" =
-    self.by-version."source-map"."0.4.4";
-  by-spec."source-map"."~0.4.2" =
-    self.by-version."source-map"."0.4.4";
-  by-spec."source-map"."~0.5.0" =
-    self.by-version."source-map"."0.5.6";
-  by-spec."source-map"."~0.5.1" =
-    self.by-version."source-map"."0.5.6";
-  by-spec."source-map"."~0.5.3" =
-    self.by-version."source-map"."0.5.6";
-  by-spec."source-map-support"."0.3.2" =
-    self.by-version."source-map-support"."0.3.2";
-  by-version."source-map-support"."0.3.2" = self.buildNodePackage {
-    name = "source-map-support-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.2.tgz";
-      name = "source-map-support-0.3.2.tgz";
-      sha1 = "737d5c901e0b78fdb53aca713d24f23ccbb10be1";
-    };
-    deps = {
-      "source-map-0.1.32" = self.by-version."source-map"."0.1.32";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-version."source-map-support"."0.4.0" = self.buildNodePackage {
-    name = "source-map-support-0.4.0";
-    version = "0.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.0.tgz";
-      name = "source-map-support-0.4.0.tgz";
-      sha1 = "cb92292bc05455ce48691de545ac2690bb1cc976";
-    };
-    deps = {
-      "source-map-0.1.32" = self.by-version."source-map"."0.1.32";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sparkles"."^1.0.0" =
-    self.by-version."sparkles"."1.0.0";
-  by-version."sparkles"."1.0.0" = self.buildNodePackage {
-    name = "sparkles-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sparkles/-/sparkles-1.0.0.tgz";
-      name = "sparkles-1.0.0.tgz";
-      sha1 = "1acbbfb592436d10bbe8f785b7cc6f82815012c3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spawn-please"."^0.1.0" =
-    self.by-version."spawn-please"."0.1.0";
-  by-version."spawn-please"."0.1.0" = self.buildNodePackage {
-    name = "spawn-please-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/spawn-please/-/spawn-please-0.1.0.tgz";
-      name = "spawn-please-0.1.0.tgz";
-      sha1 = "d4113ad6582445d076d1099997f0b250d7ddbaac";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spdx-correct"."~1.0.0" =
-    self.by-version."spdx-correct"."1.0.2";
-  by-version."spdx-correct"."1.0.2" = self.buildNodePackage {
-    name = "spdx-correct-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/spdx-correct/-/spdx-correct-1.0.2.tgz";
-      name = "spdx-correct-1.0.2.tgz";
-      sha1 = "4b3073d933ff51f3912f03ac5519498a4150db40";
-    };
-    deps = {
-      "spdx-license-ids-1.2.1" = self.by-version."spdx-license-ids"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spdx-exceptions"."^1.0.4" =
-    self.by-version."spdx-exceptions"."1.0.4";
-  by-version."spdx-exceptions"."1.0.4" = self.buildNodePackage {
-    name = "spdx-exceptions-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-1.0.4.tgz";
-      name = "spdx-exceptions-1.0.4.tgz";
-      sha1 = "220b84239119ae9045a892db81a83f4ce16f80fd";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spdx-expression-parse"."~1.0.0" =
-    self.by-version."spdx-expression-parse"."1.0.2";
-  by-version."spdx-expression-parse"."1.0.2" = self.buildNodePackage {
-    name = "spdx-expression-parse-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-1.0.2.tgz";
-      name = "spdx-expression-parse-1.0.2.tgz";
-      sha1 = "d52b14b5e9670771440af225bcb563122ac452f6";
-    };
-    deps = {
-      "spdx-exceptions-1.0.4" = self.by-version."spdx-exceptions"."1.0.4";
-      "spdx-license-ids-1.2.1" = self.by-version."spdx-license-ids"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spdx-license-ids"."^1.0.0" =
-    self.by-version."spdx-license-ids"."1.2.1";
-  by-version."spdx-license-ids"."1.2.1" = self.buildNodePackage {
-    name = "spdx-license-ids-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-1.2.1.tgz";
-      name = "spdx-license-ids-1.2.1.tgz";
-      sha1 = "d07ea17a4d2fd9351f9d94e2ff9cec74180fe8f3";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spdx-license-ids"."^1.0.2" =
-    self.by-version."spdx-license-ids"."1.2.1";
-  by-spec."spdx-license-ids"."~1.2.1" =
-    self.by-version."spdx-license-ids"."1.2.1";
-  by-spec."spdy"."^1.26.5" =
-    self.by-version."spdy"."1.32.5";
-  by-version."spdy"."1.32.5" = self.buildNodePackage {
-    name = "spdy-1.32.5";
-    version = "1.32.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/spdy/-/spdy-1.32.5.tgz";
-      name = "spdy-1.32.5.tgz";
-      sha1 = "70eff23cde4e97d52a445f65afddcc5695eb5edb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."speedometer"."^0.1.2" =
-    self.by-version."speedometer"."0.1.4";
-  by-version."speedometer"."0.1.4" = self.buildNodePackage {
-    name = "speedometer-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/speedometer/-/speedometer-0.1.4.tgz";
-      name = "speedometer-0.1.4.tgz";
-      sha1 = "9876dbd2a169d3115402d48e6ea6329c8816a50d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."spin.js"."^2.0.1" =
-    self.by-version."spin.js"."2.3.2";
-  by-version."spin.js"."2.3.2" = self.buildNodePackage {
-    name = "spin.js-2.3.2";
-    version = "2.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/spin.js/-/spin.js-2.3.2.tgz";
-      name = "spin.js-2.3.2.tgz";
-      sha1 = "6caa56d520673450fd5cfbc6971e6d0772c37a1a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."split"."0.3" =
-    self.by-version."split"."0.3.3";
-  by-version."split"."0.3.3" = self.buildNodePackage {
-    name = "split-0.3.3";
-    version = "0.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/split/-/split-0.3.3.tgz";
-      name = "split-0.3.3.tgz";
-      sha1 = "cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f";
-    };
-    deps = {
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."split2"."^0.2.1" =
-    self.by-version."split2"."0.2.1";
-  by-version."split2"."0.2.1" = self.buildNodePackage {
-    name = "split2-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/split2/-/split2-0.2.1.tgz";
-      name = "split2-0.2.1.tgz";
-      sha1 = "02ddac9adc03ec0bb78c1282ec079ca6e85ae900";
-    };
-    deps = {
-      "through2-0.6.5" = self.by-version."through2"."0.6.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sprintf"."0.1.1" =
-    self.by-version."sprintf"."0.1.1";
-  by-version."sprintf"."0.1.1" = self.buildNodePackage {
-    name = "sprintf-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sprintf/-/sprintf-0.1.1.tgz";
-      name = "sprintf-0.1.1.tgz";
-      sha1 = "e8925fc9894e1aa6899e9091c7f2a12130b70de5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sprintf"."0.1.5" =
-    self.by-version."sprintf"."0.1.5";
-  by-version."sprintf"."0.1.5" = self.buildNodePackage {
-    name = "sprintf-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sprintf/-/sprintf-0.1.5.tgz";
-      name = "sprintf-0.1.5.tgz";
-      sha1 = "8f83e39a9317c1a502cb7db8050e51c679f6edcf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sprintf".">=0.1.1" =
-    self.by-version."sprintf"."0.1.5";
-  by-spec."sprintf"."~0.1.4" =
-    self.by-version."sprintf"."0.1.5";
-  by-spec."sprintf-js"."~1.0.2" =
-    self.by-version."sprintf-js"."1.0.3";
-  by-version."sprintf-js"."1.0.3" = self.buildNodePackage {
-    name = "sprintf-js-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz";
-      name = "sprintf-js-1.0.3.tgz";
-      sha1 = "04e6926f662895354f3dd015203633b857297e2c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."srt2vtt"."^1.3.1" =
-    self.by-version."srt2vtt"."1.3.1";
-  by-version."srt2vtt"."1.3.1" = self.buildNodePackage {
-    name = "srt2vtt-1.3.1";
-    version = "1.3.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/srt2vtt/-/srt2vtt-1.3.1.tgz";
-      name = "srt2vtt-1.3.1.tgz";
-      sha1 = "c2b5047c2c297b693d3bab518765e4b7c24d8173";
-    };
-    deps = {
-      "codepage-1.4.0" = self.by-version."codepage"."1.4.0";
-      "utfx-1.0.1" = self.by-version."utfx"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sshpk"."1.7.1" =
-    self.by-version."sshpk"."1.7.1";
-  by-version."sshpk"."1.7.1" = self.buildNodePackage {
-    name = "sshpk-1.7.1";
-    version = "1.7.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sshpk/-/sshpk-1.7.1.tgz";
-      name = "sshpk-1.7.1.tgz";
-      sha1 = "565e386c42a77e6062fbd14c0472ff21cd53398c";
-    };
-    deps = {
-      "asn1-0.2.3" = self.by-version."asn1"."0.2.3";
-      "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
-      "dashdash-1.14.0" = self.by-version."dashdash"."1.14.0";
-    };
-    optionalDependencies = {
-      "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
-      "tweetnacl-0.14.3" = self.by-version."tweetnacl"."0.14.3";
-      "jodid25519-1.0.2" = self.by-version."jodid25519"."1.0.2";
-      "ecc-jsbn-0.1.1" = self.by-version."ecc-jsbn"."0.1.1";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sshpk".">=1.7.0 <1.8" =
-    self.by-version."sshpk"."1.7.4";
-  by-version."sshpk"."1.7.4" = self.buildNodePackage {
-    name = "sshpk-1.7.4";
-    version = "1.7.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sshpk/-/sshpk-1.7.4.tgz";
-      name = "sshpk-1.7.4.tgz";
-      sha1 = "ad7b47defca61c8415d964243b62b0ce60fbca38";
-    };
-    deps = {
-      "asn1-0.2.3" = self.by-version."asn1"."0.2.3";
-      "assert-plus-0.2.0" = self.by-version."assert-plus"."0.2.0";
-      "dashdash-1.14.0" = self.by-version."dashdash"."1.14.0";
-    };
-    optionalDependencies = {
-      "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
-      "tweetnacl-0.14.3" = self.by-version."tweetnacl"."0.14.3";
-      "jodid25519-1.0.2" = self.by-version."jodid25519"."1.0.2";
-      "ecc-jsbn-0.1.1" = self.by-version."ecc-jsbn"."0.1.1";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sshpk"."^1.7.0" =
-    self.by-version."sshpk"."1.8.3";
-  by-version."sshpk"."1.8.3" = self.buildNodePackage {
-    name = "sshpk-1.8.3";
-    version = "1.8.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sshpk/-/sshpk-1.8.3.tgz";
-      name = "sshpk-1.8.3.tgz";
-      sha1 = "890cc9d614dc5292e5cb1a543b03c9abaa5c374e";
-    };
-    deps = {
-      "asn1-0.2.3" = self.by-version."asn1"."0.2.3";
-      "assert-plus-1.0.0" = self.by-version."assert-plus"."1.0.0";
-      "dashdash-1.14.0" = self.by-version."dashdash"."1.14.0";
-      "getpass-0.1.6" = self.by-version."getpass"."0.1.6";
-    };
-    optionalDependencies = {
-      "jsbn-0.1.0" = self.by-version."jsbn"."0.1.0";
-      "tweetnacl-0.13.3" = self.by-version."tweetnacl"."0.13.3";
-      "jodid25519-1.0.2" = self.by-version."jodid25519"."1.0.2";
-      "ecc-jsbn-0.1.1" = self.by-version."ecc-jsbn"."0.1.1";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sshpk-agent"."1.2.1" =
-    self.by-version."sshpk-agent"."1.2.1";
-  by-version."sshpk-agent"."1.2.1" = self.buildNodePackage {
-    name = "sshpk-agent-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sshpk-agent/-/sshpk-agent-1.2.1.tgz";
-      name = "sshpk-agent-1.2.1.tgz";
-      sha1 = "62e143c18530fda103320b3403e8ad42786d9718";
-    };
-    deps = {
-      "assert-plus-0.1.5" = self.by-version."assert-plus"."0.1.5";
-      "sshpk-1.7.4" = self.by-version."sshpk"."1.7.4";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ssl-root-cas"."^1.1.7" =
-    self.by-version."ssl-root-cas"."1.1.10";
-  by-version."ssl-root-cas"."1.1.10" = self.buildNodePackage {
-    name = "ssl-root-cas-1.1.10";
-    version = "1.1.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ssl-root-cas/-/ssl-root-cas-1.1.10.tgz";
-      name = "ssl-root-cas-1.1.10.tgz";
-      sha1 = "00b238105568f60b1bb98621e52f94efb7b7acad";
-    };
-    deps = {
-      "es6-promise-2.3.0" = self.by-version."es6-promise"."2.3.0";
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stable"."~0.1.3" =
-    self.by-version."stable"."0.1.5";
-  by-version."stable"."0.1.5" = self.buildNodePackage {
-    name = "stable-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stable/-/stable-0.1.5.tgz";
-      name = "stable-0.1.5.tgz";
-      sha1 = "08232f60c732e9890784b5bed0734f8b32a887b9";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stack-trace"."0.0.7" =
-    self.by-version."stack-trace"."0.0.7";
-  by-version."stack-trace"."0.0.7" = self.buildNodePackage {
-    name = "stack-trace-0.0.7";
-    version = "0.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.7.tgz";
-      name = "stack-trace-0.0.7.tgz";
-      sha1 = "c72e089744fc3659f508cdce3621af5634ec0fff";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stack-trace"."0.0.x" =
-    self.by-version."stack-trace"."0.0.9";
-  by-version."stack-trace"."0.0.9" = self.buildNodePackage {
-    name = "stack-trace-0.0.9";
-    version = "0.0.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stack-trace/-/stack-trace-0.0.9.tgz";
-      name = "stack-trace-0.0.9.tgz";
-      sha1 = "a8f6eaeca90674c333e7c43953f275b451510695";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."static-favicon"."1.0.2" =
-    self.by-version."static-favicon"."1.0.2";
-  by-version."static-favicon"."1.0.2" = self.buildNodePackage {
-    name = "static-favicon-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/static-favicon/-/static-favicon-1.0.2.tgz";
-      name = "static-favicon-1.0.2.tgz";
-      sha1 = "7c15920dda2bf33f414b0e60aebbd65cdd2a1d2f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."statuses"."1" =
-    self.by-version."statuses"."1.3.0";
-  by-version."statuses"."1.3.0" = self.buildNodePackage {
-    name = "statuses-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/statuses/-/statuses-1.3.0.tgz";
-      name = "statuses-1.3.0.tgz";
-      sha1 = "8e55758cb20e7682c1f4fce8dcab30bf01d1e07a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."statuses".">= 1.2.1 < 2" =
-    self.by-version."statuses"."1.3.0";
-  by-spec."statuses".">= 1.3.0 < 2" =
-    self.by-version."statuses"."1.3.0";
-  by-spec."statuses"."^1.2.1" =
-    self.by-version."statuses"."1.3.0";
-  by-spec."statuses"."~1.2.1" =
-    self.by-version."statuses"."1.2.1";
-  by-version."statuses"."1.2.1" = self.buildNodePackage {
-    name = "statuses-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/statuses/-/statuses-1.2.1.tgz";
-      name = "statuses-1.2.1.tgz";
-      sha1 = "dded45cc18256d51ed40aec142489d5c61026d28";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."statuses"."~1.3.0" =
-    self.by-version."statuses"."1.3.0";
-  by-spec."stream-browserify"."^1.0.0" =
-    self.by-version."stream-browserify"."1.0.0";
-  by-version."stream-browserify"."1.0.0" = self.buildNodePackage {
-    name = "stream-browserify-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-1.0.0.tgz";
-      name = "stream-browserify-1.0.0.tgz";
-      sha1 = "bf9b4abfb42b274d751479e44e0ff2656b6f1193";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-browserify"."^2.0.0" =
-    self.by-version."stream-browserify"."2.0.1";
-  by-version."stream-browserify"."2.0.1" = self.buildNodePackage {
-    name = "stream-browserify-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.1.tgz";
-      name = "stream-browserify-2.0.1.tgz";
-      sha1 = "66266ee5f9bdb9940a4e4514cafb43bb71e5c9db";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-browserify"."^2.0.1" =
-    self.by-version."stream-browserify"."2.0.1";
-  by-spec."stream-buffers"."~0.2.3" =
-    self.by-version."stream-buffers"."0.2.6";
-  by-version."stream-buffers"."0.2.6" = self.buildNodePackage {
-    name = "stream-buffers-0.2.6";
-    version = "0.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-buffers/-/stream-buffers-0.2.6.tgz";
-      name = "stream-buffers-0.2.6.tgz";
-      sha1 = "181c08d5bb3690045f69401b9ae6a7a0cf3313fc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-buffers"."~2.2.0" =
-    self.by-version."stream-buffers"."2.2.0";
-  by-version."stream-buffers"."2.2.0" = self.buildNodePackage {
-    name = "stream-buffers-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-buffers/-/stream-buffers-2.2.0.tgz";
-      name = "stream-buffers-2.2.0.tgz";
-      sha1 = "91d5f5130d1cef96dcfa7f726945188741d09ee4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-collector"."^1.0.1" =
-    self.by-version."stream-collector"."1.0.1";
-  by-version."stream-collector"."1.0.1" = self.buildNodePackage {
-    name = "stream-collector-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-collector/-/stream-collector-1.0.1.tgz";
-      name = "stream-collector-1.0.1.tgz";
-      sha1 = "4d4e55f171356121b2c5f6559f944705ab28db15";
-    };
-    deps = {
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-combiner"."~0.0.4" =
-    self.by-version."stream-combiner"."0.0.4";
-  by-version."stream-combiner"."0.0.4" = self.buildNodePackage {
-    name = "stream-combiner-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-combiner/-/stream-combiner-0.0.4.tgz";
-      name = "stream-combiner-0.0.4.tgz";
-      sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
-    };
-    deps = {
-      "duplexer-0.1.1" = self.by-version."duplexer"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-combiner2"."^1.1.1" =
-    self.by-version."stream-combiner2"."1.1.1";
-  by-version."stream-combiner2"."1.1.1" = self.buildNodePackage {
-    name = "stream-combiner2-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.1.1.tgz";
-      name = "stream-combiner2-1.1.1.tgz";
-      sha1 = "fb4d8a1420ea362764e21ad4780397bebcb41cbe";
-    };
-    deps = {
-      "duplexer2-0.1.4" = self.by-version."duplexer2"."0.1.4";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-combiner2"."~1.0.0" =
-    self.by-version."stream-combiner2"."1.0.2";
-  by-version."stream-combiner2"."1.0.2" = self.buildNodePackage {
-    name = "stream-combiner2-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-combiner2/-/stream-combiner2-1.0.2.tgz";
-      name = "stream-combiner2-1.0.2.tgz";
-      sha1 = "ba72a6b50cbfabfa950fc8bc87604bd01eb60671";
-    };
-    deps = {
-      "duplexer2-0.0.2" = self.by-version."duplexer2"."0.0.2";
-      "through2-0.5.1" = self.by-version."through2"."0.5.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-consume"."^0.1.0" =
-    self.by-version."stream-consume"."0.1.0";
-  by-version."stream-consume"."0.1.0" = self.buildNodePackage {
-    name = "stream-consume-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-consume/-/stream-consume-0.1.0.tgz";
-      name = "stream-consume-0.1.0.tgz";
-      sha1 = "a41ead1a6d6081ceb79f65b061901b6d8f3d1d0f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-consume"."~0.1.0" =
-    self.by-version."stream-consume"."0.1.0";
-  by-spec."stream-counter"."^1.0.0" =
-    self.by-version."stream-counter"."1.0.0";
-  by-version."stream-counter"."1.0.0" = self.buildNodePackage {
-    name = "stream-counter-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-counter/-/stream-counter-1.0.0.tgz";
-      name = "stream-counter-1.0.0.tgz";
-      sha1 = "91cf2569ce4dc5061febcd7acb26394a5a114751";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-counter"."~0.2.0" =
-    self.by-version."stream-counter"."0.2.0";
-  by-version."stream-counter"."0.2.0" = self.buildNodePackage {
-    name = "stream-counter-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-counter/-/stream-counter-0.2.0.tgz";
-      name = "stream-counter-0.2.0.tgz";
-      sha1 = "ded266556319c8b0e222812b9cf3b26fa7d947de";
-    };
-    deps = {
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-events"."^1.0.1" =
-    self.by-version."stream-events"."1.0.1";
-  by-version."stream-events"."1.0.1" = self.buildNodePackage {
-    name = "stream-events-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-events/-/stream-events-1.0.1.tgz";
-      name = "stream-events-1.0.1.tgz";
-      sha1 = "4fe7b2bbfcc53e6af31087e8c540483f412ce8c6";
-    };
-    deps = {
-      "stubs-1.1.2" = self.by-version."stubs"."1.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-http"."^2.0.0" =
-    self.by-version."stream-http"."2.3.0";
-  by-version."stream-http"."2.3.0" = self.buildNodePackage {
-    name = "stream-http-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-http/-/stream-http-2.3.0.tgz";
-      name = "stream-http-2.3.0.tgz";
-      sha1 = "d77de76f6211072119f8d2a49a118717b8feeaa3";
-    };
-    deps = {
-      "builtin-status-codes-2.0.0" = self.by-version."builtin-status-codes"."2.0.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-      "to-arraybuffer-1.0.1" = self.by-version."to-arraybuffer"."1.0.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-splicer"."^1.1.0" =
-    self.by-version."stream-splicer"."1.3.2";
-  by-version."stream-splicer"."1.3.2" = self.buildNodePackage {
-    name = "stream-splicer-1.3.2";
-    version = "1.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-splicer/-/stream-splicer-1.3.2.tgz";
-      name = "stream-splicer-1.3.2.tgz";
-      sha1 = "3c0441be15b9bf4e226275e6dc83964745546661";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "isarray-0.0.1" = self.by-version."isarray"."0.0.1";
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "readable-wrap-1.0.0" = self.by-version."readable-wrap"."1.0.0";
-      "through2-1.1.1" = self.by-version."through2"."1.1.1";
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-splicer"."^2.0.0" =
-    self.by-version."stream-splicer"."2.0.0";
-  by-version."stream-splicer"."2.0.0" = self.buildNodePackage {
-    name = "stream-splicer-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-splicer/-/stream-splicer-2.0.0.tgz";
-      name = "stream-splicer-2.0.0.tgz";
-      sha1 = "1b63be438a133e4b671cc1935197600175910d83";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-to-array"."~1.0.0" =
-    self.by-version."stream-to-array"."1.0.0";
-  by-version."stream-to-array"."1.0.0" = self.buildNodePackage {
-    name = "stream-to-array-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-to-array/-/stream-to-array-1.0.0.tgz";
-      name = "stream-to-array-1.0.0.tgz";
-      sha1 = "94166bb29f3ea24f082d2f8cd3ebb2cc0d6eca2c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-transcoder"."0.0.5" =
-    self.by-version."stream-transcoder"."0.0.5";
-  by-version."stream-transcoder"."0.0.5" = self.buildNodePackage {
-    name = "stream-transcoder-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-transcoder/-/stream-transcoder-0.0.5.tgz";
-      name = "stream-transcoder-0.0.5.tgz";
-      sha1 = "68261be4efb48840239b5791af23ee3b8bd79808";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stream-transform"."^0.1.0" =
-    self.by-version."stream-transform"."0.1.1";
-  by-version."stream-transform"."0.1.1" = self.buildNodePackage {
-    name = "stream-transform-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stream-transform/-/stream-transform-0.1.1.tgz";
-      name = "stream-transform-0.1.1.tgz";
-      sha1 = "0a54a2b81eea88da55a50df2441cb63edc101c71";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."streamsearch"."0.1.2" =
-    self.by-version."streamsearch"."0.1.2";
-  by-version."streamsearch"."0.1.2" = self.buildNodePackage {
-    name = "streamsearch-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/streamsearch/-/streamsearch-0.1.2.tgz";
-      name = "streamsearch-0.1.2.tgz";
-      sha1 = "808b9d0e56fc273d809ba57338e929919a1a9f1a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string"."1.6.1" =
-    self.by-version."string"."1.6.1";
-  by-version."string"."1.6.1" = self.buildNodePackage {
-    name = "string-1.6.1";
-    version = "1.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/string/-/string-1.6.1.tgz";
-      name = "string-1.6.1.tgz";
-      sha1 = "eabe0956da7a8291c6de7486f7b35e58d031cd55";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string-length"."^1.0.0" =
-    self.by-version."string-length"."1.0.1";
-  by-version."string-length"."1.0.1" = self.buildNodePackage {
-    name = "string-length-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/string-length/-/string-length-1.0.1.tgz";
-      name = "string-length-1.0.1.tgz";
-      sha1 = "56970fb1c38558e9e70b728bf3de269ac45adfac";
-    };
-    deps = {
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string-template"."~0.2.0" =
-    self.by-version."string-template"."0.2.1";
-  by-version."string-template"."0.2.1" = self.buildNodePackage {
-    name = "string-template-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/string-template/-/string-template-0.2.1.tgz";
-      name = "string-template-0.2.1.tgz";
-      sha1 = "42932e598a352d01fc22ec3367d9d84eec6c9add";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string-width"."^1.0.1" =
-    self.by-version."string-width"."1.0.1";
-  by-version."string-width"."1.0.1" = self.buildNodePackage {
-    name = "string-width-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/string-width/-/string-width-1.0.1.tgz";
-      name = "string-width-1.0.1.tgz";
-      sha1 = "c92129b6f1d7f52acf9af424a26e3864a05ceb0a";
-    };
-    deps = {
-      "code-point-at-1.0.0" = self.by-version."code-point-at"."1.0.0";
-      "is-fullwidth-code-point-1.0.0" = self.by-version."is-fullwidth-code-point"."1.0.0";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string.prototype.startswith"."^0.2.0" =
-    self.by-version."string.prototype.startswith"."0.2.0";
-  by-version."string.prototype.startswith"."0.2.0" = self.buildNodePackage {
-    name = "string.prototype.startswith-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/string.prototype.startswith/-/string.prototype.startswith-0.2.0.tgz";
-      name = "string.prototype.startswith-0.2.0.tgz";
-      sha1 = "da68982e353a4e9ac4a43b450a2045d1c445ae7b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string2compact"."^1.1.1" =
-    self.by-version."string2compact"."1.2.2";
-  by-version."string2compact"."1.2.2" = self.buildNodePackage {
-    name = "string2compact-1.2.2";
-    version = "1.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/string2compact/-/string2compact-1.2.2.tgz";
-      name = "string2compact-1.2.2.tgz";
-      sha1 = "420b3a9ee1c46854919b4a2aeac65c43fa50597b";
-    };
-    deps = {
-      "addr-to-ip-port-1.4.2" = self.by-version."addr-to-ip-port"."1.4.2";
-      "ipaddr.js-1.1.1" = self.by-version."ipaddr.js"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string_decoder"."~0.10.0" =
-    self.by-version."string_decoder"."0.10.31";
-  by-version."string_decoder"."0.10.31" = self.buildNodePackage {
-    name = "string_decoder-0.10.31";
-    version = "0.10.31";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/string_decoder/-/string_decoder-0.10.31.tgz";
-      name = "string_decoder-0.10.31.tgz";
-      sha1 = "62e203bc41766c6c28c9fc84301dab1c5310fa94";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."string_decoder"."~0.10.25" =
-    self.by-version."string_decoder"."0.10.31";
-  by-spec."string_decoder"."~0.10.x" =
-    self.by-version."string_decoder"."0.10.31";
-  by-spec."stringmap"."~0.2.2" =
-    self.by-version."stringmap"."0.2.2";
-  by-version."stringmap"."0.2.2" = self.buildNodePackage {
-    name = "stringmap-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stringmap/-/stringmap-0.2.2.tgz";
-      name = "stringmap-0.2.2.tgz";
-      sha1 = "556c137b258f942b8776f5b2ef582aa069d7d1b1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stringset"."~0.2.1" =
-    self.by-version."stringset"."0.2.1";
-  by-version."stringset"."0.2.1" = self.buildNodePackage {
-    name = "stringset-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stringset/-/stringset-0.2.1.tgz";
-      name = "stringset-0.2.1.tgz";
-      sha1 = "ef259c4e349344377fcd1c913dd2e848c9c042b5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stringstream"."~0.0.4" =
-    self.by-version."stringstream"."0.0.5";
-  by-version."stringstream"."0.0.5" = self.buildNodePackage {
-    name = "stringstream-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stringstream/-/stringstream-0.0.5.tgz";
-      name = "stringstream-0.0.5.tgz";
-      sha1 = "4e484cd4de5a0bbbee18e46307710a8a81621878";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-ansi"."^0.3.0" =
-    self.by-version."strip-ansi"."0.3.0";
-  by-version."strip-ansi"."0.3.0" = self.buildNodePackage {
-    name = "strip-ansi-0.3.0";
-    version = "0.3.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-0.3.0.tgz";
-      name = "strip-ansi-0.3.0.tgz";
-      sha1 = "25f48ea22ca79187f3174a4db8759347bb126220";
-    };
-    deps = {
-      "ansi-regex-0.2.1" = self.by-version."ansi-regex"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-ansi"."^2.0.1" =
-    self.by-version."strip-ansi"."2.0.1";
-  by-version."strip-ansi"."2.0.1" = self.buildNodePackage {
-    name = "strip-ansi-2.0.1";
-    version = "2.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-2.0.1.tgz";
-      name = "strip-ansi-2.0.1.tgz";
-      sha1 = "df62c1aa94ed2f114e1d0f21fd1d50482b79a60e";
-    };
-    deps = {
-      "ansi-regex-1.1.1" = self.by-version."ansi-regex"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-ansi"."^3.0.0" =
-    self.by-version."strip-ansi"."3.0.1";
-  by-version."strip-ansi"."3.0.1" = self.buildNodePackage {
-    name = "strip-ansi-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz";
-      name = "strip-ansi-3.0.1.tgz";
-      sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
-    };
-    deps = {
-      "ansi-regex-2.0.0" = self.by-version."ansi-regex"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-ansi"."^3.0.1" =
-    self.by-version."strip-ansi"."3.0.1";
-  by-spec."strip-ansi"."~3.0.1" =
-    self.by-version."strip-ansi"."3.0.1";
-  by-spec."strip-bom"."^1.0.0" =
-    self.by-version."strip-bom"."1.0.0";
-  by-version."strip-bom"."1.0.0" = self.buildNodePackage {
-    name = "strip-bom-1.0.0";
-    version = "1.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strip-bom/-/strip-bom-1.0.0.tgz";
-      name = "strip-bom-1.0.0.tgz";
-      sha1 = "85b8862f3844b5a6d5ec8467a93598173a36f794";
-    };
-    deps = {
-      "first-chunk-stream-1.0.0" = self.by-version."first-chunk-stream"."1.0.0";
-      "is-utf8-0.2.1" = self.by-version."is-utf8"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-bom"."^2.0.0" =
-    self.by-version."strip-bom"."2.0.0";
-  by-version."strip-bom"."2.0.0" = self.buildNodePackage {
-    name = "strip-bom-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strip-bom/-/strip-bom-2.0.0.tgz";
-      name = "strip-bom-2.0.0.tgz";
-      sha1 = "6219a85616520491f35788bdbf1447a99c7e6b0e";
-    };
-    deps = {
-      "is-utf8-0.2.1" = self.by-version."is-utf8"."0.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-bom-stream"."^1.0.0" =
-    self.by-version."strip-bom-stream"."1.0.0";
-  by-version."strip-bom-stream"."1.0.0" = self.buildNodePackage {
-    name = "strip-bom-stream-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strip-bom-stream/-/strip-bom-stream-1.0.0.tgz";
-      name = "strip-bom-stream-1.0.0.tgz";
-      sha1 = "e7144398577d51a6bed0fa1994fa05f43fd988ee";
-    };
-    deps = {
-      "first-chunk-stream-1.0.0" = self.by-version."first-chunk-stream"."1.0.0";
-      "strip-bom-2.0.0" = self.by-version."strip-bom"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-indent"."^1.0.1" =
-    self.by-version."strip-indent"."1.0.1";
-  by-version."strip-indent"."1.0.1" = self.buildNodePackage {
-    name = "strip-indent-1.0.1";
-    version = "1.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strip-indent/-/strip-indent-1.0.1.tgz";
-      name = "strip-indent-1.0.1.tgz";
-      sha1 = "0c7962a6adefa7bbd4ac366460a638552ae1a0a2";
-    };
-    deps = {
-      "get-stdin-4.0.1" = self.by-version."get-stdin"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-json-comments"."0.1.x" =
-    self.by-version."strip-json-comments"."0.1.3";
-  by-version."strip-json-comments"."0.1.3" = self.buildNodePackage {
-    name = "strip-json-comments-0.1.3";
-    version = "0.1.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-0.1.3.tgz";
-      name = "strip-json-comments-0.1.3.tgz";
-      sha1 = "164c64e370a8a3cc00c9e01b539e569823f0ee54";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-json-comments"."1.0.x" =
-    self.by-version."strip-json-comments"."1.0.4";
-  by-version."strip-json-comments"."1.0.4" = self.buildNodePackage {
-    name = "strip-json-comments-1.0.4";
-    version = "1.0.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-1.0.4.tgz";
-      name = "strip-json-comments-1.0.4.tgz";
-      sha1 = "1e15fbcac97d3ee99bf2d73b4c656b082bbafb91";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."strip-json-comments"."~0.1.1" =
-    self.by-version."strip-json-comments"."0.1.3";
-  by-spec."strip-json-comments"."~1.0.1" =
-    self.by-version."strip-json-comments"."1.0.4";
-  by-spec."strip-json-comments"."~1.0.4" =
-    self.by-version."strip-json-comments"."1.0.4";
-  by-spec."strong-data-uri"."^1.0.0" =
-    self.by-version."strong-data-uri"."1.0.4";
-  by-version."strong-data-uri"."1.0.4" = self.buildNodePackage {
-    name = "strong-data-uri-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/strong-data-uri/-/strong-data-uri-1.0.4.tgz";
-      name = "strong-data-uri-1.0.4.tgz";
-      sha1 = "136765ebaf8e0f4ad60c4b146779f062c29d18f0";
-    };
-    deps = {
-      "truncate-1.0.5" = self.by-version."truncate"."1.0.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stubs"."^1.1.0" =
-    self.by-version."stubs"."1.1.2";
-  by-version."stubs"."1.1.2" = self.buildNodePackage {
-    name = "stubs-1.1.2";
-    version = "1.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stubs/-/stubs-1.1.2.tgz";
-      name = "stubs-1.1.2.tgz";
-      sha1 = "945a08975016318762f8f7060731002ab2a0960c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stylus"."*" =
-    self.by-version."stylus"."0.54.5";
-  by-version."stylus"."0.54.5" = self.buildNodePackage {
-    name = "stylus-0.54.5";
-    version = "0.54.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stylus/-/stylus-0.54.5.tgz";
-      name = "stylus-0.54.5.tgz";
-      sha1 = "42b9560931ca7090ce8515a798ba9e6aa3d6dc79";
-    };
-    deps = {
-      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "sax-0.5.8" = self.by-version."sax"."0.5.8";
-      "glob-7.0.3" = self.by-version."glob"."7.0.3";
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "stylus" = self.by-version."stylus"."0.54.5";
-  by-spec."stylus"."0.49.x" =
-    self.by-version."stylus"."0.49.3";
-  by-version."stylus"."0.49.3" = self.buildNodePackage {
-    name = "stylus-0.49.3";
-    version = "0.49.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stylus/-/stylus-0.49.3.tgz";
-      name = "stylus-0.49.3.tgz";
-      sha1 = "1fbdabe479ed460872c71a6252a67f95040ba511";
-    };
-    deps = {
-      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "sax-0.5.8" = self.by-version."sax"."0.5.8";
-      "glob-3.2.11" = self.by-version."glob"."3.2.11";
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."stylus"."~0.52.4" =
-    self.by-version."stylus"."0.52.4";
-  by-version."stylus"."0.52.4" = self.buildNodePackage {
-    name = "stylus-0.52.4";
-    version = "0.52.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/stylus/-/stylus-0.52.4.tgz";
-      name = "stylus-0.52.4.tgz";
-      sha1 = "6551b5f0bfdcf29ee7f0fe0a59b7eb6ff26d2539";
-    };
-    deps = {
-      "css-parse-1.7.0" = self.by-version."css-parse"."1.7.0";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "sax-0.5.8" = self.by-version."sax"."0.5.8";
-      "glob-3.2.11" = self.by-version."glob"."3.2.11";
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."subarg"."^1.0.0" =
-    self.by-version."subarg"."1.0.0";
-  by-version."subarg"."1.0.0" = self.buildNodePackage {
-    name = "subarg-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/subarg/-/subarg-1.0.0.tgz";
-      name = "subarg-1.0.0.tgz";
-      sha1 = "f62cf17581e996b48fc965699f54c06ae268b8d2";
-    };
-    deps = {
-      "minimist-1.2.0" = self.by-version."minimist"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sugar"."^1.4.1" =
-    self.by-version."sugar"."1.4.1";
-  by-version."sugar"."1.4.1" = self.buildNodePackage {
-    name = "sugar-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sugar/-/sugar-1.4.1.tgz";
-      name = "sugar-1.4.1.tgz";
-      sha1 = "1310d4dedc699e5a173183718541b0d7844a7598";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."superagent"."1.8.3" =
-    self.by-version."superagent"."1.8.3";
-  by-version."superagent"."1.8.3" = self.buildNodePackage {
-    name = "superagent-1.8.3";
-    version = "1.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/superagent/-/superagent-1.8.3.tgz";
-      name = "superagent-1.8.3.tgz";
-      sha1 = "2b7d70fcc870eda4f2a61e619dd54009b86547c3";
-    };
-    deps = {
-      "qs-2.3.3" = self.by-version."qs"."2.3.3";
-      "formidable-1.0.17" = self.by-version."formidable"."1.0.17";
-      "mime-1.3.4" = self.by-version."mime"."1.3.4";
-      "component-emitter-1.2.1" = self.by-version."component-emitter"."1.2.1";
-      "methods-1.1.2" = self.by-version."methods"."1.1.2";
-      "cookiejar-2.0.6" = self.by-version."cookiejar"."2.0.6";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-      "form-data-1.0.0-rc3" = self.by-version."form-data"."1.0.0-rc3";
-      "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."superagent"."^0.21.0" =
-    self.by-version."superagent"."0.21.0";
-  by-version."superagent"."0.21.0" = self.buildNodePackage {
-    name = "superagent-0.21.0";
-    version = "0.21.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/superagent/-/superagent-0.21.0.tgz";
-      name = "superagent-0.21.0.tgz";
-      sha1 = "fb15027984751ee7152200e6cd21cd6e19a5de87";
-    };
-    deps = {
-      "qs-1.2.0" = self.by-version."qs"."1.2.0";
-      "formidable-1.0.14" = self.by-version."formidable"."1.0.14";
-      "mime-1.2.11" = self.by-version."mime"."1.2.11";
-      "component-emitter-1.1.2" = self.by-version."component-emitter"."1.1.2";
-      "methods-1.0.1" = self.by-version."methods"."1.0.1";
-      "cookiejar-2.0.1" = self.by-version."cookiejar"."2.0.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "reduce-component-1.0.1" = self.by-version."reduce-component"."1.0.1";
-      "extend-1.2.1" = self.by-version."extend"."1.2.1";
-      "form-data-0.1.3" = self.by-version."form-data"."0.1.3";
-      "readable-stream-1.0.27-1" = self.by-version."readable-stream"."1.0.27-1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."superagent"."^1.8.3" =
-    self.by-version."superagent"."1.8.3";
-  by-spec."superagent"."~0.21.0" =
-    self.by-version."superagent"."0.21.0";
-  by-spec."supports-color"."1.2.0" =
-    self.by-version."supports-color"."1.2.0";
-  by-version."supports-color"."1.2.0" = self.buildNodePackage {
-    name = "supports-color-1.2.0";
-    version = "1.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/supports-color/-/supports-color-1.2.0.tgz";
-      name = "supports-color-1.2.0.tgz";
-      sha1 = "ff1ed1e61169d06b3cf2d588e188b18d8847e17e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."supports-color"."^0.2.0" =
-    self.by-version."supports-color"."0.2.0";
-  by-version."supports-color"."0.2.0" = self.buildNodePackage {
-    name = "supports-color-0.2.0";
-    version = "0.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/supports-color/-/supports-color-0.2.0.tgz";
-      name = "supports-color-0.2.0.tgz";
-      sha1 = "d92de2694eb3f67323973d7ae3d8b55b4c22190a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."supports-color"."^1.3.0" =
-    self.by-version."supports-color"."1.3.1";
-  by-version."supports-color"."1.3.1" = self.buildNodePackage {
-    name = "supports-color-1.3.1";
-    version = "1.3.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/supports-color/-/supports-color-1.3.1.tgz";
-      name = "supports-color-1.3.1.tgz";
-      sha1 = "15758df09d8ff3b4acc307539fabe27095e1042d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."supports-color"."^2.0.0" =
-    self.by-version."supports-color"."2.0.0";
-  by-version."supports-color"."2.0.0" = self.buildNodePackage {
-    name = "supports-color-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz";
-      name = "supports-color-2.0.0.tgz";
-      sha1 = "535d045ce6b6363fa40117084629995e9df324c7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."supports-color"."^3.1.0" =
-    self.by-version."supports-color"."3.1.2";
-  by-version."supports-color"."3.1.2" = self.buildNodePackage {
-    name = "supports-color-3.1.2";
-    version = "3.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/supports-color/-/supports-color-3.1.2.tgz";
-      name = "supports-color-3.1.2.tgz";
-      sha1 = "72a262894d9d408b956ca05ff37b2ed8a6e2a2d5";
-    };
-    deps = {
-      "has-flag-1.0.0" = self.by-version."has-flag"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."supports-color"."^3.1.2" =
-    self.by-version."supports-color"."3.1.2";
-  by-spec."svgo"."*" =
-    self.by-version."svgo"."0.6.6";
-  by-version."svgo"."0.6.6" = self.buildNodePackage {
-    name = "svgo-0.6.6";
-    version = "0.6.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/svgo/-/svgo-0.6.6.tgz";
-      name = "svgo-0.6.6.tgz";
-      sha1 = "b340889036f20f9b447543077d0f5573ed044c08";
-    };
-    deps = {
-      "sax-1.2.1" = self.by-version."sax"."1.2.1";
-      "coa-1.0.1" = self.by-version."coa"."1.0.1";
-      "js-yaml-3.6.1" = self.by-version."js-yaml"."3.6.1";
-      "colors-1.1.2" = self.by-version."colors"."1.1.2";
-      "whet.extend-0.9.9" = self.by-version."whet.extend"."0.9.9";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "csso-2.0.0" = self.by-version."csso"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "svgo" = self.by-version."svgo"."0.6.6";
-  by-spec."swig"."0.14.x" =
-    self.by-version."swig"."0.14.0";
-  by-version."swig"."0.14.0" = self.buildNodePackage {
-    name = "swig-0.14.0";
-    version = "0.14.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/swig/-/swig-0.14.0.tgz";
-      name = "swig-0.14.0.tgz";
-      sha1 = "544bfb3bd837608873eed6a72c672a28cb1f1b3f";
-    };
-    deps = {
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "swig" = self.by-version."swig"."0.14.0";
-  by-spec."sylvester".">= 0.0.12" =
-    self.by-version."sylvester"."0.0.21";
-  by-version."sylvester"."0.0.21" = self.buildNodePackage {
-    name = "sylvester-0.0.21";
-    version = "0.0.21";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sylvester/-/sylvester-0.0.21.tgz";
-      name = "sylvester-0.0.21.tgz";
-      sha1 = "2987b1ce2bd2f38b0dce2a34388884bfa4400ea7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sylvester".">= 0.0.8" =
-    self.by-version."sylvester"."0.0.21";
-  by-spec."symbol"."^0.2.1" =
-    self.by-version."symbol"."0.2.3";
-  by-version."symbol"."0.2.3" = self.buildNodePackage {
-    name = "symbol-0.2.3";
-    version = "0.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/symbol/-/symbol-0.2.3.tgz";
-      name = "symbol-0.2.3.tgz";
-      sha1 = "3b9873b8a901e47c6efe21526a3ac372ef28bbc7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."sync-exec"."0.6.2" =
-    self.by-version."sync-exec"."0.6.2";
-  by-version."sync-exec"."0.6.2" = self.buildNodePackage {
-    name = "sync-exec-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/sync-exec/-/sync-exec-0.6.2.tgz";
-      name = "sync-exec-0.6.2.tgz";
-      sha1 = "717d22cc53f0ce1def5594362f3a89a2ebb91105";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."syntax-error"."^1.1.1" =
-    self.by-version."syntax-error"."1.1.6";
-  by-version."syntax-error"."1.1.6" = self.buildNodePackage {
-    name = "syntax-error-1.1.6";
-    version = "1.1.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/syntax-error/-/syntax-error-1.1.6.tgz";
-      name = "syntax-error-1.1.6.tgz";
-      sha1 = "b4549706d386cc1c1dc7c2423f18579b6cade710";
-    };
-    deps = {
-      "acorn-2.7.0" = self.by-version."acorn"."2.7.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."table"."^3.7.8" =
-    self.by-version."table"."3.7.8";
-  by-version."table"."3.7.8" = self.buildNodePackage {
-    name = "table-3.7.8";
-    version = "3.7.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/table/-/table-3.7.8.tgz";
-      name = "table-3.7.8.tgz";
-      sha1 = "b424433ef596851922b2fd77224a69a1951618eb";
-    };
-    deps = {
-      "bluebird-3.4.0" = self.by-version."bluebird"."3.4.0";
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-      "slice-ansi-0.0.4" = self.by-version."slice-ansi"."0.0.4";
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-      "strip-ansi-3.0.1" = self.by-version."strip-ansi"."3.0.1";
-      "tv4-1.2.7" = self.by-version."tv4"."1.2.7";
-      "xregexp-3.1.1" = self.by-version."xregexp"."3.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tabtab"."git+https://github.com/mixu/node-tabtab.git" =
-    self.by-version."tabtab"."0.0.2";
-  by-version."tabtab"."0.0.2" = self.buildNodePackage {
-    name = "tabtab-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchgit {
-      url = "https://github.com/mixu/node-tabtab.git";
-      rev = "94af2b878b174527b6636aec88acd46979247755";
-      sha256 = "c824206b33da96cf5c01c21f1b133a0e3568e07ee4dcc9beefa8226864cd0272";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tapable"."^0.1.8" =
-    self.by-version."tapable"."0.1.10";
-  by-version."tapable"."0.1.10" = self.buildNodePackage {
-    name = "tapable-0.1.10";
-    version = "0.1.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tapable/-/tapable-0.1.10.tgz";
-      name = "tapable-0.1.10.tgz";
-      sha1 = "29c35707c2b70e50d07482b5d202e8ed446dafd4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tapable"."^0.2.3" =
-    self.by-version."tapable"."0.2.4";
-  by-version."tapable"."0.2.4" = self.buildNodePackage {
-    name = "tapable-0.2.4";
-    version = "0.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tapable/-/tapable-0.2.4.tgz";
-      name = "tapable-0.2.4.tgz";
-      sha1 = "a7814605089d4ba896c33c7e3566e13dcd194aa5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tapable"."~0.2.3" =
-    self.by-version."tapable"."0.2.4";
-  by-spec."tape"."~2.3.2" =
-    self.by-version."tape"."2.3.3";
-  by-version."tape"."2.3.3" = self.buildNodePackage {
-    name = "tape-2.3.3";
-    version = "2.3.3";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tape/-/tape-2.3.3.tgz";
-      name = "tape-2.3.3.tgz";
-      sha1 = "2e7ce0a31df09f8d6851664a71842e0ca5057af7";
-    };
-    deps = {
-      "jsonify-0.0.0" = self.by-version."jsonify"."0.0.0";
-      "deep-equal-0.1.2" = self.by-version."deep-equal"."0.1.2";
-      "defined-0.0.0" = self.by-version."defined"."0.0.0";
-      "through-2.3.8" = self.by-version."through"."2.3.8";
-      "resumer-0.0.0" = self.by-version."resumer"."0.0.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tar"."*" =
-    self.by-version."tar"."2.2.1";
-  by-version."tar"."2.2.1" = self.buildNodePackage {
-    name = "tar-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tar/-/tar-2.2.1.tgz";
-      name = "tar-2.2.1.tgz";
-      sha1 = "8e4d2a256c0e2185c6b18ad694aec968b83cb1d1";
-    };
-    deps = {
-      "block-stream-0.0.9" = self.by-version."block-stream"."0.0.9";
-      "fstream-1.0.9" = self.by-version."fstream"."1.0.9";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "tar" = self.by-version."tar"."2.2.1";
-  by-spec."tar"."0.1.17" =
-    self.by-version."tar"."0.1.17";
-  by-version."tar"."0.1.17" = self.buildNodePackage {
-    name = "tar-0.1.17";
-    version = "0.1.17";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tar/-/tar-0.1.17.tgz";
-      name = "tar-0.1.17.tgz";
-      sha1 = "408c8a95deb8e78a65b59b1a51a333183a32badc";
-    };
-    deps = {
-      "inherits-1.0.2" = self.by-version."inherits"."1.0.2";
-      "block-stream-0.0.9" = self.by-version."block-stream"."0.0.9";
-      "fstream-0.1.31" = self.by-version."fstream"."0.1.31";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tar"."1.0.2" =
-    self.by-version."tar"."1.0.2";
-  by-version."tar"."1.0.2" = self.buildNodePackage {
-    name = "tar-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tar/-/tar-1.0.2.tgz";
-      name = "tar-1.0.2.tgz";
-      sha1 = "8b0f6740f9946259de26a3ed9c9a22890dff023f";
-    };
-    deps = {
-      "block-stream-0.0.9" = self.by-version."block-stream"."0.0.9";
-      "fstream-1.0.9" = self.by-version."fstream"."1.0.9";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tar"."^2.0.0" =
-    self.by-version."tar"."2.2.1";
-  by-spec."tar"."~2.2.0" =
-    self.by-version."tar"."2.2.1";
-  by-spec."tar"."~2.2.1" =
-    self.by-version."tar"."2.2.1";
-  by-spec."tar-pack"."~3.1.0" =
-    self.by-version."tar-pack"."3.1.3";
-  by-version."tar-pack"."3.1.3" = self.buildNodePackage {
-    name = "tar-pack-3.1.3";
-    version = "3.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tar-pack/-/tar-pack-3.1.3.tgz";
-      name = "tar-pack-3.1.3.tgz";
-      sha1 = "611b7e62eb2f27aeda64554f7a7fb48900c7e157";
-    };
-    deps = {
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "fstream-1.0.9" = self.by-version."fstream"."1.0.9";
-      "fstream-ignore-1.0.5" = self.by-version."fstream-ignore"."1.0.5";
-      "once-1.3.3" = self.by-version."once"."1.3.3";
-      "readable-stream-2.0.6" = self.by-version."readable-stream"."2.0.6";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "tar-2.2.1" = self.by-version."tar"."2.2.1";
-      "uid-number-0.0.6" = self.by-version."uid-number"."0.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tar-stream"."^1.0.0" =
-    self.by-version."tar-stream"."1.5.2";
-  by-version."tar-stream"."1.5.2" = self.buildNodePackage {
-    name = "tar-stream-1.5.2";
-    version = "1.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.5.2.tgz";
-      name = "tar-stream-1.5.2.tgz";
-      sha1 = "fbc6c6e83c1a19d4cb48c7d96171fc248effc7bf";
-    };
-    deps = {
-      "bl-1.1.2" = self.by-version."bl"."1.1.2";
-      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tar-stream"."~1.1.0" =
-    self.by-version."tar-stream"."1.1.5";
-  by-version."tar-stream"."1.1.5" = self.buildNodePackage {
-    name = "tar-stream-1.1.5";
-    version = "1.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tar-stream/-/tar-stream-1.1.5.tgz";
-      name = "tar-stream-1.1.5.tgz";
-      sha1 = "be9218c130c20029e107b0f967fb23de0579d13c";
-    };
-    deps = {
-      "bl-0.9.5" = self.by-version."bl"."0.9.5";
-      "end-of-stream-1.1.0" = self.by-version."end-of-stream"."1.1.0";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."temp"."*" =
-    self.by-version."temp"."0.8.3";
-  by-version."temp"."0.8.3" = self.buildNodePackage {
-    name = "temp-0.8.3";
-    version = "0.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/temp/-/temp-0.8.3.tgz";
-      name = "temp-0.8.3.tgz";
-      sha1 = "e0c6bc4d26b903124410e4fed81103014dfc1f59";
-    };
-    deps = {
-      "os-tmpdir-1.0.1" = self.by-version."os-tmpdir"."1.0.1";
-      "rimraf-2.2.8" = self.by-version."rimraf"."2.2.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "temp" = self.by-version."temp"."0.8.3";
-  by-spec."temp"."0.6.0" =
-    self.by-version."temp"."0.6.0";
-  by-version."temp"."0.6.0" = self.buildNodePackage {
-    name = "temp-0.6.0";
-    version = "0.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/temp/-/temp-0.6.0.tgz";
-      name = "temp-0.6.0.tgz";
-      sha1 = "6b13df5cddf370f2e3a606ca40f202c419173f07";
-    };
-    deps = {
-      "rimraf-2.1.4" = self.by-version."rimraf"."2.1.4";
-      "osenv-0.0.3" = self.by-version."osenv"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."temp"."0.8.3" =
-    self.by-version."temp"."0.8.3";
-  by-spec."temp".">=0.5.0" =
-    self.by-version."temp"."0.8.3";
-  by-spec."temp"."^0.8.1" =
-    self.by-version."temp"."0.8.3";
-  by-spec."temp"."~0.8.3" =
-    self.by-version."temp"."0.8.3";
-  by-spec."tern"."*" =
-    self.by-version."tern"."0.18.0";
-  by-version."tern"."0.18.0" = self.buildNodePackage {
-    name = "tern-0.18.0";
-    version = "0.18.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tern/-/tern-0.18.0.tgz";
-      name = "tern-0.18.0.tgz";
-      sha1 = "c6177fe395c8ffc9c512f0ec7452a7d9c6220fa6";
-    };
-    deps = {
-      "acorn-2.7.0" = self.by-version."acorn"."2.7.0";
-      "enhanced-resolve-0.9.1" = self.by-version."enhanced-resolve"."0.9.1";
-      "glob-3.2.11" = self.by-version."glob"."3.2.11";
-      "minimatch-0.2.14" = self.by-version."minimatch"."0.2.14";
-      "typescript-1.0.1" = self.by-version."typescript"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "tern" = self.by-version."tern"."0.18.0";
-  by-spec."text-encoding"."0.5.2" =
-    self.by-version."text-encoding"."0.5.2";
-  by-version."text-encoding"."0.5.2" = self.buildNodePackage {
-    name = "text-encoding-0.5.2";
-    version = "0.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/text-encoding/-/text-encoding-0.5.2.tgz";
-      name = "text-encoding-0.5.2.tgz";
-      sha1 = "85b4660819f088777609465551690fea137d824a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."text-table"."~0.2.0" =
-    self.by-version."text-table"."0.2.0";
-  by-version."text-table"."0.2.0" = self.buildNodePackage {
-    name = "text-table-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz";
-      name = "text-table-0.2.0.tgz";
-      sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."thirty-two"."^0.0.2" =
-    self.by-version."thirty-two"."0.0.2";
-  by-version."thirty-two"."0.0.2" = self.buildNodePackage {
-    name = "thirty-two-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/thirty-two/-/thirty-two-0.0.2.tgz";
-      name = "thirty-two-0.0.2.tgz";
-      sha1 = "4253e29d8cb058f0480267c5698c0e4927e54b6a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."thirty-two"."^1.0.1" =
-    self.by-version."thirty-two"."1.0.1";
-  by-version."thirty-two"."1.0.1" = self.buildNodePackage {
-    name = "thirty-two-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/thirty-two/-/thirty-two-1.0.1.tgz";
-      name = "thirty-two-1.0.1.tgz";
-      sha1 = "fa500a927cfba6cfb4e767712b18106d395baf1d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."thirty-two"."~0.0.1" =
-    self.by-version."thirty-two"."0.0.2";
-  by-spec."throttleit"."^1.0.0" =
-    self.by-version."throttleit"."1.0.0";
-  by-version."throttleit"."1.0.0" = self.buildNodePackage {
-    name = "throttleit-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/throttleit/-/throttleit-1.0.0.tgz";
-      name = "throttleit-1.0.0.tgz";
-      sha1 = "9e785836daf46743145a5984b6268d828528ac6c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."throttleit"."~0.0.2" =
-    self.by-version."throttleit"."0.0.2";
-  by-version."throttleit"."0.0.2" = self.buildNodePackage {
-    name = "throttleit-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/throttleit/-/throttleit-0.0.2.tgz";
-      name = "throttleit-0.0.2.tgz";
-      sha1 = "cfedf88e60c00dd9697b61fdd2a8343a9b680eaf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through"."2" =
-    self.by-version."through"."2.3.8";
-  by-version."through"."2.3.8" = self.buildNodePackage {
-    name = "through-2.3.8";
-    version = "2.3.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
-      name = "through-2.3.8.tgz";
-      sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through".">=2.2.7 <3" =
-    self.by-version."through"."2.3.8";
-  by-spec."through"."^2.3.6" =
-    self.by-version."through"."2.3.8";
-  by-spec."through"."^2.3.7" =
-    self.by-version."through"."2.3.8";
-  by-spec."through"."~2.3" =
-    self.by-version."through"."2.3.8";
-  by-spec."through"."~2.3.1" =
-    self.by-version."through"."2.3.8";
-  by-spec."through"."~2.3.4" =
-    self.by-version."through"."2.3.8";
-  by-spec."through"."~2.3.8" =
-    self.by-version."through"."2.3.8";
-  by-spec."through2"."0.6.3" =
-    self.by-version."through2"."0.6.3";
-  by-version."through2"."0.6.3" = self.buildNodePackage {
-    name = "through2-0.6.3";
-    version = "0.6.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/through2/-/through2-0.6.3.tgz";
-      name = "through2-0.6.3.tgz";
-      sha1 = "795292fde9f254c2a368b38f9cc5d1bd4663afb6";
-    };
-    deps = {
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through2"."0.6.x" =
-    self.by-version."through2"."0.6.5";
-  by-version."through2"."0.6.5" = self.buildNodePackage {
-    name = "through2-0.6.5";
-    version = "0.6.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/through2/-/through2-0.6.5.tgz";
-      name = "through2-0.6.5.tgz";
-      sha1 = "41ab9c67b29d57209071410e1d7a7a968cd3ad48";
-    };
-    deps = {
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through2"."^0.6.0" =
-    self.by-version."through2"."0.6.5";
-  by-spec."through2"."^0.6.1" =
-    self.by-version."through2"."0.6.5";
-  by-spec."through2"."^0.6.2" =
-    self.by-version."through2"."0.6.5";
-  by-spec."through2"."^0.6.3" =
-    self.by-version."through2"."0.6.5";
-  by-spec."through2"."^1.0.0" =
-    self.by-version."through2"."1.1.1";
-  by-version."through2"."1.1.1" = self.buildNodePackage {
-    name = "through2-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/through2/-/through2-1.1.1.tgz";
-      name = "through2-1.1.1.tgz";
-      sha1 = "0847cbc4449f3405574dbdccd9bb841b83ac3545";
-    };
-    deps = {
-      "readable-stream-1.1.14" = self.by-version."readable-stream"."1.1.14";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through2"."^2.0.0" =
-    self.by-version."through2"."2.0.1";
-  by-version."through2"."2.0.1" = self.buildNodePackage {
-    name = "through2-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/through2/-/through2-2.0.1.tgz";
-      name = "through2-2.0.1.tgz";
-      sha1 = "384e75314d49f32de12eebb8136b8eb6b5d59da9";
-    };
-    deps = {
-      "readable-stream-2.0.6" = self.by-version."readable-stream"."2.0.6";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through2"."^2.0.1" =
-    self.by-version."through2"."2.0.1";
-  by-spec."through2"."~0.5.1" =
-    self.by-version."through2"."0.5.1";
-  by-version."through2"."0.5.1" = self.buildNodePackage {
-    name = "through2-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/through2/-/through2-0.5.1.tgz";
-      name = "through2-0.5.1.tgz";
-      sha1 = "dfdd012eb9c700e2323fd334f38ac622ab372da7";
-    };
-    deps = {
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-      "xtend-3.0.0" = self.by-version."xtend"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."through2"."~0.6.1" =
-    self.by-version."through2"."0.6.5";
-  by-spec."through2"."~2.0.0" =
-    self.by-version."through2"."2.0.1";
-  by-spec."through2-filter"."^2.0.0" =
-    self.by-version."through2-filter"."2.0.0";
-  by-version."through2-filter"."2.0.0" = self.buildNodePackage {
-    name = "through2-filter-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/through2-filter/-/through2-filter-2.0.0.tgz";
-      name = "through2-filter-2.0.0.tgz";
-      sha1 = "60bc55a0dacb76085db1f9dae99ab43f83d622ec";
-    };
-    deps = {
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."thunkify"."~2.1.1" =
-    self.by-version."thunkify"."2.1.2";
-  by-version."thunkify"."2.1.2" = self.buildNodePackage {
-    name = "thunkify-2.1.2";
-    version = "2.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/thunkify/-/thunkify-2.1.2.tgz";
-      name = "thunkify-2.1.2.tgz";
-      sha1 = "faa0e9d230c51acc95ca13a361ac05ca7e04553d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."thunky"."^0.1.0" =
-    self.by-version."thunky"."0.1.0";
-  by-version."thunky"."0.1.0" = self.buildNodePackage {
-    name = "thunky-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/thunky/-/thunky-0.1.0.tgz";
-      name = "thunky-0.1.0.tgz";
-      sha1 = "bf30146824e2b6e67b0f2d7a4ac8beb26908684e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."thunky"."~0.1.0" =
-    self.by-version."thunky"."0.1.0";
-  by-spec."tildify"."^1.0.0" =
-    self.by-version."tildify"."1.2.0";
-  by-version."tildify"."1.2.0" = self.buildNodePackage {
-    name = "tildify-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tildify/-/tildify-1.2.0.tgz";
-      name = "tildify-1.2.0.tgz";
-      sha1 = "dcec03f55dca9b7aa3e5b04f21817eb56e63588a";
-    };
-    deps = {
-      "os-homedir-1.0.1" = self.by-version."os-homedir"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."time".">=0.9.2" =
-    self.by-version."time"."0.11.4";
-  by-version."time"."0.11.4" = self.buildNodePackage {
-    name = "time-0.11.4";
-    version = "0.11.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/time/-/time-0.11.4.tgz";
-      name = "time-0.11.4.tgz";
-      sha1 = "ec3c8947d7fa488f3b1978b8110a68186f5d340f";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."time-line"."^1.0.1" =
-    self.by-version."time-line"."1.0.1";
-  by-version."time-line"."1.0.1" = self.buildNodePackage {
-    name = "time-line-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/time-line/-/time-line-1.0.1.tgz";
-      name = "time-line-1.0.1.tgz";
-      sha1 = "afb89542301c3b5010d118c66b5d63920f5e9a7a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."time-stamp"."^1.0.0" =
-    self.by-version."time-stamp"."1.0.1";
-  by-version."time-stamp"."1.0.1" = self.buildNodePackage {
-    name = "time-stamp-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/time-stamp/-/time-stamp-1.0.1.tgz";
-      name = "time-stamp-1.0.1.tgz";
-      sha1 = "9f4bd23559c9365966f3302dbba2b07c6b99b151";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."timed-out"."^2.0.0" =
-    self.by-version."timed-out"."2.0.0";
-  by-version."timed-out"."2.0.0" = self.buildNodePackage {
-    name = "timed-out-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/timed-out/-/timed-out-2.0.0.tgz";
-      name = "timed-out-2.0.0.tgz";
-      sha1 = "f38b0ae81d3747d628001f41dafc652ace671c0a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."timers-browserify"."^1.0.1" =
-    self.by-version."timers-browserify"."1.4.2";
-  by-version."timers-browserify"."1.4.2" = self.buildNodePackage {
-    name = "timers-browserify-1.4.2";
-    version = "1.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/timers-browserify/-/timers-browserify-1.4.2.tgz";
-      name = "timers-browserify-1.4.2.tgz";
-      sha1 = "c9c58b575be8407375cb5e2462dacee74359f41d";
-    };
-    deps = {
-      "process-0.11.4" = self.by-version."process"."0.11.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."timespan"."~2.3.0" =
-    self.by-version."timespan"."2.3.0";
-  by-version."timespan"."2.3.0" = self.buildNodePackage {
-    name = "timespan-2.3.0";
-    version = "2.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/timespan/-/timespan-2.3.0.tgz";
-      name = "timespan-2.3.0.tgz";
-      sha1 = "4902ce040bd13d845c8f59b27e9d59bad6f39929";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."timezone"."*" =
-    self.by-version."timezone"."1.0.4";
-  by-version."timezone"."1.0.4" = self.buildNodePackage {
-    name = "timezone-1.0.4";
-    version = "1.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/timezone/-/timezone-1.0.4.tgz";
-      name = "timezone-1.0.4.tgz";
-      sha1 = "c38edbad45c636228c1f33996ebc57e155f8b074";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "timezone" = self.by-version."timezone"."1.0.4";
-  by-spec."tinycolor"."0.x" =
-    self.by-version."tinycolor"."0.0.1";
-  by-spec."tinycolor"."0.0.x" =
-    self.by-version."tinycolor"."0.0.1";
-  by-version."tinycolor"."0.0.1" = self.buildNodePackage {
-    name = "tinycolor-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tinycolor/-/tinycolor-0.0.1.tgz";
-      name = "tinycolor-0.0.1.tgz";
-      sha1 = "320b5a52d83abb5978d81a3e887d4aefb15a6164";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."titanium"."*" =
-    self.by-version."titanium"."5.0.8";
-  by-version."titanium"."5.0.8" = self.buildNodePackage {
-    name = "titanium-5.0.8";
-    version = "5.0.8";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/titanium/-/titanium-5.0.8.tgz";
-      name = "titanium-5.0.8.tgz";
-      sha1 = "2c8e4db80880515feb1e3195645096057706d71b";
-    };
-    deps = {
-      "async-1.4.2" = self.by-version."async"."1.4.2";
-      "colors-1.1.2" = self.by-version."colors"."1.1.2";
-      "fields-0.1.24" = self.by-version."fields"."0.1.24";
-      "humanize-0.0.9" = self.by-version."humanize"."0.0.9";
-      "longjohn-0.2.9" = self.by-version."longjohn"."0.2.9";
-      "moment-2.10.6" = self.by-version."moment"."2.10.6";
-      "node-appc-0.2.31" = self.by-version."node-appc"."0.2.31";
-      "request-2.62.0" = self.by-version."request"."2.62.0";
-      "semver-5.0.3" = self.by-version."semver"."5.0.3";
-      "sprintf-0.1.5" = self.by-version."sprintf"."0.1.5";
-      "temp-0.8.3" = self.by-version."temp"."0.8.3";
-      "winston-1.0.2" = self.by-version."winston"."1.0.2";
-      "wrench-1.5.8" = self.by-version."wrench"."1.5.8";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "titanium" = self.by-version."titanium"."5.0.8";
-  by-spec."tldtools"."0.0.19" =
-    self.by-version."tldtools"."0.0.19";
-  by-version."tldtools"."0.0.19" = self.buildNodePackage {
-    name = "tldtools-0.0.19";
-    version = "0.0.19";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tldtools/-/tldtools-0.0.19.tgz";
-      name = "tldtools-0.0.19.tgz";
-      sha1 = "1df2277a43e291fd0a929c0e096a0a0917d75b1b";
-    };
-    deps = {
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tldtools".">=0.0.19" =
-    self.by-version."tldtools"."0.0.24";
-  by-version."tldtools"."0.0.24" = self.buildNodePackage {
-    name = "tldtools-0.0.24";
-    version = "0.0.24";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tldtools/-/tldtools-0.0.24.tgz";
-      name = "tldtools-0.0.24.tgz";
-      sha1 = "c9c793d04d7fbdccb90b1c02c019f7259375d612";
-    };
-    deps = {
-      "request-2.72.0" = self.by-version."request"."2.72.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tldtools".">=0.0.6" =
-    self.by-version."tldtools"."0.0.24";
-  by-spec."tls-connect"."^0.2.2" =
-    self.by-version."tls-connect"."0.2.2";
-  by-version."tls-connect"."0.2.2" = self.buildNodePackage {
-    name = "tls-connect-0.2.2";
-    version = "0.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tls-connect/-/tls-connect-0.2.2.tgz";
-      name = "tls-connect-0.2.2.tgz";
-      sha1 = "1d88d4f4cb829a0741b6acd05d1df73e0d566fd0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tmp"."0.0.24" =
-    self.by-version."tmp"."0.0.24";
-  by-version."tmp"."0.0.24" = self.buildNodePackage {
-    name = "tmp-0.0.24";
-    version = "0.0.24";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tmp/-/tmp-0.0.24.tgz";
-      name = "tmp-0.0.24.tgz";
-      sha1 = "d6a5e198d14a9835cc6f2d7c3d9e302428c8cf12";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tmp"."~0.0.20" =
-    self.by-version."tmp"."0.0.28";
-  by-version."tmp"."0.0.28" = self.buildNodePackage {
-    name = "tmp-0.0.28";
-    version = "0.0.28";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tmp/-/tmp-0.0.28.tgz";
-      name = "tmp-0.0.28.tgz";
-      sha1 = "172735b7f614ea7af39664fa84cf0de4e515d120";
-    };
-    deps = {
-      "os-tmpdir-1.0.1" = self.by-version."os-tmpdir"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."to-absolute-glob"."^0.1.1" =
-    self.by-version."to-absolute-glob"."0.1.1";
-  by-version."to-absolute-glob"."0.1.1" = self.buildNodePackage {
-    name = "to-absolute-glob-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/to-absolute-glob/-/to-absolute-glob-0.1.1.tgz";
-      name = "to-absolute-glob-0.1.1.tgz";
-      sha1 = "1cdfa472a9ef50c239ee66999b662ca0eb39937f";
-    };
-    deps = {
-      "extend-shallow-2.0.1" = self.by-version."extend-shallow"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."to-array"."0.1.3" =
-    self.by-version."to-array"."0.1.3";
-  by-version."to-array"."0.1.3" = self.buildNodePackage {
-    name = "to-array-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/to-array/-/to-array-0.1.3.tgz";
-      name = "to-array-0.1.3.tgz";
-      sha1 = "d45dadc6363417f60f28474fea50ecddbb4f4991";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."to-array"."0.1.4" =
-    self.by-version."to-array"."0.1.4";
-  by-version."to-array"."0.1.4" = self.buildNodePackage {
-    name = "to-array-0.1.4";
-    version = "0.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz";
-      name = "to-array-0.1.4.tgz";
-      sha1 = "17e6c11f73dd4f3d74cda7a4ff3238e9ad9bf890";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."to-arraybuffer"."^1.0.0" =
-    self.by-version."to-arraybuffer"."1.0.1";
-  by-version."to-arraybuffer"."1.0.1" = self.buildNodePackage {
-    name = "to-arraybuffer-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz";
-      name = "to-arraybuffer-1.0.1.tgz";
-      sha1 = "7d229b1fcc637e466ca081180836a7aabff83f43";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."to-iso-string"."0.0.2" =
-    self.by-version."to-iso-string"."0.0.2";
-  by-version."to-iso-string"."0.0.2" = self.buildNodePackage {
-    name = "to-iso-string-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/to-iso-string/-/to-iso-string-0.0.2.tgz";
-      name = "to-iso-string-0.0.2.tgz";
-      sha1 = "4dc19e664dfccbe25bd8db508b00c6da158255d1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tomahawk"."0.1.6" =
-    self.by-version."tomahawk"."0.1.6";
-  by-version."tomahawk"."0.1.6" = self.buildNodePackage {
-    name = "tomahawk-0.1.6";
-    version = "0.1.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tomahawk/-/tomahawk-0.1.6.tgz";
-      name = "tomahawk-0.1.6.tgz";
-      sha1 = "9726580ec9f51c148cf2030c6255c110243d49a5";
-    };
-    deps = {
-      "body-parser-1.5.0" = self.by-version."body-parser"."1.5.0";
-      "connect-3.0.2" = self.by-version."connect"."3.0.2";
-      "errorhandler-1.1.1" = self.by-version."errorhandler"."1.1.1";
-      "express-4.6.1" = self.by-version."express"."4.6.1";
-      "morgan-1.2.0" = self.by-version."morgan"."1.2.0";
-      "node-options-0.0.6" = self.by-version."node-options"."0.0.6";
-      "socket.io-1.0.6" = self.by-version."socket.io"."1.0.6";
-      "winston-0.7.3" = self.by-version."winston"."0.7.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tomahawk-plugin-kv-memory-store"."0.0.3" =
-    self.by-version."tomahawk-plugin-kv-memory-store"."0.0.3";
-  by-version."tomahawk-plugin-kv-memory-store"."0.0.3" = self.buildNodePackage {
-    name = "tomahawk-plugin-kv-memory-store-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tomahawk-plugin-kv-memory-store/-/tomahawk-plugin-kv-memory-store-0.0.3.tgz";
-      name = "tomahawk-plugin-kv-memory-store-0.0.3.tgz";
-      sha1 = "120547598bd72ca72bd2eedb0ee03ae85c667b02";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."toobusy-js"."^0.4.2" =
-    self.by-version."toobusy-js"."0.4.3";
-  by-version."toobusy-js"."0.4.3" = self.buildNodePackage {
-    name = "toobusy-js-0.4.3";
-    version = "0.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/toobusy-js/-/toobusy-js-0.4.3.tgz";
-      name = "toobusy-js-0.4.3.tgz";
-      sha1 = "0db1a2ca73701b3f8c3b7df093801bfdad4ba5a7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."topo"."1.x.x" =
-    self.by-version."topo"."1.1.0";
-  by-version."topo"."1.1.0" = self.buildNodePackage {
-    name = "topo-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/topo/-/topo-1.1.0.tgz";
-      name = "topo-1.1.0.tgz";
-      sha1 = "e9d751615d1bb87dc865db182fa1ca0a5ef536d5";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."torrent-discovery"."^5.2.0" =
-    self.by-version."torrent-discovery"."5.4.0";
-  by-version."torrent-discovery"."5.4.0" = self.buildNodePackage {
-    name = "torrent-discovery-5.4.0";
-    version = "5.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/torrent-discovery/-/torrent-discovery-5.4.0.tgz";
-      name = "torrent-discovery-5.4.0.tgz";
-      sha1 = "2d17d82cf669ada7f9dfe75db4b31f7034b71e29";
-    };
-    deps = {
-      "bittorrent-dht-6.4.2" = self.by-version."bittorrent-dht"."6.4.2";
-      "bittorrent-tracker-7.7.0" = self.by-version."bittorrent-tracker"."7.7.0";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "re-emitter-1.1.3" = self.by-version."re-emitter"."1.1.3";
-      "run-parallel-1.1.6" = self.by-version."run-parallel"."1.1.6";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."torrent-piece"."^1.0.0" =
-    self.by-version."torrent-piece"."1.1.0";
-  by-version."torrent-piece"."1.1.0" = self.buildNodePackage {
-    name = "torrent-piece-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/torrent-piece/-/torrent-piece-1.1.0.tgz";
-      name = "torrent-piece-1.1.0.tgz";
-      sha1 = "dd3ae8dba3e58df5c9ed3457c055177849d82854";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."torrent-stream"."^0.18.1" =
-    self.by-version."torrent-stream"."0.18.1";
-  by-version."torrent-stream"."0.18.1" = self.buildNodePackage {
-    name = "torrent-stream-0.18.1";
-    version = "0.18.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/torrent-stream/-/torrent-stream-0.18.1.tgz";
-      name = "torrent-stream-0.18.1.tgz";
-      sha1 = "e2e8ca44d81f16fbe5646e0ebb05f5418fea9bf6";
-    };
-    deps = {
-      "bitfield-0.1.0" = self.by-version."bitfield"."0.1.0";
-      "bittorrent-dht-3.2.6" = self.by-version."bittorrent-dht"."3.2.6";
-      "bittorrent-tracker-2.12.1" = self.by-version."bittorrent-tracker"."2.12.1";
-      "bncode-0.5.3" = self.by-version."bncode"."0.5.3";
-      "compact2string-1.4.0" = self.by-version."compact2string"."1.4.0";
-      "end-of-stream-0.1.5" = self.by-version."end-of-stream"."0.1.5";
-      "hat-0.0.3" = self.by-version."hat"."0.0.3";
-      "ip-0.3.3" = self.by-version."ip"."0.3.3";
-      "ip-set-1.0.0" = self.by-version."ip-set"."1.0.0";
-      "magnet-uri-2.0.1" = self.by-version."magnet-uri"."2.0.1";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "parse-torrent-4.1.0" = self.by-version."parse-torrent"."4.1.0";
-      "peer-wire-swarm-0.9.2" = self.by-version."peer-wire-swarm"."0.9.2";
-      "random-access-file-0.3.2" = self.by-version."random-access-file"."0.3.2";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "thunky-0.1.0" = self.by-version."thunky"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."torrent-stream"."^1.0.1" =
-    self.by-version."torrent-stream"."1.0.3";
-  by-version."torrent-stream"."1.0.3" = self.buildNodePackage {
-    name = "torrent-stream-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/torrent-stream/-/torrent-stream-1.0.3.tgz";
-      name = "torrent-stream-1.0.3.tgz";
-      sha1 = "d8c043b44c3c448c9397a3aec42d2df55887037b";
-    };
-    deps = {
-      "bitfield-0.1.0" = self.by-version."bitfield"."0.1.0";
-      "bncode-0.5.3" = self.by-version."bncode"."0.5.3";
-      "end-of-stream-0.1.5" = self.by-version."end-of-stream"."0.1.5";
-      "fs-chunk-store-1.6.2" = self.by-version."fs-chunk-store"."1.6.2";
-      "hat-0.0.3" = self.by-version."hat"."0.0.3";
-      "immediate-chunk-store-1.0.8" = self.by-version."immediate-chunk-store"."1.0.8";
-      "ip-set-1.0.0" = self.by-version."ip-set"."1.0.0";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "parse-torrent-4.1.0" = self.by-version."parse-torrent"."4.1.0";
-      "peer-wire-swarm-0.12.1" = self.by-version."peer-wire-swarm"."0.12.1";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "torrent-discovery-5.4.0" = self.by-version."torrent-discovery"."5.4.0";
-      "torrent-piece-1.1.0" = self.by-version."torrent-piece"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."touch"."1.0.0" =
-    self.by-version."touch"."1.0.0";
-  by-version."touch"."1.0.0" = self.buildNodePackage {
-    name = "touch-1.0.0";
-    version = "1.0.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/touch/-/touch-1.0.0.tgz";
-      name = "touch-1.0.0.tgz";
-      sha1 = "449cbe2dbae5a8c8038e30d71fa0ff464947c4de";
-    };
-    deps = {
-      "nopt-1.0.10" = self.by-version."nopt"."1.0.10";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tough-cookie".">=0.12.0" =
-    self.by-version."tough-cookie"."2.2.2";
-  by-version."tough-cookie"."2.2.2" = self.buildNodePackage {
-    name = "tough-cookie-2.2.2";
-    version = "2.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.2.2.tgz";
-      name = "tough-cookie-2.2.2.tgz";
-      sha1 = "c83a1830f4e5ef0b93ef2a3488e724f8de016ac7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tough-cookie"."^2.0.0" =
-    self.by-version."tough-cookie"."2.2.2";
-  by-spec."tough-cookie"."~2.2.0" =
-    self.by-version."tough-cookie"."2.2.2";
-  by-spec."transformers"."2.1.0" =
-    self.by-version."transformers"."2.1.0";
-  by-version."transformers"."2.1.0" = self.buildNodePackage {
-    name = "transformers-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/transformers/-/transformers-2.1.0.tgz";
-      name = "transformers-2.1.0.tgz";
-      sha1 = "5d23cb35561dd85dc67fb8482309b47d53cce9a7";
-    };
-    deps = {
-      "promise-2.0.0" = self.by-version."promise"."2.0.0";
-      "css-1.0.8" = self.by-version."css"."1.0.8";
-      "uglify-js-2.2.5" = self.by-version."uglify-js"."2.2.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."traverse".">=0.2.4" =
-    self.by-version."traverse"."0.6.6";
-  by-version."traverse"."0.6.6" = self.buildNodePackage {
-    name = "traverse-0.6.6";
-    version = "0.6.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/traverse/-/traverse-0.6.6.tgz";
-      name = "traverse-0.6.6.tgz";
-      sha1 = "cbdf560fd7b9af632502fed40f918c157ea97137";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."trim-newlines"."^1.0.0" =
-    self.by-version."trim-newlines"."1.0.0";
-  by-version."trim-newlines"."1.0.0" = self.buildNodePackage {
-    name = "trim-newlines-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/trim-newlines/-/trim-newlines-1.0.0.tgz";
-      name = "trim-newlines-1.0.0.tgz";
-      sha1 = "5887966bb582a4503a41eb524f7d35011815a613";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."truncate"."~1.0.2" =
-    self.by-version."truncate"."1.0.5";
-  by-version."truncate"."1.0.5" = self.buildNodePackage {
-    name = "truncate-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/truncate/-/truncate-1.0.5.tgz";
-      name = "truncate-1.0.5.tgz";
-      sha1 = "c636c6c1f50eed7c927af06c1dbffab53c7abe28";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tryit"."^1.0.1" =
-    self.by-version."tryit"."1.0.2";
-  by-version."tryit"."1.0.2" = self.buildNodePackage {
-    name = "tryit-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tryit/-/tryit-1.0.2.tgz";
-      name = "tryit-1.0.2.tgz";
-      sha1 = "c196b0073e6b1c595d93c9c830855b7acc32a453";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tryor"."~0.1.2" =
-    self.by-version."tryor"."0.1.2";
-  by-version."tryor"."0.1.2" = self.buildNodePackage {
-    name = "tryor-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tryor/-/tryor-0.1.2.tgz";
-      name = "tryor-0.1.2.tgz";
-      sha1 = "8145e4ca7caff40acde3ccf946e8b8bb75b4172b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tsscmp"."1.0.5" =
-    self.by-version."tsscmp"."1.0.5";
-  by-version."tsscmp"."1.0.5" = self.buildNodePackage {
-    name = "tsscmp-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tsscmp/-/tsscmp-1.0.5.tgz";
-      name = "tsscmp-1.0.5.tgz";
-      sha1 = "7dc4a33af71581ab4337da91d85ca5427ebd9a97";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tty-browserify"."0.0.0" =
-    self.by-version."tty-browserify"."0.0.0";
-  by-version."tty-browserify"."0.0.0" = self.buildNodePackage {
-    name = "tty-browserify-0.0.0";
-    version = "0.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz";
-      name = "tty-browserify-0.0.0.tgz";
-      sha1 = "a157ba402da24e9bf957f9aa69d524eed42901a6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tty-browserify"."~0.0.0" =
-    self.by-version."tty-browserify"."0.0.0";
-  by-spec."tunnel-agent"."^0.4.0" =
-    self.by-version."tunnel-agent"."0.4.3";
-  by-version."tunnel-agent"."0.4.3" = self.buildNodePackage {
-    name = "tunnel-agent-0.4.3";
-    version = "0.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.4.3.tgz";
-      name = "tunnel-agent-0.4.3.tgz";
-      sha1 = "6373db76909fe570e08d73583365ed828a74eeeb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tunnel-agent"."~0.2.0" =
-    self.by-version."tunnel-agent"."0.2.0";
-  by-version."tunnel-agent"."0.2.0" = self.buildNodePackage {
-    name = "tunnel-agent-0.2.0";
-    version = "0.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.2.0.tgz";
-      name = "tunnel-agent-0.2.0.tgz";
-      sha1 = "6853c2afb1b2109e45629e492bde35f459ea69e8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tunnel-agent"."~0.3.0" =
-    self.by-version."tunnel-agent"."0.3.0";
-  by-version."tunnel-agent"."0.3.0" = self.buildNodePackage {
-    name = "tunnel-agent-0.3.0";
-    version = "0.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.3.0.tgz";
-      name = "tunnel-agent-0.3.0.tgz";
-      sha1 = "ad681b68f5321ad2827c4cfb1b7d5df2cfe942ee";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tunnel-agent"."~0.4.0" =
-    self.by-version."tunnel-agent"."0.4.3";
-  by-spec."tunnel-agent"."~0.4.1" =
-    self.by-version."tunnel-agent"."0.4.3";
-  by-spec."tv4"."^1.2.7" =
-    self.by-version."tv4"."1.2.7";
-  by-version."tv4"."1.2.7" = self.buildNodePackage {
-    name = "tv4-1.2.7";
-    version = "1.2.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tv4/-/tv4-1.2.7.tgz";
-      name = "tv4-1.2.7.tgz";
-      sha1 = "bd29389afc73ade49ae5f48142b5d544bf68d120";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tweetnacl".">=0.13.0 <1.0.0" =
-    self.by-version."tweetnacl"."0.14.3";
-  by-version."tweetnacl"."0.14.3" = self.buildNodePackage {
-    name = "tweetnacl-0.14.3";
-    version = "0.14.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.3.tgz";
-      name = "tweetnacl-0.14.3.tgz";
-      sha1 = "3da382f670f25ded78d7b3d1792119bca0b7132d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."tweetnacl"."~0.13.0" =
-    self.by-version."tweetnacl"."0.13.3";
-  by-version."tweetnacl"."0.13.3" = self.buildNodePackage {
-    name = "tweetnacl-0.13.3";
-    version = "0.13.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.13.3.tgz";
-      name = "tweetnacl-0.13.3.tgz";
-      sha1 = "d628b56f3bcc3d5ae74ba9d4c1a704def5ab4b56";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."twilio".">=1.1.4" =
-    self.by-version."twilio"."2.9.1";
-  by-version."twilio"."2.9.1" = self.buildNodePackage {
-    name = "twilio-2.9.1";
-    version = "2.9.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/twilio/-/twilio-2.9.1.tgz";
-      name = "twilio-2.9.1.tgz";
-      sha1 = "043bfa240ccb33f5f76b771434c2421a0144bc85";
-    };
-    deps = {
-      "request-2.55.0" = self.by-version."request"."2.55.0";
-      "underscore-1.8.3" = self.by-version."underscore"."1.8.3";
-      "jsonwebtoken-5.4.1" = self.by-version."jsonwebtoken"."5.4.1";
-      "jwt-simple-0.1.0" = self.by-version."jwt-simple"."0.1.0";
-      "q-0.9.7" = self.by-version."q"."0.9.7";
-      "scmp-0.0.3" = self.by-version."scmp"."0.0.3";
-      "deprecate-0.1.0" = self.by-version."deprecate"."0.1.0";
-      "string.prototype.startswith-0.2.0" = self.by-version."string.prototype.startswith"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."twitter-ng"."0.6.2" =
-    self.by-version."twitter-ng"."0.6.2";
-  by-version."twitter-ng"."0.6.2" = self.buildNodePackage {
-    name = "twitter-ng-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/twitter-ng/-/twitter-ng-0.6.2.tgz";
-      name = "twitter-ng-0.6.2.tgz";
-      sha1 = "13707115dd04c9bd1f2c646da976589be4d64bc4";
-    };
-    deps = {
-      "oauth-0.9.14" = self.by-version."oauth"."0.9.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."type-check"."~0.3.2" =
-    self.by-version."type-check"."0.3.2";
-  by-version."type-check"."0.3.2" = self.buildNodePackage {
-    name = "type-check-0.3.2";
-    version = "0.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/type-check/-/type-check-0.3.2.tgz";
-      name = "type-check-0.3.2.tgz";
-      sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
-    };
-    deps = {
-      "prelude-ls-1.1.2" = self.by-version."prelude-ls"."1.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."type-detect"."0.1.1" =
-    self.by-version."type-detect"."0.1.1";
-  by-version."type-detect"."0.1.1" = self.buildNodePackage {
-    name = "type-detect-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/type-detect/-/type-detect-0.1.1.tgz";
-      name = "type-detect-0.1.1.tgz";
-      sha1 = "0ba5ec2a885640e470ea4e8505971900dac58822";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."type-detect"."^1.0.0" =
-    self.by-version."type-detect"."1.0.0";
-  by-version."type-detect"."1.0.0" = self.buildNodePackage {
-    name = "type-detect-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/type-detect/-/type-detect-1.0.0.tgz";
-      name = "type-detect-1.0.0.tgz";
-      sha1 = "762217cc06db258ec48908a1298e8b95121e8ea2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."type-is"."~1.3.2" =
-    self.by-version."type-is"."1.3.2";
-  by-version."type-is"."1.3.2" = self.buildNodePackage {
-    name = "type-is-1.3.2";
-    version = "1.3.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/type-is/-/type-is-1.3.2.tgz";
-      name = "type-is-1.3.2.tgz";
-      sha1 = "4f2a5dc58775ca1630250afc7186f8b36309d1bb";
-    };
-    deps = {
-      "media-typer-0.2.0" = self.by-version."media-typer"."0.2.0";
-      "mime-types-1.0.2" = self.by-version."mime-types"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."type-is"."~1.5.2" =
-    self.by-version."type-is"."1.5.7";
-  by-version."type-is"."1.5.7" = self.buildNodePackage {
-    name = "type-is-1.5.7";
-    version = "1.5.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/type-is/-/type-is-1.5.7.tgz";
-      name = "type-is-1.5.7.tgz";
-      sha1 = "b9368a593cc6ef7d0645e78b2f4c64cbecd05e90";
-    };
-    deps = {
-      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "mime-types-2.0.14" = self.by-version."mime-types"."2.0.14";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."type-is"."~1.6.10" =
-    self.by-version."type-is"."1.6.13";
-  by-version."type-is"."1.6.13" = self.buildNodePackage {
-    name = "type-is-1.6.13";
-    version = "1.6.13";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/type-is/-/type-is-1.6.13.tgz";
-      name = "type-is-1.6.13.tgz";
-      sha1 = "6e83ba7bc30cd33a7bb0b7fb00737a2085bf9d08";
-    };
-    deps = {
-      "media-typer-0.3.0" = self.by-version."media-typer"."0.3.0";
-      "mime-types-2.1.11" = self.by-version."mime-types"."2.1.11";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."type-is"."~1.6.11" =
-    self.by-version."type-is"."1.6.13";
-  by-spec."type-is"."~1.6.12" =
-    self.by-version."type-is"."1.6.13";
-  by-spec."type-is"."~1.6.4" =
-    self.by-version."type-is"."1.6.13";
-  by-spec."type-is"."~1.6.6" =
-    self.by-version."type-is"."1.6.13";
-  by-spec."type-of-is"."^3.4.0" =
-    self.by-version."type-of-is"."3.4.0";
-  by-version."type-of-is"."3.4.0" = self.buildNodePackage {
-    name = "type-of-is-3.4.0";
-    version = "3.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/type-of-is/-/type-of-is-3.4.0.tgz";
-      name = "type-of-is-3.4.0.tgz";
-      sha1 = "700dc096fbc9b86e4f79687beeb99e953d471508";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."typechecker"."~2.0.1" =
-    self.by-version."typechecker"."2.0.8";
-  by-version."typechecker"."2.0.8" = self.buildNodePackage {
-    name = "typechecker-2.0.8";
-    version = "2.0.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/typechecker/-/typechecker-2.0.8.tgz";
-      name = "typechecker-2.0.8.tgz";
-      sha1 = "e83da84bb64c584ccb345838576c40b0337db82e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."typedarray"."~0.0.5" =
-    self.by-version."typedarray"."0.0.6";
-  by-version."typedarray"."0.0.6" = self.buildNodePackage {
-    name = "typedarray-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz";
-      name = "typedarray-0.0.6.tgz";
-      sha1 = "867ac74e3864187b1d3d47d996a78ec5c8830777";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."typescript"."*" =
-    self.by-version."typescript"."1.9.0-dev.20160610-1.0";
-  by-version."typescript"."1.9.0-dev.20160610-1.0" = self.buildNodePackage {
-    name = "typescript-1.9.0-dev.20160610-1.0";
-    version = "1.9.0-dev.20160610-1.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-1.9.0-dev.20160610-1.0.tgz";
-      name = "typescript-1.9.0-dev.20160610-1.0.tgz";
-      sha1 = "768216dcc2528b9445b5cecaeb599b22ca8a3072";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "typescript" = self.by-version."typescript"."1.9.0-dev.20160610-1.0";
-  by-spec."typescript"."=1.0.1" =
-    self.by-version."typescript"."1.0.1";
-  by-version."typescript"."1.0.1" = self.buildNodePackage {
-    name = "typescript-1.0.1";
-    version = "1.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/typescript/-/typescript-1.0.1.tgz";
-      name = "typescript-1.0.1.tgz";
-      sha1 = "e8eacde3084a091d3fe29b60ac5862252662a25a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."typewise"."^1.0.3" =
-    self.by-version."typewise"."1.0.3";
-  by-version."typewise"."1.0.3" = self.buildNodePackage {
-    name = "typewise-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/typewise/-/typewise-1.0.3.tgz";
-      name = "typewise-1.0.3.tgz";
-      sha1 = "1067936540af97937cc5dcf9922486e9fa284651";
-    };
-    deps = {
-      "typewise-core-1.2.0" = self.by-version."typewise-core"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."typewise-core"."^1.2" =
-    self.by-version."typewise-core"."1.2.0";
-  by-version."typewise-core"."1.2.0" = self.buildNodePackage {
-    name = "typewise-core-1.2.0";
-    version = "1.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/typewise-core/-/typewise-core-1.2.0.tgz";
-      name = "typewise-core-1.2.0.tgz";
-      sha1 = "97eb91805c7f55d2f941748fa50d315d991ef195";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."typewise-core"."^1.2.0" =
-    self.by-version."typewise-core"."1.2.0";
-  by-spec."typewiselite"."~1.0.0" =
-    self.by-version."typewiselite"."1.0.0";
-  by-version."typewiselite"."1.0.0" = self.buildNodePackage {
-    name = "typewiselite-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/typewiselite/-/typewiselite-1.0.0.tgz";
-      name = "typewiselite-1.0.0.tgz";
-      sha1 = "c8882fa1bb1092c06005a97f34ef5c8508e3664e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ua-parser-js"."^0.7.9" =
-    self.by-version."ua-parser-js"."0.7.10";
-  by-version."ua-parser-js"."0.7.10" = self.buildNodePackage {
-    name = "ua-parser-js-0.7.10";
-    version = "0.7.10";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.10.tgz";
-      name = "ua-parser-js-0.7.10.tgz";
-      sha1 = "917559ddcce07cbc09ece7d80495e4c268f4ef9f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uc.micro"."^1.0.0" =
-    self.by-version."uc.micro"."1.0.1";
-  by-version."uc.micro"."1.0.1" = self.buildNodePackage {
-    name = "uc.micro-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.1.tgz";
-      name = "uc.micro-1.0.1.tgz";
-      sha1 = "b4bca8b68246f45e8ead366a7e6cbd05e27d3293";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uc.micro"."^1.0.1" =
-    self.by-version."uc.micro"."1.0.1";
-  by-spec."uglify-js"."*" =
-    self.by-version."uglify-js"."2.6.2";
-  by-version."uglify-js"."2.6.2" = self.buildNodePackage {
-    name = "uglify-js-2.6.2";
-    version = "2.6.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.6.2.tgz";
-      name = "uglify-js-2.6.2.tgz";
-      sha1 = "f50be88a42cd396a6251dc52ab372f71cc12fef0";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
-      "yargs-3.10.0" = self.by-version."yargs"."3.10.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "uglify-js" = self.by-version."uglify-js"."2.6.2";
-  by-spec."uglify-js"."1.2.5" =
-    self.by-version."uglify-js"."1.2.5";
-  by-version."uglify-js"."1.2.5" = self.buildNodePackage {
-    name = "uglify-js-1.2.5";
-    version = "1.2.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-1.2.5.tgz";
-      name = "uglify-js-1.2.5.tgz";
-      sha1 = "b542c2c76f78efb34b200b20177634330ff702b6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-js"."2.4.24" =
-    self.by-version."uglify-js"."2.4.24";
-  by-version."uglify-js"."2.4.24" = self.buildNodePackage {
-    name = "uglify-js-2.4.24";
-    version = "2.4.24";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.4.24.tgz";
-      name = "uglify-js-2.4.24.tgz";
-      sha1 = "fad5755c1e1577658bb06ff9ab6e548c95bebd6e";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "source-map-0.1.34" = self.by-version."source-map"."0.1.34";
-      "uglify-to-browserify-1.0.2" = self.by-version."uglify-to-browserify"."1.0.2";
-      "yargs-3.5.4" = self.by-version."yargs"."3.5.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-js"."2.6.2" =
-    self.by-version."uglify-js"."2.6.2";
-  by-spec."uglify-js"."^2.4.19" =
-    self.by-version."uglify-js"."2.6.2";
-  by-spec."uglify-js"."^2.6" =
-    self.by-version."uglify-js"."2.6.2";
-  by-spec."uglify-js"."~2.2.5" =
-    self.by-version."uglify-js"."2.2.5";
-  by-version."uglify-js"."2.2.5" = self.buildNodePackage {
-    name = "uglify-js-2.2.5";
-    version = "2.2.5";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.2.5.tgz";
-      name = "uglify-js-2.2.5.tgz";
-      sha1 = "a6e02a70d839792b9780488b7b8b184c095c99c7";
-    };
-    deps = {
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-js"."~2.3" =
-    self.by-version."uglify-js"."2.3.6";
-  by-version."uglify-js"."2.3.6" = self.buildNodePackage {
-    name = "uglify-js-2.3.6";
-    version = "2.3.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-2.3.6.tgz";
-      name = "uglify-js-2.3.6.tgz";
-      sha1 = "fa0984770b428b7a9b2a8058f46355d14fef211a";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "source-map-0.1.43" = self.by-version."source-map"."0.1.43";
-      "optimist-0.3.7" = self.by-version."optimist"."0.3.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uglify-js"."~2.6.0" =
-    self.by-version."uglify-js"."2.6.2";
-  by-spec."uglify-js"."~2.6.2" =
-    self.by-version."uglify-js"."2.6.2";
-  by-spec."uglify-to-browserify"."~1.0.0" =
-    self.by-version."uglify-to-browserify"."1.0.2";
-  by-version."uglify-to-browserify"."1.0.2" = self.buildNodePackage {
-    name = "uglify-to-browserify-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz";
-      name = "uglify-to-browserify-1.0.2.tgz";
-      sha1 = "6e0924d6bda6b5afe349e39a6d632850a0f882b7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uid"."0.0.2" =
-    self.by-version."uid"."0.0.2";
-  by-version."uid"."0.0.2" = self.buildNodePackage {
-    name = "uid-0.0.2";
-    version = "0.0.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uid/-/uid-0.0.2.tgz";
-      name = "uid-0.0.2.tgz";
-      sha1 = "5e4a5d4b78138b4f70f89fd3c76fc59aa9d2f103";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uid-number"."0.0.5" =
-    self.by-version."uid-number"."0.0.5";
-  by-version."uid-number"."0.0.5" = self.buildNodePackage {
-    name = "uid-number-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uid-number/-/uid-number-0.0.5.tgz";
-      name = "uid-number-0.0.5.tgz";
-      sha1 = "5a3db23ef5dbd55b81fce0ec9a2ac6fccdebb81e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uid-number"."0.0.6" =
-    self.by-version."uid-number"."0.0.6";
-  by-version."uid-number"."0.0.6" = self.buildNodePackage {
-    name = "uid-number-0.0.6";
-    version = "0.0.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uid-number/-/uid-number-0.0.6.tgz";
-      name = "uid-number-0.0.6.tgz";
-      sha1 = "0ea10e8035e8eb5b8e4449f06da1c730663baa81";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uid-number"."~0.0.6" =
-    self.by-version."uid-number"."0.0.6";
-  by-spec."uid-safe"."2.1.1" =
-    self.by-version."uid-safe"."2.1.1";
-  by-version."uid-safe"."2.1.1" = self.buildNodePackage {
-    name = "uid-safe-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.1.1.tgz";
-      name = "uid-safe-2.1.1.tgz";
-      sha1 = "3dbf9436b528be9f52882c05a6216c3763db3666";
-    };
-    deps = {
-      "base64-url-1.2.2" = self.by-version."base64-url"."1.2.2";
-      "random-bytes-1.0.0" = self.by-version."random-bytes"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uid-safe"."~2.0.0" =
-    self.by-version."uid-safe"."2.0.0";
-  by-version."uid-safe"."2.0.0" = self.buildNodePackage {
-    name = "uid-safe-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uid-safe/-/uid-safe-2.0.0.tgz";
-      name = "uid-safe-2.0.0.tgz";
-      sha1 = "a7f3c6ca64a1f6a5d04ec0ef3e4c3d5367317137";
-    };
-    deps = {
-      "base64-url-1.2.1" = self.by-version."base64-url"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uid2"."0.0.3" =
-    self.by-version."uid2"."0.0.3";
-  by-version."uid2"."0.0.3" = self.buildNodePackage {
-    name = "uid2-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uid2/-/uid2-0.0.3.tgz";
-      name = "uid2-0.0.3.tgz";
-      sha1 = "483126e11774df2f71b8b639dcd799c376162b82";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uid2"."0.0.x" =
-    self.by-version."uid2"."0.0.3";
-  by-spec."uid2"."~0.0.2" =
-    self.by-version."uid2"."0.0.3";
-  by-spec."ultron"."1.0.x" =
-    self.by-version."ultron"."1.0.2";
-  by-version."ultron"."1.0.2" = self.buildNodePackage {
-    name = "ultron-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ultron/-/ultron-1.0.2.tgz";
-      name = "ultron-1.0.2.tgz";
-      sha1 = "ace116ab557cd197386a4e88f4685378c8b2e4fa";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."umask"."~1.1.0" =
-    self.by-version."umask"."1.1.0";
-  by-version."umask"."1.1.0" = self.buildNodePackage {
-    name = "umask-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/umask/-/umask-1.1.0.tgz";
-      name = "umask-1.1.0.tgz";
-      sha1 = "f29cebf01df517912bb58ff9c4e50fde8e33320d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."umd"."^3.0.0" =
-    self.by-version."umd"."3.0.1";
-  by-version."umd"."3.0.1" = self.buildNodePackage {
-    name = "umd-3.0.1";
-    version = "3.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/umd/-/umd-3.0.1.tgz";
-      name = "umd-3.0.1.tgz";
-      sha1 = "8ae556e11011f63c2596708a8837259f01b3d60e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."undefsafe"."0.0.3" =
-    self.by-version."undefsafe"."0.0.3";
-  by-version."undefsafe"."0.0.3" = self.buildNodePackage {
-    name = "undefsafe-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/undefsafe/-/undefsafe-0.0.3.tgz";
-      name = "undefsafe-0.0.3.tgz";
-      sha1 = "ecca3a03e56b9af17385baac812ac83b994a962f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."*" =
-    self.by-version."underscore"."1.8.3";
-  by-version."underscore"."1.8.3" = self.buildNodePackage {
-    name = "underscore-1.8.3";
-    version = "1.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore/-/underscore-1.8.3.tgz";
-      name = "underscore-1.8.3.tgz";
-      sha1 = "4f3fb53b106e6097fcf9cb4109f2a5e9bdfa5022";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "underscore" = self.by-version."underscore"."1.8.3";
-  by-spec."underscore"."1.2.1" =
-    self.by-version."underscore"."1.2.1";
-  by-version."underscore"."1.2.1" = self.buildNodePackage {
-    name = "underscore-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore/-/underscore-1.2.1.tgz";
-      name = "underscore-1.2.1.tgz";
-      sha1 = "fc5c6b0765673d92a2d4ac8b4dc0aa88702e2bd4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."1.6.x" =
-    self.by-version."underscore"."1.6.0";
-  by-version."underscore"."1.6.0" = self.buildNodePackage {
-    name = "underscore-1.6.0";
-    version = "1.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore/-/underscore-1.6.0.tgz";
-      name = "underscore-1.6.0.tgz";
-      sha1 = "8b38b10cacdef63337b8b24e4ff86d45aea529a8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."1.7.0" =
-    self.by-version."underscore"."1.7.0";
-  by-version."underscore"."1.7.0" = self.buildNodePackage {
-    name = "underscore-1.7.0";
-    version = "1.7.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore/-/underscore-1.7.0.tgz";
-      name = "underscore-1.7.0.tgz";
-      sha1 = "6bbaf0877500d36be34ecaa584e0db9fef035209";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."1.x" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore".">= 1.3.3" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore".">=1.1.7" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore".">=1.3.1" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore".">=1.5.2" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore".">=1.8.3" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore"."^1.7.0" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore"."^1.8.3" =
-    self.by-version."underscore"."1.8.3";
-  by-spec."underscore"."~1.4.3" =
-    self.by-version."underscore"."1.4.4";
-  by-version."underscore"."1.4.4" = self.buildNodePackage {
-    name = "underscore-1.4.4";
-    version = "1.4.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore/-/underscore-1.4.4.tgz";
-      name = "underscore-1.4.4.tgz";
-      sha1 = "61a6a32010622afa07963bf325203cf12239d604";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."~1.4.4" =
-    self.by-version."underscore"."1.4.4";
-  by-spec."underscore"."~1.5.2" =
-    self.by-version."underscore"."1.5.2";
-  by-version."underscore"."1.5.2" = self.buildNodePackage {
-    name = "underscore-1.5.2";
-    version = "1.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore/-/underscore-1.5.2.tgz";
-      name = "underscore-1.5.2.tgz";
-      sha1 = "1335c5e4f5e6d33bbb4b006ba8c86a00f556de08";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore"."~1.7.0" =
-    self.by-version."underscore"."1.7.0";
-  by-spec."underscore.string"."~2.2.1" =
-    self.by-version."underscore.string"."2.2.1";
-  by-version."underscore.string"."2.2.1" = self.buildNodePackage {
-    name = "underscore.string-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore.string/-/underscore.string-2.2.1.tgz";
-      name = "underscore.string-2.2.1.tgz";
-      sha1 = "d7c0fa2af5d5a1a67f4253daee98132e733f0f19";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore.string"."~2.3.1" =
-    self.by-version."underscore.string"."2.3.3";
-  by-version."underscore.string"."2.3.3" = self.buildNodePackage {
-    name = "underscore.string-2.3.3";
-    version = "2.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore.string/-/underscore.string-2.3.3.tgz";
-      name = "underscore.string-2.3.3.tgz";
-      sha1 = "71c08bf6b428b1133f37e78fa3a21c82f7329b0d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore.string"."~2.3.3" =
-    self.by-version."underscore.string"."2.3.3";
-  by-spec."underscore.string"."~2.4.0" =
-    self.by-version."underscore.string"."2.4.0";
-  by-version."underscore.string"."2.4.0" = self.buildNodePackage {
-    name = "underscore.string-2.4.0";
-    version = "2.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore.string/-/underscore.string-2.4.0.tgz";
-      name = "underscore.string-2.4.0.tgz";
-      sha1 = "8cdd8fbac4e2d2ea1e7e2e8097c42f442280f85b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore.string"."~3.0.3" =
-    self.by-version."underscore.string"."3.0.3";
-  by-version."underscore.string"."3.0.3" = self.buildNodePackage {
-    name = "underscore.string-3.0.3";
-    version = "3.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore.string/-/underscore.string-3.0.3.tgz";
-      name = "underscore.string-3.0.3.tgz";
-      sha1 = "4617b8c1a250cf6e5064fbbb363d0fa96cf14552";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."underscore.string"."~3.2.3" =
-    self.by-version."underscore.string"."3.2.3";
-  by-version."underscore.string"."3.2.3" = self.buildNodePackage {
-    name = "underscore.string-3.2.3";
-    version = "3.2.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/underscore.string/-/underscore.string-3.2.3.tgz";
-      name = "underscore.string-3.2.3.tgz";
-      sha1 = "806992633665d5e5fcb4db1fb3a862eb68e9e6da";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unfunk-diff"."~0.0.1" =
-    self.by-version."unfunk-diff"."0.0.2";
-  by-version."unfunk-diff"."0.0.2" = self.buildNodePackage {
-    name = "unfunk-diff-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unfunk-diff/-/unfunk-diff-0.0.2.tgz";
-      name = "unfunk-diff-0.0.2.tgz";
-      sha1 = "8560d6b5cb3dcb1ed4d541e7fe59cea514697578";
-    };
-    deps = {
-      "diff-1.0.8" = self.by-version."diff"."1.0.8";
-      "jsesc-0.4.3" = self.by-version."jsesc"."0.4.3";
-      "ministyle-0.1.4" = self.by-version."ministyle"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ungit"."*" =
-    self.by-version."ungit"."0.10.1";
-  by-version."ungit"."0.10.1" = self.buildNodePackage {
-    name = "ungit-0.10.1";
-    version = "0.10.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-0.10.1.tgz";
-      name = "ungit-0.10.1.tgz";
-      sha1 = "46baa2bbdb767bbd0c4ecc64b1167052b06dab28";
-    };
-    deps = {
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "bluebird-3.2.2" = self.by-version."bluebird"."3.2.2";
-      "blueimp-md5-2.1.0" = self.by-version."blueimp-md5"."2.1.0";
-      "body-parser-1.14.2" = self.by-version."body-parser"."1.14.2";
-      "color-0.11.1" = self.by-version."color"."0.11.1";
-      "cookie-parser-1.4.3" = self.by-version."cookie-parser"."1.4.3";
-      "crossroads-0.12.2" = self.by-version."crossroads"."0.12.2";
-      "diff2html-1.2.0" = self.by-version."diff2html"."1.2.0";
-      "express-4.13.4" = self.by-version."express"."4.13.4";
-      "express-session-1.13.0" = self.by-version."express-session"."1.13.0";
-      "forever-monitor-1.1.0" = self.by-version."forever-monitor"."1.1.0";
-      "getmac-1.0.7" = self.by-version."getmac"."1.0.7";
-      "hasher-1.2.0" = self.by-version."hasher"."1.2.0";
-      "keen.io-0.1.3" = self.by-version."keen.io"."0.1.3";
-      "knockout-3.4.0" = self.by-version."knockout"."3.4.0";
-      "lodash-4.2.1" = self.by-version."lodash"."4.2.1";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "moment-2.11.2" = self.by-version."moment"."2.11.2";
-      "npm-registry-client-7.0.9" = self.by-version."npm-registry-client"."7.0.9";
-      "npmconf-2.1.2" = self.by-version."npmconf"."2.1.2";
-      "octicons-3.4.1" = self.by-version."octicons"."3.4.1";
-      "open-0.0.5" = self.by-version."open"."0.0.5";
-      "os-homedir-1.0.1" = self.by-version."os-homedir"."1.0.1";
-      "passport-0.3.2" = self.by-version."passport"."0.3.2";
-      "passport-local-1.0.0" = self.by-version."passport-local"."1.0.0";
-      "raven-0.10.0" = self.by-version."raven"."0.10.0";
-      "rc-1.1.6" = self.by-version."rc"."1.1.6";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-      "serve-static-1.10.3" = self.by-version."serve-static"."1.10.3";
-      "signals-1.0.0" = self.by-version."signals"."1.0.0";
-      "snapsvg-0.4.0" = self.by-version."snapsvg"."0.4.0";
-      "socket.io-1.4.6" = self.by-version."socket.io"."1.4.6";
-      "superagent-0.21.0" = self.by-version."superagent"."0.21.0";
-      "temp-0.8.3" = self.by-version."temp"."0.8.3";
-      "uuid-2.0.2" = self.by-version."uuid"."2.0.2";
-      "winston-2.1.1" = self.by-version."winston"."2.1.1";
-      "yargs-3.32.0" = self.by-version."yargs"."3.32.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "ungit" = self.by-version."ungit"."0.10.1";
-  by-spec."uniq"."^1.0.1" =
-    self.by-version."uniq"."1.0.1";
-  by-version."uniq"."1.0.1" = self.buildNodePackage {
-    name = "uniq-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz";
-      name = "uniq-1.0.1.tgz";
-      sha1 = "b31c5ae8254844a3a8281541ce2b04b865a734ff";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unique-filename"."~1.1.0" =
-    self.by-version."unique-filename"."1.1.0";
-  by-version."unique-filename"."1.1.0" = self.buildNodePackage {
-    name = "unique-filename-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.0.tgz";
-      name = "unique-filename-1.1.0.tgz";
-      sha1 = "d05f2fe4032560871f30e93cbe735eea201514f3";
-    };
-    deps = {
-      "unique-slug-2.0.0" = self.by-version."unique-slug"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unique-slug"."^2.0.0" =
-    self.by-version."unique-slug"."2.0.0";
-  by-version."unique-slug"."2.0.0" = self.buildNodePackage {
-    name = "unique-slug-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.0.tgz";
-      name = "unique-slug-2.0.0.tgz";
-      sha1 = "db6676e7c7cc0629878ff196097c78855ae9f4ab";
-    };
-    deps = {
-      "imurmurhash-0.1.4" = self.by-version."imurmurhash"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unique-stream"."^1.0.0" =
-    self.by-version."unique-stream"."1.0.0";
-  by-version."unique-stream"."1.0.0" = self.buildNodePackage {
-    name = "unique-stream-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unique-stream/-/unique-stream-1.0.0.tgz";
-      name = "unique-stream-1.0.0.tgz";
-      sha1 = "d59a4a75427447d9aa6c91e70263f8d26a4b104b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unique-stream"."^2.0.2" =
-    self.by-version."unique-stream"."2.2.1";
-  by-version."unique-stream"."2.2.1" = self.buildNodePackage {
-    name = "unique-stream-2.2.1";
-    version = "2.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unique-stream/-/unique-stream-2.2.1.tgz";
-      name = "unique-stream-2.2.1.tgz";
-      sha1 = "5aa003cfbe94c5ff866c4e7d668bb1c4dbadb369";
-    };
-    deps = {
-      "json-stable-stringify-1.0.1" = self.by-version."json-stable-stringify"."1.0.1";
-      "through2-filter-2.0.0" = self.by-version."through2-filter"."2.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unorm"."1.3.3" =
-    self.by-version."unorm"."1.3.3";
-  by-version."unorm"."1.3.3" = self.buildNodePackage {
-    name = "unorm-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unorm/-/unorm-1.3.3.tgz";
-      name = "unorm-1.3.3.tgz";
-      sha1 = "16a8772671ebd6f7cde6f8c5e49bb60ac47dba93";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unorm"."^1.3.3" =
-    self.by-version."unorm"."1.4.1";
-  by-version."unorm"."1.4.1" = self.buildNodePackage {
-    name = "unorm-1.4.1";
-    version = "1.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unorm/-/unorm-1.4.1.tgz";
-      name = "unorm-1.4.1.tgz";
-      sha1 = "364200d5f13646ca8bcd44490271335614792300";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unpipe"."1.0.0" =
-    self.by-version."unpipe"."1.0.0";
-  by-version."unpipe"."1.0.0" = self.buildNodePackage {
-    name = "unpipe-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz";
-      name = "unpipe-1.0.0.tgz";
-      sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unpipe"."~1.0.0" =
-    self.by-version."unpipe"."1.0.0";
-  by-spec."untildify"."^2.0.0" =
-    self.by-version."untildify"."2.1.0";
-  by-version."untildify"."2.1.0" = self.buildNodePackage {
-    name = "untildify-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/untildify/-/untildify-2.1.0.tgz";
-      name = "untildify-2.1.0.tgz";
-      sha1 = "17eb2807987f76952e9c0485fc311d06a826a2e0";
-    };
-    deps = {
-      "os-homedir-1.0.1" = self.by-version."os-homedir"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."unzip-response"."^1.0.0" =
-    self.by-version."unzip-response"."1.0.0";
-  by-version."unzip-response"."1.0.0" = self.buildNodePackage {
-    name = "unzip-response-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/unzip-response/-/unzip-response-1.0.0.tgz";
-      name = "unzip-response-1.0.0.tgz";
-      sha1 = "bfda54eeec658f00c2df4d4494b9dca0ca00f3e4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."update-notifier"."0.5.0" =
-    self.by-version."update-notifier"."0.5.0";
-  by-version."update-notifier"."0.5.0" = self.buildNodePackage {
-    name = "update-notifier-0.5.0";
-    version = "0.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/update-notifier/-/update-notifier-0.5.0.tgz";
-      name = "update-notifier-0.5.0.tgz";
-      sha1 = "07b5dc2066b3627ab3b4f530130f7eddda07a4cc";
-    };
-    deps = {
-      "chalk-1.1.3" = self.by-version."chalk"."1.1.3";
-      "configstore-1.4.0" = self.by-version."configstore"."1.4.0";
-      "is-npm-1.0.0" = self.by-version."is-npm"."1.0.0";
-      "latest-version-1.0.1" = self.by-version."latest-version"."1.0.1";
-      "repeating-1.1.3" = self.by-version."repeating"."1.1.3";
-      "semver-diff-2.1.0" = self.by-version."semver-diff"."2.1.0";
-      "string-length-1.0.1" = self.by-version."string-length"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."update-notifier"."^0.5.0" =
-    self.by-version."update-notifier"."0.5.0";
-  by-spec."uri-path"."^1.0.0" =
-    self.by-version."uri-path"."1.0.0";
-  by-version."uri-path"."1.0.0" = self.buildNodePackage {
-    name = "uri-path-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uri-path/-/uri-path-1.0.0.tgz";
-      name = "uri-path-1.0.0.tgz";
-      sha1 = "9747f018358933c31de0fccfd82d138e67262e32";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."url"."~0.10.1" =
-    self.by-version."url"."0.10.3";
-  by-version."url"."0.10.3" = self.buildNodePackage {
-    name = "url-0.10.3";
-    version = "0.10.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/url/-/url-0.10.3.tgz";
-      name = "url-0.10.3.tgz";
-      sha1 = "021e4d9c7705f21bbf37d03ceb58767402774c64";
-    };
-    deps = {
-      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
-      "querystring-0.2.0" = self.by-version."querystring"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."url"."~0.11.0" =
-    self.by-version."url"."0.11.0";
-  by-version."url"."0.11.0" = self.buildNodePackage {
-    name = "url-0.11.0";
-    version = "0.11.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/url/-/url-0.11.0.tgz";
-      name = "url-0.11.0.tgz";
-      sha1 = "3838e97cfc60521eb73c525a8e55bfdd9e2e28f1";
-    };
-    deps = {
-      "punycode-1.3.2" = self.by-version."punycode"."1.3.2";
-      "querystring-0.2.0" = self.by-version."querystring"."0.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."url-join"."0.0.x" =
-    self.by-version."url-join"."0.0.1";
-  by-version."url-join"."0.0.1" = self.buildNodePackage {
-    name = "url-join-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/url-join/-/url-join-0.0.1.tgz";
-      name = "url-join-0.0.1.tgz";
-      sha1 = "1db48ad422d3402469a87f7d97bdebfe4fb1e3c8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."user-home"."^1.1.1" =
-    self.by-version."user-home"."1.1.1";
-  by-version."user-home"."1.1.1" = self.buildNodePackage {
-    name = "user-home-1.1.1";
-    version = "1.1.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/user-home/-/user-home-1.1.1.tgz";
-      name = "user-home-1.1.1.tgz";
-      sha1 = "2b5be23a32b63a7c9deb8d0f28d485724a3df190";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."user-home"."^2.0.0" =
-    self.by-version."user-home"."2.0.0";
-  by-version."user-home"."2.0.0" = self.buildNodePackage {
-    name = "user-home-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/user-home/-/user-home-2.0.0.tgz";
-      name = "user-home-2.0.0.tgz";
-      sha1 = "9c70bfd8169bc1dcbf48604e0f04b8b49cde9e9f";
-    };
-    deps = {
-      "os-homedir-1.0.1" = self.by-version."os-homedir"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."useragent"."^2.1.6" =
-    self.by-version."useragent"."2.1.9";
-  by-version."useragent"."2.1.9" = self.buildNodePackage {
-    name = "useragent-2.1.9";
-    version = "2.1.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/useragent/-/useragent-2.1.9.tgz";
-      name = "useragent-2.1.9.tgz";
-      sha1 = "4dba2bc4dad1875777ab15de3ff8098b475000b7";
-    };
-    deps = {
-      "lru-cache-2.2.4" = self.by-version."lru-cache"."2.2.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utf-8-validate"."1.2.x" =
-    self.by-version."utf-8-validate"."1.2.1";
-  by-version."utf-8-validate"."1.2.1" = self.buildNodePackage {
-    name = "utf-8-validate-1.2.1";
-    version = "1.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utf-8-validate/-/utf-8-validate-1.2.1.tgz";
-      name = "utf-8-validate-1.2.1.tgz";
-      sha1 = "44cb7c6eead73d6b40448f71f745904357b9f72c";
-    };
-    deps = {
-      "bindings-1.2.1" = self.by-version."bindings"."1.2.1";
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utf7"."1.0.0" =
-    self.by-version."utf7"."1.0.0";
-  by-version."utf7"."1.0.0" = self.buildNodePackage {
-    name = "utf7-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utf7/-/utf7-1.0.0.tgz";
-      name = "utf7-1.0.0.tgz";
-      sha1 = "70c895de9d85b8ee7ef5a1fa8e169241c46e72cc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utf8"."2.0.0" =
-    self.by-version."utf8"."2.0.0";
-  by-version."utf8"."2.0.0" = self.buildNodePackage {
-    name = "utf8-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utf8/-/utf8-2.0.0.tgz";
-      name = "utf8-2.0.0.tgz";
-      sha1 = "79ce59eced874809cab9a71fc7102c7d45d4118d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utf8"."2.1.0" =
-    self.by-version."utf8"."2.1.0";
-  by-version."utf8"."2.1.0" = self.buildNodePackage {
-    name = "utf8-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utf8/-/utf8-2.1.0.tgz";
-      name = "utf8-2.1.0.tgz";
-      sha1 = "0cfec5c8052d44a23e3aaa908104e8075f95dfd5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utfx"."~1.0.0" =
-    self.by-version."utfx"."1.0.1";
-  by-version."utfx"."1.0.1" = self.buildNodePackage {
-    name = "utfx-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utfx/-/utfx-1.0.1.tgz";
-      name = "utfx-1.0.1.tgz";
-      sha1 = "d52b2fd632a99eca8d9d4a39eece014a6a2b0048";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."util"."0.10.3" =
-    self.by-version."util"."0.10.3";
-  by-version."util"."0.10.3" = self.buildNodePackage {
-    name = "util-0.10.3";
-    version = "0.10.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/util/-/util-0.10.3.tgz";
-      name = "util-0.10.3.tgz";
-      sha1 = "7afb1afe50805246489e3db7fe0ed379336ac0f9";
-    };
-    deps = {
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."util"."0.4.9" =
-    self.by-version."util"."0.4.9";
-  by-version."util"."0.4.9" = self.buildNodePackage {
-    name = "util-0.4.9";
-    version = "0.4.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/util/-/util-0.4.9.tgz";
-      name = "util-0.4.9.tgz";
-      sha1 = "d95d5830d2328ec17dee3c80bfc50c33562b75a3";
-    };
-    deps = {
-      "events.node-0.4.9" = self.by-version."events.node"."0.4.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."util".">=0.10.3 <1" =
-    self.by-version."util"."0.10.3";
-  by-spec."util"."~0.10.1" =
-    self.by-version."util"."0.10.3";
-  by-spec."util"."~0.10.3" =
-    self.by-version."util"."0.10.3";
-  by-spec."util-deprecate"."1.0.2" =
-    self.by-version."util-deprecate"."1.0.2";
-  by-version."util-deprecate"."1.0.2" = self.buildNodePackage {
-    name = "util-deprecate-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz";
-      name = "util-deprecate-1.0.2.tgz";
-      sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."util-deprecate"."~1.0.1" =
-    self.by-version."util-deprecate"."1.0.2";
-  by-spec."util-extend"."^1.0.1" =
-    self.by-version."util-extend"."1.0.3";
-  by-version."util-extend"."1.0.3" = self.buildNodePackage {
-    name = "util-extend-1.0.3";
-    version = "1.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/util-extend/-/util-extend-1.0.3.tgz";
-      name = "util-extend-1.0.3.tgz";
-      sha1 = "a7c216d267545169637b3b6edc6ca9119e2ff93f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utile"."0.1.x" =
-    self.by-version."utile"."0.1.7";
-  by-version."utile"."0.1.7" = self.buildNodePackage {
-    name = "utile-0.1.7";
-    version = "0.1.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utile/-/utile-0.1.7.tgz";
-      name = "utile-0.1.7.tgz";
-      sha1 = "55db180d54475339fd6dd9e2d14a4c0b52624b69";
-    };
-    deps = {
-      "async-0.1.22" = self.by-version."async"."0.1.22";
-      "deep-equal-1.0.1" = self.by-version."deep-equal"."1.0.1";
-      "i-0.3.5" = self.by-version."i"."0.3.5";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "ncp-0.2.7" = self.by-version."ncp"."0.2.7";
-      "rimraf-1.0.9" = self.by-version."rimraf"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utile"."0.2.1" =
-    self.by-version."utile"."0.2.1";
-  by-version."utile"."0.2.1" = self.buildNodePackage {
-    name = "utile-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utile/-/utile-0.2.1.tgz";
-      name = "utile-0.2.1.tgz";
-      sha1 = "930c88e99098d6220834c356cbd9a770522d90d7";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "deep-equal-1.0.1" = self.by-version."deep-equal"."1.0.1";
-      "i-0.3.5" = self.by-version."i"."0.3.5";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "ncp-0.4.2" = self.by-version."ncp"."0.4.2";
-      "rimraf-2.5.2" = self.by-version."rimraf"."2.5.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utile"."0.2.x" =
-    self.by-version."utile"."0.2.1";
-  by-spec."utile"."~0.2.1" =
-    self.by-version."utile"."0.2.1";
-  by-spec."utils-merge"."1.0.0" =
-    self.by-version."utils-merge"."1.0.0";
-  by-version."utils-merge"."1.0.0" = self.buildNodePackage {
-    name = "utils-merge-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.0.tgz";
-      name = "utils-merge-1.0.0.tgz";
-      sha1 = "0294fb922bb9375153541c4f7096231f287c8af8";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."utils-merge"."1.x.x" =
-    self.by-version."utils-merge"."1.0.0";
-  by-spec."utp"."0.0.7" =
-    self.by-version."utp"."0.0.7";
-  by-version."utp"."0.0.7" = self.buildNodePackage {
-    name = "utp-0.0.7";
-    version = "0.0.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/utp/-/utp-0.0.7.tgz";
-      name = "utp-0.0.7.tgz";
-      sha1 = "ae43eb7745f5fe63dcc2f277cb4164ad27087f30";
-    };
-    deps = {
-      "cyclist-0.1.1" = self.by-version."cyclist"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uue"."^3.0.0" =
-    self.by-version."uue"."3.0.0";
-  by-version."uue"."3.0.0" = self.buildNodePackage {
-    name = "uue-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uue/-/uue-3.0.0.tgz";
-      name = "uue-3.0.0.tgz";
-      sha1 = "07af69344defa9851b7b845c1c18110b8264e51e";
-    };
-    deps = {
-      "extend-3.0.0" = self.by-version."extend"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uuid"."^2.0.1" =
-    self.by-version."uuid"."2.0.2";
-  by-version."uuid"."2.0.2" = self.buildNodePackage {
-    name = "uuid-2.0.2";
-    version = "2.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/uuid/-/uuid-2.0.2.tgz";
-      name = "uuid-2.0.2.tgz";
-      sha1 = "48bd5698f0677e3c7901a1c46ef15b1643794726";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."uuid"."^2.0.2" =
-    self.by-version."uuid"."2.0.2";
-  by-spec."uuid"."~2.0.1" =
-    self.by-version."uuid"."2.0.2";
-  by-spec."v8-debug"."~0.7.1" =
-    self.by-version."v8-debug"."0.7.7";
-  by-version."v8-debug"."0.7.7" = self.buildNodePackage {
-    name = "v8-debug-0.7.7";
-    version = "0.7.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/v8-debug/-/v8-debug-0.7.7.tgz";
-      name = "v8-debug-0.7.7.tgz";
-      sha1 = "c0a14e7d2957209da2508f63a251ce3ffeeb4935";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-      "node-pre-gyp-0.6.28" = self.by-version."node-pre-gyp"."0.6.28";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."v8-profiler"."~5.6.0" =
-    self.by-version."v8-profiler"."5.6.5";
-  by-version."v8-profiler"."5.6.5" = self.buildNodePackage {
-    name = "v8-profiler-5.6.5";
-    version = "5.6.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/v8-profiler/-/v8-profiler-5.6.5.tgz";
-      name = "v8-profiler-5.6.5.tgz";
-      sha1 = "8b22e6ff3b76a1c75b1d53fd18d58e3f0a46f5be";
-    };
-    deps = {
-      "nan-2.3.5" = self.by-version."nan"."2.3.5";
-      "node-pre-gyp-0.6.28" = self.by-version."node-pre-gyp"."0.6.28";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."v8flags"."^2.0.2" =
-    self.by-version."v8flags"."2.0.11";
-  by-version."v8flags"."2.0.11" = self.buildNodePackage {
-    name = "v8flags-2.0.11";
-    version = "2.0.11";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/v8flags/-/v8flags-2.0.11.tgz";
-      name = "v8flags-2.0.11.tgz";
-      sha1 = "bca8f30f0d6d60612cc2c00641e6962d42ae6881";
-    };
-    deps = {
-      "user-home-1.1.1" = self.by-version."user-home"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vali-date"."^1.0.0" =
-    self.by-version."vali-date"."1.0.0";
-  by-version."vali-date"."1.0.0" = self.buildNodePackage {
-    name = "vali-date-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vali-date/-/vali-date-1.0.0.tgz";
-      name = "vali-date-1.0.0.tgz";
-      sha1 = "1b904a59609fb328ef078138420934f6b86709a6";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."valid-identifier"."0.0.1" =
-    self.by-version."valid-identifier"."0.0.1";
-  by-version."valid-identifier"."0.0.1" = self.buildNodePackage {
-    name = "valid-identifier-0.0.1";
-    version = "0.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/valid-identifier/-/valid-identifier-0.0.1.tgz";
-      name = "valid-identifier-0.0.1.tgz";
-      sha1 = "ef1d7093a9d3287e3fce92df916f8616b23f90b4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."validate-npm-package-license"."*" =
-    self.by-version."validate-npm-package-license"."3.0.1";
-  by-version."validate-npm-package-license"."3.0.1" = self.buildNodePackage {
-    name = "validate-npm-package-license-3.0.1";
-    version = "3.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.1.tgz";
-      name = "validate-npm-package-license-3.0.1.tgz";
-      sha1 = "2804babe712ad3379459acfbe24746ab2c303fbc";
-    };
-    deps = {
-      "spdx-correct-1.0.2" = self.by-version."spdx-correct"."1.0.2";
-      "spdx-expression-parse-1.0.2" = self.by-version."spdx-expression-parse"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."validate-npm-package-license"."^3.0.1" =
-    self.by-version."validate-npm-package-license"."3.0.1";
-  by-spec."validate-npm-package-license"."~3.0.1" =
-    self.by-version."validate-npm-package-license"."3.0.1";
-  by-spec."validate-npm-package-name"."^2.0.1" =
-    self.by-version."validate-npm-package-name"."2.2.2";
-  by-version."validate-npm-package-name"."2.2.2" = self.buildNodePackage {
-    name = "validate-npm-package-name-2.2.2";
-    version = "2.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-2.2.2.tgz";
-      name = "validate-npm-package-name-2.2.2.tgz";
-      sha1 = "f65695b22f7324442019a3c7fa39a6e7fd299085";
-    };
-    deps = {
-      "builtins-0.0.7" = self.by-version."builtins"."0.0.7";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."validate-npm-package-name"."~2.2.2" =
-    self.by-version."validate-npm-package-name"."2.2.2";
-  by-spec."validator"."1.5.1" =
-    self.by-version."validator"."1.5.1";
-  by-version."validator"."1.5.1" = self.buildNodePackage {
-    name = "validator-1.5.1";
-    version = "1.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/validator/-/validator-1.5.1.tgz";
-      name = "validator-1.5.1.tgz";
-      sha1 = "7ab356cbbcbbb000ab85c43b8cda12621b1344c0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."validator"."^2.1.0" =
-    self.by-version."validator"."2.1.0";
-  by-version."validator"."2.1.0" = self.buildNodePackage {
-    name = "validator-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/validator/-/validator-2.1.0.tgz";
-      name = "validator-2.1.0.tgz";
-      sha1 = "63276570def208adcf1c032c1f4e6a17d2bd8d8b";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vargs"."~0.1.0" =
-    self.by-version."vargs"."0.1.0";
-  by-version."vargs"."0.1.0" = self.buildNodePackage {
-    name = "vargs-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vargs/-/vargs-0.1.0.tgz";
-      name = "vargs-0.1.0.tgz";
-      sha1 = "6b6184da6520cc3204ce1b407cac26d92609ebff";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vary"."0.1.0" =
-    self.by-version."vary"."0.1.0";
-  by-version."vary"."0.1.0" = self.buildNodePackage {
-    name = "vary-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vary/-/vary-0.1.0.tgz";
-      name = "vary-0.1.0.tgz";
-      sha1 = "df0945899e93c0cc5bd18cc8321d9d21e74f6176";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vary"."^1" =
-    self.by-version."vary"."1.1.0";
-  by-version."vary"."1.1.0" = self.buildNodePackage {
-    name = "vary-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vary/-/vary-1.1.0.tgz";
-      name = "vary-1.1.0.tgz";
-      sha1 = "e1e5affbbd16ae768dd2674394b9ad3022653140";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vary"."~1.0.0" =
-    self.by-version."vary"."1.0.1";
-  by-version."vary"."1.0.1" = self.buildNodePackage {
-    name = "vary-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vary/-/vary-1.0.1.tgz";
-      name = "vary-1.0.1.tgz";
-      sha1 = "99e4981566a286118dfb2b817357df7993376d10";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vary"."~1.0.1" =
-    self.by-version."vary"."1.0.1";
-  by-spec."vary"."~1.1.0" =
-    self.by-version."vary"."1.1.0";
-  by-spec."vasync"."1.4.0" =
-    self.by-version."vasync"."1.4.0";
-  by-version."vasync"."1.4.0" = self.buildNodePackage {
-    name = "vasync-1.4.0";
-    version = "1.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vasync/-/vasync-1.4.0.tgz";
-      name = "vasync-1.4.0.tgz";
-      sha1 = "6ea5a63582358868d8743cbdd6ffadc9083b910f";
-    };
-    deps = {
-      "jsprim-0.3.0" = self.by-version."jsprim"."0.3.0";
-      "verror-1.1.0" = self.by-version."verror"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vasync"."1.4.3" =
-    self.by-version."vasync"."1.4.3";
-  by-version."vasync"."1.4.3" = self.buildNodePackage {
-    name = "vasync-1.4.3";
-    version = "1.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vasync/-/vasync-1.4.3.tgz";
-      name = "vasync-1.4.3.tgz";
-      sha1 = "c86d52e2b71613d29eedf159f3135dbe749cee37";
-    };
-    deps = {
-      "jsprim-0.3.0" = self.by-version."jsprim"."0.3.0";
-      "verror-1.1.0" = self.by-version."verror"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vasync"."1.6.2" =
-    self.by-version."vasync"."1.6.2";
-  by-version."vasync"."1.6.2" = self.buildNodePackage {
-    name = "vasync-1.6.2";
-    version = "1.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vasync/-/vasync-1.6.2.tgz";
-      name = "vasync-1.6.2.tgz";
-      sha1 = "568edcf40b2b5c35b1cc048cad085de4739703fb";
-    };
-    deps = {
-      "verror-1.1.0" = self.by-version."verror"."1.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vasync"."1.6.3" =
-    self.by-version."vasync"."1.6.3";
-  by-version."vasync"."1.6.3" = self.buildNodePackage {
-    name = "vasync-1.6.3";
-    version = "1.6.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vasync/-/vasync-1.6.3.tgz";
-      name = "vasync-1.6.3.tgz";
-      sha1 = "4a69d7052a47f4ce85503d7641df1cbf40432a94";
-    };
-    deps = {
-      "verror-1.6.0" = self.by-version."verror"."1.6.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."verror"."1.1.0" =
-    self.by-version."verror"."1.1.0";
-  by-version."verror"."1.1.0" = self.buildNodePackage {
-    name = "verror-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/verror/-/verror-1.1.0.tgz";
-      name = "verror-1.1.0.tgz";
-      sha1 = "2a4b4eb14a207051e75a6f94ee51315bf173a1b0";
-    };
-    deps = {
-      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."verror"."1.3.3" =
-    self.by-version."verror"."1.3.3";
-  by-version."verror"."1.3.3" = self.buildNodePackage {
-    name = "verror-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/verror/-/verror-1.3.3.tgz";
-      name = "verror-1.3.3.tgz";
-      sha1 = "8a6a4ac3a8c774b6f687fece49bdffd78552e2cd";
-    };
-    deps = {
-      "extsprintf-1.0.0" = self.by-version."extsprintf"."1.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."verror"."1.3.6" =
-    self.by-version."verror"."1.3.6";
-  by-version."verror"."1.3.6" = self.buildNodePackage {
-    name = "verror-1.3.6";
-    version = "1.3.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/verror/-/verror-1.3.6.tgz";
-      name = "verror-1.3.6.tgz";
-      sha1 = "cff5df12946d297d2baaefaa2689e25be01c005c";
-    };
-    deps = {
-      "extsprintf-1.0.2" = self.by-version."extsprintf"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."verror"."1.6.0" =
-    self.by-version."verror"."1.6.0";
-  by-version."verror"."1.6.0" = self.buildNodePackage {
-    name = "verror-1.6.0";
-    version = "1.6.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/verror/-/verror-1.6.0.tgz";
-      name = "verror-1.6.0.tgz";
-      sha1 = "7d13b27b1facc2e2da90405eb5ea6e5bdd252ea5";
-    };
-    deps = {
-      "extsprintf-1.2.0" = self.by-version."extsprintf"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."verror"."^1.4.0" =
-    self.by-version."verror"."1.6.1";
-  by-version."verror"."1.6.1" = self.buildNodePackage {
-    name = "verror-1.6.1";
-    version = "1.6.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/verror/-/verror-1.6.1.tgz";
-      name = "verror-1.6.1.tgz";
-      sha1 = "236402060648c219d1162c2451d1c341a0e1c9ce";
-    };
-    deps = {
-      "core-util-is-1.0.2" = self.by-version."core-util-is"."1.0.2";
-      "extsprintf-1.2.0" = self.by-version."extsprintf"."1.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."verror"."^1.6.0" =
-    self.by-version."verror"."1.6.1";
-  by-spec."vhost"."1.0.0" =
-    self.by-version."vhost"."1.0.0";
-  by-version."vhost"."1.0.0" = self.buildNodePackage {
-    name = "vhost-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vhost/-/vhost-1.0.0.tgz";
-      name = "vhost-1.0.0.tgz";
-      sha1 = "654513f289a4f898aab745bbd633e40180c9c4c0";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vhost"."~3.0.1" =
-    self.by-version."vhost"."3.0.2";
-  by-version."vhost"."3.0.2" = self.buildNodePackage {
-    name = "vhost-3.0.2";
-    version = "3.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vhost/-/vhost-3.0.2.tgz";
-      name = "vhost-3.0.2.tgz";
-      sha1 = "2fb1decd4c466aa88b0f9341af33dc1aff2478d5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."view-helpers"."*" =
-    self.by-version."view-helpers"."0.1.5";
-  by-version."view-helpers"."0.1.5" = self.buildNodePackage {
-    name = "view-helpers-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/view-helpers/-/view-helpers-0.1.5.tgz";
-      name = "view-helpers-0.1.5.tgz";
-      sha1 = "175d220a6afeca8e3b497b003e2337bcc596f761";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "view-helpers" = self.by-version."view-helpers"."0.1.5";
-  by-spec."vinyl"."^0.4.0" =
-    self.by-version."vinyl"."0.4.6";
-  by-version."vinyl"."0.4.6" = self.buildNodePackage {
-    name = "vinyl-0.4.6";
-    version = "0.4.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vinyl/-/vinyl-0.4.6.tgz";
-      name = "vinyl-0.4.6.tgz";
-      sha1 = "2f356c87a550a255461f36bbeb2a5ba8bf784847";
-    };
-    deps = {
-      "clone-0.2.0" = self.by-version."clone"."0.2.0";
-      "clone-stats-0.0.1" = self.by-version."clone-stats"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vinyl"."^0.5.0" =
-    self.by-version."vinyl"."0.5.3";
-  by-version."vinyl"."0.5.3" = self.buildNodePackage {
-    name = "vinyl-0.5.3";
-    version = "0.5.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vinyl/-/vinyl-0.5.3.tgz";
-      name = "vinyl-0.5.3.tgz";
-      sha1 = "b0455b38fc5e0cf30d4325132e461970c2091cde";
-    };
-    deps = {
-      "clone-1.0.2" = self.by-version."clone"."1.0.2";
-      "clone-stats-0.0.1" = self.by-version."clone-stats"."0.0.1";
-      "replace-ext-0.0.1" = self.by-version."replace-ext"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vinyl"."^1.0.0" =
-    self.by-version."vinyl"."1.1.1";
-  by-version."vinyl"."1.1.1" = self.buildNodePackage {
-    name = "vinyl-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vinyl/-/vinyl-1.1.1.tgz";
-      name = "vinyl-1.1.1.tgz";
-      sha1 = "7940887eef09381eb3626ac4c0f9ab53d4b7e450";
-    };
-    deps = {
-      "clone-1.0.2" = self.by-version."clone"."1.0.2";
-      "clone-stats-0.0.1" = self.by-version."clone-stats"."0.0.1";
-      "replace-ext-0.0.1" = self.by-version."replace-ext"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vinyl"."^1.1.1" =
-    self.by-version."vinyl"."1.1.1";
-  by-spec."vinyl-fs"."^0.3.0" =
-    self.by-version."vinyl-fs"."0.3.14";
-  by-version."vinyl-fs"."0.3.14" = self.buildNodePackage {
-    name = "vinyl-fs-0.3.14";
-    version = "0.3.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-0.3.14.tgz";
-      name = "vinyl-fs-0.3.14.tgz";
-      sha1 = "9a6851ce1cac1c1cea5fe86c0931d620c2cfa9e6";
-    };
-    deps = {
-      "defaults-1.0.3" = self.by-version."defaults"."1.0.3";
-      "glob-stream-3.1.18" = self.by-version."glob-stream"."3.1.18";
-      "glob-watcher-0.0.6" = self.by-version."glob-watcher"."0.0.6";
-      "graceful-fs-3.0.8" = self.by-version."graceful-fs"."3.0.8";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "strip-bom-1.0.0" = self.by-version."strip-bom"."1.0.0";
-      "through2-0.6.5" = self.by-version."through2"."0.6.5";
-      "vinyl-0.4.6" = self.by-version."vinyl"."0.4.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vinyl-fs"."^2.4.3" =
-    self.by-version."vinyl-fs"."2.4.3";
-  by-version."vinyl-fs"."2.4.3" = self.buildNodePackage {
-    name = "vinyl-fs-2.4.3";
-    version = "2.4.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vinyl-fs/-/vinyl-fs-2.4.3.tgz";
-      name = "vinyl-fs-2.4.3.tgz";
-      sha1 = "3d97e562ebfdd4b66921dea70626b84bde9d2d07";
-    };
-    deps = {
-      "duplexify-3.4.3" = self.by-version."duplexify"."3.4.3";
-      "glob-stream-5.3.2" = self.by-version."glob-stream"."5.3.2";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "gulp-sourcemaps-1.6.0" = self.by-version."gulp-sourcemaps"."1.6.0";
-      "is-valid-glob-0.3.0" = self.by-version."is-valid-glob"."0.3.0";
-      "lazystream-1.0.0" = self.by-version."lazystream"."1.0.0";
-      "lodash.isequal-4.2.0" = self.by-version."lodash.isequal"."4.2.0";
-      "merge-stream-1.0.0" = self.by-version."merge-stream"."1.0.0";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "readable-stream-2.1.4" = self.by-version."readable-stream"."2.1.4";
-      "strip-bom-2.0.0" = self.by-version."strip-bom"."2.0.0";
-      "strip-bom-stream-1.0.0" = self.by-version."strip-bom-stream"."1.0.0";
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "through2-filter-2.0.0" = self.by-version."through2-filter"."2.0.0";
-      "vali-date-1.0.0" = self.by-version."vali-date"."1.0.0";
-      "vinyl-1.1.1" = self.by-version."vinyl"."1.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vm-browserify"."0.0.4" =
-    self.by-version."vm-browserify"."0.0.4";
-  by-version."vm-browserify"."0.0.4" = self.buildNodePackage {
-    name = "vm-browserify-0.0.4";
-    version = "0.0.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vm-browserify/-/vm-browserify-0.0.4.tgz";
-      name = "vm-browserify-0.0.4.tgz";
-      sha1 = "5d7ea45bbef9e4a6ff65f95438e0a87c357d5a73";
-    };
-    deps = {
-      "indexof-0.0.1" = self.by-version."indexof"."0.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vm-browserify"."~0.0.1" =
-    self.by-version."vm-browserify"."0.0.4";
-  by-spec."voc"."*" =
-    self.by-version."voc"."0.5.0";
-  by-version."voc"."0.5.0" = self.buildNodePackage {
-    name = "voc-0.5.0";
-    version = "0.5.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/voc/-/voc-0.5.0.tgz";
-      name = "voc-0.5.0.tgz";
-      sha1 = "be6ca7c76e4a57d930cc80f6b31fbd80ca86045c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."void-elements"."^2.0.0" =
-    self.by-version."void-elements"."2.0.1";
-  by-version."void-elements"."2.0.1" = self.buildNodePackage {
-    name = "void-elements-2.0.1";
-    version = "2.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz";
-      name = "void-elements-2.0.1.tgz";
-      sha1 = "c066afb582bb1cb4128d60ea92392e94d5e9dbec";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."void-elements"."~2.0.1" =
-    self.by-version."void-elements"."2.0.1";
-  by-spec."vows".">=0.5.13" =
-    self.by-version."vows"."0.8.1";
-  by-version."vows"."0.8.1" = self.buildNodePackage {
-    name = "vows-0.8.1";
-    version = "0.8.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/vows/-/vows-0.8.1.tgz";
-      name = "vows-0.8.1.tgz";
-      sha1 = "e09e988ce594ca05a08d72abcca34e88db559131";
-    };
-    deps = {
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "diff-1.0.8" = self.by-version."diff"."1.0.8";
-      "glob-4.0.6" = self.by-version."glob"."4.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."vows".">=0.5.2" =
-    self.by-version."vows"."0.8.1";
-  by-spec."walk"."*" =
-    self.by-version."walk"."2.3.9";
-  by-version."walk"."2.3.9" = self.buildNodePackage {
-    name = "walk-2.3.9";
-    version = "2.3.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/walk/-/walk-2.3.9.tgz";
-      name = "walk-2.3.9.tgz";
-      sha1 = "31b4db6678f2ae01c39ea9fb8725a9031e558a7b";
-    };
-    deps = {
-      "foreachasync-3.0.0" = self.by-version."foreachasync"."3.0.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "walk" = self.by-version."walk"."2.3.9";
-  by-spec."walk"."^2.3.9" =
-    self.by-version."walk"."2.3.9";
-  by-spec."ware"."^1.2.0" =
-    self.by-version."ware"."1.3.0";
-  by-version."ware"."1.3.0" = self.buildNodePackage {
-    name = "ware-1.3.0";
-    version = "1.3.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ware/-/ware-1.3.0.tgz";
-      name = "ware-1.3.0.tgz";
-      sha1 = "d1b14f39d2e2cb4ab8c4098f756fe4b164e473d4";
-    };
-    deps = {
-      "wrap-fn-0.1.5" = self.by-version."wrap-fn"."0.1.5";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."watch"."0.5.x" =
-    self.by-version."watch"."0.5.1";
-  by-version."watch"."0.5.1" = self.buildNodePackage {
-    name = "watch-0.5.1";
-    version = "0.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/watch/-/watch-0.5.1.tgz";
-      name = "watch-0.5.1.tgz";
-      sha1 = "50ea3a056358c98073e0bca59956de4afd20b213";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."watchpack"."^1.0.0" =
-    self.by-version."watchpack"."1.1.0";
-  by-version."watchpack"."1.1.0" = self.buildNodePackage {
-    name = "watchpack-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/watchpack/-/watchpack-1.1.0.tgz";
-      name = "watchpack-1.1.0.tgz";
-      sha1 = "42d44627464a2fadffc9308c0f7562cfde795f24";
-    };
-    deps = {
-      "async-2.0.0-rc.4" = self.by-version."async"."2.0.0-rc.4";
-      "chokidar-1.5.2" = self.by-version."chokidar"."1.5.2";
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wcwidth"."^1.0.0" =
-    self.by-version."wcwidth"."1.0.1";
-  by-version."wcwidth"."1.0.1" = self.buildNodePackage {
-    name = "wcwidth-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz";
-      name = "wcwidth-1.0.1.tgz";
-      sha1 = "f0b0dcf915bc5ff1528afadb2c0e17b532da2fe8";
-    };
-    deps = {
-      "defaults-1.0.3" = self.by-version."defaults"."1.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wd"."^0.3.4" =
-    self.by-version."wd"."0.3.12";
-  by-version."wd"."0.3.12" = self.buildNodePackage {
-    name = "wd-0.3.12";
-    version = "0.3.12";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wd/-/wd-0.3.12.tgz";
-      name = "wd-0.3.12.tgz";
-      sha1 = "3fb4f1d759f8c85dde5393d17334ffe03e9bb329";
-    };
-    deps = {
-      "archiver-0.14.4" = self.by-version."archiver"."0.14.4";
-      "async-1.0.0" = self.by-version."async"."1.0.0";
-      "lodash-3.9.3" = self.by-version."lodash"."3.9.3";
-      "q-1.4.1" = self.by-version."q"."1.4.1";
-      "request-2.55.0" = self.by-version."request"."2.55.0";
-      "underscore.string-3.0.3" = self.by-version."underscore.string"."3.0.3";
-      "vargs-0.1.0" = self.by-version."vargs"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."weak-map"."^1.0.5" =
-    self.by-version."weak-map"."1.0.5";
-  by-version."weak-map"."1.0.5" = self.buildNodePackage {
-    name = "weak-map-1.0.5";
-    version = "1.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/weak-map/-/weak-map-1.0.5.tgz";
-      name = "weak-map-1.0.5.tgz";
-      sha1 = "79691584d98607f5070bd3b70a40e6bb22e401eb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."webdrvr"."*" =
-    self.by-version."webdrvr"."2.43.0-1";
-  by-version."webdrvr"."2.43.0-1" = self.buildNodePackage {
-    name = "webdrvr-2.43.0-1";
-    version = "2.43.0-1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/webdrvr/-/webdrvr-2.43.0-1.tgz";
-      name = "webdrvr-2.43.0-1.tgz";
-      sha1 = "17c442b94c0a6a3a68293d6ea4deb408f8cb9225";
-    };
-    deps = {
-      "adm-zip-0.4.7" = self.by-version."adm-zip"."0.4.7";
-      "kew-0.1.7" = self.by-version."kew"."0.1.7";
-      "mkdirp-0.3.5" = self.by-version."mkdirp"."0.3.5";
-      "npmconf-0.1.16" = self.by-version."npmconf"."0.1.16";
-      "phantomjs-1.9.20" = self.by-version."phantomjs"."1.9.20";
-      "tmp-0.0.28" = self.by-version."tmp"."0.0.28";
-      "follow-redirects-0.0.3" = self.by-version."follow-redirects"."0.0.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "webdrvr" = self.by-version."webdrvr"."2.43.0-1";
-  by-spec."webpack"."*" =
-    self.by-version."webpack"."2.1.0-beta.13";
-  by-version."webpack"."2.1.0-beta.13" = self.buildNodePackage {
-    name = "webpack-2.1.0-beta.13";
-    version = "2.1.0-beta.13";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-2.1.0-beta.13.tgz";
-      name = "webpack-2.1.0-beta.13.tgz";
-      sha1 = "d4b82a42a7cd397580611121b4c451bfe9ec7fde";
-    };
-    deps = {
-      "acorn-3.2.0" = self.by-version."acorn"."3.2.0";
-      "async-1.5.2" = self.by-version."async"."1.5.2";
-      "clone-1.0.2" = self.by-version."clone"."1.0.2";
-      "enhanced-resolve-2.2.2" = self.by-version."enhanced-resolve"."2.2.2";
-      "interpret-1.0.1" = self.by-version."interpret"."1.0.1";
-      "loader-runner-2.1.1" = self.by-version."loader-runner"."2.1.1";
-      "loader-utils-0.2.15" = self.by-version."loader-utils"."0.2.15";
-      "memory-fs-0.3.0" = self.by-version."memory-fs"."0.3.0";
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-      "node-libs-browser-1.0.0" = self.by-version."node-libs-browser"."1.0.0";
-      "object-assign-4.1.0" = self.by-version."object-assign"."4.1.0";
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-      "supports-color-3.1.2" = self.by-version."supports-color"."3.1.2";
-      "tapable-0.2.4" = self.by-version."tapable"."0.2.4";
-      "uglify-js-2.6.2" = self.by-version."uglify-js"."2.6.2";
-      "watchpack-1.1.0" = self.by-version."watchpack"."1.1.0";
-      "webpack-sources-0.1.2" = self.by-version."webpack-sources"."0.1.2";
-      "yargs-4.7.1" = self.by-version."yargs"."4.7.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "webpack" = self.by-version."webpack"."2.1.0-beta.13";
-  by-spec."webpack-sources"."^0.1.0" =
-    self.by-version."webpack-sources"."0.1.2";
-  by-version."webpack-sources"."0.1.2" = self.buildNodePackage {
-    name = "webpack-sources-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-sources/-/webpack-sources-0.1.2.tgz";
-      name = "webpack-sources-0.1.2.tgz";
-      sha1 = "057a3f3255f8ba561b901d9150589aa103a57e65";
-    };
-    deps = {
-      "source-map-0.5.6" = self.by-version."source-map"."0.5.6";
-      "source-list-map-0.1.6" = self.by-version."source-list-map"."0.1.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."websocket-driver".">=0.5.1" =
-    self.by-version."websocket-driver"."0.6.5";
-  by-version."websocket-driver"."0.6.5" = self.buildNodePackage {
-    name = "websocket-driver-0.6.5";
-    version = "0.6.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz";
-      name = "websocket-driver-0.6.5.tgz";
-      sha1 = "5cb2556ceb85f4373c6d8238aa691c8454e13a36";
-    };
-    deps = {
-      "websocket-extensions-0.1.1" = self.by-version."websocket-extensions"."0.1.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."websocket-extensions".">=0.1.1" =
-    self.by-version."websocket-extensions"."0.1.1";
-  by-version."websocket-extensions"."0.1.1" = self.buildNodePackage {
-    name = "websocket-extensions-0.1.1";
-    version = "0.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.1.tgz";
-      name = "websocket-extensions-0.1.1.tgz";
-      sha1 = "76899499c184b6ef754377c2dbb0cd6cb55d29e7";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."websocket-stream"."^3.0.1" =
-    self.by-version."websocket-stream"."3.2.1";
-  by-version."websocket-stream"."3.2.1" = self.buildNodePackage {
-    name = "websocket-stream-3.2.1";
-    version = "3.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/websocket-stream/-/websocket-stream-3.2.1.tgz";
-      name = "websocket-stream-3.2.1.tgz";
-      sha1 = "344629940eb8efd580fed0fde6d0617b44222335";
-    };
-    deps = {
-      "duplexify-3.4.3" = self.by-version."duplexify"."3.4.3";
-      "inherits-2.0.1" = self.by-version."inherits"."2.0.1";
-      "through2-2.0.1" = self.by-version."through2"."2.0.1";
-      "ws-1.1.0" = self.by-version."ws"."1.1.0";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."whatwg-fetch".">=0.10.0" =
-    self.by-version."whatwg-fetch"."1.0.0";
-  by-version."whatwg-fetch"."1.0.0" = self.buildNodePackage {
-    name = "whatwg-fetch-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/whatwg-fetch/-/whatwg-fetch-1.0.0.tgz";
-      name = "whatwg-fetch-1.0.0.tgz";
-      sha1 = "01c2ac4df40e236aaa18480e3be74bd5c8eb798e";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."when"."3.7.7" =
-    self.by-version."when"."3.7.7";
-  by-version."when"."3.7.7" = self.buildNodePackage {
-    name = "when-3.7.7";
-    version = "3.7.7";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/when/-/when-3.7.7.tgz";
-      name = "when-3.7.7.tgz";
-      sha1 = "aba03fc3bb736d6c88b091d013d8a8e590d84718";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."when"."~3.4.6" =
-    self.by-version."when"."3.4.6";
-  by-version."when"."3.4.6" = self.buildNodePackage {
-    name = "when-3.4.6";
-    version = "3.4.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/when/-/when-3.4.6.tgz";
-      name = "when-3.4.6.tgz";
-      sha1 = "8fbcb7cc1439d2c3a68c431f1516e6dcce9ad28c";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."whet.extend"."~0.9.9" =
-    self.by-version."whet.extend"."0.9.9";
-  by-version."whet.extend"."0.9.9" = self.buildNodePackage {
-    name = "whet.extend-0.9.9";
-    version = "0.9.9";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/whet.extend/-/whet.extend-0.9.9.tgz";
-      name = "whet.extend-0.9.9.tgz";
-      sha1 = "f877d5bf648c97e5aa542fadc16d6a259b9c11a1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."which"."1" =
-    self.by-version."which"."1.2.10";
-  by-version."which"."1.2.10" = self.buildNodePackage {
-    name = "which-1.2.10";
-    version = "1.2.10";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/which/-/which-1.2.10.tgz";
-      name = "which-1.2.10.tgz";
-      sha1 = "91cd9bd0751322411b659b40f054b21de957ab2d";
-    };
-    deps = {
-      "isexe-1.1.2" = self.by-version."isexe"."1.1.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."which"."^1.0.7" =
-    self.by-version."which"."1.2.10";
-  by-spec."which"."^1.1.1" =
-    self.by-version."which"."1.2.10";
-  by-spec."which"."^1.2.1" =
-    self.by-version."which"."1.2.10";
-  by-spec."which"."~1.0.5" =
-    self.by-version."which"."1.0.9";
-  by-version."which"."1.0.9" = self.buildNodePackage {
-    name = "which-1.0.9";
-    version = "1.0.9";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/which/-/which-1.0.9.tgz";
-      name = "which-1.0.9.tgz";
-      sha1 = "460c1da0f810103d0321a9b633af9e575e64486f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."which"."~1.2.1" =
-    self.by-version."which"."1.2.10";
-  by-spec."which"."~1.2.2" =
-    self.by-version."which"."1.2.10";
-  by-spec."which"."~1.2.8" =
-    self.by-version."which"."1.2.10";
-  by-spec."which"."~1.2.9" =
-    self.by-version."which"."1.2.10";
-  by-spec."wide-align"."^1.1.0" =
-    self.by-version."wide-align"."1.1.0";
-  by-version."wide-align"."1.1.0" = self.buildNodePackage {
-    name = "wide-align-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wide-align/-/wide-align-1.1.0.tgz";
-      name = "wide-align-1.1.0.tgz";
-      sha1 = "40edde802a71fea1f070da3e62dcda2e7add96ad";
-    };
-    deps = {
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."win-detect-browsers"."^1.0.1" =
-    self.by-version."win-detect-browsers"."1.0.2";
-  by-version."win-detect-browsers"."1.0.2" = self.buildNodePackage {
-    name = "win-detect-browsers-1.0.2";
-    version = "1.0.2";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/win-detect-browsers/-/win-detect-browsers-1.0.2.tgz";
-      name = "win-detect-browsers-1.0.2.tgz";
-      sha1 = "f45f10d141086c5d94ae14c03b2098440a7e71b0";
-    };
-    deps = {
-      "after-0.8.1" = self.by-version."after"."0.8.1";
-      "debug-2.2.0" = self.by-version."debug"."2.2.0";
-      "which-1.2.10" = self.by-version."which"."1.2.10";
-      "xtend-4.0.1" = self.by-version."xtend"."4.0.1";
-      "yargs-1.3.3" = self.by-version."yargs"."1.3.3";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."win-release"."^1.0.0" =
-    self.by-version."win-release"."1.1.1";
-  by-version."win-release"."1.1.1" = self.buildNodePackage {
-    name = "win-release-1.1.1";
-    version = "1.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/win-release/-/win-release-1.1.1.tgz";
-      name = "win-release-1.1.1.tgz";
-      sha1 = "5fa55e02be7ca934edfc12665632e849b72e5209";
-    };
-    deps = {
-      "semver-5.1.0" = self.by-version."semver"."5.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."window-size"."0.1.0" =
-    self.by-version."window-size"."0.1.0";
-  by-version."window-size"."0.1.0" = self.buildNodePackage {
-    name = "window-size-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz";
-      name = "window-size-0.1.0.tgz";
-      sha1 = "5438cd2ea93b202efa3a19fe8887aee7c94f9c9d";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."window-size"."^0.1.2" =
-    self.by-version."window-size"."0.1.4";
-  by-version."window-size"."0.1.4" = self.buildNodePackage {
-    name = "window-size-0.1.4";
-    version = "0.1.4";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/window-size/-/window-size-0.1.4.tgz";
-      name = "window-size-0.1.4.tgz";
-      sha1 = "f8e1aa1ee5a53ec5bf151ffa09742a6ad7697876";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."window-size"."^0.1.4" =
-    self.by-version."window-size"."0.1.4";
-  by-spec."window-size"."^0.2.0" =
-    self.by-version."window-size"."0.2.0";
-  by-version."window-size"."0.2.0" = self.buildNodePackage {
-    name = "window-size-0.2.0";
-    version = "0.2.0";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/window-size/-/window-size-0.2.0.tgz";
-      name = "window-size-0.2.0.tgz";
-      sha1 = "b4315bb4214a3d7058ebeee892e13fa24d98b075";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."windows-no-runnable"."~0.0.6" =
-    self.by-version."windows-no-runnable"."0.0.6";
-  by-version."windows-no-runnable"."0.0.6" = self.buildNodePackage {
-    name = "windows-no-runnable-0.0.6";
-    version = "0.0.6";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/windows-no-runnable/-/windows-no-runnable-0.0.6.tgz";
-      name = "windows-no-runnable-0.0.6.tgz";
-      sha1 = "91e5129088330a0fe248520cee12d1ad6bb4ddfb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."winston"."*" =
-    self.by-version."winston"."2.2.0";
-  by-version."winston"."2.2.0" = self.buildNodePackage {
-    name = "winston-2.2.0";
-    version = "2.2.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winston/-/winston-2.2.0.tgz";
-      name = "winston-2.2.0.tgz";
-      sha1 = "2c853dd87ab552a8e8485d72cbbf9a2286f029b7";
-    };
-    deps = {
-      "async-1.0.0" = self.by-version."async"."1.0.0";
-      "colors-1.0.3" = self.by-version."colors"."1.0.3";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "winston" = self.by-version."winston"."2.2.0";
-  by-spec."winston"."0.6.2" =
-    self.by-version."winston"."0.6.2";
-  by-version."winston"."0.6.2" = self.buildNodePackage {
-    name = "winston-0.6.2";
-    version = "0.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winston/-/winston-0.6.2.tgz";
-      name = "winston-0.6.2.tgz";
-      sha1 = "4144fe2586cdc19a612bf8c035590132c9064bd2";
-    };
-    deps = {
-      "async-0.1.22" = self.by-version."async"."0.1.22";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "pkginfo-0.2.3" = self.by-version."pkginfo"."0.2.3";
-      "request-2.9.203" = self.by-version."request"."2.9.203";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."winston"."0.6.x" =
-    self.by-version."winston"."0.6.2";
-  by-spec."winston"."0.7.2" =
-    self.by-version."winston"."0.7.2";
-  by-version."winston"."0.7.2" = self.buildNodePackage {
-    name = "winston-0.7.2";
-    version = "0.7.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winston/-/winston-0.7.2.tgz";
-      name = "winston-0.7.2.tgz";
-      sha1 = "2570ae1aa1d8a9401e8d5a88362e1cf936550ceb";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-      "request-2.16.6" = self.by-version."request"."2.16.6";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."winston"."0.7.3" =
-    self.by-version."winston"."0.7.3";
-  by-version."winston"."0.7.3" = self.buildNodePackage {
-    name = "winston-0.7.3";
-    version = "0.7.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winston/-/winston-0.7.3.tgz";
-      name = "winston-0.7.3.tgz";
-      sha1 = "7ae313ba73fcdc2ecb4aa2f9cd446e8298677266";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-      "request-2.16.6" = self.by-version."request"."2.16.6";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."winston"."0.8.0" =
-    self.by-version."winston"."0.8.0";
-  by-version."winston"."0.8.0" = self.buildNodePackage {
-    name = "winston-0.8.0";
-    version = "0.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winston/-/winston-0.8.0.tgz";
-      name = "winston-0.8.0.tgz";
-      sha1 = "61d0830fa699706212206b0a2b5ca69a93043668";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."winston"."0.8.x" =
-    self.by-version."winston"."0.8.3";
-  by-version."winston"."0.8.3" = self.buildNodePackage {
-    name = "winston-0.8.3";
-    version = "0.8.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winston/-/winston-0.8.3.tgz";
-      name = "winston-0.8.3.tgz";
-      sha1 = "64b6abf4cd01adcaefd5009393b1d8e8bec19db0";
-    };
-    deps = {
-      "async-0.2.10" = self.by-version."async"."0.2.10";
-      "colors-0.6.2" = self.by-version."colors"."0.6.2";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."winston"."1.0.0" =
-    self.by-version."winston"."1.0.0";
-  by-version."winston"."1.0.0" = self.buildNodePackage {
-    name = "winston-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winston/-/winston-1.0.0.tgz";
-      name = "winston-1.0.0.tgz";
-      sha1 = "30e36e0041fc0a864b0029565719e4dc41d026a4";
-    };
-    deps = {
-      "async-0.9.2" = self.by-version."async"."0.9.2";
-      "colors-1.0.3" = self.by-version."colors"."1.0.3";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."winston"."1.0.x" =
-    self.by-version."winston"."1.0.2";
-  by-version."winston"."1.0.2" = self.buildNodePackage {
-    name = "winston-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winston/-/winston-1.0.2.tgz";
-      name = "winston-1.0.2.tgz";
-      sha1 = "351c58e2323f8a4ca29a45195aa9aa3b4c35d76f";
-    };
-    deps = {
-      "async-1.0.0" = self.by-version."async"."1.0.0";
-      "colors-1.0.3" = self.by-version."colors"."1.0.3";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."winston"."~0.8.1" =
-    self.by-version."winston"."0.8.3";
-  by-spec."winston"."~2.1.1" =
-    self.by-version."winston"."2.1.1";
-  by-version."winston"."2.1.1" = self.buildNodePackage {
-    name = "winston-2.1.1";
-    version = "2.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/winston/-/winston-2.1.1.tgz";
-      name = "winston-2.1.1.tgz";
-      sha1 = "3c9349d196207fd1bdff9d4bc43ef72510e3a12e";
-    };
-    deps = {
-      "async-1.0.0" = self.by-version."async"."1.0.0";
-      "colors-1.0.3" = self.by-version."colors"."1.0.3";
-      "cycle-1.0.3" = self.by-version."cycle"."1.0.3";
-      "eyes-0.1.8" = self.by-version."eyes"."0.1.8";
-      "isstream-0.1.2" = self.by-version."isstream"."0.1.2";
-      "pkginfo-0.3.1" = self.by-version."pkginfo"."0.3.1";
-      "stack-trace-0.0.9" = self.by-version."stack-trace"."0.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."with"."~4.0.0" =
-    self.by-version."with"."4.0.3";
-  by-version."with"."4.0.3" = self.buildNodePackage {
-    name = "with-4.0.3";
-    version = "4.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/with/-/with-4.0.3.tgz";
-      name = "with-4.0.3.tgz";
-      sha1 = "eefd154e9e79d2c8d3417b647a8f14d9fecce14e";
-    };
-    deps = {
-      "acorn-1.2.2" = self.by-version."acorn"."1.2.2";
-      "acorn-globals-1.0.9" = self.by-version."acorn-globals"."1.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap"."0.0.2" =
-    self.by-version."wordwrap"."0.0.2";
-  by-version."wordwrap"."0.0.2" = self.buildNodePackage {
-    name = "wordwrap-0.0.2";
-    version = "0.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz";
-      name = "wordwrap-0.0.2.tgz";
-      sha1 = "b79669bb42ecb409f83d583cad52ca17eaa1643f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap".">=0.0.1 <0.1.0" =
-    self.by-version."wordwrap"."0.0.3";
-  by-version."wordwrap"."0.0.3" = self.buildNodePackage {
-    name = "wordwrap-0.0.3";
-    version = "0.0.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz";
-      name = "wordwrap-0.0.3.tgz";
-      sha1 = "a3d5da6cd5c0bc0008d37234bbaf1bed63059107";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap"."^1.0.0" =
-    self.by-version."wordwrap"."1.0.0";
-  by-version."wordwrap"."1.0.0" = self.buildNodePackage {
-    name = "wordwrap-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz";
-      name = "wordwrap-1.0.0.tgz";
-      sha1 = "27584810891456a4171c8d0226441ade90cbcaeb";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wordwrap"."~0.0.2" =
-    self.by-version."wordwrap"."0.0.3";
-  by-spec."wordwrap"."~1.0.0" =
-    self.by-version."wordwrap"."1.0.0";
-  by-spec."wrap-ansi"."^2.0.0" =
-    self.by-version."wrap-ansi"."2.0.0";
-  by-version."wrap-ansi"."2.0.0" = self.buildNodePackage {
-    name = "wrap-ansi-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.0.0.tgz";
-      name = "wrap-ansi-2.0.0.tgz";
-      sha1 = "7d30f8f873f9a5bbc3a64dabc8d177e071ae426f";
-    };
-    deps = {
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wrap-fn"."^0.1.0" =
-    self.by-version."wrap-fn"."0.1.5";
-  by-version."wrap-fn"."0.1.5" = self.buildNodePackage {
-    name = "wrap-fn-0.1.5";
-    version = "0.1.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wrap-fn/-/wrap-fn-0.1.5.tgz";
-      name = "wrap-fn-0.1.5.tgz";
-      sha1 = "f21b6e41016ff4a7e31720dbc63a09016bdf9845";
-    };
-    deps = {
-      "co-3.1.0" = self.by-version."co"."3.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wrappy"."1" =
-    self.by-version."wrappy"."1.0.2";
-  by-version."wrappy"."1.0.2" = self.buildNodePackage {
-    name = "wrappy-1.0.2";
-    version = "1.0.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
-      name = "wrappy-1.0.2.tgz";
-      sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."wrappy"."~1.0.1" =
-    self.by-version."wrappy"."1.0.2";
-  by-spec."wrench"."1.5.8" =
-    self.by-version."wrench"."1.5.8";
-  by-version."wrench"."1.5.8" = self.buildNodePackage {
-    name = "wrench-1.5.8";
-    version = "1.5.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wrench/-/wrench-1.5.8.tgz";
-      name = "wrench-1.5.8.tgz";
-      sha1 = "7a31c97f7869246d76c5cf2f5c977a1c4c8e5ab5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."write"."^0.2.1" =
-    self.by-version."write"."0.2.1";
-  by-version."write"."0.2.1" = self.buildNodePackage {
-    name = "write-0.2.1";
-    version = "0.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/write/-/write-0.2.1.tgz";
-      name = "write-0.2.1.tgz";
-      sha1 = "5fc03828e264cea3fe91455476f7a3c566cb0757";
-    };
-    deps = {
-      "mkdirp-0.5.1" = self.by-version."mkdirp"."0.5.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."write-file-atomic"."^1.1.2" =
-    self.by-version."write-file-atomic"."1.1.4";
-  by-version."write-file-atomic"."1.1.4" = self.buildNodePackage {
-    name = "write-file-atomic-1.1.4";
-    version = "1.1.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-1.1.4.tgz";
-      name = "write-file-atomic-1.1.4.tgz";
-      sha1 = "b1f52dc2e8dc0e3cb04d187a25f758a38a90ca3b";
-    };
-    deps = {
-      "graceful-fs-4.1.4" = self.by-version."graceful-fs"."4.1.4";
-      "imurmurhash-0.1.4" = self.by-version."imurmurhash"."0.1.4";
-      "slide-1.1.6" = self.by-version."slide"."1.1.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."write-file-atomic"."~1.1.4" =
-    self.by-version."write-file-atomic"."1.1.4";
-  by-spec."ws"."0.4.31" =
-    self.by-version."ws"."0.4.31";
-  by-version."ws"."0.4.31" = self.buildNodePackage {
-    name = "ws-0.4.31";
-    version = "0.4.31";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ws/-/ws-0.4.31.tgz";
-      name = "ws-0.4.31.tgz";
-      sha1 = "5a4849e7a9ccd1ed5a81aeb4847c9fedf3122927";
-    };
-    deps = {
-      "commander-0.6.1" = self.by-version."commander"."0.6.1";
-      "nan-0.3.2" = self.by-version."nan"."0.3.2";
-      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ws"."0.4.x" =
-    self.by-version."ws"."0.4.32";
-  by-version."ws"."0.4.32" = self.buildNodePackage {
-    name = "ws-0.4.32";
-    version = "0.4.32";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ws/-/ws-0.4.32.tgz";
-      name = "ws-0.4.32.tgz";
-      sha1 = "787a6154414f3c99ed83c5772153b20feb0cec32";
-    };
-    deps = {
-      "commander-2.1.0" = self.by-version."commander"."2.1.0";
-      "nan-1.0.0" = self.by-version."nan"."1.0.0";
-      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ws"."0.8.1" =
-    self.by-version."ws"."0.8.1";
-  by-spec."ws"."0.8.x" =
-    self.by-version."ws"."0.8.1";
-  by-version."ws"."0.8.1" = self.buildNodePackage {
-    name = "ws-0.8.1";
-    version = "0.8.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ws/-/ws-0.8.1.tgz";
-      name = "ws-0.8.1.tgz";
-      sha1 = "6b65273b99193c5f067a4cf5809598f777e3b759";
-    };
-    deps = {
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-      "ultron-1.0.2" = self.by-version."ultron"."1.0.2";
-    };
-    optionalDependencies = {
-      "bufferutil-1.2.1" = self.by-version."bufferutil"."1.2.1";
-      "utf-8-validate-1.2.1" = self.by-version."utf-8-validate"."1.2.1";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ws"."1.0.1" =
-    self.by-version."ws"."1.0.1";
-  by-version."ws"."1.0.1" = self.buildNodePackage {
-    name = "ws-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ws/-/ws-1.0.1.tgz";
-      name = "ws-1.0.1.tgz";
-      sha1 = "7d0b2a2e58cddd819039c29c9de65045e1b310e9";
-    };
-    deps = {
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-      "ultron-1.0.2" = self.by-version."ultron"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ws"."^1.0.0" =
-    self.by-version."ws"."1.1.0";
-  by-version."ws"."1.1.0" = self.buildNodePackage {
-    name = "ws-1.1.0";
-    version = "1.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/ws/-/ws-1.1.0.tgz";
-      name = "ws-1.1.0.tgz";
-      sha1 = "c1d6fd1515d3ceff1f0ae2759bf5fd77030aad1d";
-    };
-    deps = {
-      "options-0.0.6" = self.by-version."options"."0.0.6";
-      "ultron-1.0.2" = self.by-version."ultron"."1.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."ws"."^1.0.1" =
-    self.by-version."ws"."1.1.0";
-  by-spec."wscat"."*" =
-    self.by-version."wscat"."1.0.1";
-  by-version."wscat"."1.0.1" = self.buildNodePackage {
-    name = "wscat-1.0.1";
-    version = "1.0.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wscat/-/wscat-1.0.1.tgz";
-      name = "wscat-1.0.1.tgz";
-      sha1 = "542b47c1c27334c64ececef9c2db02faf6212964";
-    };
-    deps = {
-      "commander-2.8.1" = self.by-version."commander"."2.8.1";
-      "tinycolor-0.0.1" = self.by-version."tinycolor"."0.0.1";
-      "ws-0.8.1" = self.by-version."ws"."0.8.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "wscat" = self.by-version."wscat"."1.0.1";
-  by-spec."wu"."*" =
-    self.by-version."wu"."2.1.0";
-  by-version."wu"."2.1.0" = self.buildNodePackage {
-    name = "wu-2.1.0";
-    version = "2.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/wu/-/wu-2.1.0.tgz";
-      name = "wu-2.1.0.tgz";
-      sha1 = "7e72e3fba23e0ff669ddd537e1c857d3d4b1614f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "wu" = self.by-version."wu"."2.1.0";
-  by-spec."x-default-browser"."~0.3.0" =
-    self.by-version."x-default-browser"."0.3.1";
-  by-version."x-default-browser"."0.3.1" = self.buildNodePackage {
-    name = "x-default-browser-0.3.1";
-    version = "0.3.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/x-default-browser/-/x-default-browser-0.3.1.tgz";
-      name = "x-default-browser-0.3.1.tgz";
-      sha1 = "7f6194154fd1786cf261e68b5488c47127a04977";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-      "default-browser-id-1.0.4" = self.by-version."default-browser-id"."1.0.4";
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."x509"."*" =
-    self.by-version."x509"."0.2.5";
-  by-version."x509"."0.2.5" = self.buildNodePackage {
-    name = "x509-0.2.5";
-    version = "0.2.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/x509/-/x509-0.2.5.tgz";
-      name = "x509-0.2.5.tgz";
-      sha1 = "2981c64dae023f2b21be08c0f2491a8e72bcbd78";
-    };
-    deps = {
-      "nan-2.2.0" = self.by-version."nan"."2.2.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  "x509" = self.by-version."x509"."0.2.5";
-  by-spec."xcode"."^0.8.5" =
-    self.by-version."xcode"."0.8.8";
-  by-version."xcode"."0.8.8" = self.buildNodePackage {
-    name = "xcode-0.8.8";
-    version = "0.8.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xcode/-/xcode-0.8.8.tgz";
-      name = "xcode-0.8.8.tgz";
-      sha1 = "1330877c4200f2094009e3bf144e6932596fcca0";
-    };
-    deps = {
-      "node-uuid-1.4.7" = self.by-version."node-uuid"."1.4.7";
-      "pegjs-0.9.0" = self.by-version."pegjs"."0.9.0";
-      "simple-plist-0.1.4" = self.by-version."simple-plist"."0.1.4";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xdg-basedir"."^2.0.0" =
-    self.by-version."xdg-basedir"."2.0.0";
-  by-version."xdg-basedir"."2.0.0" = self.buildNodePackage {
-    name = "xdg-basedir-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xdg-basedir/-/xdg-basedir-2.0.0.tgz";
-      name = "xdg-basedir-2.0.0.tgz";
-      sha1 = "edbc903cc385fc04523d966a335504b5504d1bd2";
-    };
-    deps = {
-      "os-homedir-1.0.1" = self.by-version."os-homedir"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xhr2".">= 0.0.5" =
-    self.by-version."xhr2"."0.1.3";
-  by-version."xhr2"."0.1.3" = self.buildNodePackage {
-    name = "xhr2-0.1.3";
-    version = "0.1.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xhr2/-/xhr2-0.1.3.tgz";
-      name = "xhr2-0.1.3.tgz";
-      sha1 = "cbfc4759a69b4a888e78cf4f20b051038757bd11";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml"."^1.0.0" =
-    self.by-version."xml"."1.0.1";
-  by-version."xml"."1.0.1" = self.buildNodePackage {
-    name = "xml-1.0.1";
-    version = "1.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml/-/xml-1.0.1.tgz";
-      name = "xml-1.0.1.tgz";
-      sha1 = "78ba72020029c5bc87b8a81a3cfcd74b4a2fc1e5";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml-name-validator"."^1.0.0" =
-    self.by-version."xml-name-validator"."1.0.0";
-  by-version."xml-name-validator"."1.0.0" = self.buildNodePackage {
-    name = "xml-name-validator-1.0.0";
-    version = "1.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml-name-validator/-/xml-name-validator-1.0.0.tgz";
-      name = "xml-name-validator-1.0.0.tgz";
-      sha1 = "dcf82ee092322951ef8cc1ba596c9cbfd14a83f1";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml2js"."0.1.x" =
-    self.by-version."xml2js"."0.1.14";
-  by-version."xml2js"."0.1.14" = self.buildNodePackage {
-    name = "xml2js-0.1.14";
-    version = "0.1.14";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml2js/-/xml2js-0.1.14.tgz";
-      name = "xml2js-0.1.14.tgz";
-      sha1 = "5274e67f5a64c5f92974cd85139e0332adc6b90c";
-    };
-    deps = {
-      "sax-1.2.1" = self.by-version."sax"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml2js"."0.2.4" =
-    self.by-version."xml2js"."0.2.4";
-  by-version."xml2js"."0.2.4" = self.buildNodePackage {
-    name = "xml2js-0.2.4";
-    version = "0.2.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml2js/-/xml2js-0.2.4.tgz";
-      name = "xml2js-0.2.4.tgz";
-      sha1 = "9a5b577fa1e6cdf8923d5e1372f7a3188436e44d";
-    };
-    deps = {
-      "sax-1.2.1" = self.by-version."sax"."1.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml2js"."0.2.6" =
-    self.by-version."xml2js"."0.2.6";
-  by-version."xml2js"."0.2.6" = self.buildNodePackage {
-    name = "xml2js-0.2.6";
-    version = "0.2.6";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml2js/-/xml2js-0.2.6.tgz";
-      name = "xml2js-0.2.6.tgz";
-      sha1 = "d209c4e4dda1fc9c452141ef41c077f5adfdf6c4";
-    };
-    deps = {
-      "sax-0.4.2" = self.by-version."sax"."0.4.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml2js"."0.4.15" =
-    self.by-version."xml2js"."0.4.15";
-  by-version."xml2js"."0.4.15" = self.buildNodePackage {
-    name = "xml2js-0.4.15";
-    version = "0.4.15";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml2js/-/xml2js-0.4.15.tgz";
-      name = "xml2js-0.4.15.tgz";
-      sha1 = "95cd03ff2dd144ec28bc6273bf2b2890c581ad0c";
-    };
-    deps = {
-      "sax-1.2.1" = self.by-version."sax"."1.2.1";
-      "xmlbuilder-8.2.2" = self.by-version."xmlbuilder"."8.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml2js"."0.4.16" =
-    self.by-version."xml2js"."0.4.16";
-  by-version."xml2js"."0.4.16" = self.buildNodePackage {
-    name = "xml2js-0.4.16";
-    version = "0.4.16";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml2js/-/xml2js-0.4.16.tgz";
-      name = "xml2js-0.4.16.tgz";
-      sha1 = "f82fccd2f9540d7e0a9b5dac163e7471195c9db3";
-    };
-    deps = {
-      "sax-1.2.1" = self.by-version."sax"."1.2.1";
-      "xmlbuilder-4.2.1" = self.by-version."xmlbuilder"."4.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml2js"."0.4.4" =
-    self.by-version."xml2js"."0.4.4";
-  by-version."xml2js"."0.4.4" = self.buildNodePackage {
-    name = "xml2js-0.4.4";
-    version = "0.4.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml2js/-/xml2js-0.4.4.tgz";
-      name = "xml2js-0.4.4.tgz";
-      sha1 = "3111010003008ae19240eba17497b57c729c555d";
-    };
-    deps = {
-      "sax-0.6.1" = self.by-version."sax"."0.6.1";
-      "xmlbuilder-8.2.2" = self.by-version."xmlbuilder"."8.2.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml2js".">= 0.0.1" =
-    self.by-version."xml2js"."0.4.16";
-  by-spec."xml2js".">=0.1.7" =
-    self.by-version."xml2js"."0.4.16";
-  by-spec."xml2js"."^0.4.15" =
-    self.by-version."xml2js"."0.4.16";
-  by-spec."xml2js"."^0.4.4" =
-    self.by-version."xml2js"."0.4.16";
-  by-spec."xml2json".">=0.3.2" =
-    self.by-version."xml2json"."0.9.1";
-  by-version."xml2json"."0.9.1" = self.buildNodePackage {
-    name = "xml2json-0.9.1";
-    version = "0.9.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml2json/-/xml2json-0.9.1.tgz";
-      name = "xml2json-0.9.1.tgz";
-      sha1 = "e0c25cc0adff3974024210ab66d7076f11bec161";
-    };
-    deps = {
-      "hoek-2.16.3" = self.by-version."hoek"."2.16.3";
-      "joi-6.10.1" = self.by-version."joi"."6.10.1";
-      "node-expat-2.3.13" = self.by-version."node-expat"."2.3.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xml2json"."^0.5.1" =
-    self.by-version."xml2json"."0.5.1";
-  by-version."xml2json"."0.5.1" = self.buildNodePackage {
-    name = "xml2json-0.5.1";
-    version = "0.5.1";
-    bin = true;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xml2json/-/xml2json-0.5.1.tgz";
-      name = "xml2json-0.5.1.tgz";
-      sha1 = "4667011bf0b34e8ec9830cf83e9476659a94d9ba";
-    };
-    deps = {
-      "node-expat-2.3.13" = self.by-version."node-expat"."2.3.13";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlbuilder"."0.4.2" =
-    self.by-version."xmlbuilder"."0.4.2";
-  by-version."xmlbuilder"."0.4.2" = self.buildNodePackage {
-    name = "xmlbuilder-0.4.2";
-    version = "0.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-0.4.2.tgz";
-      name = "xmlbuilder-0.4.2.tgz";
-      sha1 = "1776d65f3fdbad470a08d8604cdeb1c4e540ff83";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlbuilder"."2.6.2" =
-    self.by-version."xmlbuilder"."2.6.2";
-  by-version."xmlbuilder"."2.6.2" = self.buildNodePackage {
-    name = "xmlbuilder-2.6.2";
-    version = "2.6.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-2.6.2.tgz";
-      name = "xmlbuilder-2.6.2.tgz";
-      sha1 = "f916f6d10d45dc171b1be2e6e673fb6e0cc35d0a";
-    };
-    deps = {
-      "lodash-3.5.0" = self.by-version."lodash"."3.5.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlbuilder"."3.1.0" =
-    self.by-version."xmlbuilder"."3.1.0";
-  by-version."xmlbuilder"."3.1.0" = self.buildNodePackage {
-    name = "xmlbuilder-3.1.0";
-    version = "3.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-3.1.0.tgz";
-      name = "xmlbuilder-3.1.0.tgz";
-      sha1 = "2c86888f2d4eade850fa38ca7f7223f7209516e1";
-    };
-    deps = {
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlbuilder"."4.0.0" =
-    self.by-version."xmlbuilder"."4.0.0";
-  by-version."xmlbuilder"."4.0.0" = self.buildNodePackage {
-    name = "xmlbuilder-4.0.0";
-    version = "4.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.0.0.tgz";
-      name = "xmlbuilder-4.0.0.tgz";
-      sha1 = "98b8f651ca30aa624036f127d11cc66dc7b907a3";
-    };
-    deps = {
-      "lodash-3.10.1" = self.by-version."lodash"."3.10.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlbuilder".">=1.0.0" =
-    self.by-version."xmlbuilder"."8.2.2";
-  by-version."xmlbuilder"."8.2.2" = self.buildNodePackage {
-    name = "xmlbuilder-8.2.2";
-    version = "8.2.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-8.2.2.tgz";
-      name = "xmlbuilder-8.2.2.tgz";
-      sha1 = "69248673410b4ba42e1a6136551d2922335aa773";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlbuilder".">=2.4.6" =
-    self.by-version."xmlbuilder"."8.2.2";
-  by-spec."xmlbuilder"."^4.1.0" =
-    self.by-version."xmlbuilder"."4.2.1";
-  by-version."xmlbuilder"."4.2.1" = self.buildNodePackage {
-    name = "xmlbuilder-4.2.1";
-    version = "4.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-4.2.1.tgz";
-      name = "xmlbuilder-4.2.1.tgz";
-      sha1 = "aa58a3041a066f90eaa16c2f5389ff19f3f461a5";
-    };
-    deps = {
-      "lodash-4.13.1" = self.by-version."lodash"."4.13.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmldom"."0.1.19" =
-    self.by-version."xmldom"."0.1.19";
-  by-version."xmldom"."0.1.19" = self.buildNodePackage {
-    name = "xmldom-0.1.19";
-    version = "0.1.19";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmldom/-/xmldom-0.1.19.tgz";
-      name = "xmldom-0.1.19.tgz";
-      sha1 = "631fc07776efd84118bf25171b37ed4d075a0abc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmldom"."0.1.x" =
-    self.by-version."xmldom"."0.1.22";
-  by-version."xmldom"."0.1.22" = self.buildNodePackage {
-    name = "xmldom-0.1.22";
-    version = "0.1.22";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmldom/-/xmldom-0.1.22.tgz";
-      name = "xmldom-0.1.22.tgz";
-      sha1 = "10de4e5e964981f03c8cc72fadc08d14b6c3aa26";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlhttprequest"."1.4.2" =
-    self.by-version."xmlhttprequest"."1.4.2";
-  by-version."xmlhttprequest"."1.4.2" = self.buildNodePackage {
-    name = "xmlhttprequest-1.4.2";
-    version = "1.4.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.4.2.tgz";
-      name = "xmlhttprequest-1.4.2.tgz";
-      sha1 = "01453a1d9bed1e8f172f6495bbf4c8c426321500";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlhttprequest".">= 1.6.0 < 2.0.0" =
-    self.by-version."xmlhttprequest"."1.8.0";
-  by-version."xmlhttprequest"."1.8.0" = self.buildNodePackage {
-    name = "xmlhttprequest-1.8.0";
-    version = "1.8.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmlhttprequest/-/xmlhttprequest-1.8.0.tgz";
-      name = "xmlhttprequest-1.8.0.tgz";
-      sha1 = "67fe075c5c24fef39f9d65f5f7b7fe75171968fc";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlhttprequest".">=1.5.0" =
-    self.by-version."xmlhttprequest"."1.8.0";
-  by-spec."xmlhttprequest"."https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz" =
-    self.by-version."xmlhttprequest"."1.5.0";
-  by-version."xmlhttprequest"."1.5.0" = self.buildNodePackage {
-    name = "xmlhttprequest-1.5.0";
-    version = "1.5.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://github.com/LearnBoost/node-XMLHttpRequest/archive/0f36d0b5ebc03d85f860d42a64ae9791e1daa433.tar.gz";
-      name = "xmlhttprequest-1.5.0.tgz";
-      sha256 = "28dd0394d85befe8be4e9cd9f6803102780c62cbb09298cb174b52ff9777624f";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xmlhttprequest-ssl"."1.5.1" =
-    self.by-version."xmlhttprequest-ssl"."1.5.1";
-  by-version."xmlhttprequest-ssl"."1.5.1" = self.buildNodePackage {
-    name = "xmlhttprequest-ssl-1.5.1";
-    version = "1.5.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.1.tgz";
-      name = "xmlhttprequest-ssl-1.5.1.tgz";
-      sha1 = "3b7741fea4a86675976e908d296d4445961faa67";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xoauth2"."~0.1.8" =
-    self.by-version."xoauth2"."0.1.8";
-  by-version."xoauth2"."0.1.8" = self.buildNodePackage {
-    name = "xoauth2-0.1.8";
-    version = "0.1.8";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xoauth2/-/xoauth2-0.1.8.tgz";
-      name = "xoauth2-0.1.8.tgz";
-      sha1 = "b916ff10ecfb54320f16f24a3e975120653ab0d2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xregexp"."2.0.0" =
-    self.by-version."xregexp"."2.0.0";
-  by-version."xregexp"."2.0.0" = self.buildNodePackage {
-    name = "xregexp-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xregexp/-/xregexp-2.0.0.tgz";
-      name = "xregexp-2.0.0.tgz";
-      sha1 = "52a63e56ca0b84a7f3a5f3d61872f126ad7a5943";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xregexp"."^3.0.0" =
-    self.by-version."xregexp"."3.1.1";
-  by-version."xregexp"."3.1.1" = self.buildNodePackage {
-    name = "xregexp-3.1.1";
-    version = "3.1.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xregexp/-/xregexp-3.1.1.tgz";
-      name = "xregexp-3.1.1.tgz";
-      sha1 = "8ee18d75ef5c7cb3f9967f8d29414a6ca5b1a184";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xtend".">=4.0.0 <4.1.0-0" =
-    self.by-version."xtend"."4.0.1";
-  by-version."xtend"."4.0.1" = self.buildNodePackage {
-    name = "xtend-4.0.1";
-    version = "4.0.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xtend/-/xtend-4.0.1.tgz";
-      name = "xtend-4.0.1.tgz";
-      sha1 = "a5c6d532be656e23db820efb943a1f04998d63af";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xtend"."^4.0.0" =
-    self.by-version."xtend"."4.0.1";
-  by-spec."xtend"."^4.0.1" =
-    self.by-version."xtend"."4.0.1";
-  by-spec."xtend"."~3.0.0" =
-    self.by-version."xtend"."3.0.0";
-  by-version."xtend"."3.0.0" = self.buildNodePackage {
-    name = "xtend-3.0.0";
-    version = "3.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xtend/-/xtend-3.0.0.tgz";
-      name = "xtend-3.0.0.tgz";
-      sha1 = "5cce7407baf642cba7becda568111c493f59665a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."xtend"."~4.0.0" =
-    self.by-version."xtend"."4.0.1";
-  by-spec."xtraverse"."0.1.x" =
-    self.by-version."xtraverse"."0.1.0";
-  by-version."xtraverse"."0.1.0" = self.buildNodePackage {
-    name = "xtraverse-0.1.0";
-    version = "0.1.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/xtraverse/-/xtraverse-0.1.0.tgz";
-      name = "xtraverse-0.1.0.tgz";
-      sha1 = "b741bad018ef78d8a9d2e83ade007b3f7959c732";
-    };
-    deps = {
-      "xmldom-0.1.22" = self.by-version."xmldom"."0.1.22";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."y18n"."^3.2.0" =
-    self.by-version."y18n"."3.2.1";
-  by-version."y18n"."3.2.1" = self.buildNodePackage {
-    name = "y18n-3.2.1";
-    version = "3.2.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/y18n/-/y18n-3.2.1.tgz";
-      name = "y18n-3.2.1.tgz";
-      sha1 = "6d15fba884c08679c0d77e88e7759e811e07fa41";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."y18n"."^3.2.1" =
-    self.by-version."y18n"."3.2.1";
-  by-spec."yallist"."^2.0.0" =
-    self.by-version."yallist"."2.0.0";
-  by-version."yallist"."2.0.0" = self.buildNodePackage {
-    name = "yallist-2.0.0";
-    version = "2.0.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yallist/-/yallist-2.0.0.tgz";
-      name = "yallist-2.0.0.tgz";
-      sha1 = "306c543835f09ee1a4cb23b7bce9ab341c91cdd4";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yargs"."^1.3.3" =
-    self.by-version."yargs"."1.3.3";
-  by-version."yargs"."1.3.3" = self.buildNodePackage {
-    name = "yargs-1.3.3";
-    version = "1.3.3";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yargs/-/yargs-1.3.3.tgz";
-      name = "yargs-1.3.3.tgz";
-      sha1 = "054de8b61f22eefdb7207059eaef9d6b83fb931a";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yargs"."^3.19.0" =
-    self.by-version."yargs"."3.32.0";
-  by-version."yargs"."3.32.0" = self.buildNodePackage {
-    name = "yargs-3.32.0";
-    version = "3.32.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yargs/-/yargs-3.32.0.tgz";
-      name = "yargs-3.32.0.tgz";
-      sha1 = "03088e9ebf9e756b69751611d2a5ef591482c995";
-    };
-    deps = {
-      "camelcase-2.1.1" = self.by-version."camelcase"."2.1.1";
-      "cliui-3.2.0" = self.by-version."cliui"."3.2.0";
-      "decamelize-1.2.0" = self.by-version."decamelize"."1.2.0";
-      "os-locale-1.4.0" = self.by-version."os-locale"."1.4.0";
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-      "window-size-0.1.4" = self.by-version."window-size"."0.1.4";
-      "y18n-3.2.1" = self.by-version."y18n"."3.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yargs"."^3.31.0" =
-    self.by-version."yargs"."3.32.0";
-  by-spec."yargs"."^3.9.0" =
-    self.by-version."yargs"."3.32.0";
-  by-spec."yargs"."^4.7.1" =
-    self.by-version."yargs"."4.7.1";
-  by-version."yargs"."4.7.1" = self.buildNodePackage {
-    name = "yargs-4.7.1";
-    version = "4.7.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yargs/-/yargs-4.7.1.tgz";
-      name = "yargs-4.7.1.tgz";
-      sha1 = "e60432658a3387ff269c028eacde4a512e438dff";
-    };
-    deps = {
-      "camelcase-3.0.0" = self.by-version."camelcase"."3.0.0";
-      "cliui-3.2.0" = self.by-version."cliui"."3.2.0";
-      "decamelize-1.2.0" = self.by-version."decamelize"."1.2.0";
-      "lodash.assign-4.0.9" = self.by-version."lodash.assign"."4.0.9";
-      "os-locale-1.4.0" = self.by-version."os-locale"."1.4.0";
-      "pkg-conf-1.1.3" = self.by-version."pkg-conf"."1.1.3";
-      "read-pkg-up-1.0.1" = self.by-version."read-pkg-up"."1.0.1";
-      "require-main-filename-1.0.1" = self.by-version."require-main-filename"."1.0.1";
-      "set-blocking-1.0.0" = self.by-version."set-blocking"."1.0.0";
-      "string-width-1.0.1" = self.by-version."string-width"."1.0.1";
-      "window-size-0.2.0" = self.by-version."window-size"."0.2.0";
-      "y18n-3.2.1" = self.by-version."y18n"."3.2.1";
-      "yargs-parser-2.4.0" = self.by-version."yargs-parser"."2.4.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yargs"."~1.3.1" =
-    self.by-version."yargs"."1.3.3";
-  by-spec."yargs"."~3.10.0" =
-    self.by-version."yargs"."3.10.0";
-  by-version."yargs"."3.10.0" = self.buildNodePackage {
-    name = "yargs-3.10.0";
-    version = "3.10.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz";
-      name = "yargs-3.10.0.tgz";
-      sha1 = "f7ee7bd857dd7c1d2d38c0e74efbd681d1431fd1";
-    };
-    deps = {
-      "camelcase-1.2.1" = self.by-version."camelcase"."1.2.1";
-      "cliui-2.1.0" = self.by-version."cliui"."2.1.0";
-      "decamelize-1.2.0" = self.by-version."decamelize"."1.2.0";
-      "window-size-0.1.0" = self.by-version."window-size"."0.1.0";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yargs"."~3.27.0" =
-    self.by-version."yargs"."3.27.0";
-  by-version."yargs"."3.27.0" = self.buildNodePackage {
-    name = "yargs-3.27.0";
-    version = "3.27.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yargs/-/yargs-3.27.0.tgz";
-      name = "yargs-3.27.0.tgz";
-      sha1 = "21205469316e939131d59f2da0c6d7f98221ea40";
-    };
-    deps = {
-      "camelcase-1.2.1" = self.by-version."camelcase"."1.2.1";
-      "cliui-2.1.0" = self.by-version."cliui"."2.1.0";
-      "decamelize-1.2.0" = self.by-version."decamelize"."1.2.0";
-      "os-locale-1.4.0" = self.by-version."os-locale"."1.4.0";
-      "window-size-0.1.4" = self.by-version."window-size"."0.1.4";
-      "y18n-3.2.1" = self.by-version."y18n"."3.2.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yargs"."~3.32.0" =
-    self.by-version."yargs"."3.32.0";
-  by-spec."yargs"."~3.5.4" =
-    self.by-version."yargs"."3.5.4";
-  by-version."yargs"."3.5.4" = self.buildNodePackage {
-    name = "yargs-3.5.4";
-    version = "3.5.4";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yargs/-/yargs-3.5.4.tgz";
-      name = "yargs-3.5.4.tgz";
-      sha1 = "d8aff8f665e94c34bd259bdebd1bfaf0ddd35361";
-    };
-    deps = {
-      "camelcase-1.2.1" = self.by-version."camelcase"."1.2.1";
-      "decamelize-1.2.0" = self.by-version."decamelize"."1.2.0";
-      "window-size-0.1.0" = self.by-version."window-size"."0.1.0";
-      "wordwrap-0.0.2" = self.by-version."wordwrap"."0.0.2";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yargs-parser"."^2.4.0" =
-    self.by-version."yargs-parser"."2.4.0";
-  by-version."yargs-parser"."2.4.0" = self.buildNodePackage {
-    name = "yargs-parser-2.4.0";
-    version = "2.4.0";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yargs-parser/-/yargs-parser-2.4.0.tgz";
-      name = "yargs-parser-2.4.0.tgz";
-      sha1 = "1f367dc9c6cfa5660b6971230f3b277fc5e3adca";
-    };
-    deps = {
-      "camelcase-2.1.1" = self.by-version."camelcase"."2.1.1";
-      "lodash.assign-4.0.9" = self.by-version."lodash.assign"."4.0.9";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yauzl"."2.4.1" =
-    self.by-version."yauzl"."2.4.1";
-  by-version."yauzl"."2.4.1" = self.buildNodePackage {
-    name = "yauzl-2.4.1";
-    version = "2.4.1";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yauzl/-/yauzl-2.4.1.tgz";
-      name = "yauzl-2.4.1.tgz";
-      sha1 = "9528f442dab1b2284e58b4379bb194e22e0c4005";
-    };
-    deps = {
-      "fd-slicer-1.0.1" = self.by-version."fd-slicer"."1.0.1";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."yeast"."0.1.2" =
-    self.by-version."yeast"."0.1.2";
-  by-version."yeast"."0.1.2" = self.buildNodePackage {
-    name = "yeast-0.1.2";
-    version = "0.1.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz";
-      name = "yeast-0.1.2.tgz";
-      sha1 = "008e06d8094320c372dbc2f8ed76a0ca6c8ac419";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."zeparser"."0.0.5" =
-    self.by-version."zeparser"."0.0.5";
-  by-version."zeparser"."0.0.5" = self.buildNodePackage {
-    name = "zeparser-0.0.5";
-    version = "0.0.5";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/zeparser/-/zeparser-0.0.5.tgz";
-      name = "zeparser-0.0.5.tgz";
-      sha1 = "03726561bc268f2e5444f54c665b7fd4a8c029e2";
-    };
-    deps = {
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-  by-spec."zip-stream"."~0.5.0" =
-    self.by-version."zip-stream"."0.5.2";
-  by-version."zip-stream"."0.5.2" = self.buildNodePackage {
-    name = "zip-stream-0.5.2";
-    version = "0.5.2";
-    bin = false;
-    src = fetchurl {
-      url = "https://registry.npmjs.org/zip-stream/-/zip-stream-0.5.2.tgz";
-      name = "zip-stream-0.5.2.tgz";
-      sha1 = "32dcbc506d0dab4d21372625bd7ebaac3c2fff56";
-    };
-    deps = {
-      "compress-commons-0.2.9" = self.by-version."compress-commons"."0.2.9";
-      "lodash-3.2.0" = self.by-version."lodash"."3.2.0";
-      "readable-stream-1.0.34" = self.by-version."readable-stream"."1.0.34";
-    };
-    optionalDependencies = {
-    };
-    peerDependencies = [];
-    os = [ ];
-    cpu = [ ];
-  };
-}
diff --git a/pkgs/top-level/node-packages.json b/pkgs/top-level/node-packages.json
deleted file mode 100644
index 88d28bdcbc44..000000000000
--- a/pkgs/top-level/node-packages.json
+++ /dev/null
@@ -1,192 +0,0 @@
-[
-  "async"
-, "almond"
-, "amdefine"
-, "ansi-remover"
-, "assert"
-, "aws-sdk"
-, "backbone"
-, "bcrypt"
-, "bip-pod-alchemy"
-, "bip-pod-chain"
-, "bip-pod-circonus"
-, "bip-pod-coindesk"
-, "bip-pod-craigslist"
-, "bip-pod-crypto"
-, "bip-pod-dropbox"
-, "bip-pod-embedly"
-, "bip-pod-evernote"
-, "bip-pod-facebook"
-, "bip-pod-flickr"
-, "bip-pod-github"
-, "bip-pod-github"
-, "bip-pod-github"
-, "bip-pod-gmail"
-, "bip-pod-google"
-, "bip-pod-google-drive"
-, "bip-pod-imgur"
-, "bip-pod-instagram"
-, "bip-pod-kato"
-, "bip-pod-keenio"
-, "bip-pod-mailchimp"
-, "bip-pod-mailgun"
-, "bip-pod-mixcloud"
-, "bip-pod-mongodb"
-, "bip-pod-numerous"
-, "bip-pod-pushbullet"
-, "bip-pod-pusher"
-, "bip-pod-soundcloud"
-, "bip-pod-statuscake"
-, "bip-pod-todoist"
-, "bip-pod-trello"
-, "bip-pod-trello"
-, "bip-pod-twilio"
-, "bip-pod-twitter"
-, "bip-pod-witai"
-, "bip-pod-wordpress"
-, "bip-pod-zoho"
-, "bipio"
-, "bower"
-, "bower2nix"
-, "browserchannel"
-, "browserify"
-, "buffertools"
-, "castnow"
-, "chai"
-, "coffee-script"
-, "connect-flash"
-, "connect-jade-static"
-, "connect-mongo"
-, "cordova"
-, "coveralls"
-, "deepmerge"
-, "docker-registry-server"
-, "escape-html"
-, "eslint"
-, "express"
-, "express-form"
-, "extend"
-, "faye-websocket"
-, "flatiron"
-, "forever"
-, "forever-monitor"
-, "fs-walk"
-, "git-run"
-, "gridfs-stream"
-, "grunt-cli"
-, "grunt-contrib-cssmin"
-, "grunt-contrib-eslint"
-, "grunt-contrib-jshint"
-, "grunt-contrib-less"
-, "grunt-contrib-requirejs"
-, "grunt-contrib-uglify"
-, "grunt-karma"
-, "grunt-sed"
-, "gulp"
-, "gzippo"
-, "hipache"
-, "i18next"
-, "ironhorse"
-, "istanbul"
-, "jade"
-, "jayschema"
-, "jfs"
-, "js-yaml"
-, "jshint"
-, "json"
-, "jsontool"
-, "karma"
-, "karma-chrome-launcher"
-, "karma-coverage"
-, "karma-junit-reporter"
-, "karma-mocha"
-, "karma-requirejs"
-, "karma-sauce-launcher"
-, "knox"
-, "kue"
-, "lcov-result-merger"
-, "less"
-, "ltx"
-, "marked"
-, "meat"
-, "mkdirp"
-, "mocha"
-, "mocha-phantomjs"
-, "mocha-unfunk-reporter"
-, "mongoose-schema-extend"
-, "nconf"
-, "nib"
-, "nijs"
-, "node-expat"
-, "node-gyp"
-, "node-inspector"
-, "node-protobuf"
-, "node-red"
-, "node-stringprep"
-, "node-uuid"
-, "node-xmpp-client"
-, "node-xmpp-component"
-, "node-xmpp-core"
-, "node-xmpp-joap"
-, "node-xmpp-server"
-, "node-xmpp-serviceadmin"
-, "nodemon"
-, "npm"
-, "npm-check-updates"
-, "optimist"
-, "optparse"
-, "owl-deepcopy"
-, { "parsoid": "0.4.1" }
-, "passport"
-, "passport-http"
-, "passport-local"
-, "peerflix"
-, "peerflix-server"
-, "phantomjs"
-, "plist-native"
-, "posix"
-, "pure"
-, "react"
-, "react-tools"
-, "redis"
-, "rethinkdb"
-, "rollup"
-, "s3http"
-, "selenium-webdriver"
-, "semver"
-, "shelljs"
-, "should"
-, "sinon"
-, "sinopia"
-, "slasp"
-, "sleep"
-, "sloc"
-, "smartdc"
-, "sockjs"
-, "source-map"
-, "stylus"
-, "svgo"
-, "tar"
-, "temp"
-, "tern"
-, "timezone"
-, "titanium"
-, "typescript"
-, "uglify-js"
-, "underscore"
-, "ungit"
-, "view-helpers"
-, "walk"
-, "webdrvr"
-, "webpack"
-, "winston"
-, "wscat"
-, "wu"
-, "x509"
-, "yarn"
-, { "guifi-earth": "https://github.com/jmendeth/guifi-earth/tarball/f3ee96835fd4fb0e3e12fadbd2cb782770d64854 " }
-, { "mongoose": "3.6.x" }
-, { "node-uptime": "https://github.com/fzaninotto/uptime/tarball/1c65756575f90f563a752e2a22892ba2981c79b7" }
-, { "npm2nix": "git://github.com/NixOS/npm2nix.git#5.12.0" }
-, { "swig": "0.14.x" }
-]
diff --git a/pkgs/top-level/node-packages.nix b/pkgs/top-level/node-packages.nix
deleted file mode 100644
index 4f72b4206998..000000000000
--- a/pkgs/top-level/node-packages.nix
+++ /dev/null
@@ -1,102 +0,0 @@
-{
-  stdenv, pkgs, nodejs
-
-  # Self-reference
-, self
-
-  # Needed natives for installation
-, neededNatives ? [pkgs.python] ++ stdenv.lib.optionals stdenv.isLinux [ pkgs.utillinux ]
-
-  # Attribute set of generated packages
-, generated ? pkgs.callPackage ./node-packages-generated.nix { inherit self; }
-
-  # Attribute set of overrides
-, overrides ? {}
-, ...
-} @ args:
-
-with stdenv.lib;
-
-let
-  removeDeps = remove: deps: filterAttrs (n: d: all (r: r != d.pkgName) remove) deps;
-  replaceDep = replace: deps: mapAttrs (n: d: if d.pkgName == replace.pkgName then replace else d) deps;
-in rec {
-  overrides = {
-    phantomjs.buildInputs = [ pkgs.phantomjs ];
-    "node-expat".buildInputs = [ pkgs.expat ];
-    "node-stringprep".buildInputs = [ pkgs.icu pkgs.which ];
-    "node-protobuf".buildInputs = [ pkgs.protobuf ];
-
-    "tap-0.3.3".patchPhase = ''
-      substituteInPlace package.json --replace '"tap-consumer",' ""
-    '';
-    "node-uptime" = (p: {
-      # Net-ping is not really used
-      patchPhase = ''
-        ${self.json}/bin/json -I -f package.json -e 'delete this.dependencies["net-ping"]'
-      '';
-      deps = removeDeps ["net-ping"] p.deps;
-    });
-    bipio = (p: {
-      patchPhase = ''
-        substituteInPlace src/bootstrap.js --replace "memwatch = require('memwatch')," ""
-        ${self.json}/bin/json -I -f package.json -e 'this.scripts.install=""'
-        ${self.json}/bin/json -I -f package.json -e 'delete this.dependencies.sleep'
-        ${self.json}/bin/json -I -f package.json -e 'delete this.dependencies.memwatch'
-        ${self.json}/bin/json -I -f package.json -e 'delete this.dependencies["webkit-devtools-agent"]'
-      '';
-      deps = replaceDep self.sleep (removeDeps ["memwatch" "webkit-devtools-agent"] p.deps);
-    });
-    bip-pod.patchPhase = ''
-      substituteInPlace index.js --replace \
-        "__dirname + (literal ? '/' : '/../bip-pod-') + podName" \
-        "(literal ? __dirname + '/' : \"bip-pod-\") + podName"
-    '';
-    webdrvr.preBuild = ''
-      mkdir ../webdrvr
-      ln -s ${pkgs.fetchurl {
-        url = "https://selenium-release.storage.googleapis.com/2.43/selenium-server-standalone-2.43.1.jar";
-        sha1 = "ef1b5f8ae9c99332f99ba8794988a1d5b974d27b";
-      }} ../webdrvr/selenium-server-standalone-2.43.1.jar
-      ln -s ${pkgs.fetchurl {
-        url = "http://chromedriver.storage.googleapis.com/2.10/chromedriver_linux64.zip";
-        sha1 = "26220f7e43ee3c0d714860db61c4d0ecc9bb3d89";
-      }} ../webdrvr/chromedriver_linux64.zip
-    '';
-    bower2nix.buildInputs = [ pkgs.makeWrapper ];
-    bower2nix.postInstall = ''
-      for prog in bower2nix fetch-bower; do
-        wrapProgram "$out/bin/$prog" --prefix PATH : ${stdenv.lib.makeBinPath [ pkgs.git pkgs.nix ]}
-      done
-    '';
-  } // args.overrides or {};
-
-  # Apply overrides and back compatiblity transformations
-  buildNodePackage = {...} @ args:
-  let
-    pkg = makeOverridable (
-      pkgs.callPackage ../development/web/nodejs/build-node-package.nix {
-        inherit nodejs neededNatives;
-      }
-    ) (args // (optionalAttrs (isList args.src) {
-      # Backwards compatibility
-      src = head args.src;
-    }) // (optionalAttrs (attrByPath ["passthru" "names"] null args != null) {
-       pkgName = head args.passthru.names;
-    }));
-
-    override = overrides.${args.name} or overrides.${pkg.pkgName} or {};
-
-  in pkg.override override;
-
-  # Backwards compatibility
-  patchSource = fn: srcAttrs: fn srcAttrs;
-  patchLatest = patchSource pkgs.fetchurl;
-
-  /* Put manual packages below here (ideally eventually managed by npm2nix */
-} // (
-  if isAttrs generated then generated
-
-  # Backwards compatiblity
-  else pkgs.callPackage generated { inherit self; }
-)
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index 43c249e7b1d9..36c2669d29cb 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -56,6 +56,8 @@ let
 
     bap = callPackage ../development/ocaml-modules/bap { cmdliner = cmdliner_0_9; };
 
+    batteries = callPackage ../development/ocaml-modules/batteries { };
+
     bitstring = callPackage ../development/ocaml-modules/bitstring { };
 
     bolt = callPackage ../development/ocaml-modules/bolt { };
@@ -99,7 +101,7 @@ let
 
     camomile_0_8_2 = callPackage ../development/ocaml-modules/camomile/0.8.2.nix { };
     camomile =
-      if lib.versionOlder "4.03" ocaml.version
+      if lib.versionOlder "4.02" ocaml.version
       then callPackage ../development/ocaml-modules/camomile { }
       else callPackage ../development/ocaml-modules/camomile/0.8.5.nix { };
 
@@ -286,7 +288,6 @@ let
     inifiles = callPackage ../development/ocaml-modules/inifiles { };
 
     jingoo = callPackage ../development/ocaml-modules/jingoo {
-      batteries = ocaml_batteries;
       pcre = ocaml_pcre;
     };
 
@@ -387,7 +388,9 @@ let
       lwt = ocaml_lwt;
     };
 
-    ocaml_batteries = callPackage ../development/ocaml-modules/batteries { };
+    num = if lib.versionOlder "4.06" ocaml.version
+      then callPackage ../development/ocaml-modules/num {}
+      else null;
 
     comparelib = callPackage ../development/ocaml-modules/comparelib { };
 
@@ -407,7 +410,10 @@ let
 
     ocaml_data_notation = callPackage ../development/ocaml-modules/odn { };
 
-    ocaml_expat = callPackage ../development/ocaml-modules/expat { };
+    ocaml_expat =
+    if lib.versionAtLeast ocaml.version "4.02"
+    then callPackage ../development/ocaml-modules/expat { }
+    else callPackage ../development/ocaml-modules/expat/0.9.nix { };
 
     frontc = callPackage ../development/ocaml-modules/frontc { };
 
@@ -675,7 +681,7 @@ let
     janePackage = callPackage ../development/ocaml-modules/janestreet/janePackage.nix {};
 
     janeStreet = import ../development/ocaml-modules/janestreet {
-      inherit lib janePackage ocaml ocamlbuild ctypes cryptokit magic-mime;
+      inherit lib janePackage ocaml ocamlbuild ctypes cryptokit magic-mime num;
       inherit ocaml-migrate-parsetree octavius ounit ppx_deriving re zarith;
       inherit (pkgs) stdenv openssl;
     };
@@ -987,7 +993,9 @@ in rec
 
   ocamlPackages_4_05 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.05.nix { }) (self: super: { });
 
-  ocamlPackages_latest = ocamlPackages_4_05;
+  ocamlPackages_4_06 = mkOcamlPackages (callPackage ../development/compilers/ocaml/4.06.nix { }) (self: super: { });
+
+  ocamlPackages_latest = ocamlPackages_4_06;
 
   ocamlPackages = ocamlPackages_4_04;
 }
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 74532d8fd4a4..dc369d54782a 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -140,7 +140,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ AnyEvent ];
     doCheck = false; # does an DNS lookup
     meta = {
-      homepage = http://github.com/potyl/perl-AnyEvent-CacheDNS;
+      homepage = https://github.com/potyl/perl-AnyEvent-CacheDNS;
       description = "Simple DNS resolver with caching";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -373,7 +373,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ParamsValidate ];
     doCheck = false;
     meta = {
-      homepage = http://metacpan.org/release/Attribute-Params-Validate;
+      homepage = https://metacpan.org/release/Attribute-Params-Validate;
       description = "Define validation through subroutine attributes";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -694,7 +694,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ ModuleImplementation ModuleRuntime SubExporterProgressive ];
     meta = {
-      homepage = http://metacpan.org/release/B-Hooks-EndOfScope;
+      homepage = https://metacpan.org/release/B-Hooks-EndOfScope;
       description = "Execute code after a scope finished compilation";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1254,7 +1254,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ CatalystRuntime DateTime Moose namespaceautoclean ];
     meta = {
-      homepage = http://metacpan.org/release/Catalyst-Plugin-AccessLog;
+      homepage = https://metacpan.org/release/Catalyst-Plugin-AccessLog;
       description = "Request logging from within Catalyst";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -1641,12 +1641,12 @@ let self = _self // overrides; _self = with self; {
   };
 
   CGI = buildPerlPackage rec {
-    name = "CGI-4.36";
+    name = "CGI-4.37";
     src = fetchurl {
       url = "mirror://cpan/authors/id/L/LE/LEEJO/${name}.tar.gz";
-      sha256 = "142la7jagpni5z7m4s9h9v5vpg0pisc3y3z8kdzqc7j6yba89zpy";
+      sha256 = "7a14eee5df640f7141848f653cf48d99bfc9b5c68e18167338ee01b91cdfb883";
     };
-    buildInputs = [ TestDeep TestWarn ];
+    buildInputs = [ TestDeep TestNoWarnings TestWarn ];
     propagatedBuildInputs = [ HTMLParser self."if" ];
     meta = {
       homepage = https://metacpan.org/module/CGI;
@@ -2308,15 +2308,16 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  ConfigGrammar = buildPerlPackage {
-    name = "Config-Grammar-1.11";
+  ConfigGrammar = buildPerlPackage rec {
+    name = "Config-Grammar-1.12";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DS/DSCHWEI/Config-Grammar-1.11.tar.gz;
-      sha256 = "dd819f89b19c51e9fac6965360cd9db54436e1328968c802416ac34188ca65ee";
+      url = "mirror://cpan/authors/id/D/DS/DSCHWEI/${name}.tar.gz";
+      sha256 = "7a52a3657d96e6f1f529caaa09ec3bf7dd6a245b47875382c323902f6d9590b0";
     };
     meta = {
+      homepage = https://github.com/schweikert/Config-Grammar;
       description = "A grammar-based, user-friendly config parser";
-      license = "unknown";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -2635,7 +2636,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ ArchiveExtract LogMessage ModulePluggable ObjectAccessor PackageConstants ];
     doCheck = false;
     meta = {
-      homepage = http://github.com/jib/cpanplus-devel;
+      homepage = https://github.com/jib/cpanplus-devel;
       description = "Ameliorated interface to the CPAN";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3102,7 +3103,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ ParamsUtil SubInstall ];
     meta = {
-      homepage = http://github.com/rjbs/data-optlist;
+      homepage = https://github.com/rjbs/data-optlist;
       description = "Parse and validate simple name/value option pairs";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3202,7 +3203,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestRequires ];
     propagatedBuildInputs = [ Moose PathClass SubExporter namespaceclean ];
     meta = {
-      homepage = http://metacpan.org/release/Data-Stream-Bulk;
+      homepage = https://metacpan.org/release/Data-Stream-Bulk;
       description = "N at a time iteration API";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3283,7 +3284,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ Test2Suite ];
     propagatedBuildInputs = [ NetDomainTLD ];
     meta = {
-      homepage = http://metacpan.org/release/Data-Validate-Domain;
+      homepage = https://metacpan.org/release/Data-Validate-Domain;
       description = "Domain and host name validation";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.rycee ];
@@ -3299,7 +3300,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestRequires ];
     propagatedBuildInputs = [ NetAddrIP ];
     meta = {
-      homepage = http://metacpan.org/release/Data-Validate-IP;
+      homepage = https://metacpan.org/release/Data-Validate-IP;
       description = "IPv4 and IPv6 validation methods";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.rycee ];
@@ -3565,7 +3566,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestFatal TestWarnings ];
     propagatedBuildInputs = [ DateTime DateTimeLocale DateTimeTimeZone PackageDeprecationManager ParamsValidate TryTiny ];
     meta = {
-      homepage = http://metacpan.org/release/DateTime-Format-Strptime;
+      homepage = https://metacpan.org/release/DateTime-Format-Strptime;
       description = "Parse and format strp and strf time patterns";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -3607,7 +3608,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ DistCheckConflicts TestFatal TestRequires TestWarnings ];
     propagatedBuildInputs = [ DistCheckConflicts ListMoreUtils ParamsValidate ];
     meta = {
-      homepage = http://metacpan.org/release/DateTime-Locale;
+      homepage = https://metacpan.org/release/DateTime-Locale;
       description = "Localization support for DateTime.pm";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -3635,7 +3636,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestFatal TestRequires ];
     propagatedBuildInputs = [ ClassSingleton ListAllUtils ModuleRuntime ParamsValidate TryTiny ];
     meta = {
-      homepage = http://metacpan.org/release/DateTime-TimeZone;
+      homepage = https://metacpan.org/release/DateTime-TimeZone;
       description = "Time zone object base class and factory";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4056,7 +4057,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ FileWhich JSONMaybeXS TestDifferences ];
     meta = {
-      homepage = https://code.google.com/p/perl-devel-nytprof/;
+      homepage = https://github.com/timbunce/devel-nytprof;
       description = "Powerful fast feature-rich Perl source code profiler";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4082,7 +4083,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "e882ccd7f4cbab0d0cdad53897f3f3bf29bdcf47d2bdfde1ac07f1bc7d7ebd16";
     };
     meta = {
-      homepage = http://metacpan.org/release/Devel-StackTrace;
+      homepage = https://metacpan.org/release/Devel-StackTrace;
       description = "An object representing a stack trace";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -4276,7 +4277,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ CaptureTiny DistZilla MooseAutobox perl ];
     propagatedBuildInputs = [ DistZilla DistZillaPluginMojibakeTests DistZillaPluginNoTabsTests DistZillaPluginTestCPANChanges DistZillaPluginTestCPANMetaJSON DistZillaPluginTestCompile DistZillaPluginTestDistManifest DistZillaPluginTestEOL DistZillaPluginTestKwalitee DistZillaPluginTestMinimumVersion DistZillaPluginTestPerlCritic DistZillaPluginTestPodLinkCheck DistZillaPluginTestPortability DistZillaPluginTestSynopsis DistZillaPluginTestUnusedVars DistZillaPluginTestVersion JSONPP ListMoreUtils Moose PodCoverageTrustPod TestCPANMeta TestPerlCritic TestVersion namespaceautoclean ];
     meta = {
-      homepage = http://metacpan.org/release/Dist-Zilla-PluginBundle-TestingMania/;
+      homepage = https://metacpan.org/release/Dist-Zilla-PluginBundle-TestingMania/;
       description = "Test your dist with every testing plugin conceivable";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4377,7 +4378,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ CPANChanges DistZilla ];
     propagatedBuildInputs = [ CPANChanges DataSection DistZilla Moose ];
     meta = {
-      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-CPAN-Changes/;
+      homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-CPAN-Changes/;
       description = "Release tests for your changelog";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4422,7 +4423,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
     propagatedBuildInputs = [ DistZilla Moose TestDistManifest ];
     meta = {
-      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-DistManifest/;
+      homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-DistManifest/;
       description = "Release tests for the manifest";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4467,7 +4468,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ DistZilla MooseAutobox TestOutput ];
     propagatedBuildInputs = [ DistZilla Moose TestMinimumVersion ];
     meta = {
-      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-MinimumVersion/;
+      homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-MinimumVersion/;
       description = "Release tests for minimum required versions";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4512,7 +4513,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
     propagatedBuildInputs = [ DistZilla Moose TestPortabilityFiles ];
     meta = {
-      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-Portability/;
+      homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-Portability/;
       description = "Release tests for portability";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4527,7 +4528,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
     propagatedBuildInputs = [ DistZilla Moose TestSynopsis ];
     meta = {
-      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-Synopsis/;
+      homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-Synopsis/;
       description = "Release tests for synopses";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4542,7 +4543,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ CaptureTiny DistZilla MooseAutobox TestOutput ];
     propagatedBuildInputs = [ DistZilla Moose TestVars namespaceautoclean ];
     meta = {
-      homepage = http://metacpan.org/release/Dist-Zilla-Plugin-Test-UnusedVars/;
+      homepage = https://metacpan.org/release/Dist-Zilla-Plugin-Test-UnusedVars/;
       description = "Release tests for unused variables";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -4812,14 +4813,14 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
-  Encode = buildPerlPackage {
-    name = "Encode-2.78";
+  Encode = buildPerlPackage rec {
+    name = "Encode-2.93";
     src = fetchurl {
-      url = mirror://cpan/authors/id/D/DA/DANKOGAI/Encode-2.78.tar.gz;
-      sha256 = "1fc8d5c0e75ef85beeac71d1fe4a3bfcb8207755a46b32f783a3a6682672762a";
+      url = "mirror://cpan/authors/id/D/DA/DANKOGAI/${name}.tar.gz";
+      sha256 = "2d06b0375c84a75cf3762685e6d94c3aef25833fd0427daa0ae87b04ae6f739c";
     };
     meta = {
-      description = "Unknown";
+      description = "Character encodings in Perl";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
@@ -5104,6 +5105,19 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ PerlOSType ];
   };
 
+  ExtUtilsCChecker = buildPerlPackage rec {
+    name = "ExtUtils-CChecker-0.10";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/${name}.tar.gz";
+      sha256 = "50bfe76870fc1510f56bae4fa2dce0165d9ac4af4e7320d6b8fda14dfea4be0b";
+    };
+    buildInputs = [ ModuleBuild TestFatal ];
+    meta = {
+      description = "Configure-time utilities for using C headers,";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ExtUtilsConfig = buildPerlPackage {
     name = "ExtUtils-Config-0.007";
     src = fetchurl {
@@ -5540,6 +5554,19 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CryptRijndael ];
   };
 
+  Filelchown = buildPerlPackage rec {
+    name = "File-lchown-0.02";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PEVANS/${name}.tar.gz";
+      sha256 = "a02fbf285406a8a4d9399284f032f2d55c56975154c2e1674bd109837b8096ec";
+    };
+    buildInputs = [ ExtUtilsCChecker ModuleBuild ];
+    meta = {
+      description = "Modify attributes of symlinks without dereferencing them";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   FileLibMagic = buildPerlPackage rec {
     name = "File-LibMagic-1.16";
     src = fetchurl {
@@ -5553,7 +5580,7 @@ let self = _self // overrides; _self = with self; {
         --replace "/usr/share/file/magic.mgc" "${pkgs.file}/share/misc/magic.mgc"
     '';
     meta = {
-      homepage = http://metacpan.org/release/File::LibMagic;
+      homepage = https://metacpan.org/release/File::LibMagic;
       description = "Determine MIME types of data or files using libmagic";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = [ maintainers.rycee ];
@@ -5680,7 +5707,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ FileShareDir ];
     meta = {
-      homepage = http://github.com/ingydotnet/file-share-pm/tree;
+      homepage = https://github.com/ingydotnet/file-share-pm/tree;
       description = "Extend File::ShareDir to Local Libraries";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ];
@@ -6549,7 +6576,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestDeep ];
     propagatedBuildInputs = [ CacheCache CGI ClassContainer ExceptionClass HTMLParser LogAny ParamsValidate ];
     meta = {
-      homepage = http://metacpan.org/release/HTML-Mason;
+      homepage = https://metacpan.org/release/HTML-Mason;
       description = "High-performance, dynamic web site authoring system";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7735,7 +7762,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestNoWarnings ];
     propagatedBuildInputs = [ LinguaENFindNumber LinguaENInflect LinguaENInflectNumber LinguaENNumberIsOrdinal LinguaENTagger ];
     meta = {
-      homepage = http://metacpan.org/release/Lingua-EN-Inflect-Phrase;
+      homepage = https://metacpan.org/release/Lingua-EN-Inflect-Phrase;
       description = "Inflect short English Phrases";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7750,7 +7777,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestFatal TryTiny ];
     propagatedBuildInputs = [ LinguaENFindNumber ];
     meta = {
-      homepage = http://metacpan.org/release/Lingua-EN-Number-IsOrdinal;
+      homepage = https://metacpan.org/release/Lingua-EN-Number-IsOrdinal;
       description = "Detect if English number is ordinal or cardinal";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -7870,7 +7897,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestLeakTrace ];
     propagatedBuildInputs = [ ExporterTiny ModuleImplementation ];
     meta = {
-      homepage = http://metacpan.org/release/List-SomeUtils;
+      homepage = https://metacpan.org/release/List-SomeUtils;
       description = "Provide the stuff missing in List::Util";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -8154,6 +8181,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  LWPAuthenOAuth = buildPerlPackage rec {
+    name = "LWP-Authen-OAuth-1.02";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/T/TI/TIMBRODY/${name}.tar.gz";
+      sha256 = "e78e0bd7de8002cfb4760073258d555ef55b2c27c07a94b3d8a2166a17fd96bc";
+    };
+    propagatedBuildInputs = [ LWP URI ];
+    meta = {
+      description = "Generate signed OAuth requests";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   LWPMediaTypes = buildPerlPackage {
     name = "LWP-MediaTypes-6.02";
     src = fetchurl {
@@ -9225,7 +9265,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestFatal ];
     propagatedBuildInputs = [ Moose ];
     meta = {
-      homepage = http://metacpan.org/release/MooseX-ABC;
+      homepage = https://metacpan.org/release/MooseX-ABC;
       description = "Abstract base classes for Moose";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ];
@@ -9531,7 +9571,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestMoose ];
     propagatedBuildInputs = [ BHooksEndOfScope Moose namespaceautoclean ];
     meta = {
-      homepage = http://metacpan.org/release/MooseX-MarkAsMethods/;
+      homepage = https://metacpan.org/release/MooseX-MarkAsMethods/;
       description = "Mark overload code symbols as methods";
       license = stdenv.lib.licenses.lgpl21;
     };
@@ -9614,7 +9654,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestFatal TestMoose ];
     propagatedBuildInputs = [ Moose ];
     meta = {
-      homepage = http://github.com/sartak/MooseX-Role-Parameterized/tree;
+      homepage = https://github.com/sartak/MooseX-Role-Parameterized/tree;
       description = "Roles with composition parameters";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9629,7 +9669,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestCheckDeps TestNoWarnings ModuleMetadata];
     propagatedBuildInputs = [ aliased Moose namespaceautoclean namespaceclean ];
     meta = {
-      homepage = http://metacpan.org/release/MooseX-Role-WithOverloading;
+      homepage = https://metacpan.org/release/MooseX-Role-WithOverloading;
       description = "Roles which support overloading";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -9871,7 +9911,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ DateTime MooseXTypesDateTime TestFatal ];
     propagatedBuildInputs = [ DevelPartialDump Moose MooseXTypes SubExporter ];
     meta = {
-      homepage = http://metacpan.org/release/MooseX-Types-Structured;
+      homepage = https://metacpan.org/release/MooseX-Types-Structured;
       description = "MooseX::Types::Structured - Structured Type Constraints for Moose";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ];
@@ -10454,7 +10494,7 @@ let self = _self // overrides; _self = with self; {
     propagatedBuildInputs = [ CryptSSLeay LWPUserAgent NetOAuth URI ];
     doCheck = false;
     meta = {
-      homepage = http://github.com/semifor/Net-Twitter-Lite;
+      homepage = https://github.com/semifor/Net-Twitter-Lite;
       description = "A perl interface to the Twitter API";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10633,7 +10673,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ TestFatal TestWarnings ];
     propagatedBuildInputs = [ PackageStash ParamsUtil SubInstall SubName namespaceautoclean ];
     meta = {
-      homepage = http://metacpan.org/release/Package-DeprecationManager;
+      homepage = https://metacpan.org/release/Package-DeprecationManager;
       description = "Manage deprecation warnings for your distribution";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -10661,7 +10701,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ DistCheckConflicts TestFatal TestRequires ];
     propagatedBuildInputs = [ DistCheckConflicts ModuleImplementation ];
     meta = {
-      homepage = http://metacpan.org/release/Package-Stash;
+      homepage = https://metacpan.org/release/Package-Stash;
       description = "Routines for manipulating stashes";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10675,7 +10715,7 @@ let self = _self // overrides; _self = with self; {
     };
     buildInputs = [ TestRequires TestFatal ];
     meta = {
-      homepage = http://metacpan.org/release/Package-Stash-XS;
+      homepage = https://metacpan.org/release/Package-Stash-XS;
       description = "Faster and more correct implementation of the Package::Stash API";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -10742,7 +10782,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ ModuleBuild TestFatal TestRequires ];
     propagatedBuildInputs = [ ModuleImplementation ];
     meta = {
-      homepage = http://metacpan.org/release/Params-Validate;
+      homepage = https://metacpan.org/release/Params-Validate;
       description = "Validate method/function parameters";
       license = stdenv.lib.licenses.artistic2;
     };
@@ -10917,6 +10957,19 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  Perlosnames = buildPerlPackage rec {
+    name = "Perl-osnames-0.11";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PERLANCAR/${name}.tar.gz";
+      sha256 = "fb22a1ed59dc2311f7f1ffca5685d90c0600020467f624f57b4dd3dba5bc659b";
+    };
+    meta = {
+      homepage = https://metacpan.org/release/Perl-osnames;
+      description = "List possible $^O ($OSNAME) values, with description";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   PerlCritic = buildPerlModule rec {
     name = "Perl-Critic-1.130";
     src = fetchurl {
@@ -11247,6 +11300,21 @@ let self = _self // overrides; _self = with self; {
     };
   };
 
+  ProcFind = buildPerlPackage rec {
+    name = "Proc-Find-0.04";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/P/PE/PERLANCAR/${name}.tar.gz";
+      sha256 = "07d715c2b8644dc6d5b5a36ffcd2f02da017bf86a00027387aa47c53e2347a81";
+    };
+    buildInputs = [ Perlosnames ];
+    propagatedBuildInputs = [ ProcProcessTable ];
+    meta = {
+      homepage = https://metacpan.org/release/Proc-Find;
+      description = "Find processes by name, PID, or some other attributes";
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   ProcSafeExec = buildPerlPackage {
     name = "Proc-SafeExec-1.5";
     src = fetchurl {
@@ -11508,7 +11576,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ ModuleBuild ];
     propagatedBuildInputs = [ self."if" ];
     meta = {
-      homepage = http://github.com/timj/perl-Pod-LaTeX/tree/master;
+      homepage = https://github.com/timj/perl-Pod-LaTeX/tree/master;
       description = "Convert Pod data to formatted Latex";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -11853,10 +11921,10 @@ let self = _self // overrides; _self = with self; {
   };
 
   RoleTiny = buildPerlPackage rec {
-    name = "Role-Tiny-2.000005";
+    name = "Role-Tiny-2.000006";
     src = fetchurl {
       url = "mirror://cpan/authors/id/H/HA/HAARG/${name}.tar.gz";
-      sha256 = "593a29b621e029bf0218d0154d5dfdf6ec502afc49adeeadae6afd0c70063115";
+      sha256 = "cc73418c904a0286ecd8915eac11f5be2a8d1e17ea9cb54c9116b0340cd3e382";
     };
     meta = {
       description = "Roles. Like a nouvelle cuisine portion size slice of Moose";
@@ -12118,12 +12186,13 @@ let self = _self // overrides; _self = with self; {
   };
 
   SoftwareLicense = buildPerlPackage rec {
-    name = "Software-License-0.103012";
+    name = "Software-License-0.103013";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/R/RJ/RJBS/${name}.tar.gz";
-      sha256 = "47f9acb7f4eeed35e38c1bec37a71b61e651965233d67dadfae6390571517db1";
+      url = "mirror://cpan/authors/id/L/LE/LEONT/${name}.tar.gz";
+      sha256 = "2641d937390f43b08fa31c419713cd96a2f0bf160be04cab322631daf6810ff3";
     };
-    propagatedBuildInputs = [ DataSection TextTemplate TryTiny ];
+    buildInputs = [ TryTiny ];
+    propagatedBuildInputs = [ DataSection TextTemplate ];
     meta = {
       homepage = https://github.com/rjbs/Software-License;
       description = "Packages that provide templated software licenses";
@@ -12157,7 +12226,7 @@ let self = _self // overrides; _self = with self; {
     };
     propagatedBuildInputs = [ CryptRC4 DigestPerlMD5 IOstringy OLEStorage_Lite ];
     meta = {
-      homepage = http://github.com/runrig/spreadsheet-parseexcel/;
+      homepage = https://github.com/runrig/spreadsheet-parseexcel/;
       description = "Read information from an Excel file";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -12492,6 +12561,9 @@ let self = _self // overrides; _self = with self; {
     meta = {
       maintainers = with maintainers; [ ];
       platforms   = stdenv.lib.platforms.unix;
+
+      # http://cpansearch.perl.org/src/ROSCH/String-ShellQuote-1.04/README
+      license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
 
@@ -12917,7 +12989,7 @@ let self = _self // overrides; _self = with self; {
     buildInputs = [ ModuleBuild perl ];
     propagatedBuildInputs = [ EnvPath FileWhich GamesSolitaireVerify Inline InlineC ListMoreUtils Moo MooX PathTiny StringShellQuote TaskTestRunAllPlugins TemplateToolkit TestDataSplit TestDifferences TestPerlTidy TestRunPluginTrimDisplayedFilenames TestRunValgrind TestTrailingSpace YAMLLibYAML ];
     meta = {
-      homepage = http://metacpan.org/release/Task-FreecellSolver-Testing;
+      homepage = https://metacpan.org/release/Task-FreecellSolver-Testing;
       description = "Install the CPAN dependencies of the Freecell Solver test suite";
       license = stdenv.lib.licenses.mit;
     };
@@ -13183,7 +13255,7 @@ let self = _self // overrides; _self = with self; {
     doCheck = false;
 
     meta = {
-      homepage = http://sourceforge.net/projects/perl-trg/;
+      homepage = https://sourceforge.net/projects/perl-trg/;
       description = "Perl extension for the GNU Readline/History Library";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -13500,7 +13572,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "0qfdn71562xzmgnhmkkdbpp3vj851ldl1zlmxvharxsr16gjh6s3";
     };
     meta = {
-      homepage = http://metacpan.org/release/Test-EOL;
+      homepage = https://metacpan.org/release/Test-EOL;
       description = "Check the correct line endings in your project";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
       maintainers = with maintainers; [ ];
@@ -14233,7 +14305,7 @@ let self = _self // overrides; _self = with self; {
       sha256 = "8410438a2acf127bffcf1ab92205b747a615b487e80a48e8c3d0bb9fa0dbb2a8";
     };
     meta = {
-      homepage = http://github.com/audreyt/Test-use-ok/tree;
+      homepage = https://github.com/audreyt/Test-use-ok/tree;
       description = "Alternative to Test::More::use_ok";
       license = "unrestricted";
     };
@@ -15206,7 +15278,7 @@ let self = _self // overrides; _self = with self; {
     };
     buildInputs = [ if_ ];
     meta = {
-      homepage = http://metacpan.org/release/Try-Tiny;
+      homepage = https://metacpan.org/release/Try-Tiny;
       description = "Minimal try/catch with proper preservation of $@";
       license = stdenv.lib.licenses.mit;
     };
@@ -15272,7 +15344,7 @@ let self = _self // overrides; _self = with self; {
     };
     buildInputs = [ ModuleBuild ];
     meta = {
-      homepage = http://metacpan.org/release/Unicode-CaseFold;
+      homepage = https://metacpan.org/release/Unicode-CaseFold;
       description = "Unicode case-folding for case-insensitive lookups";
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
@@ -15935,7 +16007,7 @@ let self = _self // overrides; _self = with self; {
     };
     meta = {
       description = "Base class for SAX Drivers and Filters";
-      homepage = http://github.com/grantm/XML-SAX-Base;
+      homepage = https://github.com/grantm/XML-SAX-Base;
       license = with stdenv.lib.licenses; [ artistic1 gpl1Plus ];
     };
   };
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index e016c13e6a80..329c35e226c1 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -13,15 +13,14 @@ let
 
   apcu40 = assert !isPhp7; buildPecl {
     name = "apcu-4.0.7";
-
     sha256 = "1mhbz56mbnq7dryf2d64l84lj3fpr5ilmg2424glans3wcg772hp";
+    buildInputs = [ pkgs.pcre ];
   };
 
   apcu51 = assert isPhp7; buildPecl {
     name = "apcu-5.1.8";
-
     sha256 = "01dfbf0245d8cc0f51ba16467a60b5fad08e30b28df7846e0dd213da1143ecce";
-
+    buildInputs = [ pkgs.pcre ];
     doCheck = true;
     checkTarget = "test";
     checkFlagsArray = ["REPORT_EXIT_STATUS=1" "NO_INTERACTION=1"];
@@ -91,6 +90,7 @@ let
     sha256 = "0siyxpszjz6s095s2g2854bhprjq49rf22v6syjiwvndg1pc9fsh";
     configureFlags = "--with-imagick=${pkgs.imagemagick.dev}";
     nativeBuildInputs = [ pkgs.pkgconfig ];
+    buildInputs = [ pkgs.pcre ];
   };
 
   # No support for PHP 7 yet
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index 60d5f9577e47..11a44e5f0bc0 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -106,8 +106,12 @@ in {
   # Left for backwards compatibility
   "3to2" = self.py3to2;
 
+  absl-py = callPackage ../development/python-modules/absl-py { };
+
   aenum = callPackage ../development/python-modules/aenum { };
 
+  affinity = callPackage ../development/python-modules/affinity { };
+
   agate = callPackage ../development/python-modules/agate { };
 
   agate-dbf = callPackage ../development/python-modules/agate-dbf { };
@@ -206,7 +210,7 @@ in {
   # version of nixpart.
   nixpart0 = callPackage ../tools/filesystems/nixpart/0.4 { };
 
-  nltk = callPackage ../development/python-modules/nltk.nix { };
+  nltk = callPackage ../development/python-modules/nltk { };
 
   ntlm-auth = callPackage ../development/python-modules/ntlm-auth { };
 
@@ -214,7 +218,7 @@ in {
 
   Pmw = callPackage ../development/python-modules/Pmw { };
 
-  pyaes = callPackage ../development/python-modules/pyaes.nix { };
+  pyaes = callPackage ../development/python-modules/pyaes { };
 
   pyatspi = if isPy3k then callPackage ../development/python-modules/pyatspi { } else throw "pyatspi not supported for interpreter ${python.executable}";
 
@@ -232,6 +236,8 @@ in {
 
   pyexiv2 = if (!isPy3k) then callPackage ../development/python-modules/pyexiv2 {} else throw "pyexiv2 not supported for interpreter ${python.executable}";
 
+  py3exiv2 = callPackage ../development/python-modules/py3exiv2 { };
+
   pygame = callPackage ../development/python-modules/pygame { };
 
   pygame-git = callPackage ../development/python-modules/pygame/git.nix { };
@@ -264,6 +270,8 @@ in {
     pythonPackages = self;
   };
 
+  pysc2 = callPackage ../development/python-modules/pysc2 { };
+
   pyscard = callPackage ../development/python-modules/pyscard { inherit (pkgs.darwin.apple_sdk.frameworks) PCSC; };
 
   pyside = callPackage ../development/python-modules/pyside { };
@@ -356,30 +364,7 @@ in {
 
   python-uinput = callPackage ../development/python-modules/python-uinput {};
 
-  python-sybase = buildPythonPackage rec {
-    name = "python-sybase-${version}";
-    version = "0.40pre2";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "https://sourceforge.net/projects/python-sybase/files/python-sybase/${name}/${name}.tar.gz";
-      sha256 = "0pm88hyn18dy7ljam4mdx9qqgmgraf2zy2wl02g5vsjl4ncvq90j";
-    };
-
-    propagatedBuildInputs = [ pkgs.freetds ];
-
-    SYBASE = pkgs.freetds;
-    setupPyBuildFlags = [ "-DHAVE_FREETDS" "-UWANT_BULKCOPY" ];
-
-    meta = {
-      description = "The Sybase module provides a Python interface to the Sybase relational database system";
-      homepage    = http://python-sybase.sourceforge.net;
-      license     = licenses.bsd3;
-      maintainers = with maintainers; [ veprbl ];
-      platforms   = platforms.unix;
-    };
-  };
-
+  python-sybase = callPackage ../development/python-modules/sybase {};
 
   alot = buildPythonPackage rec {
     rev = "0.5.1";
@@ -440,7 +425,7 @@ in {
     buildInputs = with self; [ self.nose ];
 
     meta = {
-      homepage = http://pypi.python.org/pypi/anyjson/;
+      homepage = https://pypi.python.org/pypi/anyjson/;
       description = "Wrapper that selects the best available JSON implementation";
     };
   };
@@ -458,7 +443,7 @@ in {
     buildInputs = with self; [ mock coverage nose-cover3 unittest2 ];
 
     meta = {
-      homepage = http://github.com/celery/py-amqp;
+      homepage = https://github.com/celery/py-amqp;
       description = "Python client for the Advanced Message Queuing Procotol (AMQP). This is a fork of amqplib which is maintained by the Celery project";
       license = licenses.lgpl21;
     };
@@ -478,7 +463,7 @@ in {
     propagatedBuildInputs = with self; [ vine ];
 
     meta = {
-      homepage = http://github.com/celery/py-amqp;
+      homepage = https://github.com/celery/py-amqp;
       description = "Python client for the Advanced Message Queuing Procotol (AMQP). This is a fork of amqplib which is maintained by the Celery project";
       license = licenses.lgpl21;
     };
@@ -754,91 +739,6 @@ in {
     };
   };
 
-  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.162";
-    namePrefix = "";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "0ff17fdzzncrzl7ps1cyrs0c5f82ncbvflnjz8sd1vkcmn9yij8r";
-    };
-
-    # No tests included
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [
-      botocore
-      bcdoc
-      s3transfer
-      six
-      colorama_3_7
-      docutils
-      rsa
-      pyyaml
-      pkgs.groff
-      pkgs.less
-    ];
-
-    postInstall = ''
-      mkdir -p $out/etc/bash_completion.d
-      echo "complete -C $out/bin/aws_completer aws" > $out/etc/bash_completion.d/awscli
-      mkdir -p $out/share/zsh/site-functions
-      mv $out/bin/aws_zsh_completer.sh $out/share/zsh/site-functions
-      rm $out/bin/aws.cmd
-    '';
-
-    meta = {
-      homepage = https://aws.amazon.com/cli/;
-      description = "Unified tool to manage your AWS services";
-      license = stdenv.lib.licenses.asl20;
-      maintainers = with maintainers; [ muflax ];
-    };
-  };
-
-  aws_shell = buildPythonPackage rec {
-    name = "aws-shell-${version}";
-    version = "0.1.1";
-    src = pkgs.fetchurl {
-        sha256 = "1pw9lrdjl24n6lrs6lnqpyiyic8bdxgvhyqvb2rx6kkbjrfhhgv5";
-        url = "mirror://pypi/a/aws-shell/aws-shell-${version}.tar.gz";
-      };
-
-    # Why does it propagate packages that are used for testing?
-    propagatedBuildInputs = with self; [
-      awscli prompt_toolkit boto3 configobj pygments
-    ];
-
-    #Checks are failing due to missing TTY, which won't exist.
-    doCheck = false;
-    preCheck = ''
-      mkdir -p check-phase
-      export HOME=$(pwd)/check-phase
-    '';
-
-    disabled = isPy35;
-
-
-    meta = {
-      homepage = https://github.com/awslabs/aws-shell;
-      description = "An integrated shell for working with the AWS CLI";
-      license = licenses.asl20;
-      maintainers = [ ];
-    };
-  };
-
   azure = buildPythonPackage rec {
     version = "0.11.0";
     name = "azure-${version}";
@@ -1133,7 +1033,7 @@ in {
 
     meta = {
       description = "The Secure Sockets layer is only actually *secure*";
-      homepage = http://bitbucket.org/brandon/backports.ssl_match_hostname;
+      homepage = https://bitbucket.org/brandon/backports.ssl_match_hostname;
     };
   };
 
@@ -1148,7 +1048,7 @@ in {
 
     meta = {
       description = "The Secure Sockets layer is only actually *secure*";
-      homepage = http://bitbucket.org/brandon/backports.ssl_match_hostname;
+      homepage = https://bitbucket.org/brandon/backports.ssl_match_hostname;
     };
   };
 
@@ -1184,7 +1084,7 @@ in {
     };
 
     meta = {
-      homepage = http://pypi.python.org/pypi/babelfish;
+      homepage = https://pypi.python.org/pypi/babelfish;
       description = "A module to work with countries and languages";
       license = licenses.bsd3;
     };
@@ -1206,7 +1106,7 @@ in {
 
     meta = {
       description = "Get info about wireless interfaces using libiw";
-      homepage = http://github.com/enkore/basiciw;
+      homepage = https://github.com/enkore/basiciw;
       platforms = platforms.linux;
       license = licenses.gpl2;
     };
@@ -1253,25 +1153,6 @@ in {
     };
   };
 
-  beautifulsoup = buildPythonPackage (rec {
-    name = "beautifulsoup-3.2.1";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "http://www.crummy.com/software/BeautifulSoup/download/3.x/BeautifulSoup-3.2.1.tar.gz";
-      sha256 = "1nshbcpdn0jpcj51x0spzjp519pkmqz0n0748j7dgpz70zlqbfpm";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    meta = {
-      homepage = http://www.crummy.com/software/BeautifulSoup/;
-      license = "bsd";
-      description = "Undemanding HTML/XML parser";
-    };
-  });
-
   beautifulsoup4 = callPackage ../development/python-modules/beautifulsoup4 { };
 
   beaker = buildPythonPackage rec {
@@ -1326,24 +1207,9 @@ in {
     };
   };
 
-  betamax-matchers = buildPythonPackage rec {
-    name = "betamax-matchers-${version}";
-    version = "0.3.0";
-
-    src = pkgs.fetchurl {
-       url = "mirror://pypi/b/betamax-matchers/${name}.tar.gz";
-      sha256 = "039kvqsdcvvlfxjc3n1x2xvjg6qkqbql0p7rc4z7bnxm9kcm88la";
-    };
-
-    buildInputs = with self; [ betamax requests_toolbelt ];
+  betamax-matchers = callPackage ../development/python-modules/betamax-matchers { };
 
-    meta = with stdenv.lib; {
-      homepage = https://github.com/sigmavirus24/betamax_matchers;
-      description = "A group of experimental matchers for Betamax";
-      license = licenses.asl20;
-      maintainers = with maintainers; [ pSub ];
-    };
-  };
+  betamax-serializers = callPackage ../development/python-modules/betamax-serializers { };
 
   bibtexparser = callPackage ../development/python-modules/bibtexparser { };
 
@@ -1657,7 +1523,7 @@ in {
 
   cram = callPackage ../development/python-modules/cram { };
 
-  csscompressor = callPackage ../development/python-modules/csscompressor.nix {};
+  csscompressor = callPackage ../development/python-modules/csscompressor {};
 
   csvkit =  callPackage ../development/python-modules/csvkit { };
 
@@ -2119,39 +1985,7 @@ in {
     };
   };
 
-  botocore = buildPythonPackage rec {
-    name = "${pname}-${version}";
-    pname = "botocore";
-    version = "1.7.20";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "16sy35bp9i2g9785l8jzcd4ddc2nydqs3wnkqwi36xx6l3bdbn13";
-    };
-
-    propagatedBuildInputs = with self; [
-      dateutil
-      jmespath
-      docutils
-      ordereddict
-      simplejson
-    ];
-
-    checkInputs = with self; [ mock nose ];
-
-    checkPhase = ''
-      nosetests -v
-    '';
-
-    # Network access
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/boto/botocore;
-      license = "bsd";
-      description = "A low-level interface to a growing number of Amazon Web Services";
-    };
-  };
+  botocore = callPackage ../development/python-modules/botocore { };
 
   bottle = buildPythonPackage rec {
     version = "0.12.11";
@@ -2417,7 +2251,7 @@ in {
     doCheck = false; # depends on the network
 
     meta = {
-      homepage = http://pypi.python.org/pypi/carrot;
+      homepage = https://pypi.python.org/pypi/carrot;
       description = "AMQP Messaging Framework for Python";
     };
   };
@@ -2752,24 +2586,6 @@ in {
 
   cligj = callPackage ../development/python-modules/cligj { };
 
-  clientform = buildPythonPackage (rec {
-    name = "clientform-0.2.10";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/C/ClientForm/ClientForm-0.2.10.tar.gz";
-      sha256 = "0dydh3i1sx7rrj6d0gj375wkjpiivm7jjlsimw6hmwv4ck7yf1wm";
-    };
-
-    meta = {
-      homepage = http://wwwsearch.sourceforge.net/ClientForm/;
-
-      license = "bsd";
-
-      description = "Python module for handling HTML forms on the client side";
-    };
-  });
-
   /* There is a project called "closure-linter" on PyPI that is the
      same as this, but it does not appear to be owned by Google.
      So we're pulling from Google's GitHub repo instead. */
@@ -2835,7 +2651,7 @@ in {
     propagatedBuildInputs = with self; [ pyyaml ];
     meta = {
       description = "Utilities for consistent command line tools";
-      homepage = http://github.com/rca/cmdline;
+      homepage = https://github.com/rca/cmdline;
       license = licenses.asl20;
     };
   };
@@ -3011,37 +2827,13 @@ in {
 
     meta = {
       description = "Config file reading, writing and validation";
-      homepage = http://pypi.python.org/pypi/configobj;
+      homepage = https://pypi.python.org/pypi/configobj;
       license = licenses.bsd3;
       maintainers = with maintainers; [ garbas ];
     };
   });
 
 
-  configshell_fb = buildPythonPackage rec {
-    version = "1.1.fb10";
-    name = "configshell-fb-${version}";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/agrover/configshell-fb/archive/v${version}.tar.gz";
-      sha256 = "1dd87xvm98nk3jzybb041gjdahi2z9b53pwqhyxcfj4a91y82ndy";
-    };
-
-    propagatedBuildInputs = with self; [
-      pyparsing
-      urwid
-    ];
-
-    # Fails on python 3 due to a None value where a string is expected
-    doCheck = !isPy3k;
-
-    meta = {
-      description = "A Python library for building configuration shells";
-      homepage = "https://github.com/agrover/configshell-fb";
-      platforms = platforms.linux;
-    };
-  };
-
   confluent-kafka = callPackage ../development/python-modules/confluent-kafka {};
 
   construct = callPackage ../development/python-modules/construct {};
@@ -3533,6 +3325,8 @@ in {
     };
   };
 
+  mpyq = callPackage ../development/python-modules/mpyq { };
+
   mxnet = buildPythonPackage rec {
     inherit (pkgs.mxnet) name version src meta;
 
@@ -3553,6 +3347,8 @@ in {
     '';
   };
 
+  portpicker = callPackage ../development/python-modules/portpicker { };
+
   pkginfo = buildPythonPackage rec {
     version = "1.3.2";
     name = "pkginfo-${version}";
@@ -3618,7 +3414,7 @@ in {
 
     meta = {
       description = "What is detox?";
-      homepage = http://bitbucket.org/hpk42/detox;
+      homepage = https://bitbucket.org/hpk42/detox;
     };
   };
 
@@ -3639,7 +3435,7 @@ in {
     };
   };
 
-  bcrypt = callPackage ../development/python-modules/bcrypt.nix { };
+  bcrypt = callPackage ../development/python-modules/bcrypt { };
 
   cffi = callPackage ../development/python-modules/cffi { };
 
@@ -3958,7 +3754,7 @@ in {
     };
   };
 
-  pytest-pep257 = callPackage ../development/python-modules/pytest-pep257.nix { };
+  pytest-pep257 = callPackage ../development/python-modules/pytest-pep257 { };
 
   pytest-raisesregexp = buildPythonPackage rec {
     name = "pytest-raisesregexp-${version}";
@@ -4229,7 +4025,7 @@ in {
     meta = {
       description = "Darcsver, generate a version number from Darcs history";
 
-      homepage = http://pypi.python.org/pypi/darcsver;
+      homepage = https://pypi.python.org/pypi/darcsver;
 
       license = "BSD-style";
     };
@@ -4432,7 +4228,7 @@ in {
 
     meta = {
       description = "Persistent cache for requests library";
-      homepage = http://pypi.python.org/pypi/requests-cache;
+      homepage = https://pypi.python.org/pypi/requests-cache;
       license = licenses.bsd3;
     };
   });
@@ -4450,7 +4246,7 @@ in {
 
     meta = {
       description = "Instant coding answers via the command line";
-      homepage = http://pypi.python.org/pypi/howdoi;
+      homepage = https://pypi.python.org/pypi/howdoi;
       license = licenses.mit;
     };
   });
@@ -4478,7 +4274,7 @@ in {
 
     meta = {
       description = "Parameterized testing with any Python test framework";
-      homepage = http://pypi.python.org/pypi/nose-parameterized;
+      homepage = https://pypi.python.org/pypi/nose-parameterized;
       license = licenses.bsd3;
     };
   });
@@ -4530,7 +4326,7 @@ in {
 
     meta = {
       description = "Jalali datetime binding for python";
-      homepage = http://pypi.python.org/pypi/jdatetime;
+      homepage = https://pypi.python.org/pypi/jdatetime;
       license = licenses.psfl;
     };
   });
@@ -4559,7 +4355,7 @@ in {
 
     meta = {
       description = "Date parsing library designed to parse dates from HTML pages";
-      homepage = http://pypi.python.org/pypi/dateparser;
+      homepage = https://pypi.python.org/pypi/dateparser;
       license = licenses.bsd3;
       broken = true;
     };
@@ -4585,7 +4381,7 @@ in {
 
     meta = {
       description = "Powerful extensions to the standard datetime module";
-      homepage = http://pypi.python.org/pypi/python-dateutil;
+      homepage = https://pypi.python.org/pypi/python-dateutil;
       license = "BSD-style";
     };
   });
@@ -4621,7 +4417,7 @@ in {
     };
 
     meta = {
-      homepage = http://pypi.python.org/pypi/decorator;
+      homepage = https://pypi.python.org/pypi/decorator;
       description = "Better living through Python with decorators";
       license = licenses.mit;
     };
@@ -4654,30 +4450,6 @@ in {
     };
   };
 
-  deform_bootstrap = buildPythonPackage rec {
-    name = "deform_bootstrap-0.2.9";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/d/deform_bootstrap/${name}.tar.gz";
-      sha256 = "1hgq3vqsfqdmlyahnlc40w13viawhpzqf4jzigsggdb41x545fda";
-    };
-
-    buildInputs = [ self.mock ];
-    propagatedBuildInputs = with self; [ deform pyramid ];
-
-    # demo is removed as it depends on deformdemo
-    patchPhase = ''
-      rm -rf deform_bootstrap/demo
-    '';
-
-    meta = {
-      maintainers = with maintainers; [ domenkozar ];
-      platforms = platforms.all;
-    };
-  };
-
-  demjson = callPackage ../development/python-modules/demjson { };
-
   derpconf = self.buildPythonPackage rec {
     name = "derpconf-0.4.9";
 
@@ -4735,7 +4507,7 @@ in {
 
   dns = callPackage ../development/python-modules/dns { };
 
-  docker = callPackage ../development/python-modules/docker.nix {};
+  docker = callPackage ../development/python-modules/docker {};
 
   dockerpty = buildPythonPackage rec {
     name = "dockerpty-0.4.1";
@@ -4861,7 +4633,7 @@ in {
     meta = {
       description = "Add flag to ignore unicode literal prefixes in doctests";
       license = with licenses; [ asl20 ];
-      homepage = http://github.com/gnublade/doctest-ignore-unicode;
+      homepage = https://github.com/gnublade/doctest-ignore-unicode;
     };
   };
 
@@ -4879,7 +4651,7 @@ in {
 
     meta = {
       description = "A 'dogpile' lock, typically used as a component of a larger caching solution";
-      homepage = http://bitbucket.org/zzzeek/dogpile.core;
+      homepage = https://bitbucket.org/zzzeek/dogpile.core;
       license = licenses.bsd3;
     };
   };
@@ -4930,7 +4702,7 @@ in {
     };
   };
 
-  ds4drv = callPackage ../development/python-modules/ds4drv.nix {
+  ds4drv = callPackage ../development/python-modules/ds4drv {
     inherit (pkgs) fetchFromGitHub bluez;
   };
 
@@ -5295,6 +5067,10 @@ in {
     buildInputs = with self; [ fudge_9 nose ];
   };
 
+  faulthandler = if ! isPy3k
+    then callPackage ../development/python-modules/faulthandler {}
+    else throw "faulthandler is built into ${python.executable}";
+
   fedpkg = callPackage ../development/python-modules/fedpkg { };
 
   flit = callPackage ../development/python-modules/flit { };
@@ -5578,7 +5354,7 @@ in {
 
     meta = {
       description = "An unofficial API for Google Play Music";
-      homepage = http://pypi.python.org/pypi/gmusicapi/;
+      homepage = https://pypi.python.org/pypi/gmusicapi/;
       license = licenses.bsd3;
     };
   };
@@ -5669,30 +5445,10 @@ in {
   };
 
   google-cloud-sdk = callPackage ../tools/admin/google-cloud-sdk { };
+  google-cloud-sdk-gce = callPackage ../tools/admin/google-cloud-sdk { with-gce=true; };
 
   google-compute-engine = callPackage ../tools/virtualization/google-compute-engine { };
 
-  googlecl = buildPythonPackage rec {
-    version = "0.9.14";
-    name    = "googlecl-${version}";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url    = "https://googlecl.googlecode.com/files/${name}.tar.gz";
-      sha256 = "0nnf7xkr780wivr5xnchfcrahlzy9bi2dxcs1w1bh1014jql0iha";
-    };
-
-    meta = {
-      description = "Brings Google services to the command line";
-      homepage    = https://code.google.com/p/googlecl/;
-      license     = licenses.asl20;
-      maintainers = with maintainers; [ lovek323 ];
-      platforms   = platforms.unix;
-    };
-
-    propagatedBuildInputs = with self; [ gdata ];
-  };
-
   gplaycli = buildPythonPackage rec {
     version = "0.1.2";
     name = "gplaycli-${version}";
@@ -5938,7 +5694,7 @@ in {
   });
 
 
-  htmlmin = callPackage ../development/python-modules/htmlmin.nix {};
+  htmlmin = callPackage ../development/python-modules/htmlmin {};
 
   httpauth = buildPythonPackage rec {
     version = "0.3";
@@ -6180,35 +5936,6 @@ in {
     };
   };
 
-  ledger-autosync = buildPythonPackage rec {
-    name = "ledger-autosync-${version}";
-    version = "0.2.3";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/ledger-autosync/ledger-autosync-${version}.tar.gz";
-      sha256 = "f19fa66e656309825887171d84a462e64676b1cc36b62e4dd8679ff63926a469";
-    };
-
-    propagatedBuildInputs = with self; [ ofxclient ];
-
-    buildInputs = with self; [
-      mock
-      nose
-      # Used at runtime to translate ofx entries to the ledger
-      # format. In fact, user could use either ledger or hledger.
-      pkgs.which
-      pkgs.ledger ];
-
-    # Tests are disable since they require hledger and python-ledger
-    doCheck = false;
-
-    meta = {
-      homepage = https://gitlab.com/egh/ledger-autosync;
-      description = "ledger-autosync is a program to pull down transactions from your bank and create ledger transactions for them";
-      license = licenses.gpl3;
-      maintainers = with maintainers; [ lewo ];
-    };
-  };
-
   libsexy = callPackage ../development/python-modules/libsexy {
     libsexy = pkgs.libsexy;
   };
@@ -6232,7 +5959,7 @@ in {
 
     meta = {
       description = "libthumbor is the python extension to thumbor";
-      homepage = http://github.com/heynemann/libthumbor;
+      homepage = https://github.com/heynemann/libthumbor;
       license = licenses.mit;
     };
   };
@@ -6660,35 +6387,7 @@ in {
   # These used to be here but were moved to all-packages, but I'll leave them around for a while.
   pants = pkgs.pants;
 
-  paperwork-backend = buildPythonPackage rec {
-    name = "paperwork-backend-${version}";
-    version = "1.2.0";
-
-    src = pkgs.fetchFromGitHub {
-      owner = "jflesch";
-      repo = "paperwork-backend";
-      rev = version;
-      sha256 = "1pzyy14f9wzh9vwn855k1z48a8mbs73j1dk8730kdlcdkmn3l1ms";
-    };
-
-    # Python 2.x is not supported.
-    disabled = !isPy3k && !isPyPy;
-
-    preCheck = "\"$out/bin/paperwork-shell\" chkdeps paperwork_backend";
-
-    propagatedBuildInputs = with self; [
-      pyenchant simplebayes pillow pycountry whoosh termcolor
-      python-Levenshtein pyinsane2 pygobject3 pyocr
-      pkgs.poppler_gi pkgs.gtk3
-      natsort
-    ];
-
-    meta = {
-      description = "Backend part of Paperwork (Python API, no UI)";
-      homepage = "https://github.com/jflesch/paperwork-backend";
-      license = licenses.gpl3Plus;
-    };
-  };
+  paperwork-backend = callPackage ../applications/office/paperwork/backend.nix { };
 
   pathspec = callPackage ../development/python-modules/pathspec { };
 
@@ -6703,7 +6402,7 @@ in {
 
     meta = {
       description = "Pattern matching and various utilities for file systems paths";
-      homepage = http://github.com/gorakhargosh/pathtools;
+      homepage = https://github.com/gorakhargosh/pathtools;
       license = licenses.mit;
       maintainers = with maintainers; [ goibhniu ];
     };
@@ -6965,7 +6664,7 @@ in {
     doCheck = false;
 
     meta = {
-      homepage = http://github.com/saghul/pycares;
+      homepage = https://github.com/saghul/pycares;
       description = "Interface for c-ares";
       license = licenses.mit;
     };
@@ -7191,19 +6890,6 @@ in {
   };
 
 
-  pyramid_debugtoolbar = buildPythonPackage rec {
-    name = "pyramid_debugtoolbar-1.0.9";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyramid_debugtoolbar/${name}.tar.gz";
-      sha256 = "1vnzg1qnnyisv7znxg7pasayfyr3nz7rrs5nqr4fmdgwj9q2pyv0";
-    };
-
-    buildInputs = with self; [ ];
-    propagatedBuildInputs = with self; [ pyramid pyramid_mako ];
-  };
-
-
   pyramid_mako = buildPythonPackage rec {
     name = "pyramid_mako-0.3.1";
 
@@ -7470,25 +7156,6 @@ in {
 
   subliminal = callPackage ../development/python-modules/subliminal {};
 
-  hyp = buildPythonPackage rec {
-    name = "hyp-server-${version}";
-    version = "1.2.0";
-    disabled = !isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hyp-server/${name}.tar.gz";
-      sha256 = "1lafjdcn9nnq6xc3hhyizfwh6l69lc7rixn6dx65aq71c913jc15";
-    };
-
-    meta = {
-      description = "Hyperminimal https server";
-      homepage = https://github.com/rnhmjoj/hyp;
-      license = with licenses; [gpl3Plus mit];
-      maintainers = with maintainers; [ rnhmjoj ];
-      platforms = platforms.unix;
-    };
-  };
-
   hyperlink = callPackage ../development/python-modules/hyperlink {};
 
   zope_copy = buildPythonPackage rec {
@@ -7520,6 +7187,7 @@ in {
     meta.broken = true; # Tests fail, and no reverse-dependencies anyway
   };
 
+  s2clientprotocol = callPackage ../development/python-modules/s2clientprotocol { };
 
   statsd = buildPythonPackage rec {
     name = "statsd-${version}";
@@ -7741,30 +7409,6 @@ in {
   };
 
 
-  rtmidi = buildPythonPackage rec {
-    version = "0.3a";
-    name = "rtmidi-${version}";
-
-    src = pkgs.fetchurl {
-      url = "http://chrisarndt.de/projects/python-rtmidi/download/python-${name}.tar.bz2";
-      sha256 = "0d2if633m3kbiricd5hgn1csccd8xab6lnab1bq9prdr9ks9i8h6";
-    };
-
-    preConfigure = ''
-      sed -i "/use_setuptools/d" setup.py
-    '';
-
-    buildInputs = with self; [ pkgs.alsaLib pkgs.libjack2 ];
-
-    meta = {
-      description = "A Python wrapper for the RtMidi C++ library written with Cython";
-      homepage = http://trac.chrisarndt.de/code/wiki/python-rtmidi;
-      license = licenses.mit;
-      maintainers = with maintainers; [ goibhniu ];
-    };
-  };
-
-
   setuptools-git = buildPythonPackage rec {
     name = "setuptools-git-${version}";
     version = "1.1";
@@ -7803,7 +7447,7 @@ in {
 
     meta = {
       description = "Python API and shell utilities to monitor file system events";
-      homepage = http://github.com/gorakhargosh/watchdog;
+      homepage = https://github.com/gorakhargosh/watchdog;
       license = licenses.asl20;
       maintainers = with maintainers; [ goibhniu ];
     };
@@ -7855,7 +7499,7 @@ in {
 
     meta = {
       description = "Validate dicts against a schema";
-      homepage = http://github.com/sunlightlabs/validictory;
+      homepage = https://github.com/sunlightlabs/validictory;
       license = licenses.mit;
     };
   };
@@ -8049,7 +7693,7 @@ in {
 
   django_extensions = callPackage ../development/python-modules/django-extensions { };
 
-  django_guardian = callPackage ../development/python-modules/django_guardian.nix { };
+  django_guardian = callPackage ../development/python-modules/django_guardian { };
 
   django-ipware = callPackage ../development/python-modules/django-ipware { };
 
@@ -8069,14 +7713,17 @@ in {
 
   django_tagging = callPackage ../development/python-modules/django_tagging { };
 
-  django_tagging_0_4_3 = self.django_tagging.overrideAttrs (attrs: rec {
+  django_tagging_0_4_3 = if
+       self.django != self.django_1_8
+  then throw "django_tagging_0_4_3 should be build with django_1_8"
+  else (callPackage ../development/python-modules/django_tagging {}).overrideAttrs (attrs: rec {
     name = "django-tagging-0.4.3";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/d/django-tagging/${name}.tar.gz";
       sha256 = "0617azpmp6jpg3d88v2ir97qrc9aqcs2s9gyvv9bgf2cp55khxhs";
     };
-    propagatedBuildInputs = with self; [ django_1_8 ];
+    propagatedBuildInputs = with self; [ django ];
   });
 
   django_classytags = buildPythonPackage rec {
@@ -8219,7 +7866,7 @@ in {
 
     meta = {
       description = "django-taggit is a reusable Django application for simple tagging";
-      homepage = http://github.com/alex/django-taggit/tree/master/;
+      homepage = https://github.com/alex/django-taggit/tree/master/;
       license = licenses.bsd2;
       maintainers = with maintainers; [ desiderius ];
     };
@@ -8378,17 +8025,18 @@ in {
     };
   };
 
-  dulwich = callPackage ../development/python-modules/dulwich.nix {
+  dulwich = callPackage ../development/python-modules/dulwich {
     inherit (pkgs) git glibcLocales;
   };
 
   hg-git = buildPythonPackage rec {
     name = "hg-git-${version}";
-    version = "0.8.5";
+    version = "0.8.10";
+    disabled = isPy3k;
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/h/hg-git/${name}.tar.gz";
-      sha256 = "10j7l1p2wx7s5nb6s35z1f3mcz2svz9ilcm26f3la9h9c76b7jpm";
+      sha256 = "03dzcs4l7hzq59sgjhngxgmi34xfyd7jcxyjl0f68rwq8b1yqrp3";
     };
 
     propagatedBuildInputs = with self; [ dulwich ];
@@ -8420,22 +8068,6 @@ in {
     };
   };
 
-  doxypy = buildPythonPackage rec {
-    name = "doxypy-0.4.2";
-
-    src = pkgs.fetchurl {
-      url = "http://code.foosel.org/files/${name}.tar.gz";
-      sha256 = "1afmb30zmy7942b53qa5vd3js883wwqqls35n8xfb3rnj0qnll8g";
-    };
-
-    meta = {
-      homepage = http://code.foosel.org/doxypy;
-      description = "An input filter for Doxygen";
-    };
-
-    doCheck = false;
-  };
-
 
   dtopt = buildPythonPackage rec {
     name = "dtopt-0.1";
@@ -8447,7 +8079,7 @@ in {
 
     meta = {
       description = "Add options to doctest examples while they are running";
-      homepage = http://pypi.python.org/pypi/dtopt;
+      homepage = https://pypi.python.org/pypi/dtopt;
     };
     # Test contain Python 2 print
     disabled = isPy3k;
@@ -8510,7 +8142,7 @@ in {
     propagatedBuildInputs = with self; [ ];
 
     meta = {
-      homepage = http://pypi.python.org/pypi/enum/;
+      homepage = https://pypi.python.org/pypi/enum/;
       description = "Robust enumerated type support in Python";
     };
   };
@@ -8624,7 +8256,7 @@ in {
       (with self; [ enum-compat ]) ;
 
     meta = {
-      homepage = http://pypi.python.org/pypi/eventlet/;
+      homepage = https://pypi.python.org/pypi/eventlet/;
       description = "A concurrent networking library for Python";
     };
   };
@@ -8645,29 +8277,7 @@ in {
     };
   };
 
-  fastimport = buildPythonPackage rec {
-    name = "fastimport-${version}";
-    version = "0.9.4";
-
-    # Judging from SyntaxError
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/f/fastimport/${name}.tar.gz";
-      sha256 = "0k8x7552ypx9rc14vbsvg2lc6z0r8pv9laah28pdwyynbq10825d";
-    };
-
-    checkPhase = ''
-      ${python.interpreter} -m unittest discover
-    '';
-
-    meta = {
-      homepage = https://launchpad.net/python-fastimport;
-      description = "VCS fastimport/fastexport parser";
-      maintainers = with maintainers; [ koral ];
-      license = licenses.gpl2Plus;
-    };
-  };
+  fastimport = callPackage ../development/python-modules/fastimport { };
 
   feedgen = callPackage ../development/python-modules/feedgen { };
 
@@ -8711,7 +8321,7 @@ in {
     };
   };
 
-  docker_compose = callPackage ../development/python-modules/docker_compose.nix {};
+  docker_compose = callPackage ../development/python-modules/docker_compose {};
 
   fdroidserver = buildPythonPackage rec {
     version = "2016-05-31";
@@ -8860,11 +8470,11 @@ in {
 
   flask-cors = callPackage ../development/python-modules/flask-cors { };
 
-  flask_elastic = callPackage ../development/python-modules/flask-elastic.nix { };
+  flask_elastic = callPackage ../development/python-modules/flask-elastic { };
 
-  flask_login = callPackage ../development/python-modules/flask-login.nix { };
+  flask_login = callPackage ../development/python-modules/flask-login { };
 
-  flask_ldap_login = callPackage ../development/python-modules/flask-ldap-login.nix { };
+  flask_ldap_login = callPackage ../development/python-modules/flask-ldap-login { };
 
   flask_mail = callPackage ../development/python-modules/flask-mail { };
 
@@ -8872,7 +8482,7 @@ in {
 
   flask_migrate = callPackage ../development/python-modules/flask-migrate { };
 
-  flask_oauthlib = callPackage ../development/python-modules/flask-oauthlib.nix { };
+  flask_oauthlib = callPackage ../development/python-modules/flask-oauthlib { };
 
   flask_principal = buildPythonPackage rec {
     name = "Flask-Principal-${version}";
@@ -8939,9 +8549,9 @@ in {
     };
   };
 
-  flask_testing = callPackage ../development/python-modules/flask-testing.nix { };
+  flask_testing = callPackage ../development/python-modules/flask-testing { };
 
-  flask_wtf = callPackage ../development/python-modules/flask-wtf.nix { };
+  flask_wtf = callPackage ../development/python-modules/flask-wtf { };
 
   wtforms = buildPythonPackage rec {
     version = "2.1";
@@ -8999,27 +8609,6 @@ in {
 
   pytorch = callPackage ../development/python-modules/pytorch { };
 
-  python_tvrage = buildPythonPackage (rec {
-    version = "0.4.1";
-    name = "tvrage-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/python-tvrage/python-tvrage-${version}.tar.gz";
-      sha256 = "f8a530376c5cf1bc573d1945a8504c3394b228c731a3eff5100c705997a72063";
-    };
-
-    # has mostly networking dependent tests
-    doCheck = false;
-    propagatedBuildInputs = with self; [ beautifulsoup ];
-
-    meta = {
-      homepage = https://github.com/ckreutzer/python-tvrage;
-      description = "Client interface for tvrage.com's XML-based api feeds";
-      license = licenses.bsd3;
-      maintainers = with maintainers; [ domenkozar ];
-    };
-  });
-
   python2-pythondialog = buildPythonPackage rec {
     name = "python2-pythondialog-${version}";
     version = "3.3.0";
@@ -9052,28 +8641,7 @@ in {
     buildInputs = with self; [ nose ];
   };
 
-  ConfigArgParse = buildPythonPackage rec {
-    name = "ConfigArgParse-${version}";
-    version = "0.9.3";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/C/ConfigArgParse/ConfigArgParse-${version}.tar.gz";
-      sha256 = "0a984pvv7370yz7zbkl6s6i7yyl9myahx0m9jkjvg3hz5q8mf70l";
-    };
-
-    # no tests in tarball
-    doCheck = false;
-    propagatedBuildInputs = with self; [
-
-    ];
-    buildInputs = with self; [
-
-    ];
-
-    meta = with stdenv.lib; {
-      homepage = "https://github.com/zorro3/ConfigArgParse";
-    };
-  };
+  ConfigArgParse = callPackage ../development/python-modules/configargparse { };
 
   jsonschema = callPackage ../development/python-modules/jsonschema { };
 
@@ -9230,25 +8798,7 @@ in {
     };
   };
 
-  fuse = buildPythonPackage (rec {
-    baseName = "fuse";
-    version = "0.2.1";
-    name = "${baseName}-${version}";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://sourceforge/fuse/fuse-python-${version}.tar.gz";
-      sha256 = "06rmp1ap6flh64m81j0n3a357ij2vj9zwcvvw0p31y6hz1id9shi";
-    };
-
-    nativeBuildInputs = [ pkgs.pkgconfig ];
-    buildInputs = with self; [ pkgs.fuse ];
-
-    meta = {
-      description = "Python bindings for FUSE";
-      license = licenses.lgpl21;
-    };
-  });
+  fuse = callPackage ../development/python-modules/python-fuse { fuse = pkgs.fuse; };
 
   fusepy = buildPythonPackage rec {
     name = "fusepy-2.0.4";
@@ -9274,7 +8824,7 @@ in {
         Python module that provides a simple interface to FUSE and MacFUSE.
         It's just one file and is implemented using ctypes.
       '';
-      homepage = http://github.com/terencehonles/fusepy;
+      homepage = https://github.com/terencehonles/fusepy;
       license = licenses.isc;
       platforms = platforms.unix;
       maintainers = with maintainers; [ nckx ];
@@ -9285,11 +8835,11 @@ in {
 
   futures = buildPythonPackage rec {
     name = "futures-${version}";
-    version = "3.0.5";
+    version = "3.1.1";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/f/futures/${name}.tar.gz";
-      sha256 = "1pw1z4329xvlabdpwqa6b7v2fxf7hl64m4cgr22ckbym8m8m4hh5";
+      sha256 = "1z9j05fdj2yszjmz4pmjhl2jdnwhdw80cjwfqq3ci0yx19gv9v2i";
     };
 
     # This module is for backporting functionality to Python 2.x, it's builtin in py3k
@@ -9425,7 +8975,7 @@ in {
     '';
 
     meta = {
-      homepage = http://github.com/gwik/geventhttpclient;
+      homepage = https://github.com/gwik/geventhttpclient;
       description = "HTTP client library for gevent";
       license = licenses.mit;
       maintainers = with maintainers; [ koral ];
@@ -9481,7 +9031,7 @@ in {
 
   gflags = callPackage ../development/python-modules/gflags { };
 
-  ghdiff = callPackage ../development/python-modules/ghdiff.nix { };
+  ghdiff = callPackage ../development/python-modules/ghdiff { };
 
   gipc = buildPythonPackage rec {
     name = "gipc-0.5.0";
@@ -9522,7 +9072,7 @@ in {
 
     meta = {
       description = "A command-line tool that helps you clean up Git branches";
-      homepage = http://lab.arc90.com/2012/04/03/git-sweep/;
+      homepage = https://github.com/arc90/git-sweep;
       license = licenses.mit;
       maintainers = with maintainers; [ pSub ];
     };
@@ -9703,7 +9253,7 @@ in {
     '';
 
     meta = {
-      homepage = http://pypi.python.org/pypi/greenlet;
+      homepage = https://pypi.python.org/pypi/greenlet;
       description = "Module for lightweight in-process concurrent programming";
       license     = licenses.lgpl2;
       platforms   = platforms.all;
@@ -9797,7 +9347,7 @@ in {
 
   rebulk = callPackage ../development/python-modules/rebulk { };
 
-  gunicorn = callPackage ../development/python-modules/gunicorn.nix { };
+  gunicorn = callPackage ../development/python-modules/gunicorn { };
 
   hawkauthlib = buildPythonPackage rec {
     name = "hawkauthlib-${version}";
@@ -9940,7 +9490,7 @@ in {
     propagatedBuildInputs = with self; [ requests ];
   };
 
-  hypothesis = callPackage ../development/python-modules/hypothesis.nix { };
+  hypothesis = callPackage ../development/python-modules/hypothesis { };
 
   colored = buildPythonPackage rec {
     name = "colored-${version}";
@@ -9981,7 +9531,7 @@ in {
     propagatedBuildInputs = with self; [ spark_parser xdis ];
     meta = {
       description = "Python cross-version byte-code deparser";
-      homepage = http://github.com/rocky/python-uncompyle6/;
+      homepage = https://github.com/rocky/python-uncompyle6/;
       license = licenses.mit;
     };
   };
@@ -10220,7 +9770,7 @@ in {
 
     meta = {
       description = "Utilities for manipulating IP addresses including a class that can be used to include CIDR network blocks in Django's INTERNAL_IPS setting";
-      homepage = http://pypi.python.org/pypi/iptools;
+      homepage = https://pypi.python.org/pypi/iptools;
     };
   };
 
@@ -10239,7 +9789,7 @@ in {
 
     meta = {
       description = "Class and tools for handling of IPv4 and IPv6 addresses and networks";
-      homepage = http://pypi.python.org/pypi/IPy;
+      homepage = https://pypi.python.org/pypi/IPy;
     };
   };
 
@@ -10386,7 +9936,7 @@ in {
     };
   };
 
-  jabberbot = callPackage ../development/python-modules/jabberbot.nix {};
+  jabberbot = callPackage ../development/python-modules/jabberbot {};
 
   jedi = callPackage ../development/python-modules/jedi { };
 
@@ -10402,7 +9952,7 @@ in {
     buildInputs = with self; [ pytest unicodecsv ];
 
     meta = {
-      homepage = http://github.com/sunlightlabs/jellyfish;
+      homepage = https://github.com/sunlightlabs/jellyfish;
       description = "Approximate and phonetic matching of strings";
       maintainers = with maintainers; [ koral ];
     };
@@ -11116,7 +10666,7 @@ in {
 
     meta = {
       description = "A documentation builder";
-      homepage = http://pypi.python.org/pypi/manuel;
+      homepage = https://pypi.python.org/pypi/manuel;
       license = licenses.zpl20;
     };
   };
@@ -11238,7 +10788,7 @@ in {
       sha256 = "0rki9nl4y42q694parafcsdcdqvkdjckrbg6n0691302lfsrkyfl";
     };
 
-    propagatedBuildInputs = with self; [ clientform html5lib ];
+    propagatedBuildInputs = with self; [ html5lib ];
 
     doCheck = false;
 
@@ -11304,7 +10854,7 @@ in {
 
     meta = {
       description = "A module for monitoring memory usage of a python program";
-      homepage = http://pypi.python.org/pypi/memory_profiler;
+      homepage = https://pypi.python.org/pypi/memory_profiler;
       license = licenses.bsd3;
     };
   };
@@ -11420,7 +10970,7 @@ in {
     meta = {
       description = "A dot-accessible dictionary (a la JavaScript objects)";
       license = licenses.mit;
-      homepage = http://github.com/Infinidat/munch;
+      homepage = https://github.com/Infinidat/munch;
     };
   };
 
@@ -11580,39 +11130,9 @@ in {
     };
   };
 
-  hyperframe = buildPythonPackage rec {
-    name = "hyperframe-${version}";
-    version = "4.0.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/hyperframe/${name}.tar.gz";
-      sha256 = "0hsfq0jigwa0i58z7vbnp62l7za49gmlg75vnygq2ijhkidkcmwa";
-    };
-
-    meta = {
-      description = "HTTP/2 framing layer for Python";
-      homepage = "http://hyper.rtfd.org/";
-      license = licenses.mit;
-    };
-  };
-
-  h2 = buildPythonPackage rec {
-    name = "h2-${version}";
-    version = "2.5.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/h/h2/${name}.tar.gz";
-      sha256 = "0xhzm5vcfhdq3mihynwh4ljwi0r06lvzk3ypr0gmmbcp1x43ffb7";
-    };
+  hyperframe = callPackage ../development/python-modules/hyperframe { };
 
-    propagatedBuildInputs = with self; [ enum34 hpack hyperframe ];
-
-    meta = {
-      description = "HTTP/2 State-Machine based protocol implementation";
-      homepage = "http://hyper.rtfd.org/";
-      license = licenses.mit;
-    };
-  };
+  h2 = callPackage ../development/python-modules/h2 { };
 
   editorconfig = buildPythonPackage rec {
     name = "EditorConfig-${version}";
@@ -12242,7 +11762,7 @@ in {
     meta = {
       description = "MySQL database binding for Python";
 
-      homepage = http://sourceforge.net/projects/mysql-python;
+      homepage = https://sourceforge.net/projects/mysql-python;
     };
   };
 
@@ -12620,23 +12140,6 @@ in {
 
   nose-exclude = callPackage ../development/python-modules/nose-exclude { };
 
-  nose-selecttests = buildPythonPackage rec {
-    version = "0.4";
-    name = "nose-selecttests-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/n/nose-selecttests/${name}.zip";
-      sha256 = "0lgrfgp3sq8xi8d9grrg0z8jsyk0wl8a3rxw31hb7vdncin5b7n5";
-    };
-
-    propagatedBuildInputs = with self; [ nose ];
-
-    meta = {
-      description = "Simple nose plugin that enables developers to run subset of collected tests to spare some waiting time for better things";
-    };
-  };
-
-
   nose2 = if isPy26 then null else (buildPythonPackage rec {
     name = "nose2-0.5.0";
     src = pkgs.fetchurl {
@@ -12685,7 +12188,7 @@ in {
     meta = {
       description = "Extends nose.plugins.cover to add Cobertura-style XML reports";
 
-      homepage = http://github.com/cmheisel/nose-xcover/;
+      homepage = https://github.com/cmheisel/nose-xcover/;
 
       license = licenses.bsd3;
     };
@@ -13069,7 +12572,7 @@ in {
 
     meta = {
       description = "A client library for OAuth 2.0";
-      homepage = http://github.com/google/oauth2client/;
+      homepage = https://github.com/google/oauth2client/;
       license = licenses.bsd2;
     };
   };
@@ -13818,21 +13321,7 @@ in {
 
   pecan = callPackage ../development/python-modules/pecan { };
 
-  kaitaistruct = buildPythonPackage rec {
-    name = "kaitaistruct-${version}";
-    version = "0.6";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/k/kaitaistruct/${name}.tar.gz";
-      sha256 = "0rwcrlz7f2bwmypqa38pag492bp71wp1bhz51hsaynjjyr9knr12";
-    };
-
-    meta = with stdenv.lib; {
-      description = "Kaitai Struct: runtime library for Python";
-      homepage = "https://github.com/kaitai-io/kaitai_struct_python_runtime";
-      license = licenses.mit;
-    };
-  };
+  kaitaistruct = callPackage ../development/python-modules/kaitaistruct { };
 
   Kajiki = buildPythonPackage rec {
     name = "Kajiki-${version}";
@@ -14668,7 +14157,7 @@ in {
     meta = {
       description = "Appendable key-value storage";
       license = with licenses; [ bsd3 ];
-      homepage = http://github.com/dask/partd/;
+      homepage = https://github.com/dask/partd/;
     };
   };
 
@@ -14881,7 +14370,7 @@ in {
     };
   };
 
-  pep257 = callPackage ../development/python-modules/pep257.nix { };
+  pep257 = callPackage ../development/python-modules/pep257 { };
 
   percol = buildPythonPackage rec {
     name = "percol-${version}";
@@ -15251,7 +14740,7 @@ in {
 
     meta = {
       description = "Interface Python with pkg-config";
-      homepage = http://github.com/matze/pkgconfig;
+      homepage = https://github.com/matze/pkgconfig;
       license = licenses.mit;
     };
 
@@ -15340,34 +14829,9 @@ in {
     };
   };
 
-  praw = buildPythonPackage rec {
-    name = "praw-3.5.0";
+  praw = callPackage ../development/python-modules/praw { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/praw/${name}.zip";
-      sha256 = "1hwdzqbrjdkicqhyxpcpsmld21k0ndpy8d2gk6l5mv9isw3dm8qa";
-    };
-
-    propagatedBuildInputs = with self; [
-      requests
-      decorator
-      flake8
-      mock
-      six
-      update_checker
-    ];
-
-    # can't find the tests module?
-    doCheck = false;
-
-    meta = {
-      description = "Python Reddit API wrapper";
-      homepage = http://praw.readthedocs.org/;
-      license = licenses.gpl3;
-      platforms = platforms.all;
-      maintainers = with maintainers; [ jgeerds ];
-    };
-  };
+  prawcore = callPackage ../development/python-modules/prawcore { };
 
   premailer = callPackage ../development/python-modules/premailer { };
 
@@ -15410,13 +14874,13 @@ in {
 
   });
 
-  protobuf = callPackage ../development/python-modules/protobuf.nix {
+  protobuf = callPackage ../development/python-modules/protobuf {
     disabled = isPyPy;
     doCheck = !isPy3k;
     protobuf = pkgs.protobuf;
   };
 
-  protobuf3_1 = callPackage ../development/python-modules/protobuf.nix {
+  protobuf3_1 = callPackage ../development/python-modules/protobuf {
     disabled = isPyPy;
     doCheck = !isPy3k;
     protobuf = pkgs.protobuf3_1;
@@ -15441,7 +14905,7 @@ in {
 
     meta = {
       description = "Process and system utilization information interface for python";
-      homepage = http://code.google.com/p/psutil/;
+      homepage = https://github.com/giampaolo/psutil;
     };
   };
 
@@ -15545,41 +15009,9 @@ in {
   };
 
 
-  pyasn1 = buildPythonPackage rec {
-    name = "pyasn1-0.1.9";
+  pyasn1 = callPackage ../development/python-modules/pyasn1 { };
 
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyasn1/${name}.tar.gz";
-      sha256 = "0zraxni14bqi20kr4bi6nwsh32aibz0fq0xaczfisw0zdpcsqg45";
-    };
-
-    meta = {
-      description = "ASN.1 tools for Python";
-      homepage = http://pyasn1.sourceforge.net/;
-      license = "mBSD";
-      platforms = platforms.unix;  # arbitrary choice
-    };
-  };
-
-  pyasn1-modules = buildPythonPackage rec {
-    name = "pyasn1-modules-${version}";
-    version = "0.0.8";
-    disabled = isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pyasn1-modules/${name}.tar.gz";
-      sha256 = "0drqgw81xd3fxdlg89kgd79zzrabvfncvkbybi2wr6w2y4s1jmhh";
-    };
-
-    propagatedBuildInputs = with self; [ pyasn1 ];
-
-    meta = {
-      description = "A collection of ASN.1-based protocols modules";
-      homepage = https://pypi.python.org/pypi/pyasn1-modules;
-      license = licenses.bsd3;
-      platforms = platforms.unix;  # same as pyasn1
-    };
-  };
+  pyasn1-modules = callPackage ../development/python-modules/pyasn1-modules { };
 
   pyaudio = buildPythonPackage rec {
     name = "python-pyaudio-${version}";
@@ -15750,45 +15182,7 @@ in {
     };
   };
 
-  pygit2 = buildPythonPackage rec {
-    name = "pygit2-0.25.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/p/pygit2/${name}.tar.gz";
-      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 "" );
-
-    propagatedBuildInputs = with self; [ pkgs.libgit2 six ] ++ optionals (!isPyPy) [ cffi ];
-
-    preCheck = ''
-      # disable tests that require networking
-      rm test/test_repository.py
-      rm test/test_credentials.py
-      rm test/test_submodule.py
-    '';
-
-    meta = {
-      homepage = https://pypi.python.org/pypi/pygit2;
-      description = "A set of Python bindings to the libgit2 shared library";
-      license = licenses.gpl2;
-      platforms = platforms.all;
-    };
-  };
+  pygit2 = callPackage ../development/python-modules/pygit2 { };
 
   Babel = buildPythonPackage (rec {
     name = "Babel-2.3.4";
@@ -16232,8 +15626,6 @@ in {
      };
    };
 
-  pyfeed = callPackage ../development/python-modules/pyfeed { };
-
   pyfftw = callPackage ../development/python-modules/pyfftw { };
 
   pyfiglet = callPackage ../development/python-modules/pyfiglet { };
@@ -16316,7 +15708,7 @@ in {
 
     meta = {
       description = "Media Meta Data retrieval framework";
-      homepage = http://sourceforge.net/projects/mmpython/;
+      homepage = https://sourceforge.net/projects/mmpython/;
       license = licenses.gpl2;
       maintainers = with maintainers; [ ];
     };
@@ -16473,21 +15865,21 @@ in {
 
   pyinsane2 = buildPythonPackage rec {
     name = "pyinsane2-${version}";
-    version = "2.0.9";
+    version = "2.0.10";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/p/pyinsane2/${name}.tar.gz";
-      sha256 = "1g4a1zhrrs7smmnsm7x8j5lvsz0r6rr2jgjykc9c1jlscz3yr747";
+      sha256 = "00d1wqb3w9bn1rxb2dwmdqbar2lr96izq855l5vzprc17dkgip3j";
     };
 
     postPatch = ''
       # pyinsane2 forks itself, so we need to re-inject the PYTHONPATH.
       sed -i -e '/os.putenv.*PYINSANE_DAEMON/ {
         a \        os.putenv("PYTHONPATH", ":".join(sys.path))
-      }' src/pyinsane2/sane/abstract_proc.py
+      }' pyinsane2/sane/abstract_proc.py
 
       sed -i -e 's,"libsane.so.1","${pkgs.sane-backends}/lib/libsane.so",' \
-        src/pyinsane2/sane/rawapi.py
+        pyinsane2/sane/rawapi.py
     '';
 
     # Tests require a scanner to be physically connected, so let's just do a
@@ -16568,6 +15960,10 @@ in {
     };
   };
 
+  pyobjc = if stdenv.isDarwin
+    then callPackage ../development/python-modules/pyobjc {}
+    else throw "pyobjc can only be built on Mac OS";
+
   pyodbc = callPackage ../development/python-modules/pyodbc { };
 
   pyocr = callPackage ../development/python-modules/pyocr { };
@@ -16722,7 +16118,7 @@ in {
     '';
 
     meta = {
-      homepage = http://github.com/tobgu/pyrsistent/;
+      homepage = https://github.com/tobgu/pyrsistent/;
       description = "Persistent/Functional/Immutable data structures";
       license = licenses.mit;
       maintainers = with maintainers; [ desiderius ];
@@ -16838,7 +16234,7 @@ in {
     buildInputs = with self; [ pyasn1 pycrypto ];
   };
 
-  pyudev = callPackage ../development/python-modules/pyudev.nix {
+  pyudev = callPackage ../development/python-modules/pyudev {
     inherit (pkgs) fetchurl systemd;
   };
 
@@ -16857,7 +16253,7 @@ in {
     '';
 
     meta = {
-      homepage = http://github.com/ericflo/pynzb;
+      homepage = https://github.com/ericflo/pynzb;
       description = "Unified API for parsing NZB files";
       license = licenses.bsd3;
       maintainers = with maintainers; [ domenkozar ];
@@ -16903,29 +16299,11 @@ in {
     };
   });
 
-  ldap = callPackage ../development/python-modules/ldap.nix {
+  ldap = callPackage ../development/python-modules/ldap {
     inherit (pkgs) openldap cyrus_sasl openssl;
   };
 
-  ldap3 = buildPythonPackage rec {
-    version = "1.0.4";
-    name = "ldap3-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/l/ldap3/${name}.tar.gz";
-      sha256 = "0j4qqj9vq022hy7wfqn8s0j4vm2g6paabbzas1vbyspawvcfai98";
-    };
-
-    buildInputs = with self; [ gssapi ];
-
-    propagatedBuildInputs = with self; [ pyasn1 ];
-
-    meta = {
-      homepage = https://pypi.python.org/pypi/ldap3;
-      description = "A strictly RFC 4510 conforming LDAP V3 pure Python client library";
-      license = licenses.lgpl3;
-    };
-  };
+  ldap3 = callPackage ../development/python-modules/ldap3 {};
 
   ptest = buildPythonPackage rec {
     name = pname + "-" + version;
@@ -16960,25 +16338,7 @@ in {
     };
   };
 
-  pylibacl = buildPythonPackage (rec {
-    name = "pylibacl-0.5.1";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/downloads/iustin/pylibacl/${name}.tar.gz";
-      sha256 = "1idks7j9bn62xzsaxkvhl7bdq6ws8kv8aa0wahfh7724qlbbcf1k";
-    };
-
-    # ERROR: testExtended (tests.test_acls.AclExtensions)
-    # IOError: [Errno 0] Error
-    doCheck = false;
-
-    buildInputs = with self; [ pkgs.acl ];
-
-    meta = {
-      description = "A Python extension module for POSIX ACLs, it can be used to query, list, add, and remove ACLs from files and directories under operating systems that support them";
-      license = licenses.lgpl21Plus;
-    };
-  });
+  pylibacl = callPackage ../development/python-modules/pylibacl { };
 
   pyliblo = buildPythonPackage rec {
     name = "pyliblo-${version}";
@@ -17000,29 +16360,6 @@ in {
     };
   };
 
-  pymacs = buildPythonPackage rec {
-    version = "0.25";
-    name = "pymacs-${version}";
-    disabled = isPy3k || isPyPy;
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/pinard/Pymacs/tarball/v${version}";
-      name = "${name}.tar.gz";
-      sha256 = "1hmy76c5igm95rqbld7gvk0az24smvc8hplfwx2f5rhn6frj3p2i";
-    };
-
-    configurePhase = "make";
-
-    doCheck = false;
-
-    meta = {
-      description = "Emacs Lisp to Python interface";
-      homepage = http://pymacs.progiciels-bpi.ca;
-      license = licenses.gpl2;
-      maintainers = with maintainers; [ goibhniu ];
-    };
-  };
-
   pypcap = callPackage ../development/python-modules/pypcap {};
 
   pyplatec = buildPythonPackage rec {
@@ -17225,9 +16562,9 @@ in {
     doCheck = false;
   };
 
-  rackspace-novaclient = callPackage ../development/python-modules/rackspace-novaclient.nix { };
+  rackspace-novaclient = callPackage ../development/python-modules/rackspace-novaclient { };
 
-  pyrax = callPackage ../development/python-modules/pyrax.nix {
+  pyrax = callPackage ../development/python-modules/pyrax {
     glibcLocales = pkgs.glibcLocales;
   };
 
@@ -17244,7 +16581,7 @@ in {
     doCheck = false;
 
     meta = {
-      homepage = http://pypi.python.org/pypi/pyreport;
+      homepage = https://pypi.python.org/pypi/pyreport;
       license = "BSD";
       description = "Pyreport makes notes out of a python script";
     };
@@ -17478,7 +16815,7 @@ in {
 
     meta = {
       description = "A python client for Etcd";
-      homepage = http://github.com/jplana/python-etcd;
+      homepage = https://github.com/jplana/python-etcd;
       license = licenses.mit;
     };
   };
@@ -17568,25 +16905,7 @@ in {
 
   pywinrm = callPackage ../development/python-modules/pywinrm { };
 
-  pyxattr = buildPythonPackage (rec {
-    name = "pyxattr-0.5.1";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/downloads/iustin/pyxattr/${name}.tar.gz";
-      sha256 = "0jmkffik6hdzs7ng8c65bggss2ai40nm59jykswdf5lpd36cxddq";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    buildInputs = with self; [ pkgs.attr ];
-
-    meta = {
-      description = "A Python extension module which gives access to the extended attributes for filesystem objects available in some operating systems";
-      license = licenses.lgpl21Plus;
-    };
-  });
-
+  pyxattr = callPackage ../development/python-modules/pyxattr { };
 
   pyaml = buildPythonPackage (rec {
     name = "pyaml-15.02.1";
@@ -17702,37 +17021,7 @@ in {
     };
   };
 
-
-  reportlab =
-   let freetype = overrideDerivation pkgs.freetype (args: { dontDisableStatic = true; });
-   in buildPythonPackage rec {
-    name = "reportlab-3.2.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/reportlab/${name}.tar.gz";
-      sha256 = "14v212cq2w3p0j5xydfr8rav8c8qas1q845r0xj7fm6q5dk8grkj";
-    };
-
-    LC_ALL = "en_US.UTF-8";
-    buildInputs = with self; [ freetype pillow pip pkgs.glibcLocales ];
-
-    patchPhase = ''
-      rm tests/test_graphics_barcode.py
-      rm tests/test_graphics_render.py
-    '';
-
-    checkPhase = ''
-      ${python.interpreter} tests/runAll.py
-    '';
-
-    # See https://bitbucket.org/pypy/compatibility/wiki/reportlab%20toolkit
-    disabled = isPyPy;
-
-    meta = {
-      description = "An Open Source Python library for generating PDFs and graphics";
-      homepage = http://www.reportlab.com/;
-    };
-  };
+  reportlab = callPackage ../development/python-modules/reportlab { };
 
   requests2 = throw "requests2 has been deprecated. Use requests instead.";
 
@@ -17745,7 +17034,7 @@ in {
 
   requests_ntlm = callPackage ../development/python-modules/requests_ntlm { };
 
-  requests_oauthlib = callPackage ../development/python-modules/requests-oauthlib.nix { };
+  requests_oauthlib = callPackage ../development/python-modules/requests-oauthlib { };
 
   requests-toolbelt = callPackage ../development/python-modules/requests-toolbelt { };
   requests_toolbelt = self.requests-toolbelt; # Old attr, 2017-09-26
@@ -17814,8 +17103,12 @@ in {
     };
   };
 
+  qtawesome = callPackage ../development/python-modules/qtawesome { };
+
   qtconsole = callPackage ../development/python-modules/qtconsole { };
 
+  qtpy = callPackage ../development/python-modules/qtpy { };
+
   quantities = buildPythonPackage rec {
     name = "quantities-0.10.1";
 
@@ -17906,27 +17199,6 @@ in {
     };
   };
 
-  requests_oauth2 = buildPythonPackage rec {
-    name = "requests-oauth2-0.1.1";
-    # python3 does not support relative imports
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = https://github.com/maraujop/requests-oauth2/archive/0.1.1.tar.gz;
-      sha256 = "1aij66qg9j5j4vzyh64nbg72y7pcafgjddxsi865racsay43xfqg";
-    };
-
-    propagatedBuildInputs = with self; [ requests ];
-    # no tests in tarball
-    doCheck = false;
-
-    meta = {
-      description = "Python's Requests OAuth2 (Open Authentication) plugin";
-      homepage = https://github.com/maraujop/requests-oauth2;
-    };
-  };
-
-
   restview = callPackage ../development/python-modules/restview { };
 
   readme = buildPythonPackage rec {
@@ -18171,7 +17443,7 @@ in {
 
     meta = {
       description = "Python Tools for Robot Framework and Test Libraries";
-      homepage = http://bitbucket.org/userzimmermann/robotframework-tools;
+      homepage = https://bitbucket.org/userzimmermann/robotframework-tools;
       license = licenses.gpl3;
       platforms = platforms.linux;
     };
@@ -18203,62 +17475,7 @@ in {
 
   rootpy = callPackage ../development/python-modules/rootpy { };
 
-  rope = buildPythonPackage rec {
-    version = "0.10.2";
-    name = "rope-${version}";
-
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/rope/${name}.tar.gz";
-      sha256 = "0rdlvp8h74qs49wz1hx6qy8mgp2ddwlfs7z13h9139ynq04a3z7z";
-    };
-
-    meta = {
-      description = "Python refactoring library";
-      homepage = http://rope.sf.net;
-      maintainers = with maintainers; [ goibhniu ];
-      license = licenses.gpl2;
-    };
-  };
-
-  ropemacs = buildPythonPackage rec {
-    version = "0.7";
-    name = "ropemacs-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/ropemacs/${name}.tar.gz";
-      sha256 = "1x5qf1drcdz9jfiiakc60kzqkb3ahsg9j902c5byf3gjfacdrmqj";
-    };
-
-    propagatedBuildInputs = with self; [ ropemode ];
-
-     meta = {
-       description = "A plugin for performing python refactorings in emacs";
-       homepage = http://rope.sf.net/ropemacs.html;
-       maintainers = with maintainers; [ goibhniu ];
-       license = licenses.gpl2;
-     };
-  };
-
-  ropemode = buildPythonPackage rec {
-    version = "0.2";
-    name = "ropemode-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/r/ropemode/${name}.tar.gz";
-      sha256 = "0jw6h1wvk6wk0wknqdf7s9pw76m8472jv546lqdd88jbl2scgcjl";
-    };
-
-    propagatedBuildInputs = with self; [ rope ];
-
-     meta = {
-       description = "A plugin for performing python refactorings in emacs";
-       homepage = http://rope.sf.net;
-       maintainers = with maintainers; [ goibhniu ];
-       license = licenses.gpl2;
-     };
-  };
+  rope = callPackage ../development/python-modules/rope { };
 
   ropper = callPackage ../development/python-modules/ropper { };
 
@@ -18456,54 +17673,7 @@ in {
     };
   };
 
-  rtslib_fb = buildPythonPackage rec {
-    version = "2.1.fb43";
-    name = "rtslib-fb-${version}";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/agrover/rtslib-fb/archive/v${version}.tar.gz";
-      sha256 = "1b59vyy12g6rix9l2fxx0hjiq33shkb79v57gwffs57vh74wc53v";
-    };
-
-    meta = {
-      description = "A Python object API for managing the Linux LIO kernel target";
-      homepage = "https://github.com/agrover/rtslib-fb";
-      platforms = platforms.linux;
-    };
-  };
-
-  s3transfer = buildPythonPackage rec {
-    version = "0.1.10";
-    name = "s3transfer-${version}";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/s3transfer/${name}.tar.gz";
-      sha256 = "1h8g9bknvxflxkpbnxyfxmk8pvgykbbk9ljdvhqh6z4vjc2926ms";
-    };
-
-    foo = 1;
-
-    propagatedBuildInputs =
-      [ self.botocore
-      ] ++ stdenv.lib.optional (pythonOlder "3") self.futures;
-
-    buildInputs = with self; [ docutils mock nose coverage wheel unittest2 ];
-
-    checkPhase = ''
-      pushd s3transfer/tests
-      nosetests -v unit/ functional/
-      popd
-    '';
-
-    # version on pypi has no tests/ dir
-    doCheck = false;
-
-    meta = {
-      homepage = https://github.com/boto/s3transfer;
-      license = stdenv.lib.licenses.asl20;
-      description = "A library for managing Amazon S3 transfers";
-    };
-  };
+  s3transfer = callPackage ../development/python-modules/s3transfer { };
 
   seqdiag = callPackage ../development/python-modules/seqdiag { };
 
@@ -18609,42 +17779,13 @@ in {
 
     meta = {
       description = "A library for testing interactive command-line applications";
-      homepage = http://pypi.python.org/pypi/ScriptTest/;
+      homepage = https://pypi.python.org/pypi/ScriptTest/;
     };
   };
 
   seaborn = callPackage ../development/python-modules/seaborn { };
 
-  selenium = buildPythonPackage rec {
-    name = "selenium-2.52.0";
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/selenium/${name}.tar.gz";
-      sha256 = "0971rd9b8kb97xp9fvrwzvxr8vqfdjc020cs75n787ya82km01c2";
-    };
-
-    buildInputs = with self; [pkgs.xorg.libX11];
-
-    # Recompiling x_ignore_nofocus.so as the original one dlopen's libX11.so.6 by some
-    # absolute paths. Replaced by relative path so it is found when used in nix.
-    x_ignore_nofocus =
-      pkgs.fetchFromGitHub {
-        owner = "SeleniumHQ";
-        repo = "selenium";
-        rev = "selenium-2.52.0";
-        sha256 = "1n58akim9np2jy22jfgichq1ckvm8gglqi2hn3syphh0jjqq6cfx";
-      };
-
-    patchPhase = ''
-      cp "${x_ignore_nofocus}/cpp/linux-specific/"* .
-      substituteInPlace x_ignore_nofocus.c --replace "/usr/lib/libX11.so.6" "${pkgs.xorg.libX11.out}/lib/libX11.so.6"
-      gcc -c -fPIC x_ignore_nofocus.c -o x_ignore_nofocus.o
-      gcc -shared \
-        -Wl,${if stdenv.isDarwin then "-install_name" else "-soname"},x_ignore_nofocus.so \
-        -o x_ignore_nofocus.so \
-        x_ignore_nofocus.o
-      cp -v x_ignore_nofocus.so py/selenium/webdriver/firefox/${if pkgs.stdenv.is64bit then "amd64" else "x86"}/
-    '';
-  };
+  selenium = callPackage ../development/python-modules/selenium { };
 
   serpy = callPackage ../development/python-modules/serpy { };
 
@@ -19511,7 +18652,7 @@ in {
 
     meta = {
       description = "Python subprocess interface";
-      homepage = http://pypi.python.org/pypi/sh/;
+      homepage = https://pypi.python.org/pypi/sh/;
     };
   };
 
@@ -19532,58 +18673,7 @@ in {
   };
 
 
-  six = buildPythonPackage rec {
-    name = "six-1.10.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/s/six/${name}.tar.gz";
-      sha256 = "0snmb8xffb3vsma0z67i0h0w2g2dy0p3gsgh9gi4i0kgc5l8spqh";
-    };
-
-    buildInputs = with self; [ pytest ];
-
-    checkPhase = ''
-      py.test test_six.py
-    '';
-
-    meta = {
-      description = "A Python 2 and 3 compatibility library";
-      homepage = http://pypi.python.org/pypi/six/;
-    };
-  };
-
-
-  skype4py = buildPythonPackage (rec {
-    name = "Skype4Py-1.0.32.0";
-    disabled = isPy3k || isPyPy;
-
-    src = pkgs.fetchurl {
-      url = mirror://sourceforge/skype4py/Skype4Py-1.0.32.0.tar.gz;
-      sha256 = "0cmkrv450wa8v50bng5dflpwkl5c1p9pzysjkb2956w5kvwh6f5b";
-    };
-
-    unpackPhase = ''
-      tar xf $src
-      find . -type d -exec chmod +rx {} \;
-      sourceRoot=`pwd`/`ls -d S*`
-    '';
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ pkgs.xorg.libX11 dbus-python pygobject2 ];
-
-    meta = {
-      description = "High-level, platform independent Skype API wrapper for Python";
-
-      # The advertisement says https://developer.skype.com/wiki/Skype4Py
-      # but that url does not work. This following web page points to the
-      # download link and has some information about the package.
-      homepage = http://pypi.python.org/pypi/Skype4Py/1.0.32.0;
-      broken = true;
-      license = "BSD";
-    };
-  });
+  six = callPackage ../development/python-modules/six { };
 
   smartdc = buildPythonPackage rec {
     name = "smartdc-0.1.12";
@@ -19793,7 +18883,7 @@ in {
     meta = {
       description = "Provides a Sphinx domain for describing RESTful HTTP APIs";
 
-      homepage = http://bitbucket.org/birkenfeld/sphinx-contrib;
+      homepage = https://bitbucket.org/birkenfeld/sphinx-contrib;
 
       license = "BSD";
     };
@@ -19811,7 +18901,7 @@ in {
 
     meta = {
       description = "Extension for adding a simple Blog, News or Announcements section to a Sphinx website";
-      homepage = http://bitbucket.org/prometheus/sphinxcontrib-newsfeed;
+      homepage = https://bitbucket.org/prometheus/sphinxcontrib-newsfeed;
       license = licenses.bsd2;
     };
   });
@@ -19831,7 +18921,7 @@ in {
 
     meta = {
       description = "Provides a Sphinx domain for embedding UML diagram with PlantUML";
-      homepage = http://bitbucket.org/birkenfeld/sphinx-contrib;
+      homepage = https://bitbucket.org/birkenfeld/sphinx-contrib;
       license = with licenses; [ bsd2 ];
     };
   });
@@ -19887,7 +18977,7 @@ in {
     meta = {
       description = "Setuptools command for uploading Sphinx documentation to PyPI";
 
-      homepage = http://bitbucket.org/jezdez/sphinx-pypi-upload/;
+      homepage = https://bitbucket.org/jezdez/sphinx-pypi-upload/;
 
       license = "BSD";
     };
@@ -19919,9 +19009,7 @@ in {
     };
   });
 
-  spyder = callPackage ../applications/science/spyder {
-    rope = if isPy3k then null else self.rope;
-  };
+  spyder = callPackage ../applications/science/spyder { };
 
   sqlalchemy = callPackage ../development/python-modules/sqlalchemy { };
 
@@ -20023,7 +19111,7 @@ in {
 
     meta = {
       description = "Lightweight and extensible STOMP messaging client";
-      homepage = http://bitbucket.org/hozn/stompclient;
+      homepage = https://bitbucket.org/hozn/stompclient;
       license = licenses.asl20;
     };
   });
@@ -20164,7 +19252,7 @@ in {
 
     meta = {
       description = "A Python library to create SVG drawings";
-      homepage = http://bitbucket.org/mozman/svgwrite;
+      homepage = https://bitbucket.org/mozman/svgwrite;
       license = licenses.mit;
     };
   };
@@ -20190,6 +19278,8 @@ in {
     };
   };
 
+  sybil = callPackage ../development/python-modules/sybil { };
+
   syncthing-gtk = buildPythonPackage rec {
     version = "0.9.2.3";
     name = "syncthing-gtk-${version}";
@@ -20237,57 +19327,6 @@ in {
 
   tabulate = callPackage ../development/python-modules/tabulate { };
 
-  targetcli_fb = buildPythonPackage rec {
-    version = "2.1.fb33";
-    name = "targetcli-fb-${version}";
-
-    src = pkgs.fetchurl {
-      url = "https://github.com/agrover/targetcli-fb/archive/v${version}.tar.gz";
-      sha256 = "1zcm0agdpf866020b43fl8zyyyzz6r74mn1sz4xpaa0pinpwjk42";
-    };
-
-    propagatedBuildInputs = with self; [
-      configshell_fb
-      rtslib_fb
-    ];
-
-    meta = {
-      description = "A command shell for managing the Linux LIO kernel target";
-      homepage = "https://github.com/agrover/targetcli-fb";
-      platforms = platforms.linux;
-    };
-  };
-
-  taskcoach = buildPythonPackage rec {
-    name = "TaskCoach-1.3.22";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = "mirror://sourceforge/taskcoach/${name}.tar.gz";
-      sha256 = "1ddx56bqmh347synhgjq625ijv5hqflr0apxg0nl4jqdsqk1zmxh";
-    };
-
-    propagatedBuildInputs = with self; [ wxPython ];
-
-    # I don't know why I need to add these libraries. Shouldn't they
-    # be part of wxPython?
-    postInstall = ''
-      libspaths=${with pkgs.xorg; pkgs.lib.makeLibraryPath [ libSM libXScrnSaver ]}
-      wrapProgram $out/bin/taskcoach.py \
-        --prefix LD_LIBRARY_PATH : $libspaths
-    '';
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    meta = {
-      homepage = http://taskcoach.org/;
-      description = "Todo manager to keep track of personal tasks and todo lists";
-      license = licenses.gpl3Plus;
-      broken = stdenv.isDarwin;
-    };
-  };
-
   taskw = buildPythonPackage rec {
     version = "1.0.3";
     name = "taskw-${version}";
@@ -20613,7 +19652,7 @@ in {
 
     meta = {
       description = "Python implementation of the v3 API for TheMovieDB.org, allowing access to movie and cast information";
-      homepage = http://pypi.python.org/pypi/tmdb3;
+      homepage = https://pypi.python.org/pypi/tmdb3;
       license = licenses.bsd3;
     };
   };
@@ -20649,29 +19688,6 @@ in {
     };
   };
 
-  trac = buildPythonPackage {
-    name = "trac-1.0.1";
-    disabled = isPy3k;
-
-    src = pkgs.fetchurl {
-      url = http://ftp.edgewall.com/pub/trac/Trac-1.0.1.tar.gz;
-      sha256 = "1nqa95fcnkpyq4jk6az7l7sqgm3b3pjq3bx1n7y4v3bad5jr1m4x";
-    };
-
-    # couple of failing tests
-    doCheck = false;
-
-    PYTHON_EGG_CACHE = "`pwd`/.egg-cache";
-
-    propagatedBuildInputs = with self; [ genshi ];
-
-    meta = {
-      description = "Enhanced wiki and issue tracking system for software development projects";
-
-      license = "BSD";
-    };
-  };
-
   traits = buildPythonPackage rec {
     name = "traits-${version}";
     version = "4.5.0";
@@ -20697,7 +19713,7 @@ in {
 
     meta = {
       description = "Explicitly typed attributes for Python";
-      homepage = http://pypi.python.org/pypi/traits;
+      homepage = https://pypi.python.org/pypi/traits;
       license = "BSD";
     };
   };
@@ -20719,7 +19735,7 @@ in {
 
     meta = {
       description = "Python implementation of the Transmission bittorent client RPC protocol";
-      homepage = http://pypi.python.org/pypi/transmissionrpc/;
+      homepage = https://pypi.python.org/pypi/transmissionrpc/;
       license = licenses.mit;
     };
   };
@@ -21003,7 +20019,7 @@ in {
 
     meta = {
       description = "A backport of the new features added to the unittest testing framework";
-      homepage = http://pypi.python.org/pypi/unittest2;
+      homepage = https://pypi.python.org/pypi/unittest2;
     };
   };
 
@@ -21087,24 +20103,7 @@ in {
     };
   };
 
-  update_checker = buildPythonPackage rec {
-    name = "update_checker-0.11";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/u/update_checker/${name}.tar.gz";
-      sha256 = "681bc7c26cffd1564eb6f0f3170d975a31c2a9f2224a32f80fe954232b86f173";
-    };
-
-    propagatedBuildInputs = with self; [ requests ];
-
-    doCheck = false;
-
-    meta = {
-      description = "A python module that will check for package updates";
-      homepage = https://github.com/bboe/update_checker;
-      license = licenses.bsd2;
-    };
-  };
+  update_checker = callPackage ../development/python-modules/update_checker {};
 
   uritemplate = buildPythonPackage rec {
     name = "uritemplate-${version}";
@@ -21573,26 +20572,6 @@ EOF
 
   widgetsnbextension = callPackage ../development/python-modules/widgetsnbextension { };
 
-
-  wokkel = buildPythonPackage (rec {
-    url = "http://wokkel.ik.nu/releases/0.7.0/wokkel-0.7.0.tar.gz";
-    name = nameFromURL url ".tar";
-    src = pkgs.fetchurl {
-      inherit url;
-      sha256 = "0rnshrzw8605x05mpd8ndrx3ri8h6cx713mp8sl4f04f4gcrz8ml";
-    };
-
-    disabled = isPy3k;
-
-    propagatedBuildInputs = with self; [twisted dateutil];
-
-    meta = {
-      description = "Some (mainly XMPP-related) additions to twisted";
-      homepage = "http://wokkel.ik.nu/";
-      license = licenses.mit;
-    };
-  });
-
   magic-wormhole = callPackage ../development/python-modules/magic-wormhole { };
 
   wsgiproxy2 = buildPythonPackage rec {
@@ -21633,23 +20612,6 @@ EOF
     propagatedBuildInputs = with self; [ eventlib application ];
   };
 
-  xe = buildPythonPackage rec {
-    url = "http://www.blarg.net/%7Esteveha/xe-0.7.4.tar.gz";
-    name = stdenv.lib.nameFromURL url ".tar";
-    src = pkgs.fetchurl {
-      inherit url;
-      sha256 = "0v9878cl0y9cczdsr6xjy8v9l139lc23h4m5f86p4kpf2wlnpi42";
-    };
-
-    # error: invalid command 'test'
-    doCheck = false;
-
-    meta = {
-      homepage = "http://home.blarg.net/~steveha/xe.html";
-      description = "XML elements";
-    };
-  };
-
   xlib = buildPythonPackage (rec {
     name = "xlib-${version}";
     version = "0.17";
@@ -21717,7 +20679,7 @@ EOF
 
     meta = {
       description = "zbase32, a base32 encoder/decoder";
-      homepage = http://pypi.python.org/pypi/zbase32;
+      homepage = https://pypi.python.org/pypi/zbase32;
       license = "BSD";
     };
   });
@@ -21744,7 +20706,7 @@ EOF
 
     meta = {
       description = "A daemon process control library and tools for Unix-based systems";
-      homepage = http://pypi.python.org/pypi/zdaemon;
+      homepage = https://pypi.python.org/pypi/zdaemon;
       license = licenses.zpl20;
       maintainers = with maintainers; [ goibhniu ];
     };
@@ -21930,7 +20892,7 @@ EOF
 
     meta = {
       description = "An event publishing system";
-      homepage = http://pypi.python.org/pypi/zope.event;
+      homepage = https://pypi.python.org/pypi/zope.event;
       license = licenses.zpl20;
       maintainers = with maintainers; [ goibhniu ];
     };
@@ -21953,7 +20915,7 @@ EOF
 
      meta = {
        description = "Exception interfaces and implementations";
-       homepage = http://pypi.python.org/pypi/zope.exceptions;
+       homepage = https://pypi.python.org/pypi/zope.exceptions;
        license = licenses.zpl20;
        maintainers = with maintainers; [ goibhniu ];
      };
@@ -22142,7 +21104,7 @@ EOF
     propagatedBuildInputs = with self; [ hglib ];
 
     meta = {
-      homepage = http://pypi.python.org/pypi/hgsvn;
+      homepage = https://pypi.python.org/pypi/hgsvn;
     };
   };
 
@@ -22377,30 +21339,7 @@ EOF
     };
   };
 
-  testfixtures = buildPythonPackage rec {
-    name = "testfixtures-${version}";
-    version = "4.5.0";
-
-    src = pkgs.fetchurl {
-      url = "mirror://pypi/t/testfixtures/testfixtures-${version}.tar.gz";
-      sha256 = "0my8zq9d27mc7j78pz9971cn5wz6zi4vxlqa50szr2vq9j2xxkll";
-    };
-
-    buildInputs = with self; [ nose mock manuel ];
-
-    checkPhase = ''
-      nosetests -v
-    '';
-
-    # Test suite seems broken
-    # TypeError: TestSuite() missing 1 required positional argument: 'm'
-    # Haven't checked with newer version
-    doCheck = false;
-
-    meta = with stdenv.lib; {
-      homepage = "https://github.com/Simplistix/testfixtures";
-    };
-  };
+  testfixtures = callPackage ../development/python-modules/testfixtures {};
 
   tissue = buildPythonPackage rec {
     name = "tissue-0.9.2";
@@ -22654,7 +21593,7 @@ EOF
     };
 
     meta = {
-      homepage = http://pypi.python.org/pypi/ujson;
+      homepage = https://pypi.python.org/pypi/ujson;
       description = "Ultra fast JSON encoder and decoder for Python";
       license = licenses.bsd3;
     };
@@ -22684,7 +21623,7 @@ EOF
 
     meta = {
       description = "Python package to control BlinkStick USB devices";
-      homepage = http://pypi.python.org/pypi/BlinkStick/;
+      homepage = https://pypi.python.org/pypi/BlinkStick/;
       license = licenses.bsd3;
       maintainers = with maintainers; [ np ];
     };
@@ -22792,7 +21731,11 @@ EOF
     };
   };
 
-  graphite_web = buildPythonPackage rec {
+  graphite_web = if
+          self.django != self.django_1_8
+       || self.django_tagging != self.django_tagging_0_4_3
+  then throw "graphite_web should be build with django_1_8 and django_tagging_0_4_3"
+  else buildPythonPackage rec {
     name = "graphite-web-${version}";
     disabled = isPy3k;
     version = graphiteVersion;
@@ -22803,7 +21746,7 @@ EOF
     };
 
     propagatedBuildInputs = with self; [
-      django_1_8 django_tagging_0_4_3 whisper pycairo cairocffi
+      django django_tagging whisper pycairo cairocffi
       ldap memcached pytz urllib3 scandir
     ];
 
@@ -23299,28 +22242,7 @@ EOF
     };
   };
 
-
-  redNotebook = buildPythonPackage rec {
-    name = "rednotebook-1.8.1";
-
-    src = pkgs.fetchurl {
-      url = "mirror://sourceforge/rednotebook/${name}.tar.gz";
-      sha256 = "00b7s4xpqpxsbzjvjx9qsx5d84m9pvn383c5di1nsfh35pig0rzn";
-    };
-
-    # no tests available
-    doCheck = false;
-
-    propagatedBuildInputs = with self; [ pygtk pywebkitgtk pyyaml chardet ];
-
-    meta = {
-      homepage = http://rednotebook.sourceforge.net/index.html;
-      description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
-      license = licenses.gpl2;
-      maintainers = with maintainers; [ tstrobel ];
-    };
-  };
-
+  redNotebook = pkgs.rednotebook; # Backwards compatibility alias.
 
   uncertainties = callPackage ../development/python-modules/uncertainties { };
 
@@ -23672,7 +22594,7 @@ EOF
 
     meta = {
       description = "DataDiff";
-      homepage = http://sourceforge.net/projects/datadiff/;
+      homepage = https://sourceforge.net/projects/datadiff/;
       license = licenses.asl20;
     };
   };
@@ -23687,7 +22609,7 @@ EOF
 
     meta = {
       description = "Termcolor";
-      homepage = http://pypi.python.org/pypi/termcolor;
+      homepage = https://pypi.python.org/pypi/termcolor;
       license = licenses.mit;
     };
   };
@@ -23874,7 +22796,7 @@ EOF
     };
   };
 
-  markdown2 = callPackage ../development/python-modules/markdown2.nix { };
+  markdown2 = callPackage ../development/python-modules/markdown2 { };
 
   evernote = buildPythonPackage rec {
     name = "evernote-${version}";
@@ -23971,12 +22893,12 @@ EOF
   trollius = callPackage ../development/python-modules/trollius {};
 
   neovim = buildPythonPackage rec {
-    version = "0.1.13";
+    version = "0.2.0";
     name = "neovim-${version}";
 
     src = pkgs.fetchurl {
       url = "mirror://pypi/n/neovim/${name}.tar.gz";
-      sha256 = "0pzk5639jjjx46a6arkwy31falmk5w1061icbml8njm3rbrwwhgx";
+      sha256 = "1ywkgbrxd95cwlglihydmffcw2d2aji6562aqncymxs3ld5y02yn";
     };
 
     buildInputs = with self; [ nose ];
@@ -24398,7 +23320,7 @@ EOF
 
     meta = with stdenv.lib; {
       description = "Terminal based YouTube player and downloader";
-      homepage = http://github.com/np1/mps-youtube;
+      homepage = https://github.com/np1/mps-youtube;
       license = licenses.gpl3;
       maintainers = with maintainers; [ odi ];
     };
@@ -24481,7 +23403,7 @@ EOF
 
     meta = {
       description = "Python Import Magic - automagically add, remove and manage imports";
-      homepage = http://github.com/alecthomas/importmagic;
+      homepage = https://github.com/alecthomas/importmagic;
       license = "bsd";
     };
   };
@@ -24538,7 +23460,7 @@ EOF
       sha256 = "09npcsyf1ccygjs0qc8kdsv4qqy8gm1m6iv63g9y1fgbcry3vj8f";
     };
     meta = {
-      homepage = http://bitbucket.org/thomaswaldmann/xstatic;
+      homepage = https://bitbucket.org/thomaswaldmann/xstatic;
       description = "Base packaged static files for python";
       license = licenses.mit;
       maintainers = [ maintainers.makefu ];
diff --git a/pkgs/top-level/splice.nix b/pkgs/top-level/splice.nix
index 44a46b7b6929..b13fa86a9958 100644
--- a/pkgs/top-level/splice.nix
+++ b/pkgs/top-level/splice.nix
@@ -67,7 +67,7 @@ let
     if actuallySplice
     then splicer defaultBuildScope defaultRunScope // {
       # These should never be spliced under any circumstances
-      inherit (pkgs) pkgs buildPackages __targetPackages
+      inherit (pkgs) pkgs buildPackages targetPackages
         buildPlatform targetPlatform hostPlatform;
     }
     else pkgs // pkgs.xorg;
diff --git a/pkgs/top-level/stage.nix b/pkgs/top-level/stage.nix
index 617fa0c30ce8..7cddc664570b 100644
--- a/pkgs/top-level/stage.nix
+++ b/pkgs/top-level/stage.nix
@@ -26,13 +26,13 @@
   # us to avoid expensive splicing.
   buildPackages
 
-, # The package set used in the next stage. If null, `__targetPackages` will be
+, # The package set used in the next stage. If null, `targetPackages` will be
   # defined internally as the final produced package set itself, just like with
   # `buildPackages` and for the same reasons.
   #
   # THIS IS A HACK for compilers that don't think critically about cross-
   # compilation. Please do *not* use unless you really know what you are doing.
-  __targetPackages
+  targetPackages
 
 , # The standard environment to use for building packages.
   stdenv
@@ -72,7 +72,7 @@ let
   stdenvBootstappingAndPlatforms = self: super: {
     buildPackages = (if buildPackages == null then self else buildPackages)
       // { recurseForDerivations = false; };
-    __targetPackages = (if __targetPackages == null then self else __targetPackages)
+    targetPackages = (if targetPackages == null then self else targetPackages)
       // { recurseForDerivations = false; };
     inherit stdenv;
   };